目录
历年真题考情:本章节每年考察3分左右。
主要学习内容类之间的管理、用例之间的关系、UML2.0各类图。
一、基本概念
UML(统一建模语言)是一种可视化的建模语言,而非程序设计语言,支持从需求分析开始的软件开发的全过程。
从总体上来看,UML的结构包括构造块、规则和公共机制三个部分:
(1)构造块。UML有三种基本的构造块,分别是事物(thing)、关系(relationship)和图(diagram)。事物是UML的重要组成部分,关系把事物紧密联系在一起,图是多个相互关联的事物的集合。
(2)公共机制。公共机制是指达到特定目标的公共UML方法。
(3)规则。规则是构造块如何放在一起的规定。
1.1 事物
UML 中有 4 种事物:结构事物、行为事物、分组事物和注释事物。
1.1.1 结构事物
模型的静态部分。结构事物包括类(Class)、接口(Interface)、协作(Collaboration)、用例(UseCase)、主动类(Active Class)、构件(Component)、制品(Artifact)和节点(Node),如下图所示。
1.1.2 行为事物
模型的动态部分。行为事物包括交互(Interaction)、状态机(State Machine)和活动(Activity),如下图所示。
1.1.3 分组事务
模型的组织部分。如包。包是最常用的分组事物,结构事物、行为事物甚至其他分组事物都可以放进包内。
1.1.4 注释事物
模型的解释部分,注释即注解,用来描述、说明和标注模型的任何元素。
1.2 关系
依赖:一个事物的语义依赖于另一个事物的语义的变化而变化。
关联:是一种结构关系,描述了一组链,链是对象之间的连接。分为组合和聚合,都是部分和整体的关系,其中组合事物之间关系更强。两个类之间的关联,实际上是两个类所扮演角色的关联,因此,两个类之间可以有多个由不同角色标识的关联。
组合是一种整体与部分的关系。但部分不能离开整体而单独存在,组合关系是关联关系的一种,是比聚合关系还要强的关系。例如鸟是整体,翅膀是部分->鸟死了,翅膀也就没用了。
聚合是一种整体与部分的关系。且部分可以离开整体而单独存在。聚合关系是关联关系的一种,是强的关联关系;关联和聚合在语法上无法区分,必须考察具体的逻辑关系。例如茶具,杯子和茶壶可以聚合成一套茶具,杯子也可以单独拿出来喝水。
泛化:一般/特殊的关系,子类和父类之间的关系。
实现:一个类元指定了另一个类元保证执行的契约。
注: 当我们做选择题的时候,不符合上面描述的关系,都可以选择关联关系。
二、UML2.0
UML 2.0 提供了 14 种图,分别是类图、对象图、用例图、序列图、通信图(协作图)、状态图、活动图、构件图(组件图)、部署图、制品图、组合结构图、包图、交互概览图和计时图(定时图)。序列图、通信图、交互概览图和计时图均被称为交互图。
2.1 类图
静态图,为系统的静态设计视图,展现一组对象、接口、协作和它们之间的关系。UML类图如下:
2.2 对象图
静态图,是类图的一个实例,是系统在某个时间点的详细状态的快照。在没有类图的前提下,对象图就是静态设计视图。如下:
2.3 用例图
静态图,展现了一组用例、参与者以及它们之间的关系。用例图中的参与者是人(如下图 学生 )、硬件或其他系统可以扮演的角色;用例(如下图 入学登记 )是参与者完成的一系列操作,用例之间的关系有扩展、包含、泛化。如下:
2.4 构件图(组件图)
静态图,为系统静态实现视图,展现了一组构件之间的组织和依赖。如下:
2.5 部署图
静态图,为系统静态部署视图,描述了系统内部的软件如何分布在不同的节点上。如下:
2.6 序列图(顺序图)
即顺序图,动态图,是场景的图形化表示,描述了以时间顺序组织的对象之间的交互活动。有同步消息(进行阻塞调用,调用者中止执行,等待控制权返回,需要等待返回消息,用实心三角箭头表示);异步消息(发出消息后继续执行,不引起调用者阻塞,也不等待返回消息,由空心箭头表示);返回消息(由从右到左的虚线箭头表示)三种。如下:
2.7 通信图(协作图)
即协作图,动态图,强调参加交互的对象的组织。如下:
2.8 状态图
动态图,展现了一个状态机,描述单个对象在多个用例中的行为,包括简单状态和组合状态。转换可以通过事件触发器触发,事件触发后相应的监护条件会进行检查。状态图中转换和状态是两个独立的概念,如下:图中方框代表状态,箭头上的代表触发事件,实心圆点为起点和终点。
2.9 活动图
动态图,是一种特殊的状态图,展现了在系统内从一个活动到另一个活动的流程。活动的分岔和汇合线是一条水平粗线。牢记下图中并发分岔、并发汇合、监护表达式、分支、流等名词及含义。每个分岔的分支数代表了可同时运行的线程数。活动图中能够并行执行的是在一个分岔粗线下的分支上的活动。
2.10 UML4+1视图
(1)逻辑视图。也称为设计视图,它表示了设计模型中在架构方面具有重要意义的部分,即类、子系统、包和用例实现的子集。
(2)进程视图。是可执行线程和进程作为活动类的建模,它是逻辑视图的一次执行实例,描述了并发与同步结构。
(3)实现视图。对组成基于系统的物理代码的文件和构件进行建模。
(4)部署视图。把构件部署到一组物理节点上,表示软件到硬件的映射和分布结构。
(5)用例视图。最基本的需求分析模型。
三、SysML
系统建模语言(SysML)是一种通用图形建模语言,用于指定,分析,设计和验证可能包括硬件,软件,信息,人员,程序和设施的复杂系统。特别是,该语言提供了图形表示,其具有用于建模系统需求,行为,结构和参数的语义基础,用于与其他工程分析模型集成。
SysML已成为基于模型的系统工程(MBSE)应用程序的事实上的标准系统架构建模语言。SysML是UML 2的一种方言,它扩展了软件密集型应用程序的统一建模语言(UML)标准,使其可以成功应用于系统工程应用程序。
其实提到 SysML不得不提另外一个概:基于模型的系统工程(MBSE)。又称基于模型的系统开发(MBSD),是一种系统工程过程范例,强调严格的体系结构建模原则和最佳实践应用于整个系统开发生命周期(SDLC)中的系统工程活动。这些系统工程活动包括但不限于需求分析,功能分析,性能分析,系统设计,贸易研究,系统架构规范以及系统验证和验证。
SysML中定义了4大类图——结构图、需求图、参数图和行为图,共包括9种不同的图:
- 结构图:可再细分为类图和装配图。类图重用了UML类图,并在此基础上扩展了一些功能;装配图是SysML新增的一种图形模型,它是以系统部件构成的形式来描绘系统。
- 需求图:新增的一种图形模型,用来描述系统的各种需求之间的关系,能为系统设计提供准确的需求分析和设计决策。
- 参数图:新增的一种图形模型,用于描述系统中各属性之间无指向的参数关系,反映的是对系统属性值得约束。
- 行为图:可再细分为用例图、状态机图、活动图、顺序图和时间图。其中,时间图重用了UML时间图,描述的是系统的某个活动状态或属性值随时间的变化。
相关推荐
【系统架构设计师】九、软件工程(软件开发生命周期|McCabe度量法|系统转换|系统维护|净室软件工程|基于构件的软件工程)-CSDN博客文章浏览阅读792次,点赞9次,收藏9次。九、软件开发生命周期和工具;十、McCabe度量法;十一、系统转换(11.1遗留系统、11.2系统转换、11.3系统维护);十二、净室软件工程;十三、基于构件的软件工程(13.1构件特征、13.2构件模型要素、13.3CBSE过程、13.4构件组装)。https://shuaici.blog.csdn.net/article/details/140321547【系统架构设计师】九、软件工程(面向对象方法|逆向工程)-CSDN博客文章浏览阅读929次,点赞24次,收藏10次。面向对象的分析模型主要由顶层架构图、用例与用例图、领域概念模型构成设计模型则包含以包图表示的软件体系结构图、以交互图表示的用例实现图、完整精确的类图、针对复杂对象的状态图和用以描述流程化处理过程的活动图等。软件的逆向工程是分析程序,力图在比源代码更高抽象层次上建立程序的表示过程,逆向工程是设计的恢复过程。与逆向工程相关的概念有重构、设计恢复、再工程和正向工程。https://shuaici.blog.csdn.net/article/details/140287834