软件构件与体系结构——原理、方法与技术 教学课件 ppt 作者 王映辉 11 基于UML的SA设计
软件体系结构,王映辉 博士(后),教授,博导,Mail:wyh_925163.com,2,2019年5月23日1时30分,软件体系结构,Part 6:基于UML的SA设计,Part 6:基于UML的SA设计,P6-1、UML概述 P6-2、设计过程与方法 P6-3、进一步认识UML-SA,Part 6:基于UML的SA设计,P6-1、UML概述,6.1.1、UML的内容和组成 6.1.2、UML的特点 6.1.3、统一软件开发过程RUP,Mail:wyh_925163.com,5,2019年5月23日1时30分,6.1.1、UML的内容与组成,语言的 公共机制,模型的概念 和表示法,对象约束 语言OCL 的表达式以条件或限制的形式附加在模型元素上。,事物,结构性事物,对象类 Use case 接口(Interface) 构件(Component) 接点(Node) 等,行为性事物,成组性事物:包(Package)等 注释性事物:注释(Note) 等,交互 状态 等,联系,依赖(Dependency) 关联(Association) 泛化(Generalization) 聚合(Aggregation) 实现(Realization),图形,UML,对象图 类图 Use Case图 顺序图 协作图 状态图 活动图 构件图 配置图,动态建 模机制,Mail:wyh_925163.com,6,2019年5月23日1时30分,6.1.1、UML的内容与组成(续),语言的 公共机制,说明(Specification)除图形之外的文字部分(具有语法和语义),装饰(Adornment):细节特性的说明,对象和类的划分 接口和接口实现的划分,构造型(Stereotype) 标记值(Tagged Value) 约束(Constraint),通用划分(Common Division),扩展机制(Extensibility),Mail:wyh_925163.com,7,2019年5月23日1时30分,6.1.1、UML的内容与组成(续),对象图 类图 Use Case图 顺序图 协作图 状态图 活动图 构件图 配置图,UML 图形,Mail:wyh_925163.com,8,2019年5月23日1时30分,6.1.1、UML的内容与组成(续),对象图 类图 Use Case图 顺序图 协作图 状态图 活动图 构件图 配置图,UML 图形,公司,1,1*,01,*,*,*,1*,1,经理,成员,subset,Mail:wyh_925163.com,9,2019年5月23日1时30分,6.1.1、UML的内容与组成(续),对象图 类图 Use Case图 顺序图 协作图 状态图 活动图 构件图 配置图,UML 图形,添加技能,删除技能,更新技能,添加资源,删除资源,更新资源,查找技能,查找资源,把技能指定给资源,从资源中清除技能,Use,Use,Use,Use,extend,extend,示例1:资源管理Use Case图,Mail:wyh_925163.com,10,2019年5月23日1时30分,6.1.1、UML的内容与组成(续),对象图 类图 Use Case图 顺序图 协作图 状态图 活动图 构件图 配置图,UML 图形,对象(对象类角色),时间,消息 (message),激活期 (Activation),生命线 (lifeline),条件,Mail:wyh_925163.com,11,2019年5月23日1时30分,6.1.1、UML的内容与组成(续),对象图 类图 Use Case图 顺序图 协作图 状态图 活动图 构件图 配置图,UML 图形,:资源,资源管理窗口: 用户接口,:资源技能,:技能,1:找出资源 2:找出技能 3:把技能加入资源,1.1:按名找资源,3.1:资源中无该技能 把技能加入到资源,2.1:按名找技能,消息内容标签,连接和消息传递,Mail:wyh_925163.com,12,2019年5月23日1时30分,6.1.1、UML的内容与组成(续),对象图 类图 Use Case图 顺序图 协作图 状态图 活动图 构件图 配置图,UML 图形,Mail:wyh_925163.com,13,2019年5月23日1时30分,6.1.1、UML的内容与组成(续),对象图 类图 Use Case图 顺序图 协作图 状态图 活动图 构件图 配置图,UML 图形,Mail:wyh_925163.com,14,2019年5月23日1时30分,6.1.1、UML的内容与组成(续),对象图 类图 Use Case图 顺序图 协作图 状态图 活动图 构件图 配置图,UML 图形,不同开发过程的软件产物的构件图,开发期,运行期,Mail:wyh_925163.com,15,2019年5月23日1时30分,6.1.1、UML的内容与组成(续),对象图 类图 Use Case图 顺序图 协作图 状态图 活动图 构件图 配置图,UML 图形,应用 服务器,资源管理 桌面 客户,项目管理 桌面 客户,打印机,打印机,项目与资源管理的配置图(C/S三层结构),驻留构件,通讯联系,Part 6:基于UML的SA设计,P6-1、UML概述,6.1.1、UML的内容和组成 6.1.2、UML的特点 6.1.3、统一软件开发过程RUP,Mail:wyh_925163.com,17,2019年5月23日1时30分,6.1.2、UML的特点,1) 技术特点 2) 发展特点 3) 应用特点,Mail:wyh_925163.com,18,2019年5月23日1时30分,6.1.2、UML的特点,1) 技术特点,(1)统一的标准: 结束了混乱局面,有利于工业化应用; (2)面向对象: 模型元素的图形表达了面向对象的各种概念; (3)可视化,表达能力强: 不仅仅是符号的堆积,而有其良好语义支持; (4)独立于过程:只有与RUP(或其它)结合使用,才可发挥强大的效应; (5)容易掌握使用; (6)适应各种软件的建模; 不是独立的软件工程方法, 也不是程序设计语言,而是软件工程的一部分; (7) 独立于开发过程:自身没有开发过程的概念和符号。,Mail:wyh_925163.com,19,2019年5月23日1时30分,6.1.2、UML的特点,2) 发展特点,(1)统一了Booch、OMT和OOSE等方法中的概念; (2)吸取了面向对象领域中其它个流派的长处; (3)在演变过程中加入了一些新的概念,Mail:wyh_925163.com,20,2019年5月23日1时30分,6.1.2、UML的特点,3) 应用特点,(1)可以描述非软件系统:如机械系统、企业结构等; (2)支持软件系统开发的各个阶段: a)需求:Use Case捕获用户需求; b)分析:领域相关的类、对象及其关系; c)设计:与技术实现相关的类,如UI、DB、通讯等; d)编码:将设计的类转化为具体OO语言的代码。 e)测试: 单元测试:依据类图和规格说明; 集成测试:构件图和协作图; 系统测试: Use Case来验证系统行为。,Part 6:基于UML的SA设计,P6-1、UML概述,6.1.1、UML的内容和组成 6.1.2、UML的特点 6.1.3、统一软件开发过程RUP,Mail:wyh_925163.com,22,2019年5月23日1时30分,(1)、Rational的统一过程 技术角度: 核心过程工作流 管理角度: 项目开发阶段 (2)、RUP开发模式:螺旋上升式 (3)、RUP的过程产物 (4)、 RUP的4+1视图 (5)、 RUP特点,6.1.3、统一软件开发过程RUP,Mail:wyh_925163.com,23,2019年5月23日1时30分,6.1.3、统一软件开发过程RUP,(1)、Rational的统一过程(软件开发的生命周期),Mail:wyh_925163.com,24,2019年5月23日1时30分,6.1.3、统一软件开发过程RUP,(1)、Rational的统一过程(软件开发的生命周期),核心过程工作流,模型,Mail:wyh_925163.com,25,2019年5月23日1时30分,6.1.3、统一软件开发过程RUP,(1)、Rational的统一过程(软件开发的生命周期),项目开发阶段,开端阶段,精化阶段,构建阶段,过渡阶段,(1),(2),(3),(4),构思系统概貌 必要性可行性 确定项目目标 确定系统范围规模 项目包含内容 采用开发方法 存在的开发风险 开发费用和效益 USE CASE+文档 等粗略的概念,分析问题领域 建立系统基本框架 找出风险和应对措施 需求风险 技术风险 技能风险 政策性风险 产物业务模型+需求书 系统的层次分解 多视图架构(见后) 开发系统原型,由许多循环节构成 一系列模型映射: Use Case模型 分析模型 设计模型 实现模型 编码测试集成 可执行系统.,实际运行环境中Beta测试 发现和纠正问题 调整补充系统 发布Beta测试后的产品 系统安装/培训/运行维护 总结/评价.,Mail:wyh_925163.com,26,2019年5月23日1时30分,6.1.3、统一软件开发过程RUP,(1)、Rational的统一过程(软件开发的生命周期),Use Case驱动的循环过程,各阶段循环节的中心工作: 开端: 获取需求 精化: 系统分析和设计 构建: 系统的实现 过渡: 系统的配置,Mail:wyh_925163.com,27,2019年5月23日1时30分,6.1.3、统一软件开发过程RUP,(2)、RUP开发模式:螺旋上升式,Mail:wyh_925163.com,28,2019年5月23日1时30分,6.1.3、统一软件开发过程RUP,(3)、RUP的过程产物,Mail:wyh_925163.com,29,2019年5月23日1时30分,6.1.3、统一软件开发过程RUP,(3)、RUP的过程产物,Mail:wyh_925163.com,30,2019年5月23日1时30分,6.1.3、统一软件开发过程RUP,构件图 (静态) 顺序图 (动态) 协作图 状态图 活动图,(4)、RUP的4+1视图,设计视图 (Design view),过程视图 (Process view),实现视图 (Implementation view),实施视图 (Deployment view),Use Case视图 ( Use Case view),类图 (静态) 对象图 顺序图 (动态) 协作图 状态图 活动图,注重描述线程和进程的主动类; 系统有一定的并发行为时使用;,配置图 (静态) 顺序图 (动态) 协作图 状态图 活动图,功能描述:(静态) 用况图; (动态) 顺序图、 协作图、状态图、活动图,类、接口和协作,主要支持功能需求,针对系统的性能、可收缩性和吞吐量,软件系统的物理分布,Mail:wyh_925163.com,31,2019年5月23日1时30分,6.1.3、统一软件开发过程RUP,(5)、RUP特点,(a) 面向对象: USE CASE丰富了面向对象的方法 (b) Use case驱动: 各工作围绕实现Use Case展开 (c) 以体系结构为核心:体系结构作为基本产物 (d) 螺旋上升式的开发过程:遵循原型法(螺旋模型)思想 (e) 以质量控制和风险管理为目标:每一阶段都进行质量评估 (f) 与UML配套:UML的概念和表示法+RUP=方法技术 (g) 适应性强:适用于各种大小规模和各种类型的软件系统开发