您的当前位置:首页正文

《UML面向对象技术》期末复习吐血整理

2022-02-09 来源:汇智旅游网


《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.活动图中的基本概念:①活动 ②泳道 ③分支 ④分叉 ⑤汇合 ⑥对象流

①活动:某流程中的任务的执行,它可以表示某算法过程中语句的执行。(有动作状态和活动状态,动作状态是原子的 不可分解,活动状态是可分解的。)

②泳道:活动图中的区域划分,根据每个活动的职责对所有活动进行划分,每一个泳道代表一个责任区。

③分支对于同一个出发事件,可以根据不同的警戒条件转向不同的活动,每个可能的转移都是一个分支。

④分叉:表示的是一个控制流被两个或多个控制流代替,经过分叉后,这些控制流是并发进行的。

⑤汇合:与分叉相反,表示两个或多个控制流被一个控制流代替。 ⑥对象流:对象可以作为活动的输入或输出。活动图中的对象流表示活动的对象之间的关系,如一个活动创建对象(作为活动的输出)或使用对象(作为活动的输入)等。

7.两图比较:状态图重点在于描述对象的状态及状态之间的转移,活动图重点在于描述系统的工作流程和并发行为,或一个操作的具体算法。

第九章 构件图

1.构件图:用于静态建模,是表示构件类型的组织以及各种构件之间依赖关系的图。 2.构件:系统中遵从一组接口且提供其实现的物理、可替换的部分。 3.接口:外部可访问到的服务。

第十章 部署图

1.部署图:是对OO系统物理方面建模的两个图之一,它可以用来显示系统中计算节点的拓扑结构和通信路径与结点上运行的软构件等。 注:一个系统模型只有一个部署图。 2.部署图基本概念:①结点 ②连接

①结点:是存在于运行时的代表一个至少有存储空间和执行能力的计算资源。(有两种类型:处理机、设备。)

②连接:连接表示两个硬件之间的关联关系。

第十三章 Web建模

1.Web建模:主要考虑两方面问题,一是如何表示Web应用系统的体系结构,另一个是如何表示Web应用系统中一些特有的概念。

2.Web应用系统和传统的分布式应用系统的两个明显区别:

①一个是在连接的持久性方面的区别。在Web应用系统中,客户机通过浏览器和客户机和服务器建立连接。客户机和服务器之间的连接是暂时的,一旦依次会话结束,则客户机和服务器就断开连接,下次连接和这次连接将没有联系。而对于传统的分布式应用系统,客户机和服务器的连接具有持久性,除非用户特地中断连接,否则该连接将一直存在。

②另一个是客户机形式的区别。在Web应用系统中,客户机的种类往往是各种各样的,它们可以是不同类型的浏览器,可以运行在不同的操作系统上,与服务器的连接速度有快有慢,客户机的处理器和内存配置等也不统一。而对于传统的分布式系统,可以事先要求客户机具有统一的形式。

3.Web建模的关键:是把对象正确划分到服务器端或(和)客户机端,同时对构件Web页面的元素建模。

4.MVC框架:在MVC框架中,模型提供了数据的内部表示,也就是负责维护应用的状态;试图负责显示数据而不考虑业务逻辑方面的问题;控制器负责对用户的输入或内部事件进行解释,决定要做的处理步骤和处理内容,控制模型模型和试图做相应的改变。 5.服务器页(Server Page)、客户机页(Client Page)

6.在WAE中版型<>、<>、<>来说明表单中包含的元素(作为表单属性)。

第十四章 UML与设计模式

1.UML设计模式分类(两个准则):①按设计模式的目的划分,可分为创建型模式、结构型模式和行为型模式。②按设计模式的范围划分,即根据设计模式是作用于类还是作用于对象来划分,可以把设计模式分为类设计模式和对象设计模式。

2.①创建型模式:抽象了创建对象的过程,使得系统不依赖于系统中对象是如何创建、组合和表示的。

②结构型模式:描述如何组合类和对象以获得更大的结构。

③行为型模式:描述算法和对象间职责的分配,主要考虑对象(或类)之间的通信模式。

第十六章 RUP开发过程

1.概述:Rational公司的RUP发展而来的一套软件工程方法,是目前最有效的软件开发过程模型。

2.六个最佳开发经验: ①迭代式开发:允许在每次迭代过程中需求都可以有变化,通过不断细化来加深对问题的理解,因此更容易容纳需求的变更。

②管理需求:RUP采用用例分析来捕获需求,并由它们来驱动设计、实现和测试。

③使用基于构件的体系结构:基于独立的、可替换的、模块化构件的体系结构有助于管理复杂性,提高重用性。 ⑤验证软件质量:软件质量评估不再是事后型的或单独小组进行的分离活动,而是建于过程中的所有活动,可以及早发现软件中存在的缺陷

⑥控制软件变更:描述了如何控制、跟踪和监控修改以确保成功的迭代开发。

3.RUP把软件开发生命周期分为多个循环,每个循环生产产品的一个新的版本,每个循环依次由4个连续的阶段组成,每个阶段完成确定的任务。这四个阶段是:①初始阶段 ②细化阶段 ③构造阶段 ④移交阶段 (每一个阶段都由一个或多个连续的迭代组成)

因篇幅问题不能全部显示,请点此查看更多更全内容