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

UML图

UML中的图

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

分类

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

作用

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

视图

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

用例视图

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

逻辑视图

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

进程视图

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

实现视图

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

部署视图

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

相关推荐
机器视觉知识推荐、就业指导7 分钟前
LVGL真能动摇Qt的地位吗?
开发语言·qt·系统架构
roman_日积跬步-终至千里3 小时前
【2025下半年系统架构设计师案例分析】电动车充电管理系统(质量属性与AES)
系统架构
剑飞的编程思维3 小时前
电商系统三类迭代方案评审重点
学习·系统架构·自动化·运维开发·学习方法
慧一居士5 小时前
Google的libphonenumber 号码检查归属地如何使用(java 实现)
系统架构
云蝠呼叫大模型联络中心8 小时前
金融行业大模型呼叫系统架构与API集成案例
人工智能·金融·系统架构·多智能体协同·voiceagent·云蝠智能·ai agent技术
郑州光合科技余经理10 小时前
海外O2O系统源码剖析:多语言、多货币架构设计与二次开发实践
java·开发语言·前端·小程序·系统架构·uni-app·php
arvin_xiaoting15 小时前
OpenClaw学习总结_I_核心架构_8:SessionPruning详解
前端·chrome·学习·系统架构·ai agent·openclaw·sessionpruning
云蝠呼叫大模型联络中心1 天前
医疗智能客服系统架构设计与云蝠VoiceAgent API集成实践
人工智能·系统架构·api·医疗·voiceagent·ai 客服选型·智能客服 2026
:mnong2 天前
企业资源管理ERP设计分析
系统架构
大迪deblog2 天前
系统架构设计-质量属性
系统架构·软件构建