系统架构设计师教程知识清单6
第6章 UML建模与架构文档化
实际开发中和同事对接功能设计、写文档的时候使用很多,但是不同公司的规范有可能不一样。
UML视图
1 UML的4种类型10种视图
用例图:从外部用户角度描述系统的功能
行为图:包括交互图(分为顺序图和合作图)、状态图、活动图
静态图:包括类图、对象图、包图
实现图:包括构件图和部署图
2 用例图
用例(use case):一个使用一个椭圆表示(可以比较简单地记成系统的一个基本功能)
用例图(use case diagram):一组用例、参与者以及他们之间的关系的图
参与者指系统以外、需要使用系统或与系统交互的东西。一个参与者可以执行多个用例,一个用例也可以由多个参与者使用。(注意一个有定时重启功能的系统中的时间也可以作为参与者)
参与者与用例之间的关系:关联
用例与用例之间的关系:泛化(可记为继承)、包含(可记为共用)、扩展(可记为异常)
3 行为图
描述一个用例的行为和设计对象之间的消息传递
顺序图(时序图):显示对象之间交互关系的图
协作图:描述系统的行为是如何由系统的成分写作实现的图
状态图:描述一个对象在其生存期间的动态行为。一般可以用状态机建模
活动图:描述系统的工作流程和并发行为。重要概念:活动、泳道(活动图中的区域划分)、分枝、分叉和汇合、对象流
4 静态图
类图:一个划分为三个格子的长方形
类之间的关系有关联、聚集(部分与整体,但不同生存周期,如学校和学生)、组合(部分与整体,同生存周期,如学校和院系)、泛化(继承反向为泛化)、依赖
对象图
包图
5 实现图
构件图:显示一组构件以及他们之间的相互关系,包括编译、链接或执行时构件之间的依赖关系
构件是一个实际文件,可以有几种类型:部署文件如dll、exe等;工作产品构件如源代码文件、数据文件等;执行构件(系统执行后得到的构件)
部署图:又叫配置图、实施图,可以用来显示系统中计算结点的拓扑结构和通信路径与结点上运行的软构件等。一个系统模型只有一个部署图
基于UML的开发过程
1 开发的4个阶段
初启:目标和范围,可行性分析,经济效益分析
细化:需求分析(用例图、类图、活动图),高层设计(包图),详细设计(交互图、类图),原型构造(交互图)
构建:分析,设计,编码,测试,集成
部署
2 基于UML的需求分析
(1)生成用例
(2)用活动图表示用例
(3)生成用例图
(4)建立顶层架构
(5)建立概念模型
3 面向对象的设计方法
(1)设计用例实现方案
提取边界类、实体类和控制类
构造交互图
根据交互图精化类图
(2)设计技术支撑方案
(3)设计用户界面
(4)精化设计模型
系统架构文档化
1 “4+1”视图模型:
逻辑视图(使用面向对象模型设计的对象模型)+开发视图(描述开发环境中软件的静态组织结构)+过程视图(捕捉设计的并发和同步特性)+物理视图(描述软件到硬件的映射)+场景
逻辑架构:逻辑架构主要支撑功能性需求
开发架构:主要关注软件开发环境下实际模块的组织
进程架构:进程架构考虑一些非功能性的需求,如性能和可用性
物理架构:主要关注系统非功能需求,如可用性、可靠性等
2 迭代过程
进行文档化时。提倡一种更具有迭代性质的方法:架构先被原型化、测试、估量、分析,然后在一系列的迭代过程中被细化
场景驱动的方法:系统大多数关键的功能以场景(或用例)的形式被捕获
开始阶段+循环阶段