UML面向对象建模 静态模型
- 格式:doc
- 大小:332.00 KB
- 文档页数:8
UML(UnifiedModelingLanguage统⼀建模语⾔)UML(Unified Modeling Language 统⼀建模语⾔),⼜称标准建模语⾔。
是⽤来对软件密集系统进⾏可视化建模的⼀种语⾔。
UML是⼀种⾯向对象的建模语⾔,它可以实现⼤型复杂系统各种成分描述的可视化、说明并构造系统模型,以及建⽴各种所需的⽂档,是⼀种定义良好、易于表达、功能强⼤且普遍适⽤的建模语⾔。
UML基本内容详述(1)视图 视图是表达系统的某⼀⽅⾯特征的UML建模元素的⼦集;试图并不是图,它是由⼀个或多个图组成的对系统某个⾓度的抽象。
1)⽤例视图(核⼼视图) 强调从⽤户的⾓度看到的或需要的系统功能。
2)逻辑视图 该视图⽤于描述系统内实现的逻辑功能,展现系统的静态或结构组成及特征。
3)组件视图 该视图从系统实现的⾓度来描述模型对象间的关系。
4)配置视图 该视图⽤于说明系统的物理配置。
(2)图表 图表是描述视图内容的图。
1)⽤例图 ⽤于描述外部项与系统提供的使⽤事件之间的联系。
⼀个使⽤事件是系统提供的功能的具体描述,是系统分析⼈员从⽤户⾓度描述系统的功能,是功能与功能之间以及功能与⽤户之间的关系。
使⽤事件定义了系统的功能需求。
简单理解:⽤来描述系统的功能。
2)类图 ⽤于描述系统的静态结构。
类可以⽤不同⽅式连接,主要包括联合、依赖、独⽴和包装。
⼀个系统⼀般有多张类图,⼀个类可在不同的视图中出现。
3)对象图 ⽤于表述系统在某个时刻的静态结构。
对象图也可作为协作图的⼀部分,说明⼀组对象之间的动态协作关系。
对象图与类图的区别:对象图表⽰的是类中的许多对象实例,⽽不是类本⾝。
4)状态图 ⽤于说明类中的对象可能具有的状态,以及由时间引起的状态的改变。
简单理解:描述了系统元素的状态条件和响应。
5)顺序图(时序图) ⽤于描述对象间的动态协作关系。
表达了对象间发⾏消息的时序,同时也表达出对象间的相互作⽤,以及当系统执⾏到某个特定位置时可能会发⽣的事。
面向对象设计与UML建模面向对象设计是一种软件开发方法,它将现实世界的实体抽象为对象,并以对象之间的相互关系来组织和描述系统的行为。
而UML(统一建模语言)是一种用于可视化、规范化软件系统设计的标准建模语言。
本文将从面向对象设计的概念入手,介绍面向对象设计与UML建模的关系及应用。
一、面向对象设计的概念面向对象设计(Object-oriented Design)是一种以对象为中心的软件开发方法。
在面向对象设计中,将系统中的各个对象抽象出来,通过定义对象之间的属性和方法,以及对象之间的关系,来描述系统的功能和行为。
面向对象设计的核心思想是将现实世界的实体抽象为对象,对于每个对象,描述其属性和方法,并通过对象之间的交互来实现系统的功能。
这样的设计方式使得系统更加模块化,易于扩展和维护。
二、UML建模的概念UML(Unified Modeling Language)是一种用于规范化、可视化软件系统设计的标准建模语言。
它提供了一套丰富的符号和约定,用于描述系统的结构、行为和交互。
UML建模是面向对象设计的重要工具之一,它能够帮助开发人员更好地理解和设计系统。
通过使用UML,开发人员可以绘制出类图、时序图、用例图等各种类型的图表,来描述系统的不同方面和视角。
三、面向对象设计与UML建模的关系面向对象设计与UML建模是紧密相关的。
面向对象设计将系统抽象为对象,定义了对象的属性和方法,以及对象之间的关系。
而UML建模则是通过各种类型的图表来表示和描述这些对象、属性、方法和关系。
具体来说,面向对象设计中的类可以通过UML的类图来表示。
类图用于描述系统中的类及其之间的继承、关联、聚合等关系。
类图能够清晰地展示系统的结构,有助于开发人员对系统进行整体把握和分析。
此外,面向对象设计中的时序和交互可以通过UML的时序图、活动图和通信图来表示。
时序图用于描述对象之间的交互顺序,活动图用于描述系统的流程和行为,通信图用于描述对象之间的消息传递。
什么是UMLUML(Unified Modeling Language)是一种统一建模语言,为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。
UML支持面向对象的技术,能够准确的方便地表达面向对像的概念,体现面向对象的分析和设计风格。
UML不仅可用于软件设计,也可以用于软件需求分析。
UML的模型主要有三部分构成事物(Things):UML模型中最基本的构成元素,是具有代表性的成分的抽象。
关系(Relationships):关系把事物紧密联系在一起。
图(Diagrams ):图是事物和关系的可视化表示。
UML图分为结构型和行为型两种结构型的图描述的是某种结构,这种结构在某段时间内应该是稳定的,静态的;而结构型的图描述的是某种行为,是动态的。
结构型的图(Structure Diagram)类图(Class Diagram)对象图(Object Diagram)构件图(Component Diagram)部署图(Deployment Diagram)包图(Package Diagram)行为型的图(Behavior Diagram)活动图(Activity Diagram)状态机图(State Machine Diagram)顺序图(Sequence Diagram)通信图(Communication Diagram)用例图(Use Case Diagram)时序图(Timing Diagram)类图描述一组对象、接口、协作等事物之间的关系。
类图描述系统中类的静态结构,不仅定义系统中的类,表示类之间的联系,如关联、依赖、聚合等,也包括类的属性和操作。
类图描述的是一种静态关系,在系统的整个生命周期都是有效的。
类图是业务概念模型分析的有利武器,也是面向对象分析能力的强有力训练工具。
对象图是类图的实例,几乎使用与类图完全相同的标识。
一个对象图是类图的一个实例。
由于对象存在生命周期,因此对象图只能在系统某一时间段存在。
UML建模工具中的五大视图本节和大家一起学习一下UML建模工具方面的知识,本节主要包括面向对象建模概念和UML中的五大视图等内容,相信通过本节的介绍你对UML建模工具有一定的认识。
下面让我们一起来学习UML建模工具吧。
UML建模工具1.面向对象建模建模把复杂得问题分解为易于理解的小元素,以达到问题的求解模型帮助你具体化和指出系统的不同方面,模型也显示不同的部分如何彼此相关并有助于它们的工作形象化。
UML定义了软件工程领域中的不同模型。
下面给出模型和它们的描述:.类模型描述其静态结构,状态模型表示对象的动态行为,用例模型解释用户的要求,交互模型描述消息流,实现模型包含工作单元,部署模型包含属于进程分配的细节。
提供一种简单的、准备使用的、表现为可视的建模语言,是独立于过程的,是独立于语言的2.UML建模工具的五大视图:UML定义了软件工程领域中的不同模型。
下面给出模型和它们的描述:.类模型描述其静态结构,状态模型表示对象的动态行为,用例模型描述用户的要求,交互模型描述消息流,实现模型描述工作单元,部署模型属于进程分配的细节。
◆用户视图–表示系统的目的和目标◆结构视图–表示系统的静态或空闲的状态◆行为视图–表示系统的动态状态或状态的变动◆实现视图–表示系统的逻辑元素的分布◆环境视图–表示系统物理元素的分布3.用户视图系统的用户视图由用例图组成,用例图包含执行者、用例、及它们的关系,用例图表示了系统对外部实体提供的功能,用例图由执行者和用例组成(执行者对系统做什么的)执行者主要可分为四类:主要执行者–直接与系统交互的人,次要执行者–涉及到系统维护的人,外部硬件–运行应用的非计算机的系统部分,其他系统–为其工作需要与你系统交互的外部系统4.结构视图UML建模工具中结构视图代表系统的静态方面,包含类图(描述不同的类和它们的关联,描述系统中声明的类)和对象图(描述不同的对象和它们彼此间的链接)。
类:用来描述具有特征的现实世界的实体。
UML的九种模型图本⽂转⾃,仅供学习交流!⼀、作为⼀种建模语⾔,UML的定义包括UML语义和UML表⽰法两个部分。
UML语义:描述基于UML的精确元模型定义。
UML表⽰法:定义UML符号的表⽰法,为开发者或开发⼯具使⽤这些图形符号和⽂本语法为系统建模提供了标准。
这些图形符号和⽂字所表达的是应⽤级的模型,在语义上它是UML元模型的实例。
⼆、标准建模语⾔UML可以由下列5类图来定义。
⽤例图:从⽤户⾓度描述系统功能,并指出各功能的操作者。
静态图:包括类图和对象图。
类图描述系统中类的静态结构,不仅定义系统中的类,表⽰类之间的联系,如关联、依赖、聚合等,也包括类的属性和操作,类图描述的是⼀种静态关系,在系统的整个⽣命周期都是有效的。
对象图是类图的实例,⼏乎使⽤与类图完全相同的标识。
⼀个对象图是类图的⼀个实例。
由于对象存在⽣命周期,因此对象图只能在系统某⼀时间段存在。
⾏为图:描述系统的动态模型和组成对象间的交互关系,包括状态图和活动图。
状态图描述类的对象所有可能的状态以及事件发⽣时状态的转移条件,状态图是对类图的补充,活动图描述满⾜⽤例要求所要进⾏的活动以及活动间的约束关系,有利于识别并进⾏活动。
交互图:描述对象间的交互关系,包括时序图和协作图。
时序图显⽰对象之间的动态合作关系,它强调对象之间消息发送的顺序,同时显⽰对象之间的交互;协作图描述对象间的协作关系,协作图跟时序图相似,显⽰对象间的动态合作关系。
除显⽰信息交换外,协作图还显⽰对象以及它们之间的关系。
如果强调时间和顺序,则使⽤时序图;如果强调上下级关系,则选择协作图。
实现图:包括组件图和部署图。
组件图描述代码部件的物理结构及各部件之间的依赖关系,组件图有助于分析和理解部件之间的相互影响程度;部署图定义系统中软硬件的物理体系结构。
采⽤UML来设计系统时,第⼀步是描述需求;第⼆步根据需求建⽴系统的静态模型,以构造系统的结构;第三步是描述系统的⾏为。
其中在第⼀步与第⼆步中所建⽴的模型都是静态的,包括⽤例图、类图、对象图、组件图和部署图等5种图形,是标准建模语⾔UML的静态建模机制。
基于UML的面向对象建模方法姓名: 赵付轩学号: 10041156专业: 信号与信息处理学院: 信息科学与技术学院基于UML的面向对象建模方法摘要:本文介绍了一种基于UML(统一建模语言)的网上报名系统。
首先对UML语言进行了简单说明,其次根据UML建模过程对网上报名系统进行了需求分析,构建了用例图、类图两个模型,最后根据该模型开发了大学英语四六级考试报名系统,该系统具有可操作性强、扩展性好、效率高的优点。
关键词:UML;网上报名;面向对象目录1 引言 (1)1.1 UML概述 (1)2 面向对象原理 (1)2.1 基本概念 (1)2.2 基本特征 (2)3 运用UML进行系统建模 (2)3.1 UML建模机制、步骤 (2)4 网上报名系统的UML建模 (3)4.1 需求分析 (3)4.2 分析与设计 (4)4.2.l 静态建模 (4)4.2.2 动态建模 (5)5 结语 (6)参考文献 (6)1 引言面向对象方法已经成为软件开发的主要方法,面向对象的分析方法以对象作为分析问题,解决问题的核心,并对问题空间进行直接映射,使计算机实现的对象与真实世界具有一一对应关系,符合人类认识规律,有效地解决了需求分析模型和软件设计模型的不匹配现象。
由于采用了数据抽象和封装技术,面向对象的程序设计降低了各模块间的耦合,可实现较高的代码利用率。
基于UML建模技术可以进行面向对象的分析、设计、编程、测试以及面向对象的软件过程,它以统一建模语言作为分析工具,利用面向对象的思想对问题域进行建模。
本文针对建模的方法和技术进行了讨论,并结合实例加以说明。
1.1 UML概述统一建模语言是用来对软件密集系统进行可视化建模的一种语言。
它是面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。
UML具有庞大的体系结构和丰富的内容。
不仅融合了Booch、OMT、OOSE方法的核心内容,同时也吸取了其他面向对象方法中的优势。
UML各种图总结-精华UML(UnifiedModelingLanguage)是一种统一建模语言,为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。
下面将对UML的九种图+包图的基本概念进行介绍以及各个图的使用场景。
一、基本概念如下图所示,UML图分为用例视图、设计视图、进程视图、实现视图和拓扑视图,又可以静动分为静态视图和动态视图。
静态图分为:用例图,类图,对象图,包图,构件图,部署图。
动态图分为:状态图,活动图,协作图,序列图。
1、用例图(UseCaseDiagrams):用例图主要回答了两个问题:1、是谁用软件。
2、软件的功能。
从用户的角度描述了系统的功能,并指出各个功能的执行者,强调用户的使用者,系统为执行者完成哪些功能。
2、类图(ClassDiagrams):用户根据用例图抽象成类,描述类的内部结构和类与类之间的关系,是一种静态结构图。
在UML类图中,常见的有以下几种关系:泛化(Generalization),实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)。
各种关系的强弱顺序:泛化=实现>组合>聚合>关联>依赖2.1.泛化【泛化关系】:是一种继承关系,表示一般与特殊的关系,它指定了子类如何继承父类的所有特征和行为。
例如:老虎是动物的一种,即有老虎的特性也有动物的共性。
2.2.实现【实现关系】:是一种类与接口的关系,表示类是接口所有特征和行为的实现。
2.3.关联【关联关系】:是一种拥有的关系,它使一个类知道另一个类的属性和方法;如:老师与学生,丈夫与妻子关联可以是双向的,也可以是单向的。
双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头。
【代码体现】:成员变量2.4.聚合【聚合关系】:是整体与部分的关系,且部分可以离开整体而单独存在。
UML 2.0共有10种图,分别为表示系统静态结构的静态模型(包括类图、组合结构图、部署图),以及表示系统动态结构的动态模型(包括用例图、序列图、对象图、协作图、状态图、活动图、组件图),它们各用以表现不同的视图,如表1-1所示。
用例之间也可以存在包含、扩展和泛化等关系:
(1)包含关系:用例可以简单地包含其他用例具有的行为,并把它所包含的用例行为做为自身行为的一部分,这被称作包含关系。
(2)扩展关系:扩展关系是从扩展用例到基本用例的关系,它说明为扩展用例定义的行为如何插入到为基本用例定义的行为中。
它是以隐含形式插入的,也就是说,扩展用例并不在基本用例中显示。
在以下几种情况下,可使用扩展用例:
a.表明用例的某一部分是可选的系统行为(这样,您就可以将模型中的可选行为和必选行为分开);
b.表明只在特定条件(如例外条件)下才执行的分支流;
c.表明可能有一组行为段,其中的一个或多个段可以在基本用例中的扩展点处插入。
所插入的行为段和插入的顺序取决于在执行基本用例时与主角进行的交互。
(3)泛化关系:用例可以被特别列举为一个或多个子用例,这被称做用例泛化。
当父用例能够被使用时,任何子用例也可以被使用。
如在图2.4中,订票是电话订票和网上订票的抽象。
UML面向对象分析、建模与设计课程教学大纲01课程说明课程代码:课程名称:UML面向对象分析、建模与设计/UML object-oriented analysis, modeling and design开课学期:4学分/学时:3/32+16课程类型:必修02课程的性质、目的与任务《UML面向对象分析、建模与设计》是软件工程专业中一门综合性很强的基础课程,主要内容包括软件工程与面向对象方法、UML的定义和背景、UML基础(UML构造块、UML通用机制、UML“4+1”架构、UML建模工具)、UML系统动态建模(用例图、活动图、状态机图、顺序图、通信图)、类图、对象图、包图、组件图、部署图、统一软件开发过程、UML具体实例等。
本课程的目的与任务是使学生通过本课程的学习,从UML的基本概念入手,由浅入深地认识和学习软件工程核心要素,以体系化、工程化的方法思考软件工程过程。
本课程除要求学生掌握UML的图示语法和语义,重点要求学生掌握设计软件的逻辑能力以及对软件内部各种组织结构的表达能力,掌握对事物的抽象能力和建模的基本思想,为更深入地学习和今后的实践打下良好的基础。
03教学内容及教学基本要求1.软件工程与面向对象方法(2学时)了解软件工程的概念和历史,了解软件工程的目标和原则;了解面向对象方法的概念和历史,了解面向对象方法的优点。
2.统一建模语言UML(2学时)了解UML的定义和历史背景;了解UML的目标和应用范围。
3.初识UML(2学时)掌握UML构造块,分别是事物、关系、图;掌握UML的通用机制;了解“4+1”架构;了解常用的UML建模工具。
4.用例图(2学时)了解用例的概念、设计方法和注意事项理解用例图的组成元素,分别为参与者、用例、用例图中的关系;理解并掌握用例图中的关系,分别为参与者间的泛化关系、参与者与用例的关联关系、用例间的泛化关系、用例间的依赖关系;理解用例描述的概念;掌握用例说明文档的书写;掌握用例图建模,分别为对系统的语境建模和对系统的需求建模;了解用例图的使用环境。
昆明理工大学信息工程与自动化学院学生实验报告
( 2015 — 2016 学年第一学期)
课程名称:面向对象建模技术开课实验室:信自楼442 2015年11月24日年级、专业、班计科122班学号201210405204 姓名邹华宇成绩
上机项目名称实验二静态模型指导教师付晓东
教师评语该同学是否了解实验原理: A.了解□ B.基本了解□ C.不了解□
该同学的实验能力: A.强□ B.中等□ C.差□
该同学的实验是否达到要求: A.达到□ B.基本达到□ C.未达到□
实验报告是否规范: A.规范□ B.基本规范□ C.不规范□
实验过程是否详细记录: A.详细□ B.一般□ C.没有□
注:5个A 为优 4个A为良 3个A 为及格其余为不及格。
教师签名:
年月日
一、实验目的
1、掌握 UML 的静态建模的方法。
2、实践用 UML 建立静态模型。
二、实验原理
对象类静态结构模型描述了系统的体系结构,包括构成系统的类和对象、它们的属性和操作,以及这些对象类之间的联系。
实质上是定义系统“对谁做”的问题。
对象是一种人的认知概念,对应于现实世界和机器世界的各种元素。
软件系统也是由对象构成的。
要理解对象世界,首先要进行对象分析,建立对象类模型。
类是对象的抽象,认识对象的类别是人类的本领。
类之间的各种关系都可以在对象世界里找到对应物。
UML的对象类模型把类分解为属性和操作,属性也可以按照这种方法再进行分解,这是解决问题的一种基本原理。
操作与系统的改变有关,系统的改变被分解为对象的变化,而类的操作代表与之相关的对象改变的计算过程。
在建立对象类静态结构模型时,主要是将对象间的关系(如继承、聚集等)标注在关联线上,使对象间的关联关系更加明了。
根据已建立的用例图和客户业
务要求,采用CRC卡片(如下图所示)的方法来确定对象类及其属性和操作。
通过检查类的定义,分析问题的需求和应用领域知识来完善和确定类的属性。
根据系统功能要求和系统设计需求来完善和确定类的操作。
说明:CRC 卡片分成三部分:类名描述、类的责任(属性和操作)描述和类的协作者(为完成该责任而提供信息的其它相关的类)描述,其目的是开发一个有组织的类表示法。
一个复杂的大系统有很多类图,类图之间关联又构成一个复杂网络。
为了CRC 卡片的格式完整、清晰地描述对象类静态结构模型,常用包图(子系统)来描述一个系统的体系结构。
即系统由多个包组成,包还可以含有子包,包之间可以有关系,形成层次结构。
叶结点的包必须由类图来描述。
包是UML的模型元素之一,它可以用来封装一组通过相互协作来完成某一特定功能的类,对外仅展示一组接口,代表包所接受的消息。
作为模型组织的分组机制,包仅在建模时有用,它无需转化成可执行系统。
建立系统的对象类静态模型步骤如下:
1.寻找确定对象类。
根据客户业务和系统实现需要,采用CRC卡方式建立
对象类。
例:销售合同:
●类名:销售合同
●类的编号:040101
●类的类型:该类创建的对象为持久对象,存储在服务器的数据库中,可
以共享
●功能:负责建立销售合同的基本信息并对这些信息进行处理,包括添加、
删除、查询操作等,进行添加和删除操作时要按合同编号进行索引处理
●属性:合同编号、甲方、乙方、商品名称、规格、单位、数量等
●操作:添加新合同()、查询()、删除合同()、修改合同()、履约率()等。
2.定义类的接口。
为了系统的安全性和类之间的独立性,为一些通用的类
建立接口。
例:建立采购合同接口:
●接口类名:建立采购合同
●接口类名编号:04010101
●接口类型:抽象类
●功能:为合同管理人员提供建立新采购合同信息管理的操作
●抽象操作:创建新采购合同()、录入采购合同()、修改采购合同()等
3.定义类之间的关系。
为满足系统功能要求和优化系统设计,定义类之间
的关系。
4.建立对象类图。
将确定的类、接口及类之间的关系用图标符号描述,建
立对象类图:
1)连线建立网络图。
根据 CRC 卡片,画出有关联的类
2)连接线命名。
定义连线的主题
3)确定关联基数。
连线两端之间消息传递的数目
5.建立系统包图。
对一个复杂的大系统用简单的包(子系统)的形式描述
其系统体系结构。
三、所用仪器、材料
个人计算机一台、SyBase Power Designer15.1软件。
四、实验过程、内容
1、实验题目
用下面需求描述建立一个汽车租赁信息管理系统的类图。
B1:顾客(分为会员和非会员)浏览车型、车辆索引。
B2:会员预约车辆/车型,当这辆车可用时或当有这个车型的汽车时,会员得到通知。
B3:非会员预约车辆/车型,当他缴纳了定金后,这辆车可用时或有这个车型的汽车时,顾客得到通知。
B4:顾客取消预约。
顾客可以随时取消未结束的预约。
B5:顾客到店提车,助手发车。
B6:顾客归还汽车。
2、实验过程
1) 分别为B1、B2、…、B6 建立对象类图。
2) 建立系统的对象类图。
B1:
B3
系统的对象类图
五、实验结果分析、经验总结和结论
本次实验主要进行系统静态建模,UML的静态建模机制包括:用例图、类图、对象图、包、构件图和配置图。
其中类图描述类和类之间的静态关系。
与数据模型不同,它不仅显示了信息的结构,同时还描述了系统的行为。
类图是定义其它图的基础。
在类图的基础上,状态图、合作图等进一步描述了系统其他方面的特性。
通过本次实验,我掌握UML的静态建模的方法,实践用UML建立静态模型。
并且学习了Power Designer画类图和对象图的功能。
感谢付晓东老师的指导和同学们的帮助。