软件体系结构描述与建模

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)用来捕获最终用户所需求的功能性,即“系统应该做什么”
用例视图主要包括用例图,然后使用若干个交互图来展示每个用例内部的细节
参与者、用例、参与者之间的关系、用例之间的关系、参与者与用例之间的关系
在这里插入图片描述

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

so.far_away

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值