1、UML 复习总结第一章1、控制软件复杂性的基本方法:分解、抽象、模块化、信息隐蔽。2、对象:系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。3、类:具有相同属性和方法的一组对象的集合,它为属于该类的全部对象提供了统一的抽象描述。4、封装:把对象的属性和方法结合成一个独立的系统单位,并尽可能地隐蔽对象的内部细节。5、继承:利用继承,子类可以集成父类的属性或方法。6、多态:使一个实体在不同上下文条件下具有不同意义或用法的能力。第二章1、制品:指软件开发过程中产生的各种各样的产物,如模型、源代码、测试用例等。2、UML 的构成:基本构造快、规则、公共机制。3、扩展机制包括:版型、标记值
2、和约束 。4、UML 共有九种图: 用例图、顺序图、协作图、类图、对象图、状态图、活动图、构件图和部署图。5、关系:依赖、关联、泛化和实现 。第三章1、用例:用例是对一个活动者使用系统的一项功能时所进行的交互过程的一个文字描述序列。用例是系统、子系统或类和外部的参与者交互的动作序列的说明,包括可选的动作序列和会出现异常的动作序列。2、UML 中的建模机制包括静态建模和动态建模两部分,静态建模包括:类图、对象图、构件图和部署图;动态建模包括:用例图、顺序图、协作图、状态图和活动图。3、脚本:指贯穿用例的一条单一路径,用来显示用例中的某种特殊情况。4、脚本是用例的实例 ,一个用例包括一个主要脚本以
3、及多个次要脚本。5、关系:用例间的关系:泛化关系、包含关系、扩展关系。参与者间的关系:泛化。参与者与用例的关系:关联6、包含关系与扩展关系的区别(简答):扩展关系是“is a”关系,包含关系是“has a”关系。扩展关系中一个扩展用例只能在基本用例的扩展点上进行扩展,基本用例一定是一个 well formed 的用例,即可以独立存在的用例,一个基本用例执行时可以执行、也可以不执行扩展部分;包含关系中基本用例可能是、也可能不是well formed,在执行基本用例时一定会执行包含用例部分。7、用例描述:参见 P30(表 3.2 用例的描述格式) 。8、三层架构与 MVC 的区别(对照类的 3 种
4、类版型:边界类、实体类、控制类):三层架构:表现层(UI) 、业务逻辑层(BLL) 、数据访问层(DAL) 。MVC:模型(Model) 、视图(View) 、控制器( Controller) 。MVC 是一种架构模式,不是设计模式,在三层架构中没有定义Controller 的概念,这是最不同的地方。而 MVC 也没有把业务的逻辑访问看成两个层,这是采用三层架构或 MVC 搭建程序最主要的区别。当然了。在三层中也提到了 Model,但是三层架构中 Model 的概念与 MVC 中 Model 的概念是不一样的, “三层”中典型的 Model层是以实体类构成的,而 MVC 里,则是由业务逻辑与访
5、问数据组成的。第四章1、交互图:描述对象之间以及对象与参与者之间的动态协作关系以及协作过程中行为次序的图形文档。2、交互图包括顺序图和协作图 ,顺序图着重描述对象按时间顺序的消息交换,协作图着重描述系统成分如何协同工作。3、交互图描述的是对象之间的消息发送关系而不是类之间的关系。4、交互图帮助分析人员对照检查每个用例中所描述的用户需求,如这些需求是否已经落实到能够完成这些功能的类中去实现,提醒分析人员去补充遗漏的类或方法。5、顺序图:顺序图是显示对象之间交互的图,这些对象时按时间顺序排列的。6、顺序图建模元素:对象、生命线、控制焦点、消息。7、顺序图消息:调用消息、异步消息、返回消息、阻止消息
6、和超时消息。8、协作图:描述系统的行为是如何由系统的成分协作实现的图。9、协作图建模元素:对象、消息、链。10、对象是类的实例,脚本是用例的实例,链式关联的实例。11、顺序图和协作图的比较(简答):都属于交互图,都用于描述系统中对象之间的动态关系。顺序图强调的是消息的时间顺序,协作图强调的是参与交互的对象的组织。建模元素各有特点。顺序图中有对象生命线和控制焦点,协作图没有;协作图有路径且消息必须有消息顺序号。顺序图在表示算法、对象的生命期、具有多线程特征的对象方面更容易,但在并法控制流方面有困难。第五章 类图和对象图1、类:具有相似结构、行为和关系的一组对象的描述符。2、属性下有一下划线,表示
7、该属性是静态属性。3、类之间的关系:关联、聚集、组合、泛化、依赖。4、链是一个实例,就像对象是类的实例一样,链是关联的实例,关联表示的是类与类之间的关系,而链表示的是对象与对象之间的关系。5、一个关联可以有两个或多个关联端,每个关联端连接到一个类。关联也可以有方向,可以是单向关联或双向关联。6、关联相关概念:关联名、关联的角色、关联类、关联的约束、限定关联。7、关联类通过一条虚线与关联连接。8、UML 的 3 种扩展机制:约束、版型、标记值。9、限定关联:带有限定符的关联称为限定关联。10、限定符:限定符的作用就是在给定关联一端的一个对象和限定符值以后,可确定另一端的一个对象或者对象集。引入限
8、定符的一个目的就是把多重性从 n 降为 1 或 01。 (注:限定符是关联的属性,不是类的属性,可根据多重性来判断一个限定符的设计是否合理。 )11、关联的种类: 自反关联、二元关联和 N 元关联。12、聚集:是一种特殊形式的关联,表示类之间整理与部分的关系。13、组合:也是类之间的整理与部分的关系,但组合关系中的整体与部分具有相同的生存期,即组合是一种特殊形式的聚集。14、聚集和组合的区别(简答):(1)聚集也称“has a”的关系,组合也称为“contains-a”关系。(2)聚集表示事物的整体 /部分关系的较弱情况,组合表示事物的整体/部分关系的较强情况。(3)聚集中,代表部分事物的对象
9、可以属于多个聚集对象,可以为多个聚集对象共享,删除聚集对象不一定删除部分事物对象;组合中整体事物的对象负责创建和删除部分事物的对象,代表部分事物的对象只属于一个组合对象。删除了组合对象也就随即删除了部分事物对象。15、派生属性和派生关联是指可以从其他属性和关联计算推演得到的属性和关联,类图中派生属性和派生关联的名字前价一个斜杠“/”。 16、依赖关系不生成专门的实现代码。同时派生属性和派生关联也不产生相应的代码。17、接口与抽象类的区别(简答):接口不能含有属性,而抽象类可以含有属性;接口中声明的所有方法都没有实现部分,而抽象类中某些方法可以有具体的实现。18、版型必须定义在 UML 中已经有
10、定义的基本构造块之上,是在已有元素上增加新的语义,而不是增加新的语法结构。19、接口是类的版型,子系统是包的版型。20、3 种类版型:边界类、控制类、实体类。边界类:位于系统与外界的交界处,窗体、对话框、报表等都是边界的例子。实体类:保存要放进持久存储体(数据库、文件等)的信息。控制类:负责其他类工作的类。21、类图的抽象层次:概念层、说明层、实现层。22、CRC 分析法:CRC 是类、职责和协作的简称,CRC 分析法根据类所要扮演的职责来确定类。23、OO 设计的原则:开闭原则、Liskov 替换原则、依赖倒置原则、接口分离原则。 (注:简单原则也应重点考虑)第七章 包1、包的命名:简单包名
11、和路径包名,如 Vision 是一个简单的包名,而 Sensors:Vision 是带路径的包名。2、包与包之间也可以存在依赖关系,但这种依赖关系没有传递性。3、包之间的关系:依赖关系、泛化关系。4、设计包的原则(简答):重用等价原则、共同闭包原则、共同重用原则、非循环依赖原则。重用等价原则:把类放入包时,应考虑把包作为可重用的单元。共同闭包原则:把那些需要同时改变的类放在一个包中。共同重用原则:不会一起使用的类不要放在 同一个包中。非循环依赖原则:包之间的依赖关系不要形成循环。第八章 状态图和活动图1、状态图:主要用于描述一个对象在其生存期间的动态行为,表现一个对象所经历的状态序列,引起状态
12、转移的事件,以及因状态转移而伴随的动作。2、状态图在检查、调试和描述类的动态行为时非常有用。3、状态图在一些两个特性的属性上建模:(1)属性拥有较少的可能取值。(2)属性在这些值之间的转移有一定的限制。4、一个状态图只能有一个初态,但终态可以有一个或多个,也可以没有终态。5、子状态:嵌套在另一个状态中的状态。6、组合状态:含有子状态的状态。7、子状态之间可分为 or 关系和 and 关系。 or 关系某一时刻仅可到达一个子状态,and 可到达多个子状态。8、历史状态时一个伪状态,其目的是记住一个从组合状态中退出时所处的子状态。 (注:可用 或 表示) H H*9、事件:是对一个在事件和空间上占
13、有一定位置的有意义的事情的详细说明。10、事件类型:调用事件、变化事件、时间事件、信号事件。11、动作:是一个可执行的原子计算。即动作时不可被中断的,其执行时间是忽略不计的。12、活动图:用于描述系统的工作流程和并行行为。13、活动图的用途:活动图对表示并发行为很有用,可对系统的工作流程建模即对系统的业务过程建模,也可对具体操作建模 ,用于描述计算过程的细节。14、状态图和活动图的比较:都是对系统的动态行为建模 描述重点不同:状态图描述的是对象的状态及状态间的转移,而活动图描述的是活动到活动的控制流。使用场合不同:状态图在显示对象在生命周期的行为时使用;若为了分析用例或理解涉及多个用例的工作流
14、程,或处理多线程用活动图。第九章 构件图1、构件:是系统中遵从一组接口且提供其实现的物理的、可替换的部分。2、构件图:显示一组构件以及它们之间的相互关系,包括编译、链接或执行时构件之间的依赖关系。第十章 部署图1、部署图和构件图是对 OO 系统物理方面建模的两个图。2、一个系统模型只有一个部署图,部署图常常用于帮助理解分布式系统。3、结点:存在于运行时的代表计算资源的物理元素,结点一般都具有一些内存,而且常常具有处理能力。4、结点分类:处理机和设备 。5、连接:两个硬件之间的关联关系。第十四章 UML 与设计模式1. 设计模式是对某特定环境下某类问题的解决方法。2. 在软件开发中使用设计模式有以下好处:(1)简化并加快设计(2)方便设计者之间的通信( 3)降低风险( 4)有助于转到 OO技术补充说明:1、数据库的三种模式外模式(视图)模式(数据表)内模式(文件)2、UML 中 3 种类版型与 MVC 模式对照界面类实体类控制类MVC附加大题:递归实现无限分级树结构图:数据库:类图:(自返关联)unit代码:Tree(PID)If(PID=”)找根结点;While()Tree(根结点 ID);else找孩子结点;While()Tree(孩子 ID);