3 UML笔记之图和视图
UML构造块——图的解释 UML中的图可分为两大类:结构图和行为图。结构图描绘系统中事物的组成及结构关系;行为图描绘系统中事物间的相互交互行为。下面是UML图的组成,如图23所示。(图是根据UML中存在的构造块进行说明的,视图是根据要具体解决的问题对系统进行说明。也就是说,要想完成某个视图,需要使用一个或者多个UML中的构造块,由事物构成的图) 图23 UML图的组成 1.结构图(静态结构图) 结构图又分为6种,如图24所示。 图6-24 结构图组成 (1)类图 类图是使用UML建模时最常用的图,它展示了系统中的静态事物、它们的结构以及它们之间的相互关系。这种图的典型用法是描述系统的逻辑设计和物理设计。 (2)构件图 构件图可以展示一组构件的组织和彼此间的依赖关系,它用于说明软件系统如何实现,以及软件系统内构件如何协同工作等。 (3)对象图 对象图可以展示系统中的一组对象,它是系统在某一时刻的快照,也可以说对象图是类图在某一时刻的快照。 (4)部署图 部署图可以展示物理系统运行时的架构,同时可以描述系统中的硬件架构和硬件上驻留的软件架构。 (5)组合结构图 组合结构图可以展示...
4 UML笔记之规则和公共机制
规则 在UML中,代表事物的元素符号在使用时应遵守一系列规则,每个元素必须遵守的3种语义规则如下: l 名称:每个元素应该有一个名字,即,事物、关系和图都应该有一个名字。和任何语言一样,名字即是一个标识符。 l 范围:每个元素起作用的范围。相当于程序设计语言中变量的“作用域”。 l 可见性:我们知道,UML元素可能属于一个类或包中,因此,所有元素都具有可见属性。在UML中,为元素定义了4种可见性,如表2-4所示。 表2-4 UML元素的可见性 元素的可见性 规 则(假设被访问的元素在包中) 标准表示法 public 任一元素若能访问包,则就可以访问包中的元素它 + protected 只有包中的元素或子包才能访问它 # private 只有包中的元素才能访问它 - package 只有声明在同一个包中的元素才能访问该元素 ~ 公共机制 在UML语言中,定义了4种公共机制:规格描述、修饰、通用划分和扩展机制。 规格描述 在UML语言中,对每一个元素有一个图形符号来表示,同时,对每个图形符号的语义有一个详细的文字描...
5 UML笔记之类图关系
类关系概述关系在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization),关联(Association), 聚合(Aggregation), 组合(Composition), 依赖(Dependency) 关系表示 虚线箭头指向依赖; 实线箭头指向关联; 虚线三角指向接口; 实线三角指向父类; 空心菱形能分离而独立存在,是聚合; 实心菱形精密关联不可分,是组合; 详述1. 泛化(Generalization) 【泛化关系】:(is a)是一种继承关系, 表示一般与特殊的关系,它指定了子类如何特化父类的所有特征和行为。子类拥有超类所欲的属性和擦偶偶。例如:老虎是动物的一种, 即有老虎的特性也有动物的共性. 【箭头指向】:带三角箭头的实线,箭头指向父类 2. 实现(Realization) 【实现关系】:是一种类与接口的关系, 表示类是接口所有特征和行为的实现. 【箭头指向】:带三角箭头的虚线,箭头指向接口 3. 关联(Association) 【关联关系】:(has a )是一种拥有的关系,它使一个类知道另一个类的属性和方...
6 UML笔记之类图
类图概述 类图定义 类图显示了系统的静态结构。类图就是用于对系统中的各种概念进行建模,并描绘类图之间的静态关系。再简单一点,类就是一组具有相同结构、行为、关系的一群对象。 组成要素 类(类名,属性,操作)、关系(关联,泛化,聚合等) 类图示例 类的表示 类的关系 已经单独说明 类的详细描述 类的名称 类的属性 - hello : String = “hello” 类的操作 +getHello(in num:int = 1):String **可见性:**公有类型(public)、受保护类型(protected)、私有类型(private)、Implementation。 公有类型(public):允许在类的外面使用或查看该属性 受保护类型(protected):允许子类访问父类中受保护类型的属性 私有类型(private):只有类本身能够访问,外部一概不能 包访问类型(package)Implementation:该属性仅仅在被定义的包中才能够可见 作用域 类作用域:类的所有对象共享的属性或者操作,成为类作用域属性或者类作用域操作。...
7 UML笔记之对象图
对象图概述 定义 表示系统在某一时刻内部的对象状态,是系统的快照。对象图显示了一组对象和他们之间的关系。对象是客观存在的事物,所有的对象都有属性。 三要素 状态:对象状态值在某一时刻对象所有属性的集合。 行为:没有一个对象是孤立存在的,对象可以被操作,也可以操作别的对象,对象的这些动态特征成为对象的行为。 标识:为了讲一个对象和其他对象分开,赋予对象一个标识,以区别其他对象。 对象与类的区别 对象是类的一个实例,类是对一组对象的共同特征进行概括和描述。 对象是存在于时间空间中的具体实体,二类是一个类型。 类泛华了对象,对象特化了实体。类是定义,对象是实例。 对象分类 物理对象和概念对象。物理对象是客观存在的事物,概念对象是无形的事物。 领域对象和实现对象。从现实世界中识别出来的对象是领域对象。为了满足需求而构造的对象成为实现对象。 主动对象和被动对象。主动对象能够改变自身状态的对象,被动对象,只有接收到消息后才会改变自身状态。 对象表示 对象图实例:类在某一时刻的实例。在系统给的某一时刻存在。 对象图中的元素:对象、协作、注释、约束和包。 对象图表示 对象图的用途 系统快...
8 UML笔记之包图
包图概述 包图定义 使用包图可以将相关元素归入一个系统。一个包中可以包含附属包、图表或单个元素。 包的表示 组成元素 类、接口、构建、节点、协作、用例、子包。 包图优点: 为了方便对类和接口的开发进行管理。 用于组织模型中的元素进行分组以便更容易理解。 对包中的元素进行可见性控制。 对于以上相关的元素进行分组。 以包为单位对系统进行配置管理。 以包为单位分配设计任务。 包提供了一个封闭的空间,避免命名冲突。 包的应用 对建模元素进行分组。提高模型的可读性和可维护性。 包的设计原则 前三个原则互斥。共同闭包原则希望包越大越好。共同重用原则要求包越小越好。 重用等价原则:指的是把类放入包中时,应考虑把包作为可重用的单元。 共同闭包原则:指的是把那些需要同时改变的类放在一个包中。如果一个类的行为和/或结构的改变要求另一个类作相应的改变,则这两个类应放在一个包中;•共同闭包原则就是要提高包的内聚性、降低包与包之间的耦合度,希望在改动或升级一个包的时候要尽量少影响别的包。 共同重用原则:指的是不会一起使用的类不要放在同一包中。修改了一个对用户实际上毫...
9 UML笔记之序列图
序列图概述 定义 交互图是一种表示对象之间以及对象与系统外部的参与者actor之间动态联系的图形文档。序列图和协作图都是交互图,彼此等价,可以相互转化。 序列图是对对象之间传送消息的时间顺序的可视化表示。序列图用于表现交互,侧重于强调时间顺序。协作图着重描述系统成分如何系统协同工作。 **序列图将交互关系表示为一个二维图,**一个顺序图显示了一系列的对象和在在这些对象之间发送和接受消息的先后顺序。顺序图中水平方向为对象维,沿水平方向排列参与交互的对象;竖向方向为时间维,沿垂直向下方向按时间递增顺序列出各对象所发出和接收的消息。 序列图示例 注:虚线表示,此时对象不处于激活状态,双道线,表示对象处于激活状态;消息使用从一个对象的生命线到另一个对象的生命线的箭头表示。 序列图的作用: 检查用例图中描述的用户需求,。 和类图相互补充,表示对象之间的消息交互。 序列图与类图的关系 描述系统静态结构的类图和描述系统动态行为的交互图之间要保持一致性: 交互图中的生命线对应于类图中的类。 交互图中有消息交互的生命线,对应在类图中的两...
交互概览图
描述多个交互之间的关系的鸟瞰图。用活动图的形式来描述多个交互之间的相互控制关系。 活动图中的节点是单个的活动,或者是某一个交互序列。交互序列多为顺序图,有时候也可以是通信图。
11 UML笔记之活动图
UML活动图 概念 活动图是另一个种动态视图,描述动作和动作导致对象状态改变的结果,而不用考虑引发状态改变的事件。描述了系统从一种活动转换到另一种活动的过程。 活动图的作用: 用来描述系统或者某个业务的处理流程,业务相关的工作流描述、用例的事件流描述、程序的算法描述。描述业务或软件系统的活动轨迹。说明了了一系列活动控制流。 活动图的图组成元素: 1、起点 【作用】描述活动图的开始状态 【表示方式】黑的实心圆 2、终止点 【作用】描述活动图的终止状态 【表示方式】实心圆的空心圆 3、活动 【作用】可以是手动也可以自动的执行任务。构成业务和处理的一个单位,用圆角长方形表示。 【表示方式】圆角矩形 4、状态 【作用】活动的所处状态 【表示方式】椭圆矩形 5、转换,控制流 【作用】描述一个活动转向另一个活动 【表示方式】带箭头的实线段,指向转向的活动 6. 判决节点和监护条件 【作用】一个输入转换,多个输出转换,每个输出转换上都有一个监护条件,用来表示满足条件时才进行转换。 【表示方式】菱形表示 7. 分叉和汇合(fork并发节点和join并发节点) 8. ...
现代软件工程——OO面向对象概述
面向对象技术 基本特征 **抽象:**抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。 封装:也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。 继承:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。 多态:多态性(polymorphisn)是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。简单的说,就是一句话:允许将子类类型的指针赋值给父类类型的指针。多态性是指允许不同类的对象对同一消息作出响应。 基本原则 单一职责原则:是指一个类的功能要单一,不能包罗万象。如同一个人一样,分配的工作不能太多,否则一天到晚虽然忙忙碌碌的,但效率却高不起来。 **开放封闭原则:**一个模块在扩展性方面应该是开放的而在更改性方面应该是封闭的。比如:一个网络模块,原来只服务端功能,而现在要加入客户端功能,那么应...














