系统分析与设计UML建模

UML的历史

1997年,OMG组织(Object Management Group对象管理组织)发布了统一建模语言(Unified Modeling Language,UML)。UML的目标之一就是为开发团队提供标准通用的设计语言来开发和构建计算机应用。UML提出了一套IT专业人员期待多年的统一的标准建模符号。通过使用UML,这些人员能够阅读和交流系统架构和设计规划--就像建筑工人多年来所使用的建筑设计图一样。
2003年,UML已经获得了业界的认同。在所见过的专业人员的简历中,75%都声称具备UML的知识。然而,在同绝大多数求职人员面谈之后,可以明显地看出他们并不真正了解UML。通常地,他们将UML用作一个术语,或对UML一知半解。大家对UML缺乏理解的这种状况,促进我撰写这篇关于UML 1.4的快速入门文章。当阅读完本文时,您还不具备足够的知识可以在简历上声称自己掌握了UML,但是您已具有了进一步钻研该语言的良好起点。

UML的特点

?         UML的主要特点包括:

?         统一的标准

?         面向对象。UML是支持面向对象软件开发的建模语言。

?         可视化、表现能力强

?         独立于过程,UML不依赖于特定的软件开发过程。

?         概念明确,建模表示法简洁,图形结构清晰,容易掌握和使用。

UML中的视图

UML视图

UML总共提供了9种视图,这些图从不同应用层次和不同角度为软件系统分析、设计直到实现提供了有力的支持。在不同的阶段建立不同的模型,建模的目的也各不相同。UML的9种图如下:

(1)用例图(UseCaseDiagrams)

用例图描述了系统提供的一个功能单元。用例图的主要目的是帮助开发团队以一种可视化的方式理解系统的功能需求,包括基于基本流程的"角色"(actors,也就是与系统交互的其他实体)关系,以及系统内用例之间的关系。

(2)类图(ClassDiagrams)

类图表示不同的实体(人、事物和数据)如何彼此相关;换句话说,它显示了系统的静态结构。

(3)时序图(SequenceDiagrams)

UML视图中的时序图显示具体用例(或者是用例的一部分)的详细流程。它几乎是自描述的,并且显示了流程中不同对象之间的调用关系,同时还可以很详细地显示对不同对象的不同调用。时序图有两个维度:垂直维度以发生的时间顺序显示消息/调用的序列;水平维度显示消息被发送到的对象实例。

(4)状态图(StatechartDiagrams)

状态图表示某个类所处的不同状态和该类的状态转换信息。有人可能会争论说每个类都有状态,但不是每个类都应该有一个状态图。只对”感兴趣的”状态的类(也就是说,在系统活动期间具有三个或更多潜在状态的类)才进行状态图描述。

(5)活动图(ActivityDiagrams)

UML视图中的活动图表示在处理某个活动时,两个或者更多类对象之间的过程控制流。活动图可用于在业务单元的级别上对更高级别的业务过程进行建模,或者对低级别的内部类操作进行建模。根据经验,活动图最适合用于对较高级别的过程建模,比如公司当前在如何运作业务,或者业务如何运作等。因为与序列图相比,活动图在表示上"不够技术性的",但有业务头脑的人们往往能够更快速地理解它们。

活动图的符号集与状态图中使用的符号集类似。像状态图一样,活动图也从一个连接到初始活动的实心圆开始。活动是通过一个圆角矩形(活动的名称包含在其内)来表示的。活动可以通过转换线段连接到其他活动,或者连接到判断点,这些判断点连接到由判断点的条件所保护的不同活动。结束过程的活动连接到一个终止点(就像在状态图中一样)。作为一种选择,活动可以分组为泳道(swimlane),泳道用于表示实际执行活动的对象。

(6)组件图(ComponentDiagrams)

组件图提供系统的物理视图。它的用途是显示系统中的软件对其他软件组件(如:库函数)的依赖关系。组件图可以在一个非常高的层次上显示,从而仅显示粗粒度的组件,也可以在组件包层次2上显示。

(7)部署图(DeploymentDiagrams)

UML视图中的部署图表示该软件系统如何部署到硬件环境中。它的用途是显示该系统不同的组件将在何处物理地运行,以及它们将如何彼此通信。因为部署图是对物理运行情况进行建模,系统的生产人员可以很好地利用该图。

(8)对象图(ObjectDiagrams)

对象图描述了对象以及对象间的关系。如同类图,对象图也描述了系统静态设计视或静态过程视,但是从实例的角度。

(9)协作图(CollaborationDiagrams)

UML视图中协作图描述了对象间的交互作用,由对象及对象间的关系组成,并包括在对象间传递消息,协作图强调发送和接受消息的对象的结构组织的交互作用图。与时序图是同构的,可以彼此转换。

UML建模工具

市面上UML建模工具很多,比较流行的有Rational Rose ,Microsoft Visio、Enterprise Architect 、Visual UML等。《UML建模-面向对象设计》系列文章使用的UML建模工具是Enterprise Architect 7.0,此工具还是比较好用的。(后面会有博客介绍)

UML的应用领域

UML具有很广泛的应用领域,其中最常用的是为软件系统建模,主要领域有:企业信息系统、银行金融系统、电信、交通、国防、航空、零售领域、科学计算、分布式的基于Web的服务。UML还可以用来描述其他非软件系统,比如一个机构的组成和机构的工作流程等等。

UML的构成

UML建模-面向对象设计》系列文章描述了常见的一些UML图,主要包括了用例图(Use Case Diagram)、类图(Class Diagram)、活动图(Activity Diagram)、时序图(Sequence Diagram)、状态图(Statechart Machine Diagram)、部署图(Deployment Diagram)、业务处理模型(Business Process Model)、数据建模(Data Modeling Diagram)等等。

1、需求阶段如何书写Use Case

用例描述文档的书写是系统分析人员对用户需求的深刻理解的体现。是后期时序图和实际开发的重要依据。也可以对作为项目估算的依据,以及根据UC复杂度和开发周期来衡量开发人员的工作效率。因此UC的书写规范及其重要,就工作用的一些经验,比如书写格式、书写内容及其注意事项与大家分享。

2、设计阶段如何画用例图(Use-Case Diagram)

例试图描概括了用例中角色和系统之间的关系,描述了系统功能需求,角色和系统的交互以及系统的反应。是客户和开发人员全貌理解项目需求功能比较好的一个方式,也是后续功能迭代的依据和方向。

3、类与类之间的关系图(Class Diagram,UML图)

本文针对类之间常用的关系进行了简单的描述,主要有:关联关系、泛化、依赖、聚合和组合。

4、UML建模之活动图介绍(Activity Diagram)

活动图描述的是对象活动的顺序关系所遵循的规则,它着重表现的是系统的行为,而非系统的处理过程。活动图能够表示并发活动的情形,活动图是面向对象的。

5、UML建模之状态图(Statechart Diagram)

状态图重点在于描述对象的状态及其状态之间的转移,状态图的基本元素主要有:状态、转移、动作、自身转移、组合状态、进入节点、退出节点、历史状态、并发区域等,状态中的事件分为调用事件(Call)、变化事件(Change)、时间事件(Time)和信号事件(Singal)。最后以实例对状态对进行了分析。

6、UML建模之时序图(Sequence Diagram)

时序图(Sequence Diagram)是显示对象之间交互的图,这些对象是按时间顺序排列的。顺序图中显示的是参与交互的对象及其对象之间消息交互的顺序。时序图中包括的建模元素主要有:对象(Actor)、生命线(Lifeline)、控制焦点(Focus of control)、消息(Message)等等。最后,以课程创建功能演示一时序图实例。

7、UML建模之业务处理模型(Business Process Model,BPM)

业务处理模型是一组活动的集合,描述了活动从开始到结束在时间或者空间上的顺序,以及输入和输出。业务处理模型最终输出要能够满足业务需要。包括输入、输出、资源、消息和目标等元素。最后以实例进一步说明了业务逻辑模型。

8、UML建模之数据建模(Data Model Diagram)

主要介绍了数据库建模所涉及建模元素,主要包括模式 Schema、主键 Primary、外键 Foreign key、关系 Relationship、约束 constraint、索引 Index、触发器 Trigger、存储过程 Stored Procedure、视图 View等等,并配以实例加以说明。

时间: 2024-07-29 11:08:06

系统分析与设计UML建模的相关文章

系统分析与设计课程之UML建模

UML(统一建模语言)是面向对象建模语言的标准,它可以对任何具有静态结构和动态行为的系统进行建模,它的主要作用是帮助用户进行面向的描述和建模,它可以描述软件从需求分析到软件实现和测试的全过程.标准建模语言UML的重要内容可以由五类图(十种图形)来定义,如表1所示. 用例图,即用来描述什么角色通过某某系统能做什么事情的图,用例图关注的是系统的外在表现,系统与人的交互,系统与其它系统的交互. 用例图有三种构成元素,分别是:角色,用例,关系 1.角色(Actor):即使用本系统的有哪些角色,不同的角色

UML建模学习1:UML统一建模语言简介

一什么是UML? Unified Modeling Language(UML又称为统一建模语言或标准建模语言)是国际对象管理组织OMG制定的一个通 用的.可视化建模语言标准,可以用来描述(specify).可视化(visualize).构造(construct)和记载(document)软件密集 型系统的各种工件(artifacts,又译为制品). UML是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由 需求分析到规格,到构造和配置. UML是面向对

UML建模之 - 类图&时序图

简介 简介 UML是面向对象开发中一种通用的图形化建模语言 UML建模技术就是用模型元素来组建整个系统的模型,模型元素包括系统中的类.类和类之间的关联.类的实例相互配合实现系统的动态行为等 UML建模工具 Rational Rose : 是直接从UML发展而诞生的设计工具,常用建模工具 Power Designer : 是对数据库建模而发展起来的一种数据库建模工具 Microsoft Visio :是一种画图工具,Visio 2010才开始引入UML建模,不是很专业 Star UML : 开源轻

UML建模学习1:UML统一建模语言简单介绍

一什么是UML? Unified Modeling Language(UML又称为统一建模语言或标准建模语言)是国际对象管理组织OMG制定的一个通 用的.可视化建模语言标准.能够用来描写叙述(specify).可视化(visualize).构造(construct)和记载(document)软件密集 型系统的各种工件(artifacts,又译为制品). UML是一个支持模型化和软件系统开发的图形化语言,为软件开发的全部阶段提供模型化和可视化支持,包含由 需求分析到规格,到构造和配置. UML是面

第六周作业-UML在详细设计阶段的使用心得&&UML建模与软件开发过程模型

这周又到了我们项目小组进行详细设计的阶段了.据了解呢,不大喜欢把详细设计做的太细,以便发挥下自己的创造力(初级设计能力).但是借鉴其他国家(如日本)的公司,详细设计不但详细到类级别,甚至每个方法都还有伪代码,这种感觉确实是太不能发挥自己的主观能动性了.不过仁者见仁,智者见智,因为一个初级的程序猿如果先是看别人的设计,然后再开始自己的设计,也许学习曲线就不会那么陡峭,日子也会过的舒服一点儿也未可知. 在这次的作业中我谈到的就是UML在项目实施中的使用心得(详细设计阶段),以及下面的一部分扩展知识:

对软件开发中uml建模的理解和图形整理(一)

由于uml(统一建模语言)在开发中经常会用到,特别是在软件开发中的OOAD阶段,因此要理解和使用uml显得尤为重要.在uml开始之前,咱先回顾一个OOAD.OOP的主要特征. OOAD:根据面向对象的方法学来对软件系统进行分析和设计的过程.它包括OOA 分析阶段和OOD设计阶段.其中分析阶段主要解决"What to do?"的问题,而设计阶段主要解决"How to do?"的问题.具体来说就是:在OOA分析阶段咱要做的主要工作就是建立对业务问题域的视图(建立模型).

UML建模——使用EA工具开发时序图实践及经验

Enterprise Architect(以下简称EA)是一款基于OMG UML的可视化模型与设计工具,提供了对软件系统的设计和构建.业务流程建模和基于领域建模的支持,被企业和组织不仅应用于对系统的建模,还用于推进模型在整个应用程序开发周期中实现. 在EA工具建模平台上,提供如下常用设计模型: Business Process   业务流程模型 Requirements   需求分析模型 Use Case       用例模型 Domain Model    领域模型 Class        

系统分析与设计复习总结之【领域模型】

五一三天假除了背单词,也抽空复习了下UML,毕竟还有一两周要半期考试了--(哪里来的半期考试啊syllabus明明里提都没有提啊T_T)今天先来看--领域模型. 首先领域模型长这样(后面还有九个图啊千万不要搞混了) 那么为什么要有领域模型呢,不是前面已经有用例图了嘛.书上在后面的内容稍微提到了这点,表示领域模型可以减小人们的思维与软件模型之间的表示差异.我自己在在其他资料上看到了另外一种更通俗的解释,大概是这么说的,因为用例是用纯自然语言写的,是没有"类"的概念的,无法从自然语言转换到

[书目]系统分析与设计教程(原书第7版)

作者简介 作者:(美国)舍利(Gary B.Shelly) (美国)Thomas J.Cashman (美国)Harry J.Rosendlatt 译者:史晟辉 王艳清 李芳 等 目录 出版者的话译者序前言第1章 系统分析与设计绪论11.1 信息技术的影响21.1.1 IT的未来21.1.2 系统分析与设计的作用31.1.3 谁开发信息系统41.2 信息系统组成41.2.1 硬件51.2.2 软件51.2.3 数据61.2.4 过程61.2.5 人61.3 了解企业71.3.1 企业概图71.3