系统架构21 - 统一建模语言UML(下)

UML图

UML中的图

"图"是一组元素的图形表示,大多数情况下把图画成顶点(代表事物)和弧(代表关系)的连通图。为了对系统进行可视化,可以从不同的角度画图,这样图是对系统的投影。

分类

UML 2.0 提供了13种图:类图、对象图、用例图、序列图、通信图、状态图、活动图、构件图、部署图、组合结构图、包图、交互概览图和计时图 。其中,序列图、通信图、交互概览图和计时图均被称为交互图。此外,还有额外的制品图,共计14种。

作用

  • 类图描述系统中类的内部结构和类之间的关系;

  • 对象图描述一组对象及其之间的关系;

  • 用例图 从用户角度描述了系统的功能和关系;

    用例图 (Use Case Diagram) 展现了一组用例、参与者 (Actor) 以及它们之间的关系。用例图通常包括用例和参与者以及它们之间的关系,如图

    用例之间有扩展关系 (<>) 和包含关系 (<>),参与者和用例之间有关联关系,用例与用例、参与者与参与者之间有泛化关系

    用例图用于对系统的静态用例视图进行建模 。这个视图主要支持系统的行为,即该系统在它的周边环境的语境中所提供的外部可见服务。当对系统的静态用例视图建模时,可以用下列两种方式来使用用例图。

    对系统的语境建模 。对一个系统的语境进行建模 ,包括围绕整个系统画一条线,并声明有哪些参与者位于系统之外并与系统进行交互。在这里,用例图说明了参与者 以及他们所扮演的角色的含义

    对系统的需求建模 。对一个系统的需求进行建模 ,包括说明这个系统应该做什么 (从系统外部的一个视点出发),而不考虑系统应该怎样做。在这里,用例图说明了系统想要的行为 。通过这种方式,用例图使人们能够把整个系统看作一个黑盒,采用矩形框表示系统边界;可以观察到系统外部有什么,系统怎样与哪些外部事物相互作用,但却看不到系统内部是如何工作的。

  • 序列图描述了参与者及对象之间的交互信息的传递的时间顺序;

  • 通信图 从对象的责任这个角度描述了对象间的信息交互;

  • 状态图描述了状态和引起状态变换的事件之间的关系;

  • 活动图描述了完成一个业务要执行的活动和活动间的逻辑关系;

  • 构件图 描述了具有特定功能的类和接口,以及它们之间的连接;

  • 部署图 描述了系统中类和对象的静态结构,包括类之间的关系;

  • 组合结构图描述了结构化类的内部结构和与其他部分的交互点;

  • 包图描述了类的集合和类之间的依赖关系;

  • 交互概览图以活动图的形式描述了业务过程中的控制流概览和软件过程中的详细逻辑概览,并将多个图进行连接,抽象掉了消息和生命线;

  • 计时图对实时事件进行建模,通过带刻度的时间轴精确描述状态变化;

  • 制品图包括可行性文件、代码、运行时创建的对象等。

视图

对于同一个系统,不同人员所关心的内容并不一样。因此一个系统应从不同的角度进行描述,从一个角度观察到的系统称为一个视图 (View), 每个视图表示系统的一个特殊的方面。按照图本身具有的特点,可以把图形划分为5类视图,分别是用例视图、逻辑视图、进程视图、实现视图和部署视图 ,其中的用例视图居于中心地位

用例视图

描述系统的功能需求,方便找出用例和执行者;它展示了一个外部用户能够观察到的系统功能模型主要包括用例图。对此关心的开发团队成员主要包括客户、分析者、设计者、开发者和测试者。

逻辑视图

描述如何实现系统内部的功能 ;系统的静态结构和因发送消息而出现的动态协作关系。逻辑视图包含类图和对象图、状态图、顺序图、合作图和活动图。

进程视图

描述系统的并发性 ,并处理这些线程间的通信和同步 ;它将系统分割成并发执行的控制线程及处理这些线程的通信和同步。进程视图主要包括状态图、顺序图、合作图、活动图、构件图和配置图;对此关心的开发团队成员主要包括开发者和系统集成者。

实现视图

描述系统代码构件组织和实现模块 及它们之间的依赖关系;实现视图主要包括构件图;对此关心的开发团队成员主要有设计者、开发者和测试者。

部署视图

定义系统中软硬件的物理体系结构及连接 、哪个程序或对象驻留在哪台计算机上执行;主要包括配置图;对此关心的开发团队成员主要包括开发者、系统集成者和测试者。

相关推荐
wuhen_n几秒前
系统架构设计师(四):嵌入式系统
系统架构·嵌入式操作系统
Warren2Lynch3 小时前
C4 vs UML:从入门到结合使用的完整指南(含 Visual Paradigm AI 实操)
人工智能·机器学习·uml
RockHopper20254 小时前
为什么制造运营管理系统必须采用语义驱动,而不能采用自然语言驱动
系统架构·智能制造·工业数字化·isa-95·生产运营管理
成茂峰6 小时前
软考高级·系统架构设计师 | 五、软件工程基础知识
系统架构·软件工程·软考高级·架构设计
智算菩萨6 小时前
【通信设备】电视会议系统架构与技术解析
系统架构
C澒6 小时前
多场景多角色前端架构方案:基于页面协议化与模块标准化的通用能力沉淀
前端·架构·系统架构·前端框架
湘-枫叶情缘16 小时前
1990:种下那棵不落叶的树-第6集 圆明园的对话
linux·系统架构
Light6021 小时前
智链未来:彭山物流园区从物理基建到数据智能体的全维度构建方案
人工智能·系统架构·数字孪生·智慧物流·实施路径·彭山项目
学历真的很重要1 天前
【系统架构师】第二章 操作系统知识 - 第二部分:进程与线程(补充版)
学习·职场和发展·系统架构·系统架构师
C澒1 天前
Vue 项目渐进式迁移 React:组件库接入与跨框架协同技术方案
前端·vue.js·react.js·架构·系统架构