一、软件体系结构的描述方法

1、图形表达工具:采用矩形框和有向线段组合,矩形框代表抽象构件、有向线段代表连接件。

2、模块内连接语言:module interconnection language MIL

3、基于软构件的系统描述语言:有许多特定形式相互作用的特殊软构件实体构造组成的组织或系统。

4、软件体系结构描述语言:architecture description language ADL

二、软件体系结构的描述框架

1.IEEEP1471:适用于软件密集的系统,其目标在于:便于体系结构的表达与交流,并通过体系结构要素及其实践标准化,奠定质量与成本的基础。详细介绍了一套体系结构描述的概念框架,并给出建立框架的思路。但如何描述以及具体的描述技术等方面缺乏更进一步的指导。

2.Rational建议标准:与IEEE P1471相比,Rational建议标准的体系结构描述方案涉及面比较窄,所注重的层次比较低,因而更具体。由于将体系结构的描述限于UML和RUP,具有一定的局限性,但该建议标准结合了业界已经广泛采用的建模语言和开发过程,因而易于推广,可以有效实现在跨组织之间重用体系结构描述结果

三、体系结构的描述语言ADL

主要的体系结构描述语言有Aesop、MetaH、C2、Rapide、SADL、Unicon和Wright等,尽管它们都描述软件体系结构,却有不同的特点。

1.常见的软件体系结构元素(构件和连接件都包括哪些)

2.C2语言

(1)C2和其提供的设计环境(Argo)支持采用基于时间的风格来描述用户界面系统,并支持使用可替换、可重用的构件开发GUI的体系结构。其工作的重点在于对构件的重用,以及对运行时体系结构的动态改变以使得系统满足某些GUI体系结构方面的特性。

(2)连接件负责构件之间消息的传递,而构件维持状态、执行操作并通过两个名字分别为“top”和“bottom”的端口和其它的构件交换信息。每个接口包含一种可发送的消息和一组可接收的消息。

(3)构件之间的消息交换不能直接进行,而只能通过连接件来完成。每个构件接口最多只能和一个连接件相连,而连接件可以和任意数目的连接件或构件相连。请求消息只能向上层传递,而通知消息只能向下层传送。

(4)会议安排系统(细化各部分的功能)

系统包含了三种功能构件:Meeting Initiator 、Attendee、Important Attendee;三种连接件:MainConn、Attcon、ImportantAttConn,用来在构件之间传递消息。

Meeting Initiator构件通过发送会议请求信息给Attendee、Important Attendee来进行信息初始化。Attendee、Important Attendee构件可以发送消息给Meeting Initiator,告诉它自己喜欢的会议日期、地点等信息。但不能向它递交请求。

四、软件体系结构与UML

1.统一建模语言,unified modeling language,UML,是一个通用的可视化建模语言,用于对软件进行描述、可视化处理、构造和建立软件系统的文档。适用于各种软件开发方法、软件生命周期各个阶段、各种应用领域以及各种开发工具。

2.UML主要内容

《软件体系结构》 第四章 软件体系结构描述相关推荐

  1. [软件项目管理] 第四章 软件项目进度管理 选择题解析

            明明说减负为啥还要折磨我们 选择题 1.一个单节点项目图表明下述两个关键路径上的活动: D-E-J-L和D-E-G-I-L.每项活动的历时至少都是3天时间,活动L除外,活动L的历时是一 ...

  2. 【软件体系结构】考点总结 第四章 软件体系结构描述 XJU

    软件体系结构 第四章 软件体系结构描述 前言   本文为XJU本科期间博主根据 <软件体系结构原理.方法与实践>第二版所作的期末考点总结,因为是课堂重点总结,所以有些重要知识点没有涵盖还请 ...

  3. 第四章 指令集体系结构——广度和深度

    第四章 指令集体系结构--广度和深度 4.1 数据存储和栈 从一些与数据存储.过程和参数传递有关的背景问题开始. 高级语言程序员用 变量 代表 抽象数据单元 的数据元素,这些数据单元是抽象的, 它可以 ...

  4. 第四章 软件总体设计 1

    哎呦,我发现我写的文章这几天点击量稍微高一点的文章开头都是自我吐槽(此处应该放什么表情呢),是不是像我这么善于发现自己缺点且毫不留情吐槽自己的人不多了(偷笑).没办法我一个学渣非要跟老公学编程和测试, ...

  5. 软件工程学导论第一章-软件工程学概述

    软件工程学概述 软件危机 软件危机的介绍 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题. 软件危机包含两方面的问题:如何开发软件,以满足对软件日益增长的需求.如何维护数量不断膨胀的 ...

  6. 软件测试之第十一章 软件开发与测试模型

    第十一章 软件开发与测试模型 一. 软件开发模型 1 为什么学习软件开发模型 了解开发能够更好的有针对性的做好测试. 2 什么是软件开发模型 软件开发生命周期模型是软件产品从最初构思到退役的过程. 3 ...

  7. 《软件体系结构》 第九章 软件体系结构评估

    一.质量属性 1. 性能 performance 性能是指系统的响应能力,即要经过多长时间才能对某个事件做出响应,或者在某段事件内系统所能处理的事件的个数. 2. 可靠性 reliability 可靠 ...

  8. 胡伟武体系结构——第六章软件流水

    看下面两篇就够了: ①基础:(66条消息) 软件流水在干嘛(转)_diyinqian的博客-CSDN博客 ②练习:三道题理解软件流水 - BBMAN - 博客园 (cnblogs.com)

  9. 【软件构造】第二章 软件构建的过程和工具(2)

    二.软件构造的编程.系统.工具 [广义软件构造的过程] 1. 编程 (1)开发语言:Java.C.C++.Python等 ·IDE:集成开发环境 - 方便编写代码和管理文件 - 能够编译.构建 - 结 ...

  10. 【软件构造】第一章 软件构造基础(1)

    一.软件构建多维视图 1. 什么是软件 (1)构成 ·程序Program:UI, Algorithms, Utilities, APIs, test cases, etc ·数据Data:files, ...

最新文章

  1. Twitter团队最新研究:快速高效的可扩展图神经网络SIGN
  2. stream filter_Stream 流实践
  3. 一款神仙接私活儿软件,吊到不行!
  4. 2018-2019-1 20165324_20165302_20165321 实验一 开发环境的熟悉
  5. ABAP动态编程之功能实现
  6. 从SOURCE_BUFFER单元开始存放了20个字母A, 编程将这20个字母A的字符串传送到DEST_BUFFER开始的单元中.
  7. 推荐系统实践-第一章
  8. 手写spring编程事务
  9. zabbix mysql设置中文乱码_解决zabbix监控因php问题导致图形界面中文乱码方法
  10. 《大数据》专题征文:医学大数据(截稿时间:2020年5月31日)
  11. 斐波那契数列的性质整理
  12. 熬了几个大夜,学完一套985博士总结的Pytorch学习笔记(20G高清/PPT/代码)
  13. Python中TypeError: ‘str‘ object is not callable
  14. java中的网络入门2(J2SE入门19)
  15. 卸载/删除Homebrew包,包括其所有依赖项
  16. 通信工程毕业干计算机网络,通信工程专业毕业后能做什么?
  17. 学习笔记 Tianmao 篇 OkHttp 网络的使用的简单封装 获取Json用GSON来解析
  18. i7 10510u相当于什么处理器
  19. 浅析爱心代码的绘制思路——python实现
  20. 抖音爱心c语言程序,抖音上用记事本编写爱心小程序教程

热门文章

  1. 进阶之路 | 奇妙的Activity之旅
  2. RIP/EIGRP/OSPF/ISIS使用的端口号/协议号
  3. IBM人工智能进入法律行业:推世界首位AI律师ROSS
  4. Unity2017安装
  5. 如何高效率学习PMP?
  6. android app 开源项目,20+个很棒的Android开源项目
  7. android 疯狂猜成语 源码,安卓版疯狂猜成语答案图文全解
  8. 微型计算机说明书,B52微机系统使用手册.doc
  9. 【打卡帖】7日玩转ESP32——(第5日) 通过串口的WiFi 配网
  10. 只需要这三个步骤让你轻松搞定Maya中贴hdr贴图