UML建模与架构文档化(软考)
yuuki Lv5

UML的四种类型图特点及对应的视图。

  1. 用例图:从外部用户角度描述系统功能,并指出功能执行者。
  2. 静态图:显示了系统的静态结构,特别是存在事物的种类的内部结构相互之间的关系,包括类图、对象图、包图。
  3. 行为图:描述系统的动态模型和组成对象间的交互关系,包括交互图、状态图、活动图。
  4. 实现图:描述软件实现系统的组成和分布状况,包括构建图和部署图。

  1. 类图:类与类之间的关系:关联、聚集、组合、泛化和依赖。
  2. 对象图:表示再摸一时刻一组对象及其之间的关系,可以看做类图在系统某一时刻的实力。
  3. 包图:是一种维护和描述系统总体结构的模型的重要建模工具,描述系统的分解结构,表示包和包之间的关系,展现系统模块之间的依赖关系。
  4. 交互图:买哦数对象之间的消息传递,包括:顺序图,又称时序图,用于显示对象之间的交互;协作图,描述系统的行为。
  5. 状态图:对类图的补充,一个对象在其生命期的动态行为。
  6. 活动图:系统的工作图和并发行为。
  7. 构件图:一组构件及其之间的相互关系。
  8. 部署图:也成配置图、实施图,可以用来显示系统中计算节点的拓扑结构和通信路径与节点上运行的软件构件等,用于理解分布式系统。

UML软件开发过程

  1. 基于UML进行需求分析。从业务需求描述出发获取执行者和场景,对场景进行汇总、分类、抽象,形成用例,确定执行者和用例、用例和用例之间的关系,生成用例图。
  2. 面向对象的设计。设计用例的步骤:
    1. 提取边界类、实体类和控制类。
    2. 构造交互图。
    3. 根据交互图精化类图。

系统结构文档化

“4+1”视图包括:逻辑是图、过程视图、物理视图、开发视图、场景。

逻辑架构:设计的对象模型(使用面向对象的设计方法时)。支持功能性需求,采用抽象、封装或继承的原理,用来识别遍布系统各个部分的通用机制和设计元素。

进程架构:捕捉设计的并发和同步特征。考虑一些非功能性的需求,如性能和可用性。在几种层次的抽象上进行描述,每格层次针对不同问题。

开发架构:描述开发环境中软件的静态组织结构。用模块和子系统来表达,显示了“输入”和”输出“的关系。

物理架构:描述了软件到硬件的映射,反映了分布式特性。主要关注系统非功能性需求,可用性、可靠性、性能和可伸缩性。

场景:架构的描述,即所作的各种决定,可以围绕着这四个视图来组织,软后由一些用例或场景来说明,从而形成了第五个视图。

补充

  1. 在实际工作中,一般使用E-R图表示数据模型,用DFD表示功能模型,用状态转换图表示行为模型。
  2. 基于架构的软件开发(ABSD)强调由商业、质量和功能需求的组合驱动软件架构设计。他强调采用视角和视图来描述软件架构,采用用例和质量场景来描述需求。