UML 物理视图建模
- 格式:doc
- 大小:202.00 KB
- 文档页数:4
基于UML4+1视图和概念模型的建模⽅法RUP的4+1视图包括: 逻辑视图:关注功能性的、整个系统的抽象结构,不涉及具体的编译即输出和部署。
开发视图:是逻辑视图的实现,描述程序⽣成多少个exe、dll、jar、配置⽂件等。
⼜叫实现视图。
运⾏视图:关注程序运⾏时各个⼦系统、组件之间的交互策略。
如多进程、多线程,⽣产者-消费者模式。
运⾏视图⼜称过程视图。
部署视图:关注软件交付以后在机器上的部署形态,以及和上下⽂的关系。
⼜称物理视图。
⽤例视图:关注需求,⼜叫场景视图。
RUP 4+1视图相对完整的描述了从需求分析到系统设计的过程,但没有专门针对数据持久层的描述。
温li在软件架构设计中⽤数据视图替换了⽤例视图,应该说他相对重视架构设计,对需求关注的少⼀些。
关于需求的描述⽅法,应当清醒的看到,仅仅通过⽤例视图是不够的,⽤例技术涉及、但⽆法全⾯涵盖⾮功能需求。
需求 = 功能 + 质量+ 约束。
⼤量的信息还是要通过详细的⽂字描述才能够讲清楚。
⽤例视图只不过提供了描述了⼀个软件的需求概貌。
除了⽤例视图以外,还应该关注软件的概念模型(⼜称领域模型、信息模型)。
如果说⽤例着重于描述⼀个个具体的需求,概念模型则从业务的⾓度描述了整个软件系统所要完成的功能中涉及的所有概念以及彼此之间的关系。
例如对于⼀个⽹管系统,核⼼的两个概念是设备和端⼝,端⼝从属于设备,他们之间是多对⼀的关系。
分别详述4+1视图:逻辑视图关注的静态元素是:层、⼦系统、类、接⼝,⽤类图来描述。
关注的动态因素是协作关系,⽤时序图、协作图、状态图等来描述。
是否需要在架构设计中体现类和类之间的关系?这取决于设计的层级。
开发视图关注的元素是程序包(SDK、解析器、中间件)、⽂件组织结构、编译依赖关系、⽬标单元(jar、exe、dll等)。
它和逻辑视图的静态元素通常有映射关系。
运⾏视图关注进程、线程、对象等运⾏时概念,以及相关的并发、同步、通信等问题。
运⾏架构和开发架构的关系:开发架构⼀般偏重程序包在编译时期的静态依赖关系,⽽这些程序运⾏起来之后会表现为对象、线程、进程,运⾏架构⽐较关注的是这些运⾏时单元的交互问题。
讲解UML之前.我们要了解几个类与类之间的关系:统一建模语言。
类与类之间的关系:关联、泛化、依赖(类和方法的关系)、聚合、组合(强聚合)1、关联:类与类之间的任意关系,关联关系表现为变量(has a )。
比如说:雇员1(普通员工)―――(雇员2)经理/汽车―――汽车公司/类似于眼睛――鼻子/(1)双向关联:两个类都知道另一个类的公共属性和操作。
此图表示的是双向关联。
(2)单向关联:只有一个类知道另外一个类的公共属性和操作。
大多数关联应该是单向的,单向关系更容易建立和维护。
(简单的理解为:ClassA 用到了ClassB的对象。
但是B没用到A的对象)。
2、聚合:是关联关系的一种,是强的关联关系。
聚合关系是整体和个体的关系。
普通关联关系的两个类处于同一层次上,而聚合关系的两个类处于不同的层次,一个是整体,一个是部分。
同时,是一种弱的“拥有”关系。
体现的是A对象可以包含B对象,但B对象不是A对象的组成部分。
比如:个人--成员--课程组:少一个人它还是课程组.又例如:学校---学生之间的关系聚合就像汽车和轮胎,汽车坏了但是胎还可以用。
如下图所示:(A中用到B的实例,B没用A的实例,单向关联,注意:其中,B的对象,是A中的全局变量,此时聚合关系明显)。
3、强聚合,也叫做组合:也是关联关系的一种,是比聚合关系强的关系。
它要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期。
Composition(组合关系)是一种强的“拥有”关系,体现了严格的部分和整体的关系,部分和整体的生命周期一致。
如果A由B组成,表现为A包含有B的全局对象,并且B对象在A创建的时刻创建。
又例如:公司—下属部门,公司倒闭了,那么下属的部门也就不存在了。
4、泛化:泛化描述的是一般事物与该事件中的特殊种类之间的关系,也就是父类和子类的关系。
5、实现(是泛化的一种形式):接口和类之间的关系:6、依赖:两个元素X、Y,如果修改元素X的定义可能会引起对另一个元素Y的定义的修改,称为Y依赖于元素X。
uml建模方法
一、使用UML建模方法
1、UML基本方法
UML即统一建模语言,它是目前软件建模最流行的方法,是一种表达、理解、可视化、记录和展示系统的方法。
它在系统分析设计的过程中提供统一的视图,能帮助分析人员清楚的了解系统,从而更好的优化系统。
UML建模方法主要有以下几个:
1)类图结构:用来构建和描述不同对象之间关系的图形,它是面向对象分析的核心,是理解系统架构的窗口;
2)状态图:用来描述系统行为与状态的变化,它能够把一个激动的业务流程分解细节,为系统构思提供依据;
3)活动图:用来描述从一个状态到另一个状态的行为过程,可以降低复杂的系统的复杂度;
4)部署图:用来描述系统的物理部署情况,可以把抽象的系统行为映射到具体的系统部署;
5)构件图:用来描述系统的构件间的关系及服务,可以帮助把系统分解成一个个独立的构件;
6)交互图:用来描述不同构件间及操作的同步过程,可以设计系统的动态行为过程。
2、UML建模方法步骤
1)识别系统实体
要对系统进行建模,首先要对由哪些对象构成的实体,以及在不同实体之间是如何交互的进行把握,它们之间的关系及联系。
2)识别系统行为
根据识别的实体,以及各实体间的关系,开始对系统行为进行识别,建立各实体间的交互关系模型,从粗糙的描述到细节描述,把握系统的行为;
3)建立交互模型
最后,根据识别的实体,以及各实体间的关系,把握系统的行为,建立交互模型,来处理每个实体之间的交互,形成最终的系统模型。
UML建模教程第 1 章UML初览本章使用一个简单的例子对UML中所使用的概念和视图进行初览。
本章的目的是要将高层UML概念组织成一系列较小的视图和图表来可视化说明这些概念,说明如何用各种不同的概念来描述一个系统以及如何将各种视图组织在一起。
概括性的说明不可能面面俱到,其中省略了许多概念。
要想得到更详细的说明,可参见下一章对UML各视图的说明和本书大全部分的有关细节。
本章使用的例子是计算机管理的戏院售票系统。
这是一个精心设计的例子,目的是用少量篇幅来强调说明UML的各个组件。
这是一个经过有意简化的例子,忽略了有关细节。
除非进行大量的反复说明,否则一个实际系统的完整模型不可能用这么少的篇幅来对UML中使用的每种组件进行介绍。
1.1 UML视图UML中的各种组件和概念之间没有明显的划分界限,但为方便起见,我们用视图来划分这些概念和组件。
视图只是表达系统某一方面特征的UML建模组件的子集。
视图的划分带有一定的随意性,但我们希望这种看法仅仅是直觉上的。
在每一类视图中使用一种或两种特定的图来可视化地表示视图中的各种概念。
在最上一层,视图被划分成三个视图域:结构分类、动态行为和模型管理。
结构分类描述了系统中的结构成员及其相互关系。
类元包括类、用例、构件和节点。
类元为研究系统动态行为奠定了基础。
类元视图包括静态视图、用例视图和实现视图。
动态行为描述了系统随时间变化的行为。
行为用从静态视图中抽取的瞬间值的变化来描述。
动态行为视图包括状态机视图、活动视图和交互视图。
模型管理说明了模型的分层组织结构。
包是模型的基本组织单元。
特殊的包还包括模型和子系统。
模型管理视图跨越了其他视图并根据系统开发和配置组织这些视图。
UML还包括多种具有扩展能力的组件,这些扩展能力有限但很有用。
这些组件包括约束、构造型和标记值,它们适用于所有的视图元素。
表3–1列出了UML的视图和视图所包括的图以及与每种图有关的主要概念。
不能把这张表看成是一套死板的规则,应将其视为对UML常规使用方法的指导,因为UML允许使用混合视图。
UML(UnifiedModelingLanguage统⼀建模语⾔)UML(Unified Modeling Language 统⼀建模语⾔),⼜称标准建模语⾔。
是⽤来对软件密集系统进⾏可视化建模的⼀种语⾔。
UML是⼀种⾯向对象的建模语⾔,它可以实现⼤型复杂系统各种成分描述的可视化、说明并构造系统模型,以及建⽴各种所需的⽂档,是⼀种定义良好、易于表达、功能强⼤且普遍适⽤的建模语⾔。
UML基本内容详述(1)视图 视图是表达系统的某⼀⽅⾯特征的UML建模元素的⼦集;试图并不是图,它是由⼀个或多个图组成的对系统某个⾓度的抽象。
1)⽤例视图(核⼼视图) 强调从⽤户的⾓度看到的或需要的系统功能。
2)逻辑视图 该视图⽤于描述系统内实现的逻辑功能,展现系统的静态或结构组成及特征。
3)组件视图 该视图从系统实现的⾓度来描述模型对象间的关系。
4)配置视图 该视图⽤于说明系统的物理配置。
(2)图表 图表是描述视图内容的图。
1)⽤例图 ⽤于描述外部项与系统提供的使⽤事件之间的联系。
⼀个使⽤事件是系统提供的功能的具体描述,是系统分析⼈员从⽤户⾓度描述系统的功能,是功能与功能之间以及功能与⽤户之间的关系。
使⽤事件定义了系统的功能需求。
简单理解:⽤来描述系统的功能。
2)类图 ⽤于描述系统的静态结构。
类可以⽤不同⽅式连接,主要包括联合、依赖、独⽴和包装。
⼀个系统⼀般有多张类图,⼀个类可在不同的视图中出现。
3)对象图 ⽤于表述系统在某个时刻的静态结构。
对象图也可作为协作图的⼀部分,说明⼀组对象之间的动态协作关系。
对象图与类图的区别:对象图表⽰的是类中的许多对象实例,⽽不是类本⾝。
4)状态图 ⽤于说明类中的对象可能具有的状态,以及由时间引起的状态的改变。
简单理解:描述了系统元素的状态条件和响应。
5)顺序图(时序图) ⽤于描述对象间的动态协作关系。
表达了对象间发⾏消息的时序,同时也表达出对象间的相互作⽤,以及当系统执⾏到某个特定位置时可能会发⽣的事。
uml建模实例100例UML(统一建模语言)是一种用于软件开发的标准建模语言,它可以帮助开发人员更好地理解、设计和实现软件系统。
下面是100个UML建模实例。
1. 用例图:描述系统功能和外部用户的行为。
2. 活动图:描述系统中的过程和活动,通常用来描述系统的业务流程。
3. 类图:描述系统中的类、属性和方法、关系等。
4. 对象图:描述系统中的对象及其关系。
5. 状态图:描述系统中的对象或类的状态和状态转换。
6. 序列图:描述系统中的对象或类之间的交互过程。
7. 协作图:描述系统中的对象或类之间的协作过程。
8. 构件图:描述系统的组成部分和它们之间的关系。
9. 部署图:描述系统的物理部署结构和组件之间的关系。
10. 通信图:描述系统中的对象之间的消息传递。
11. 包图:描述系统中的包和它们之间的关系。
12. 组合结构图:描述系统中的组成部分和它们之间的组合关系。
13. 时序图:描述系统中的对象或类之间的时间关系。
14. 交互概述图:描述系统中的对象或类之间的协作过程。
15. 系统顺序图:描述系统中的对象或类之间的时间关系。
16. 概念图:描述系统中的概念和它们之间的关系。
17. 数据流图:描述系统中的数据流和处理过程。
18. 流程图:描述系统中的过程和流程。
19. 参与者图:描述系统中的参与者和它们之间的关系。
20. 视图图:描述系统中的视图和它们之间的关系。
21. 规则图:描述系统中的规则和它们之间的关系。
22. 用例图扩展点:描述用例图中的扩展点和它们之间的关系。
23. 活动图扩展点:描述活动图中的扩展点和它们之间的关系。
24. 类图扩展点:描述类图中的扩展点和它们之间的关系。
25. 对象图扩展点:描述对象图中的扩展点和它们之间的关系。
26. 状态图扩展点:描述状态图中的扩展点和它们之间的关系。
27. 序列图扩展点:描述序列图中的扩展点和它们之间的关系。
28. 协作图扩展点:描述协作图中的扩展点和它们之间的关系。
§2 UML的组成与建模过程UML是第一个统一的面向对象的可视化建模语言,当今主流的CASE都支持UML。
2.1 UML的组成UML由下列5类图组成:第1类:用例图。
从用户角度描述系统功能,并指出各功能的交互者(外部实体)。
第2类:静态图。
包括类图、对象图和包图。
其中,类图描述系统中类的静态结构,不仅定义系统中的类,表示类之间的联系(如关联、依赖、聚合),而且包括类的内部架构(类的属性和操作)。
类图描述的是一种静态关系,在系统的整个生命周期内都是有效的。
对象图是类图的实例,几乎使用与类图完全相同的标识。
包图用于描述系统的分层结构,由包或类组成,表现包与包之间的关系。
第3类:行为图。
包括状态图和活动图。
其中,状态图描述类的对象所有可能的状态以及事件发生时状态的转移条件;活动图描述用例中的活动以及活动之间的约束关系,可用于识别活动的并发性。
第4类:交互图。
包括顺序图和协作图,用于描述对象间的交互关系和动态协作关系。
顺序图强调对象之间消息发送的顺序,同时显示对象之间的交互信息。
协作图跟顺序图相似,除显示交互信息外,还显示对象之间的结构关系。
如果强调时间和顺序,则使用顺序图;如果强调上下级关系,则可使用协作图。
第5类:实现图。
包括构件图和部署图。
构件图描述软件构件之间的依赖关系,这些构件包括源代码文件、二进制文件以及可执行文件等。
部署图(配置图)显示了基于计算机系统的物理架构。
2.2 UML的基本建模过程面向对象的软件开发过程中,传统开发模式中的阶段之间的界限已不明显。
使用UML的一般思路是,首先建立软件系统的逻辑模型,然后建立相应的物理模型。
建立系统逻辑模型的过程可大致分为3步:第一步:描述需求;第二步:根据需求建立系统的静态结构;第三步:描述系统的行为。
其中,第一步和第二步可以用用例图、类图和对象图等来描述,属于UML的静态建模机制;第三步则可以用状态图、活动图、顺序图及协作图来描述,属于UML的动态建模机制。
图1 网上购物系统部署图
3 结束语
结合上述案例,总结创建部署模型的作用主要体现在以下三方面:
(1)部署图通过对各种硬件,在硬件中的软件以及各种连接协议的展示,能够很好地描述系统具体的部署方式,有助(上接第51页)
经影响到整个行业的健康发展情况下,国家有关部门应该从管理的角度加以引导:单机用户尤其是企业用户必须付费安装,以便扶持杀毒软件行业厂商的健康发展。
2.2时刻关注国际安全领域动态,警、军、企业等多方协同,重要资源共享。
实验报告
课程名称__________ UML ___________ 实验项目________物理视图建模________实验仪器______Rational Rose 2003_________
系别______ ________
专业______
班级/学号_ ___
学生姓名_________
实验日期_________
成绩_______________________
指导教师____________
一、实验目的
掌握物理实现建模(组建模型和实施模型)的基本方法和过程,创建组件图和实施图;
二、实验内容
以图书管理系统为例,使用ROSE建模工具完成组件图和实施图。
简要描述构建组件模型和部署模型的主要过程。
三、实验工具与方法
1.根据要求,完成组件模型中的组件图的设计,使用ROSE建模工具创建组件图;
2.根据要求,完成实现模型中的实施图的设计,使用ROSE建模工具创建实施图;
3.分析总结,完成实验报告。
四、五实验步骤与实验结果
打开Rational Rose 2003分别建立一个组件图和部署图。
图1. 组件图
图2. 部署图
六、分析总结
1.本次实验主要是练习行为视图建模,熟悉怎样建立一个组件图和部署图,并且掌握创建的过程与思路。
2.本次实验遇到的主要问题是创建的时候,不知道组件图和部署图的创建菜单在哪里,经过询问同学后知道了位置,不过做的过程不是很难,最后一次实验还是比较简单的。