软件体系结构描述与建模

  • SA建模
  • 常用SA描述方法
    • 1.线框描述法
    • 2.形式化描述方法
    • 3.UML描述方法
  • Kruchten 4+1视图模型(重点)
    • 1.逻辑视图
    • 2.开发视图
    • 3.进程视图
    • 4.物理视图
    • 5.用例视图

SA建模

下图为SA生命周期模型

针对某一具体的软件系统研发项目,需要以某种可视化/形式化的形式将SA的设计结果加以显式的表达出来

常用SA描述方法

1.线框描述法

采用由矩形框和有向线段组合而成的图形表达工具。在这种方法中矩形框代表抽象构件,框内注明的文字为抽象构件的名称,有向线段代表辅助各构件进行通信、控制或关联的连接件

2.形式化描述方法

软件体系结构描述语言(Architectural Description Language (ADL))
使用数学的符号标记把系统分解为构件和连接件,并说明这些元素如何连接在一起构成一个系统

ADL示例(ACME)
1)描述
ACME支持从四个方面对SA进行描述:
• 结构
• 属性
• 设计约束
• 类型与风格
ACME可描述某个具体系统的SA,也可描述某一种抽象的SA风格(管道、C/S、…)

2)结构
ACME定义了八种实体,分别是:
• 系统(system)
• 构件(component)
• 接口(port or interface)
• 连接件(connector)
• 角色(role)
• 构件与连接件之间的关 系(attachments)
• 表述(representations)
• 表述映射(map)

3.UML描述方法

Kruchten 4+1视图模型(重点)

1.逻辑视图

逻辑视图(logical view)主要支持系统的功能需求,即系统提供给最终用户的服务。常通过结构元素、核心抽象、关注点分离和职责的划分来实现系统的逻辑功能
系统被分解成一系列的功能抽象(如层、类、接口),这些抽象主要来自用户需求所在的问题领域,同时也表达了软件领域的相应概念
逻辑视图的UML表示:包图

2.开发视图

开发视图也称实现视图(implementation view)、模块视图(module view),主要侧重于软件模块的组织和管理。例如:一个构件的实现依赖于哪些其他构件、哪些源文件实现了哪些类,等等
在UML中,开发视图主要使用构件图、包图进行描述,并辅之以交互图、状态图、组合结构图
输入与输出的关系

3.进程视图

进程视图(process view)侧重于系统的运行特性,主要关注一些非功能性的需求,例如系统的性能和可用性
进程视图通常使用以下UML图来描述一个系统的运行时行为:
Activity diagrams (活动图)
Interaction diagrams (状态图)
Sequence diagrams (序列图)
Communication/Corporation diagrams (通讯/协作图)
Interaction overview diagrams (交互纵览图)
Timing diagrams (计时图)
主要是活动图和序列图

4.物理视图

物理视图(physical view)也称部署视图(Deployment view),主要考虑如何把软件映射到硬件上
通常使用部署图 具体样式可以参考软件体系风格的层次风格的物理分层

5.用例视图

用例视图(use-case view)用来捕获最终用户所需求的功能性,即“系统应该做什么”
用例视图主要包括用例图,然后使用若干个交互图来展示每个用例内部的细节
参与者、用例、参与者之间的关系、用例之间的关系、参与者与用例之间的关系

软件体系结构描述与建模相关推荐

  1. 四、软件体系结构描述

    一.软件体系结构描述方法 描述方法的种类: 非形式化→形式化→ 标准化 图形表达工具 采用由矩形框和有向线段组合而成的图形表达工具. 矩形表示抽象构件 框内文字为抽象构件的名称 有向线段代表辅助各构件 ...

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

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

  3. 283.软件体系结构描述

    4.6 使用"4+1"模型描述软件体系结构 对于同一座建筑,住户.建筑师.内部装修人员和电气工程师有各自的视角.这些视角反映了建筑物的不同方面,但它们彼此都有内在的联系,而且合起来 ...

  4. 【软件体系结构】考点整理

    一.填空题 1.软件元素包括 . . . . 甚至领域知识. 软件工程包括3个要素: . 和 . 软件重用过程中需要重用的开发组织结构予以支持,它包括:__.__.___三组成员组成. 采用层次式软件 ...

  5. 【note】《软件体系结构》知识整理(1-5章)

    第 1 章 软件体系结构概论 1.1 从软件危机谈起 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题 1.1.1 软件危机的表现 软件成本日益增长 开发进度难以控制 软件质量差 软件 ...

  6. 《软件体系结构》知识点整理

    软件元素包括程序代码.测试用例.设计文档.设计过程.需求分析文档甚至领域知识 软件工程包括3要素:方法.工具.过程 软件重用过程中需要重用的开发组织结构予以支持,它包括构件开发组.构件应用组.协调组三 ...

  7. 软件体系结构期末复习

    软件体系结构期末复习 标签(空格分隔): 未分类 回顾课本和TTP课件 内容总概 章节回顾 第1章.软件体系结构概论 0.软件体系结构的发展过程经历了四个阶段: (1)无体系结构阶段.(2)萌芽阶段. ...

  8. 第23节 软件构件技术和软件体系结构

    软件构件技术和软件体系结构 1[单项选择题]( )不是活动历时估算依据. A项目范围说明书 B活动资源需求 C组织过程资产 D项目进度计划 [参考答案]D [题目解析]活动历时估算的依据有:活动清单. ...

  9. 软件体系结构基本概念汇总

    这门课与UML建模,程序设计方法学一样,都是站在比较高的角度来看整个软件结构.并不是对算法,或者语言的关注.如果以后有志于成为软件架构师,就应该好好学这门课.现在我把自己整理的这门课的资料与大家分享. ...

最新文章

  1. 慕课网 深入浅出javascript 笔记
  2. excel调用python编程-使用Python和xlwt向Excel文件中写入中文的实例
  3. 成对的交换链表的节点 Swap Nodes in Pairs
  4. 使用pm2启动node文件_使用 PM2 管理nodejs进程
  5. 今日arXiv精选 | 11篇ICCV 2021最新论文
  6. php msf dev product,3 框架运行环境
  7. c++怎么打印出句子中的各个单词_小学英语单词汇总篇 身体 食品、饮料 蔬菜...
  8. javascript里的几种常见的数组方法
  9. java编程计算_java编程之输入并进行计算
  10. 在线式极限学习机OS-ELM
  11. matlab 参数辨识,Matlab系统辨识尝试之详细过程1
  12. 微信订阅号获取openid
  13. 武汉大学.计算机学院.密码学,密码学教学课件-武汉大学计算机学院.ppt
  14. 计算机操作系统原理——第一章.绪论
  15. java算球体积的代码_java - 球体体积法不起作用 - 堆栈内存溢出
  16. 小学生五星分期,钉钉在线求饶
  17. 计算机用老毛桃u盘备份系统,老毛桃一键还原,教您电脑如何使用老毛桃一键还原...
  18. JavaScript实现二代身份证号码转一代身份证号码
  19. linux 手机 飞鸽,在Linux下使用ipmsg(飞鸽传书)
  20. 栈的弹出函数pop()实现方案探讨

热门文章

  1. 算法设计与分析——算法基础初步了解
  2. Gateway服务网关使用教程
  3. apache中的php模块安装
  4. Letter to a newborn son
  5. 上传图片到OSS,并按指定大小范围压缩图片。完整工具类+三层调用
  6. directives
  7. rtl8723bu linux wifi驱动移植教程
  8. 平均年薪 50 万的无人驾驶工程师,需要掌握这 5 大关键技术
  9. .Net 常用的ORM框架
  10. sql入门(3)------SQLServer3