UML建模学习4:UML基本构造块之图

来源:互联网 发布:照片设计发型软件 编辑:程序博客网 时间:2024/06/05 00:41

           今天继续来看UML基本构造块中的图。

       一UML基本构造块之图

       UML基本构造块的图是在特定的视角下对系统所作的抽象描述。图是事物集合的分类,UML中包含多种图。我们

先来看分类:

       UML定义了5类,10种模型图:下图加上非UML规范的包图

        

       五种类图定义:

       1用例图:从用户角度描述系统功能,并指各功能的操作者。

       2静态图:包括类图,包图,对象图。

       2.1类图:描述系统中类的静态结构。

       2.2包图:是包和类组成的,表示包与包之间的关系,包图描述系统的分层结构。

       2.3对象图:是类图的实例。

       3行为图:描述系统动态模型和对象组成的交换关系。包括状态图和活动图。

       3.1活动图:描述了业务实现用例的工作流程。

       3.2状态图:是描述状态到状态控制流,常用于动态特性建模。

       4.交互图:描述对象之间的交互关系,包括顺序图和协作图。

       4.1顺序图:对象之间的动态合作关系,强调对象发送消息的顺序,同时显示对象之间的交互。

       4.2协作图:描述对象之间的协助关系。

       5.实现图:

       5.1部署图:定义系统中软硬件的物理体系结构。

       5.2构件图:描述代码部件的物理结构及各部件之间的依赖关系。

       九种图层次结构图示:

       

       二UML五类十种图概述

       用例图:

       (1)用例图(Use-case Diagram)

       用例图从用户的角度出发描述系统的功能、需求,展示系统外部的各类角色与系统内部的各种用例之间的关系;

用例图描述角色以及角色与用例之间的连接关系。说明的是谁要使用系统,以及他们使用该系统可以做些什么。一个

用例图包含了多个模型元素,如系统、参与者和用例,并且显示了这些元素之间的各种关系,如泛化、关联和依赖。

       用例图用来描述用户的需求,从用户的角度描述系统的功能,并指出各功能的执行者,强调谁在使用系统,系统

为执行者完成哪些功能。

       课程登记实例的Use Case图:


       下图(摘自网络):


       静态图:

       (2)类图(Class Diagram)

       类图用于定义系统中的类,包括描述系统所包含的类、类的内部结构及类之间的关系。类图主要用于描述系统的

静态结构。

       类图是描述系统中的类,以及各个类之间的关系的静态视图。能够让我们在正确编写代码以前对系统有一个全面

的认识。类图是一种模型类型,确切的说,是一种静态模型类型。类图表示类、接口和它们之间的协作关系。

       如下图(摘自网络):


       (3)对象图(Object Diagram)

       对象图与类图极为相似,它是类图的一个具体实例,对象图显示类的多个对象实例,而不是实际的类。它描述的

不是类之间的关系,而是对象之间的关系。对象图描述了系统在具体时间点上所包含的对象以及各个对象之间的关

系。 

       如下图(摘自网络):

       (4)包图(Package Diagram)

       包图表明包及其之间的依赖类图,用于描述系统的分层结构,由包或类组成,表示包与包之间的关系。

       如下图(摘自网络):


       行为图:

       (5)状态图(Statechart Diagram)

       状态图描述一类对象的所有可能的状态以及事件发生时状态的转移条件。可以捕获对象、子系统和系统的生命周

期。他们可以告知一个对象可以拥有的状态,并且事件(如消息的接收、时间的流逝、错误、条件变为真等)会怎么随

着时间的推移来影响这些状态。一个状态图应该连接到所有具有清晰的可标识状态和复杂行为的类;该图可以确定类

的行为,以及该行为如何根据当前的状态变化,也可以展示哪些事件将会改变类的对象的状态。状态图是对类图的补

充。

        如下图(摘自网络):


        

       (6)活动图(Activity Diagram)

        活动图描述系统中各种活动的执行顺序,描述用例要求所要进行的活动,以及活动间的约束关系,有利于识别并

行活动。能够演示出系统中哪些地方存在功能,以及这些功能和系统中其他组件的功能如何共同满足前面使用用例图

建模的商务需求。 

       如下图(摘自网络):


       交互图:

       (7)顺序图(Sequence Diagram,也称为序列图)

       顺序图表示对象之间动态合作的关系。描述对象之间的交互顺序,着重体现对象间消息传递的时间顺序,强调对

象之间消息的发送顺序,同时也显示对象之间的交互顺序。

       顺序图是用来显示你的参与者如何以一系列顺序的步骤与系统的对象交互的模型。顺序图可以用来展示对象之间

是如何进行交互的。顺序图将显示的重点放在消息序列上,即强调消息是如何在对象之间被发送和接收的。

       如下图(摘自网络):

       实现图:

       (8)协作图(Collaboration Diagram,也称合作图)

       协作图描述对象之间的协作关系,更侧重于说明哪些对象之间有消息的传递。和顺序图相似,显示对象间的动态

合作关系。可以看成是类图和顺序图的交集,协作图建模对象或者角色,以及它们彼此之间是如何通信的。

       如下图(摘自网络):


       如果强调时间和顺序,则使用序列图;如果强调上下级关系,则选择协作图;这两种图合称为交互图。序列图和

协作图可以相互转化。

       (9)构件图(Compoment Diagram,也称组件图)

       组件图描述代码部件的物理结构以及各部件之间的依赖关系。一个构件可以是一个资源文件、一个二进制文件或

者一个可执行文件。

       构件图用来建模软件的组件及其相互之间的关系,这些图由构件标记符和构件之间的关系构成。在构件图中,构

件是软件单个组成部分,它可以是一个文件,产品、可执行文件和脚本等。

       如下图(摘自网络):

       (10)部署图(Deployment Diagram,也称实施图或配置图)

       部署图定义系统中软硬件的物理体系结构,用来描述实际的物理设备以及它们之间的连接关系。部署图是用来建

模系统的物理部署。例如计算机和设备,以及它们之间是如何连接的。部署图的使用者是开发人员、系统集成人员和

测试人员。部署图用于表示一组物理结点的集合及结点间的相互关系,从而建立了系统物理层面的模型。

       如下图(摘自网络):

       三UML建模机制

       从应用的角度看,当采用面向对象技术设计系统时,首先是描述需求;其次根据需求建立系统的静态模型,以构

造系统的结构;第三步是描述系统的行为。其中在第一步与第二步中所建立的模型都是静态的,包括用例图、类图(包

含包)、对象图、组件图和部暑图等五个图形,是标准建模语言UML的静态建模机制。其中第三步中所建立的模型或者

可以执行,或者表示执行时的时序状态或交互关系。它包括UML模型图中状态图、活动图、顺序图和协作图等四个图

形,是标准建模语言UML的动态建模机制。因此,标准建模语言UML的主要内容也可以归纳为静态建模机制和动态建

模机制两大类。

       四UML简单示例

       显示"Hello World"的简单Java Applet程序,先来看一下代码:

import java.awt.Graphics;public class HelloWorld extends java.applet.Applet{     public void paint(Graphics g){         g.drawString("Hello World!",10,20);     }}
        根据以上代码结合UML画出下面的几种UML图:

        类:

        

        类的关系:

         

        继承层次:

         

        包:

        

        序列图:

        

        构件图:

        

       五UML在软件开发各个阶段的应用

       在软件开发各个阶段,使用不同的UML图对系统进行描述。

       采用面向对象技术设计软件系统时,使用用例图来描述用户需求;使用类图、对象图、包图、构件图和部署图这

5种静态图来描述系统的静态结构;使用顺序图、合作图、活动图和状态图这4种图描述系统动态行为。


       需求:

       采用用例图来描述需求(角色,功能、外部交互)


       分析:明确解决问题的细节

       采用类图来描述静态结构

       采用顺序图、合作图、活动图、状态图来描述动态行为。


       设计:给出解决方案

       采用类图、包,对类的接口进行设计。


       实现:

       将类用某面向对象语言实现


       集成与交付:

       构建图、包、部署图


       测试:

       单元测试使用类图和类的规格说明书

       集成测试使用类图、包、构件图和合作图

       系统测试使用用例图测试系统功能。

       UML基本构造块总结:

       事物是对模型中最具有代表性的成分的抽象;关系把事物结合在一起;图聚集了相关的事物。


1 0
原创粉丝点击