软件体系结构
应用 服务器
系统管理 (执行码)
通用应用 (执行码)
数据库服务器 DB:数据库
项目管理
桌面 客户
活动图
构件图 配置图
项目管理 (执行码)
打印机
项目与资源管理的配置图(C/S三层结构)
21
1.2、UML的应用
(1)可以描述非软件系统:如机械系统、企业结构等;
(2)支持软件系统开发的各个阶段: a)需求:Use Case捕获用户需求; b)分析:领域相关的类、对象及其关系; c)设计:与技术实现相关的类,如UI、DB、通讯等; d)编码:将设计的类转化为具体OO语言的代码。 e)测试: 单元测试:依据类图和规格说明; 集成测试:构件图和协作图; 系统测试: Use Case来验证系统行为。
项目管理 (执行码)
运行期
系统管理 (源码) 系统管理 (对象) 系统管理 (执行码)
活动图
构件图 配置图
不同开发过程的软件产物的构件图
20
1.1、UML的内容与组成(续)
对象图 类图 Use Case图
资源管理
桌面 客户
打印机
驻留构件
通讯联系
资源管理 (执行码)
UML 图 形
顺序图
协作图 状态图
[timer=timeOut/GoDown(firstFloor)]
对象图 类图 Use Case图
GoUp(floor)
向上运行 Dest_floor Entry:dest_floor=floor Do:上行到dest_floor
GoUp(floor) [CurrentFloor= dest_floor]
35
◇ 开发视图
空中交通管制系统开发视图
各种各样的空中 交通管制系统 特定的空中交通 管制系统构件 空中交通管制 系统框架 分布式虚拟机 基本元素 硬件、操作系 统、数据库
36
4 空中交通管制功能区:飞行管理、雷达管理等 3 2 1 航空类、空中交通管制类
公用构件
低层服务
领域无关
支撑机制:通信、时间、储存、资源管理等
空闲 Timer=0 Do:increase timer
UML 图 形
顺序图
协作图 状态图
停留在一层
GoUp(floor)
服务停靠 Entry:^Queue.delete(head)
活动图
构件图 配置图
向下运行 Dest_floor Entry:dest_floor=floor Do:下行到dest_floor
关联(Association)是一种结 构关系,它描述了一组链, 链是对象之间的连接。 泛化(Generalization)
聚合(Aggregation) 实现(Realization)
10
1.1、UML的内容与组成
4.5 软件体系结构与UML
Use Case Use Case Diagrams Diagrams 序列图 Scenario Scenario Diagrams Diagrams 协作图
26
◇ “4+1”模型概述
Kruchten在1995年提出了“4+1”的视图模型。
“4+1”视图模型从5个不同的视角包括逻辑视图、进 程视图、物理视图、开发视图和场景视图来描述软件 体系结构。 每一个视图只关心系统的一个侧面,5个视图结合在 一起才能反映系统的软件体系结构的全部内容。
27
◇ “4+1”模型概述
22
10:基于UML的SA描述
1、UML概述
2、“4+1”模型
2、 “4+1”模型---统一软件开发过程RUP
RUP的4+1视图
类、接口和协作, 主要支持功能需求
类图 (静态) 对象图 顺序图 (动态)
功能描述:(静态) 用况图;
(动态) 顺序图、 协作图、状态图、活动图
构件图 (静态)
逻辑视图
最终用户:功能需求 编程人员:软件管理
逻辑视图
场景 进程视图 系统集成人员:性能 可扩充性、吞吐量等
开发视图
物理视图 系统工程人员:系统 拓扑、安装、通信等
28
◇ 逻辑视图
逻辑视图主要支持系统的功能需求,即系统提供给 最终用户的服务。
在面向对象技术中,通过抽象、封装和继承, 可以用对象模型来代表逻辑视图,用类图来描述逻辑 视图。
对象图 类图 Use Case图
:资源
消息内 容标签
1.1:按名找资源 3.1:[资源中无该技能]
UML 图 形
顺序图
协作图 状态图
1:找出资源 2:找出技能
3:把技能加入资源
资源管理窗口: 用户接口
把技能加入到资源
:资源—技能
活动图
构件图 配置图
:技能
2.1:按名找技能
连接和消 息传递
17
1.1、UML的内容与组成(续)
Use Case Use Case Diagrams Diagrams 用例图
State State Diagrams Diagrams 类图
State State Diagrams Diagrams 对象图
UML
Component Component Diagrams Diagrams
State State Diagrams Diagrams 构件图
功能是在终端之间建立连接 , 终端 可以是电话机、通讯线路等 线路控制器对象译码并把所有符号 加入到线路接口卡中。 终端对象是保持终端的状态 会话对象是代表一组参与会话的终 端,使用转换服务和连接服务在终端 之间建立语音路径
31
终端
连接服务
控制器
编号计划
◇ 逻辑视图
对于规模更大的系统来说,体系结构级中包含数十 甚至数百个类 。例:空中交通管制系统类图,包含8 组类。 显示及用户
接口 仿真和培训 外部接口网 关
飞行管理
空中交通管 理
航空信息 机械服务
基本元素
32
◇ 开发视图
开发视图也称模块视图,主要侧重于软件模块的组 织和管理。
开发视图要考虑软件内部的需求,如软件开发的容 易性、软件的重用和软件的通用性,要充分考虑由于 具体开发工具的不同而带来的局限性。 开发视图通过系统输入输出关系的模型图和子系统图 来描述。
领域特定
人机接口 外部系统
离线工具 测试工具
通用空中交通管制代码 客户定制
5
◇ 进程视图
进程视图侧重于系统的运行特性,主要关注一些非 功能性的需求。 进程视图强调并发性、分布性、系统集成性和容错 能力,以及从逻辑视图中的主要抽象如何适合进程结 构。它也定义逻辑视图中的各个类的操作具体是在哪 一个线程中被执行的。
UML 图 形
顺序图
协作图 状态图
d3:部门
部门名=“国内部”
活动图
构件图
经理
配置图
p1:员工
编号=2 姓名=“张三” 职务=“销售经理”
:联系信息
地址=“师大路3号”
13
1.1、UML的内容与组成(续)
对象图 类图 Use Case图
*
公司
1 1..*
部门
0..1
UML 图 形
顺序图
协作图
部门名:string
《extend》 把技能指定给资源 《Use》 《Use》 《extend》 从资源中清除技能 《Use》 《Use》
查找技能
UML 图 形
顺序图
协作图 状态图
活动图
构件图 配置图
查找资源
15
1.1、UML的内容与组成(续)
对象(对象类角色)
对象图 类图 Use Case图
:资源管理员
资源管理窗口 :用户接口
软件体系结构
软件体系结构
10.基于UML的SA描述
2
10:基于UML的SA描述
1、UML概述
2、“4+1”模型
Part 10:基于UML的SA描述
1、UML概述
1.1、UML的内容和组成
1.2、UML的应用
1.1、UML的内容与组成
结构性事物 对象类 Use case
事物 模型的概念 和表示法
物理视图
(Deployment view)
顺序图 (动态) 协作图 状态图 活动图
针对系统的性能、 可收缩性和吞吐量
软件系统的物理分布
24
2、 “4+1”模型
◇ 软件体系结构建模
解决如何表示软件体系结构问题
25
◇ 软件体系结构建模的种类
◎ 结构模型 ◎ 框架模型 ◎ 动态模型 ◎ 过程模型
◎ 功能模型 按体系结构的模型分类,最常用的结构模型和 动态模型
联系
语言的 公共机制 图形
关联(Association)
泛化(Generalization)
聚合(Aggregation) 实现(Realization)
状态图 模机制
活动图 构件图 配置图 5
1.1、UML的内容与组成
泛化(Generalization)即继承
6
1.1、UML的内容与组成
关联(Association):是一种结构关 系,它描述了一组链,链是对象 之间的连接。
Scenario Scenario Diagrams Diagrams 状态图
部署图
活动图
11
1.1、UML的内容与组成(续)
说明(Specification)除图形之外的文字部分(具有语法和语义) 装饰(Adornment):细节特性的说明 语言的 公共机制
通用划分(Common Division)
* * {subset} 成员 1..* 1 经理