第2章 UML概述
- 格式:doc
- 大小:59.50 KB
- 文档页数:6
UML建模基础——UML概述东软人才实训中心3 Sept. 2008©Neusoft Confidential课程结构1第五章:状态图和活动图2第三章:类图1第四章:交互图1第二章:用例图1第一章:UML 概述、Rose 简介课时(H )内容培训目标•能够使用Rose工具画UML类图•能够看懂用UML表示的设计第一章:UML 概述、Rose 简介学时:1学时教学方法:讲授ppt +上机练习目标:本章旨在向学员简要介绍UML建模的重要性、UML的概念模型,通过本课的学习,学员应该掌握如下知识:1)了解UML的概念模型2)简要介绍UML的“4+1view ”3)了解Rose工具UML概述•什么是UML?–UML: 统一建模语言Unified Modeling Language–UML是由Rational公司三位世界级面向对象技术专家Grady Booch,Ivar Jacobson和Jim Rumbaugh提出的。
–UML是一种标准的图形化建模语言,它是面向对象分析与设计的一种标准表示。
•什么是UML?–不是一种可视化编程语言,而是一种可视化建模语言–不是工具或知识库的规格说明,而是建模语言的规格说明,是一种表示的标准–不是过程,也不是方法,但是允许任何一种过程和方法使用它•什么是模型?–模型就是真实世界的简化–为我们提供一个系统的原型•为什么要建模?–为了更好的理解我们将要或正在开发的系统–是把复杂的系统变成小的系统,采用“各个击破”的原则逐一解决–因为我们通常无法理解一个复杂系统的全部–模型能为我们做什么?•帮助我们对系统进行可视化•允许我们详细说明系统的结构或行为•给出一个指导我们构造系统的模板•对我们做出的决策进行文档化业务流程计算机系统可视化建模可视化建模就是用标准的图形表示法来建模“建模获取系统的关键部分”UML•什么是可视化建模?可视化建模的作用•可视化建模获取业务流程–用例(use case)分析是一种从用户的角度获取业务流程的技术–使用相同的语言,不至于产生歧义–用例分析能让分析师在构建系统之前理解要构建什么可视化建模的作用(续)•可视化建模是一个交流工具–使用相同的语言,不至于产生歧义业务领域计算机领域Logical ViewPhysical View User InterfaceBusiness Logic Database Java JSPC++ JavaSQL•管理复杂性–把3000多个类放在一张图中不好–可视化建模的“包”(package)•把元素模型化成有意义的组合•为不同的人提供不同级别的抽象–软件构架(architecture)•促进复用(reuse)–复用是软件的“圣杯”–不止是复用代码,而是复用建立原始工件时需要的所有分析、设计、实现、测试、文档化–可以有一个类复用、多个类(或一个组件)的复用、应用模式等复用方式–可视化建模让你从复用的角度看,如果想复用工件,什么是可用的UML的概念模型•UML的概念模型–UML建模的三个主要元素•构造块:事物、关系、图•规则:命名、范围、可见性、完整性、执行•公共机制:规范说明、通用划分、扩展机制•UML元素–构造块–事物•对模型中最具有代表性的成分的抽象–关系•把事物结合在一起–图•聚集了相关的事物•UML元素–构造块–事物–结构事物:通常是UML模型的静态部分,描述概念或物理元素•类•接口•用例:通常代表一个需求•协作:表示一个用例的实现•主动类:至少拥有一个进程或线程的类•组件:系统中物理的、可替代的部件,如源代码文件•节点:运行时存在的物理元素,如一个设备•UML元素–构造块–事物(续)–行为事物:是UML模型的动态部分,是模型中的动词•交互(interaction):可描述一个对象群体的行为或单个操作的行为•状态机(state machine):可描述单个类或一组类之间协作的行为–分组事物:是UML中的组织部分•包(package)–注释事物:是UML中的注释部分•注解(note)•UML元素–构造块–关系–关系•依赖(dependency):一个事物发生变化会影响到另一个事物。
UML根底与Rose建模实用教程课后习题及答案第1章面向对象概述1. 填空题〔1〕软件对象可以这样定义:所谓软件对象,是一种将状态和行为有机结合起来形成的软件构造模型,它可以用来描述现实世界中的一个对象。
〔2〕类是具有一样属性和操作的一组对象的组合,即抽象模型中的“类〞描述了一组相似对象的共同特征,为属于该类的全部对象提供了统一的抽象描述。
〔3〕面向对象程序的根本特征是抽象、封装、继承和多态。
2. 选择题〔1〕可以认为对象是ABC。
〔A〕某种可被人感知的事物〔B〕思维、感觉或动作所能作用的物质〔C〕思维、感觉或动作所能作用的精神体〔D〕不能被思维、感觉或动作作用的精神体〔2〕类的定义要包含以下的要素ABD。
〔A〕类的属性〔B〕类所要执行的操作〔C〕类的编号〔D〕属性的类型〔3〕面向对象程序的根本特征不包括B。
〔A〕封装〔B〕多样性〔C〕抽象〔D〕继承〔4〕以下关于类与对象的关系的说法不正确的选项是A。
〔A〕有些对象是不能被抽象成类的〔B〕类给出了属于该类的全部对象的抽象定义〔C〕类是对象集合的再抽象〔D〕类用来在存中开辟一个数据区,并存储新对象的属性3. 简答题〔1〕什么是对象?试着列举三个现实中的例子。
对象是某种可被人感知的事物,也可是思维、感觉或动作所能作用的物质或精神体,例如桌子.椅子.汽车等。
〔2〕什么是抽象?抽象是对现实世界信息的简化。
能够通过抽象将需要的事物进展简化、将事物特征进展概括、将抽象模型组织为层次构造、使软件重用得以保证。
〔3〕什么是封装?它有哪些好处?封装就是把对象的状态和行为绑在一起的机制,使对象形成一个独立的整体,并且尽可能地隐藏对象的部细节。
封装有两个含义;一是把对象的全部状态和行为结合在一起,形成一个不可分割的整体。
对象的私有属性只能够由对象的行为来修改和读取。
二是尽可能隐蔽对象的部细节,与外界的联系只能够通过外部接口来实现。
通过公共访问控制器来限制对象的私有属性,使用封装具有以下好处:防止对封装数据的未授权访问、帮助保护数据的完整性、当类的私有方法必须修改时,限制了在整个应用程序的影响。
《UML统一建模语言》课程教学大纲1。
课程概况2。
教学内容及要求第一章 UML与面向对象教学内容(1)UML概述(2)UML组成(3)面向对象教学要求(1)了解UML的发展和组成(2)理解建模的意义(3)掌握UML的四层结构(4)理解UML视图和图的关系(5)掌握UML模型元素内容(6)理解UML通用机制(7)理解面向对象基本概念(8)了解面向对象开发(9)熟悉面向对象开发的优点(10)掌握面向对象开发三层设计教学重点难点建模的意义;UML的四层结构;模型元素;通用机制;视图和图的关系;面向对象相关知识。
第二章用例图教学内容(1)用例的基本概念,参与者,用例,泛化,用例之间的关系(2)如何发现参与者、用例(3)用例描述的格式要求(4)绘制用例图教学要求(1)理解用例的基本概念(2)能够很好的识别参与者与用例(3)掌握用例之间的关系(4)理解泛化在用例图中的使用(5)熟练掌握用例图的绘制(6)熟练掌握用例描述的格式要求教学重点难点用例的基本概念,绘制用例图;用例描述的格式要求;识别参与者与用例。
第三章类图、对象图和包图教学内容(1)面向对象的基本概念(2)类图的基本概念(3)对象图的基本概念(4)包图的基本概念教学要求(1)了解面向对象的基本概念(2)掌握类的设计原则(3)理解类图的基本概念(4)掌握类间的关系(5)了解对象图和包图的概念(6)熟练使用建模工具建模类图教学重点难点类的设计原则;类图的基本概念;类之间关系的模型表示及含义;熟练使用建模工具建模类图.第四章活动图教学内容(1)活动图的标记符(2)其他标记符(3)使用建模工具为活动图建模教学要求(1)理解活动图的功能(2)掌握活动图基本标记符(3)掌握条件的使用(4)掌握分叉和汇合的使用(5)掌握泳道概念及其标记符的使用(6)理解对象流概念及其标记符(7)熟练掌握使用建模工具为活动图建模教学重点难点活动图的功能;活动图的基本标记符;使用建模工具为活动图建模;分叉和汇合;泳道的概念及其标记符的使用;对象流的概念。
第2章UML概述
2.1 UML的发展
UML----统一建模语言(Unified Modeling Language)
进一步定义:是对软件系统中的制品(模型、代码等)进行可视化、详述、构造和文档化的语言。
产生时间:上个世纪九十年代中后期(96/97年)
产生背景:
面向对象方法(OO)出现于20世纪70年代。
从1989~1994年,面向对象建模方法(语言工具)从不到10个猛增到50多个,这些不同的建模方法具有不同的建模符号体系,各自均有不同的特点,用户很难找到一个完全满足自己要求的建模语言工具,这给软件开发和市场带来了混乱。
其中最为流行的方法有以下3个:
1.OMT(Object Modeling Technology对象建模技术)方法:
提出:James Rumbaugh
特点:分析是强项,设计是弱项
2.Booch方法:
提出:Grady Booch
特点:分析是弱项,设计是强项
3.OOSE(Object Oriented Software Engineering--面向对象软件工程)方法:(注:也称Jacobson方法)
提出:Ivar Jacobson
特点:行为分析(use case)是强项,其它是弱项
基于上述原因,有必要博采众家之长,建立一个标准的、统一的建模语言。
UML设计者:由Rumbaugh 、Booch和Jacobson 等人联合设计
注:1993~1995年他们三人顺次分别加入Rational公司后联合设计的。
其中:
1995年后期,正式推出UM0.8(UM--Unified Method)
1996年中期,改进的UM正式更名为UML(Unified Modeling Language)1997年前期,UMLl.0被提交给OTG(Object Technology Organization--对象技术组织)
1997年后期,OMG(Object Management Group--对象管理组织)将UML1.1作为行业标准。
1998年中期,OMG发布了UMLl.2
1998年后期,OMG发布了UMLl.3
1999年中期,OMG发布了UML2.0
归纳起来,UML的产生有以下三方面的原因:
1. 不同的面向对象方法有着许多相似之处,通过这项工作,消除可能会给使用者造成混淆的不必要的差异是非常有意义的;
2. 语义和表示法的统一,可以稳定面向对象技术的市场,使工程开发可以采用一门成熟、统一的建模语言;
3.这种统一能使现有的方法继续向前发展,积累已有的经验,解决以前没有解决好的问题。
总之,UML的产生是许多人集体智慧的结晶。
2.2 UML的特点
UML的主要特点可归纳以下几点:
1.UML统一了Booch、OMT、OOSE和其他面向对象方法的基本思想、概念和符号。
2.UML是支持面向对象软件开发的建模语言。
3.UML可视化、表达能力强大。
4.UML是一种建模语言而不是一种方法。
其中:方法包括表示符号和开发过程的指导原则,而UML仅提供了建模使用的表示符号及其应用规则,不依赖于特定的软件开发过程。
这也是它能够被大众接受的一个原因。
例如:RUP(Retional Unified Process)
Retional公司统一制定的开发过程,同UML(Retional Rose)配套使用5.UML仍然在不断的完善和发展。
2.3 UML的组成
UML中有3类主要元素:
1.基本构造块(basic building block)
2.规则(rule)
3.公共机制(common mechanism)
说明:
1.基本构造块(basic building block)包含的类型及成分为:
结构元素
行为元素
分组元素
注释元素
依赖关系
关联关系
类属关系
实现关系
用例图
类图、对象图状态图、活动图时序图、协作图组件图、配置图
其中:
(1)元素(element/thing):
●结构元素(structural):是模型中主要的静态部分,代表了概念的或物理的部
分。
共有7种结构元素:
①类(class)
②接口(interface)
③协作(collaboration)
④用例(use case)
⑤活动类(active class)
⑥构件(component)
⑦结点(node)
●行为元素(behavioral):是模型中主要的动态部分,代表了跨越时空的行为。
主要有2种行为元素:
①交互作用(interaction)
②状态机(state machine)
●分组元素(grouping):是用来组织元素的元素。
主要有1种分组元素:包(package)
●注释元素(annotational):一种:注解(note)
(2)UML提供9种不同的图:
①用例图:描述系统的功能,并指出其功能的操作者
②类图:描述系统的静态结构
③对象图:描述系统在某个时刻的静态结构
注:一个对象图是类图的一个实例,它存在着生命周期
④状态图:描述类的对象的所有可能的状态和事件发生时的跃迁
注:状态图通常是对类图的补充
⑤活动图:描述了满足用例要求所要进行的活动及活动间的跃迁
注:活动图有利于识别并发活动
⑥时序图:按时间顺序描述对象之间的交互
⑦ 协作图:按时间和空间顺序描述对象之间的交互和它们之间的关系 ⑧ 组件图:描述了组件之间的组织关系
注:组件指系统中应用的各类文件
⑨ 配置图:描述了环境元素的配置
注:配置图指出系统中软硬件的物理体系结构
2.UML 定义了5个方面的语义规则(rule )如下:
3.UML 中包含4种类型的通用机制(common mechanism):
2.4 UML 中的视图
图(diagram ):元素+关系(弧)
视图(view ):由多个图构成,是表达系统的某一特征的UML 建模元素的子集,是在某一抽象层上,对系统的抽象表达。
UML 中的视图包括5个,一般称为“4+1”视图:
命名 范围 可见性 完整性 执行 name
scope
visibility
integrity
execution
规范说明 修饰 通用划分 扩展:版型、标记值、约束 specification adornment common division extensibility :stereotype 、tagged value 、constraint
其中:
用例试图:从用户的角度描述的系统功能
逻辑视图:展现系统的静态或结构组织与特征。
也称为:静态视图(Static View )或结构视图(Structural View )
其中
并发视图:体现了系统的动态或行为特征
也称为:进程视图(Process View
)
其中:
组件视图:体现了系统实现的结构和行为特征。
也称为:实现视图(Implementation View )
配置视图:体现了系统实现环境的结构和行为特征。
也称为:环境视图(Environment View )
说明:
采用面向对象技术开发软件时:
第一步:描述需求
给出系统需求的文字陈述,包括:
(1)功能性需求:描述系统的功能(做什么)
(2)非功能性需求:描述系统的功能实现更好的方面:性能、安全性和可靠性等
(3)可用性需求:描述系统的应用程度
其中:功能性需求是必不可少的,另两个是辅助的。
第二步:根据“描述需求”建立系统的静态模型
包括5个静态图:用例图、类图、对象图、组件图和配置图
其中:用例图和类图是主要的。
第三步:建立描述系统的行为的动态模型
包括4个动态图:状态图、活动图、时序图和协作图
其中:状态图和时序图是主要的。
并发视图 时序图 协作图 状态图 活动图
2.5 支持UML的工具
Rational Rose - Visual Modeling Tool
Visual Paradigm For UML (VP-UML) Enterprise Architect - OO Modeling ProxyDesigner - UML Design Tool
ArgoUML - OO Design Tool
MagicDraw UML - Visual Modeling Tool Objecteering - O-Technologies For e-Applications UMLStudio - Documentation Tool
Visual Object Modelers Visual UML
OOAD Tools Links
UML Tools Links
Design Tools Introduction & Resources
Objects By Design -- UML Tool ObjectDomain R3。