《UML书上整理的知识点.doc》由会员分享,可在线阅读,更多相关《UML书上整理的知识点.doc(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第一章:1:Uml:中文名为统一建模语言。(已纳入OMG标准,成为业务,应用和系统架构的标准可视化建模语言)2:uml的三大特性:UML是一种Language(语言);UML是一种Modeling(建模)Language;UML是Unified(统一)Modeling Language。3:uml的发展现状:(1)已进入全面应用阶段的事实标准(2)应用领域正在逐渐扩展,包括嵌入式系统建模、业务建模、流程建模等多个领域(3)成为“生产式编程”的重要支持技术:MDA、可执行UML等4:模型是对现实的简化:常见的模型:生活相关:气象图、道路交通图、交通标志:展示相关:建筑物模型、沙盘、公司总部的3D
2、复制品;数据分析相关:条形图、饼状图;业务分析相关:组织结构图、跨职能流程图;设计相关:建筑平面图、管线图、电路板设计图 5:对于软件系统而言,涉及的模型主要是描述业务,业务规则,系统使用,运用程序,系统架构以及系统内交互的一种可视化表示方式。6:建模的最大好处在于:更好的理解正在开发的系统。7:建模的目的(1)帮助我们按照实际情况或按我们需要的样式对系统进行可视化;提供一种详细说明系统的结构或行为的方法;给出一个指导系统构造的模板;对我们所做出的决策进行文档化 ;(2)仅当需要模型时,才构建它 建模的原则:选择要创建什么模型对如何动手解决问题和如何形成解决方案有着意义深远的影响;每一种模型可
3、以在不同的精度级别上表示;最好的模型是与现实相联系的;单个模型是不充分的。对每个重要的系统最好用一组几乎独立的模型去处理8:为什么使用UML建模,可以建立什么模型:(1)UML是一种统一的、标准化的建模语言 (2)UML是一种应用面很广泛的建模语言 9:模型的种类模型的用途业务模型对业务过程、工作流、组织的建模需求模型对捕获的需求进行整理和分析的工具,辅助开发人员与用户进行沟通设计模型包含高层设计(架构模型)和详细设计模型,用于统一开发人员、沟通设计信息数据库模型设计数据库的结构、表结构以及与应用系统的交互实现模型用来理清软件的组成、部署方案,为安装与维护人员的工作提供指导10:草图与蓝图:蓝
4、图一般是指采用CASE工具绘制的、正式的、规范的UML模型 ;草图则通常是指手工绘制的、规范度较低的在纸张的UML模型 11:选择蓝图和草图的原则:大胆地绘制草图,尽可能基于草图进行讨论。对于局部的、重要性不高的、共享范围较小的UML模型,直接将草图扫描到电脑存档即可;对于全局的、重要性高的、高度共享的,在草图的基础上用CASE工具绘制成为正式的蓝图,并将其纳入统一的模型管理中 。12(了解)谁应该建模: (1)业务建模:以领域专家为主,需求分析人员是主力,系统分析员、架构师可参与(2)需求模型:以需求分析人员为主,系统分析员是主力,领域专家提供指导,架构师和资深开发人员参与(3)设计模型:高
5、层设计模型以架构师为主,系统分析员从需求方面提供支持,资深开发人员从技术实现方面提供支持。详细设计模型则以资深开发人员为主,架构师提供指导。(4)实现模型:以资深开发人员(设计人员)为主,架构师提供总体指导。(5)数据库模型:以数据库开发人员为主,架构师提供指导,资深开发人员(设计人员)予以配合。13; 常见UML认识误区:1)UML是一种方法论因为它仅仅是一种描述模型的标准语言2)UML就是一堆图形UML是一种建模的标准,图是一种最主要的表现形式有效利用UML的要点是:在uml建模原则的指导下,选择合适的建模元素和图,根据被建模对象的实际信息来有机构成,并采用必要的文字进行描述;3)UML只
6、能够应用于面向对象开发中;4)UML就是Rose里的符号(还有Together);5)UML的学习周期很长、很复杂主要原因:第一,缺乏基本的理论基础;第二,横向思考少,纵向研究多14:从面向对象思想中挖掘UML建模元素的精髓,从建模内容的角度运用UML。第二章:15:UML组成:(建模要素三个)1基本构造块:也就是建模元素,是模型的主体2)UML规则:也就是支配基本构造块如何放在一起的规则3)公共机制:运用于整个UML模型中的公共机制、扩展机制16:事物和关系是两种最基本的构造块,它们将组成“图”这个最核心的构造块。17:事物构造块是对模型中最具有代表性的成分的抽象 18:UML中将各种事物构
7、造块归纳成了四类:结构事物:UML中的名词,它是模型的静态部分,描述概念或物理元素。行为事物:UML中的动词,它是模型中的动态部分,是一种跨越时间、空间的行为。分组事物:UML中的容器,用来组织模型,使模型更加的结构化。注释事务:UML中的解释部分,和代码中的注释语句一样,是用来描述模型的。19:面向软件开发的本质思想:首先建立反应现实世界中不同事物的“构造块”,然后确定“构造块”之间的“关系”,再确定各个构造块的属性和“行为”。这样,在软件系统中就可以模拟现实世界的“构造块”之间的交互与协作 20面向对象软件开发的一个最本质的原则:面向对象软件开发的核心思想就是高内聚(封装)、低耦合(消息驱
8、动),使用简洁的接口拼合简单的部件是最重要的思想。21:结构事物:类(class)和对象(object)接口(interface)主动类(active class)用例(use case)协作(collaboration)构件(component)节点(node):22:类是对一组具有相同属性、相同操作、相同关系和相同语义的对象的抽象 ;UML中类是用一个矩形表示的,它包含三个区域,最上面是类名、中间是类的属性、最下面是类的方法 对象则是类的一个实例 23:接口:接口是描述某个类或构件的一个服务操作集 (分有:供给接口和需求接口)24:主动类:主动类实际上是一种特殊的类。引用它的原因,实际上是
9、在开发中需要有一些类能够起到启动控制活动的作用 ;主动类是指其对象至少拥有一个进程或线程,能够启动控制活动的类 25:用例是著名的大师Ivar Jacobson首先提出的,现已经成为了面向对象软件开发中一个需求分析的最常用工具 用例的定义:用例实例是在系统中执行的一系列动作,这些动作将生成特定执行者可见的价值结果。一个用例定义一组用例实例。26 :协作定义了一个交互,它是由一组共同工作以提供某协作行为的角色和其他元素构成的一个群体。对于某个用例的实现就可以表示为一个协作 。27:在实际的软件系统中,有许多要比“类”更大的实体,例如一个COM组件、一个DLL文件、一个JavaBeans、一个执行
10、文件等等。为了更好地对在UML模型中对它们进行表示,就引入了构件(也译为组件) 28构件是系统设计的一个模块化部分,它隐藏了内部的实现,对外提供了一组外部接口。在系统中满足相同接口的组件可以自由地替换 。29:为了能够有效地对部署的结构进行建模,UML引入了节点这一概念,它可以用来描述实际的PC机、打印机、服务器等软件运行的基础硬件 30节点是运行时存在的物理元素,它表示了一种可计算的资源,通常至少有存储空间和处理能力 31:行为事物:交互(interaction):是在特定语境中,共同完成某个任务的一组对象之间交换的信息集合 :交互的表示法很简单,就是一条有向直线,并在上面标有操作名 ;状态
11、机(state machine):是一个对象或交互在生命周期内响应事件所经历的状态序列 ;在UML模型中将状态画为一个圆角矩形,并在矩形内写出状态名称及其子状态 。32:分组事物:对其进行分组对于一个中大型的软件系统而言,通常会包含大量的类,因此也就会存在大量的结构事物、行为事物,为了能够更加有效地对其进行整合,生成或简或繁、或宏观或微观的模型,就需要。在UML中,提供了“包(Package)”来完成这一目标 33:注释事物:结构事物是模型的主要构造块,行为事物则是补充了模型中的动态部分,分组事物而是用来更好地组织模型,似乎已经很完整了。而注释事物则是用来锦上添花的,它是用来在UML模型上添加
12、适当的解释部分 34:UML模型关系的种类种类变种表示法关键字或符号种类变种表示法关键字或符号抽象派生依赖关系derive导入 私有依赖关系access显现manifest公有import实现实现关系虚线加空心三角信息流flow精化依赖关系refine包含并merge跟踪trace许可permit关联关联关系实线协议符合未指定绑定依赖关系bind(参数表)替换依赖关系substitute部署deploy使用调用call扩展Extendextend(扩展点)创建create扩展extension扩展关系实线加实心三角实例化instantiate泛化泛化关系实线加空间三角职责responsibil
13、ity包含依赖关系include发送send35:关联关系:关联(Association)表示两个类之间存在某种语义上的联系。关联关系提供了通信的路径,它是所有关系中最通用、语义最弱的;在UML中,使用一条实线来表示关联关系 ;在关联关系中,有两种比较特殊的关系:聚合和组合 ;聚合关系:聚合(Aggregation)是一种特殊形式的关联。聚合表示类之间的关系是整体与部分的关系 ;如果发现“部分”类的存在,是完全依赖于“整体”类的,那么就应该使用“组合”关系来描述 (判断是聚合还是组合关系,关键在于要放到具体的应用场景中讨论。)36: 泛化、实现、扩展与依赖:泛化关系描述了一般事物与该事物中的特
14、殊种类之间的关系,也就是父类与子类之间的关系。实现关系是用来规定接口和实现接口的类或组件之间的关系。接口是操作的集合,这些操作用于规定类或组件的服务。 扩展表示将一个构造型附加到一个元类(metaclass)上,使得元类的定义中包括这个构造型。 有两个元素X、Y,如果修改元素X的定义可能会引起对另一个元素Y的定义的修改,则称元素Y依赖(Dependency)于元素X。 37:在uml中,对泛化关系有3个要求:(1)子类应与父类完全一致,父类所具有的关联和属性和操作,子类都应具有。(2)子类中除了与父类一致的信息外,还包括额外的信息(3)可以使用父类实例的地方,也可以使用子类的实例。38:uml
15、规则 :命名:也就是为事物、关系和图起名字。和任何语言一样,名字都是一个标识符 ;范围:与类的作用域相似,包括所有者作用域(owner scope)和目标作用域(target scope)两类 可见性:可见性规则标准表示法Rose属性Rose方法public任一元素,若能访问包容器,就可以访问它+ protected只有包容器中的元素或包容器的后代才能够看到它# private只有包容器中的元素才能够看得到它- package只有声明在同一个包中的元素才能够看到该元素39-uml的公共机制:规格描述,修饰,通用划分和扩展机制40:规格描述:在图形表示法的每个部分后面都有一个规格描述(也称为详述
16、),它用来对构造块的语法和语义进行文字叙述。这种构思,也就使可视化视图和文字视图的分离 :41:UML修饰与通用划分:在为了更好的表示这些细节,UML中还提供了一些修饰符号,例如不同可视性的符号、用斜体字表示抽象类 ;UML通用划分:1)类与对象的划分:类是一种抽象,对象是一个具体 的实例 2)接口与实现的分离:接口是一种声明、是一个契 约,也是服务的入口;实现则是负责实施接口提供 的契约 .42:UML扩展机制:构造型:在实际的建模过程中,可能会需要定义一些特定于某个领域或某个系统的构造块 第一种是最优先采用的:当你想强调可视性时则在第一种的基础上加上个性化图标:在确保模型所有可能的读者都能
17、理解新图标时才能使用新图标代替。标记值则是用来为事物添加新特性的。标记值的表示方法是用形如“标记信息”的字符串 约束是用来增加新的语义或改变已存在规则的一种机制(自由文本和OCL两种表示法)。约束的表示法和标记值法类似,都是使用花括号括起来的串来表示,不过它是不能够放在元素中的,而是放在相关的元素附近。:43:UML定义的图:图名功能备注类图描述类、类的特性以及类之间的关系UML 1原有对象图描述一个时间点上系统中各个对象的一个快照UML 1非正式图复合结构图描述类的运行时刻的分解UML 2.0新增构件图描述构件的结构与连接UML 1原有部署图描述在各个节点上的部署UML 1原有包图描述编译时
18、的层次结构UML中非正式图用例图描述用户与系统如何交互UML 1原有活动图描述过程行为与并行行为UML 1原有状态机图描述事件如何改变对象生命周期UML 1原有顺序图描述对象之间的交互,重点在强调顺序UML 1原有通信图描述对象之间的交互,重点在于连接UML 1中的协作图定时图描述对象之间的交互,重点在于定时UML 2.0 新增交互概观图是一种顺序图与活动图的混合UML 2.0新增:44:UML视图和图:主要领域视图图结构静态视图类图设计视图复合结构图、协作图、构件图用例视图用例图动态状态视图状态机图活动视图活动图交互视图顺序图、通信图物理部署视图部署图模型管理模型管理视图包图特性描述包图45
19、:UML图形分类 46:4+1视图:详细的解释:用例视图:最基本的需求分析模型,是可被最终用户看到的系统行为的用例组成。用的模型包括用例图,交互图,状态图,活动图等。设计视图:又称为逻辑视图,以问题域的词汇组成的类和对象集合,用来描述累,接口,协作。常用的模型包括:类图,交互图,状态图,活动图等 进程视图:形成系统并发与同步机制的线程和进程,也就是将可执行线程和进程作为活动类的建模,可以理解为设计视图的一次执行实例。它使用的模型与设计视图类似,区别在于更侧重于主动类。实现视图,对组成基于系统的物理代码的文件和组件进行建模,即装配与发布物理系统的构件和文件。(构件图,交互图,状态图,活动图)部署视图:包含了形成系统硬件拓扑结构的节点,也就是描述组件是如何物理地部署到一组物理的,可计算的节点上的。(部署图,交互图,状态图,活动图)47开发过程:(最关键的模型包括:用例模型,交互模型,类模型)