《UML面向对象技术》期末复习吐血整理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《UML面向对象技术》
清华大学出版社王少锋编著
第一章面向对象技术概述
1.对象:是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。对象之间
2.通过消息通信。
3.类:是具有相同属性和方法的一组对相机和,它为属于该类的全部对象提供了统一的描述。
4.封装:把对象的属性和方法结合成一个独立的系统单位,并尽可能的隐蔽对象的内部细节。
5.继承:利用继承,子类可以继承父类的属性或方法。
6.多态:指是一个实体在不同上下文条件下具有不用意义或方法的能力。
7.消息:向对象发出服务请求。
第二章UML概述
1.UML:Unified Modeling Language 统一建模语言
2.UML定义1:是对软件密集型系统中的制品进行可视化,详述,构造和文档化的语言。
3.UML定义2:(1)语义:UML对语义的描述使开发者能在语义上取得一致认识,消除了
因人而异的表达方法所造成的影响。
(2)表示法:UML表示法定义UML符号的表示法,为开发者或开发工具使
用这些图形符号和文本语法为系统建模提供了标准。
4.UML特点:①统一的标准。
②面向对象。
③可视化、表示能力强大。
④独立与过程。
⑤概念明确,建模表示法简洁,图形结构清晰,容易掌握和使用。
注:UML不是一个独立的软件开发方法,而是面向对象软件开发方法中的一个部分。
5.四种关系:①依赖②关联③泛华④实现
6.九种图:①用例图②顺序图③协作图④类图⑤对象图⑥状态图⑦活动图⑧构件图
⑨部署图
第三章用例和用例图
1.用例图:是从用户角度描述系统功能,是用户所能观察到的系统功能的模型图。
2.用例:是系统中的一个功能单元。
3.参与者:是指系统以外的,需要使用系统或与系统交互的东西,包括人、设备、外部系统
等。
4.用例间的关系:
①泛化:代表一般与特殊的关系。在泛化关系中,子用例继承了父用例的行为和含义,子用
例也可以增加新的行为和含义或覆盖父用例中的行为和含义。
②包含:指的是两个用力之间的关系,其中一个用用例的行为包含另一个用例的行为。
③扩展:基本用例声明若干个“扩展点”,扩展用例在这些扩展点上增加新的行为和含义。
5.泛化、包含、扩展的比较:泛化关系和扩展关系:泛化干系和扩展关系表示的是用例之间
的“is a”关系,包含关系表示的是用例之间的“has a”关系。扩展关系和泛化关
系相比,多了扩展点的概念,一个扩展用例只能在基本用例的扩展点上进行扩展。
6.用例描述包括内容:①用例的目标;
②用例是如何启动的;
③参与者和用例之间的消息是如何传送的;
④用例中除了主路径外,其他路径是什么;
⑤用例结束后的系统状态;
⑥其他。
第四章顺序图和协作图
1.交互图(包括①顺序图和②协作图):用来描述对象之间以及对象与参与者之间的动态协作关系以及写作过程中行为次序的图形文档。
①顺序图:显示对象之间的动态合作关系,它强调对象之间消息发送的顺序,同时显示对象之间的交互。用途:用来表示用例中的行为顺序。
②协作图:描述对象间的协作关系,与顺序图相似,显示对象间动态合作关系。用途:表示一个类操作的实现。
2.建立顺序图步骤:(1)确定交互过程的上下文
(2)识别参与交互过程的对象。
(3)为每个对象设置生命线,即确定哪些对象存在于整个交互过程中,
哪些对象在交互过程中被创建和撤销。
(4)从引发这个交互过程的初始消息开始,在生命线之间自顶向下依次
画出随后的各个消息。
(5)如果需要表示消息的嵌套,或/和表示消息发送的时间点,则采用
控制焦点。
(6)如果需要说明时间约束,则在消息旁边加上约束说明。
(7)如果需要,可以为每个消息附上前置条件和后置条件。
3.两图比较:协作图和顺序图都表示出了对象间的交互作用但是他们的侧重点不同。顺序图清楚的表示了交互作用的时间顺序(强调时间),但没有表示对象间的关系。协作图清楚的表示了对象间的关系(强调空间),但时间顺序必须从顺序图中获得。两者在语义上是等价的,可以相互转换,但并不能完全相互代替。
第五章类图和对象图
1.类图:描述系统中的静态结构。不仅定义系统中的类,表示类之间的联系,也包括类的内部结构。
2.类中的事物:
①类:从上到下分三部分,即类名、属性、操作
②接口:一组操作的集合,只有操作的声明而没有实现
③抽象类:不能被实例化的类,一般至少包含一个抽象操作
④模板类:一种参数化的类,在编译时把模版参数绑定到不同的数据类型,从而产生不同的类
3.类中的关系:
①关联:描述了类的结构之间的关系。具有方向、名字、角色和多重性等信息
②聚合:特殊的关联关系,指明一个聚集(整体)和组成部分之间的关系
③组合:语义更强的聚合,部分和整体具有相同的生命周期
④泛化:在面向对象中一般称为继承关系,存在于父类与子类、父接口与子接口之间
⑤实现:对应于类和接口之间的关系
⑥依赖:描述了一个类的变化对依赖于它的类产生影响的情况。有多种表现形式,如绑定
(bind)、友元(friend)
4.OO设计原则:①开闭原则:一个模块在扩展性方面应该是开发的,而在更改性方面应该是封闭的。②Liskov替换原则:子类可以替换父类出现在父类能出现的任何地方。③依赖倒置原则:依赖关系应该是尽量依赖接口(或抽象类),而不是依赖于具体的类。④接口分离原则:在设计时采用多个与特定客户类有关的接口比采用一个通用的接口要好。
第六章数据建模
1.数据建模:与E-R图相比,UML类图的描述能力更强,UML的类图可看作是E-R图的扩充。对于关系数据库来说,可以用类图描述数据库模式,用类描述数据库表,用类的操作来描述触发器和存储过程。
2.数据库设计的基本过程(三个阶段):
①概念设计:把用户的信息要求统一到一个整体逻辑结构中,此结构能表达用户的要求,
且独立于任何数据库管理系统(DBMS)软件和硬件。
②逻辑设计:把概念设计阶段得到的结果转换为与选用的DBMS所支持的数据库模型
相符合的逻辑结构。
③物理设计:是对给定的逻辑数据模型选取一个最适应应用要求的物理结构。
3.数据库设计步骤:(1)创建数据库对象(2)创建模式(3)创建域包(4)创建数据库模型图(5)创建表(6)创建列(7)创建关系(8)在必要的情况下对数据模型进行规范化(9)在必要的情况下对数据模型进行优化(10)实现数据模型
第八章状态图和活动图
1.状态图:描述举个对象在其生存期间的动态行为,表现一个对象所经历的状态序列,引起状态转移的时间,以及因状态转移而伴随的动作。
2.状态图用途:揭示Actor、类、子系统和组件的复杂特性。为实时系统建模。
3.状态图基本概念:①状态②组合状态③子状态④历史状态⑤转移⑥事件⑦动作
①状态:在这个对象的生命期中的一个条件或状况,在此期间对象将满足某些条件、执行某些活动,或等待某些事件。
②子状态:嵌套在另一个状态中的状态称作子状态。(子状态分为or和and两种关系,or关系说明在某一时刻仅可到达一个子状态,and关系说明组合状态中在某一时刻可同时到达多个子状态。)
③组合状态:一个含有子状态的状态被称作组合状态。
④历史状态:是一个伪状态,其目的是记住从组合状态中退出时所处的子状态。当再次进入组合状态时,可直接进入这个子状态,而不是再次从组合状态的初态开始。
⑤转移:是两个状态之间的一种关系,表示对象将在第一个状态中执行一定的动作,并在某个特定事件发生而且某个特定的警戒条件满足时进入第二个状态。
⑥事件:是对一个在事件和空间上占有一定位置的有意义的时期的详细说明。(有(1)调用事件(2)变化事件(3)时间事件(4)信号事件)
⑦动作:是一个可执行的原子计算。(两个特殊动作:进入动作、退出动作)
4.活动图:描述系统的动态行为。
5. 活动图用途:业务建模时,用于详述业务用例,描述一项业务的执行过程;设计时,描述操作的流程。
6.活动图中的基本概念:①活动②泳道③分支④分叉⑤汇合⑥对象流
①活动:某流程中的任务的执行,它可以表示某算法过程中语句的执行。(有动作状态和活动状态,动作状态是原子的不可分解,活动状态是可分解的。)