《UML面向对象技术》期末复习吐血整理
- 格式:doc
- 大小:44.00 KB
- 文档页数:5
uml期末复习(1)第⼀章1、UML(Unified Modeling Langeage)是⼀种可视化的建模语⾔,提供了⼀种标准的、易于理解的⽅式描述系统的实现过程,从⽽实现了⽤户与设计者之间的有效交流。
2、定义系统的物理元素,⽤于描述事物的静态特征,包括类、接⼝、协作、⽤例、主动类、组件和节点。
3、⾏为建模元素包括哪些?反映事物之间的交互过程和状态变化,包括交互图和状态图。
4、组织建模元素包括哪些?⼦系统、模型、包、框架等。
5、关系元素包括哪些?关联、泛化、组成、实现、聚集、依赖、约束6、对于UML的描述,错误的是(A、C)。
A:UML是⼀种⾯向对象的设计⼯具。
B:UML不是⼀种程序设计语⾔,⽽是⼀种建模语⾔。
C:UML不是⼀种建模语⾔规格说明,⽽是⼀种表⽰的标准。
D:UML不是过程,也不是⽅法,但允许任何过程和⽅法使⽤它。
7、从系统外部⽤户⾓度看,⽤于描述系统功能集合的UML图是⽤例视图。
8、对如下的⽤例图的功能进⾏简单描述。
Buy Goods8、在UML中,描述⽗类与⼦类之间关系的是泛化关系。
9、“交通⼯具”类与“汽车”类之间的关系属于(D)。
A:关联关系B:聚集关系C:依赖关系D:泛化关系第⼆章1、从软件⼯程的⾓度,软件开发可分为:需求分析、系统分析、设计、实现、测试5个阶段。
2、⽤UML进⾏建模时会涉及9种图,Rose 2003只⽀持其中的8种,还有⼀种图只能⽤别的图来代替。
这个不能在Rose中直接表⽰的图是(C)。
A:顺序图B:⽤例图C:对象图D:构件图3、应⽤题:Rose分别⽤哪些图描述系统的静态和动态⽅⾯?静态:⽤例图、类图、构件图、部署图;动态:状态图、协作图、顺序图、活动图。
4、默认情况下,Rose模型⽂件的扩展名为(A)。
A:.mdlB:.ptlC:.catD:.sub5、关于浏览窗⼝的描述,正确的是(A、B、C、D)。
A:可视化地显⽰模型中所有元素的层次结构B :具有托放功能,通过模型元素的托放操作可以⽅便地改变⼀个模型的特征C :在浏览器中的模型元素发⽣变化时,可以⾃动更新模型中的相关元素D :只有在浏览窗⼝中才能把模型元素从模型中永久删除 6、Rose 是什么的缩写?Rational Object-oriented Software Engineering第三章1、识别“图书管理系统”中的参与者?系统管理员(Administrator) 图书管理员(Librarian) 读者(Reader)2、识别“图书管理系统”的⽤例?⽤户管理(Manage User) 图书管⾥(Manage Book) 读者管理(Manage Reader) 借阅管理(Borrow-Lend)3、下列关于使⽤⽤例的⽬的,不正确的是( D )? A :确定系统具备哪些功能;B :为系统功能提供清晰⼀致的描述;C :为系统验证⼯作奠定基础;D :能够减少程序员的编码⼯作量。
uml期末考试复习题UML期末考试复习题一、选择题1. 在UML中,用于表示类和类之间关系的符号是:A. 菱形B. 圆形C. 矩形D. 三角形2. 以下哪个不是UML用例图中的元素?A. 参与者B. 用例C. 类D. 关系3. 在UML中,状态图(Statechart)用于描述:A. 对象的生命周期B. 系统的动态行为C. 系统的静态结构D. 系统的并发行为4. 以下哪个UML图用于展示系统的动态行为?A. 类图B. 序列图C. 组件图D. 部署图5. 在UML中,一个对象的表示方法是:A. 矩形B. 椭圆形C. 圆形D. 三角形二、简答题1. 解释UML中类图的基本组成元素及其含义。
2. 描述UML用例图的用途和主要元素。
3. 什么是UML的组件图?它在软件开发中扮演什么角色?4. 解释UML中包(Package)的概念及其作用。
5. 描述UML中活动图(Activity Diagram)的特点和用途。
三、应用题1. 假设你正在设计一个图书馆管理系统,请绘制一个类图,展示至少5个类,并说明它们之间的关系。
2. 为图书馆管理系统中的“借书”功能绘制一个用例图,并简述参与者和用例之间的关系。
3. 为图书馆管理系统中的“查询书籍”功能绘制一个活动图,展示从开始到结束的完整流程。
4. 设计一个简单的状态图,描述一个“电梯”系统在不同状态下的转换。
5. 绘制一个序列图,展示图书馆管理系统中“借书”功能的用户交互过程。
四、论述题1. 论述UML在软件开发过程中的重要性,并举例说明UML如何帮助团队成员理解系统设计。
2. 描述UML中不同类型的关系(如关联、聚合、组合、继承等)及其在实际应用中的意义。
3. 讨论UML部署图在系统部署和硬件规划中的作用。
结束语以上复习题覆盖了UML的基本概念、图示类型及其应用,希望能够帮助同学们在期末考试中取得好成绩。
请同学们认真复习,理解每一种UML图的特点和应用场景,以便在实际开发中能够灵活运用。
考试题型:选择15道,判断15道,大题20分,简答50分,答题请简明扼要。
一、软件工程及面向对象技术、RUP概述1、软件生命周期的主要阶段• 需求分析(Requirement Analysis)• 软件设计(Software Design)• 编码(Coding/Programming)• 测试/调试(Testing/Debug)• 运行/维护(Running/Maintenance)2、几种经典的软件过程模型及其相应的特点从项目的需求定义情况、项目规模和复杂程度以及管理、控制的模式来看,大致可分为:–线性模型• 瀑布模型Waterfall model,也称为线性顺序模型或典型的生命周期模型特点:a软件开发各阶段严格按照顺序进行,前一阶段的任务没有完成,不能进入下一阶段b每一阶段的工作成果必须经过评审,确认无误,才能作为下一阶段的输入和依据c每一阶段结束时要求交出规定的软件文档资料缺点:a缺乏灵活性b对软件开发过于理想化,如对系统的需求分析适用范围:a适用于小型项目b要求在项目开始时就明确需求。
• 快速应用开发(RAD)模型瀑布模型的高速变种,强调在短期内开发软件强调重用在以前项目中开发过和测试过的构件特点:a 开发速度快b 适用于在开发过程之前就充分理解需求的情况c 需要有足够的人力资源以建立相应的RAD小组d RAD不适合技术风险很高或系统难以模块化的情况–原型模型特点:a 循环模式(Circulation)b 引入用户评价c 逐步求精–演化模型a 优点–便于开发人员和用户之间的交流沟通–开发过程变得简单、灵活–可以吸引客户,抢占市场(慎用)b 缺点–要求开发团队有较高的原型开发能力,如果团队经验不足,可能会影响原型的质量–没有考虑软件的整体质量和可维护性• 增量模型a 优点:–能够明确需求,可以实施较好的风险管理–人员分配灵活,项目开始时不用投入大量人力资源,当核心产品很受欢迎时,可增加人力实现下一个增量b 缺点–至始至终都必须和客户沟通,直至完成最终版本–只适用于大型系统,对小系统划分小的功能增量很困难• 螺旋模型a 优点–对于大型系统来说,这个模型是一个很好的方法,开发者和客户能够较好地对待和理解每一个演化层次上的风险b 缺点–需要相当的风险评估技术–潜在的风险将导致问题的发生• 基于构件的开发模型a 优点–构件可复用,提高了开发效率–采用了面向对象的技术b 缺点–过分依赖于构件,构件库的质量影响着产品质量3、面向对象的基本建模原则–抽象–封装–继承–分类–关联4、面向对象分析分大致过程• 描述需求• 识别潜在对象• 筛选对象• 对象的命名• 识别对象的属性• 识别对象的行为• 识别对象所属的类• 定义类的结构5、面向对象程序设计语言• Simula,1967• Smalltalk,20世纪60年代• C++优点–可在操作系统的任何层次上作任何事情–可能是现有的速度最快的面向对象语言– C++编译器十分流行,程序员很多缺点–指针的大量使用难以保证软件在运行时的安全性• Java特点:–平台无关性,可移植性高–垃圾回收机制–没有指针• C#• Ada6、RUP的基本概念、基本特征以及裁剪——基本概念:A Process defines who is doing what when and how to reach a certain goal.–(软件过程描述了什么时候,什么人,做什么事,以及怎样实现某一特定的目标)Rational Unified Process是一种软件的开发过程,是将用户需求转化为软件系统所需的活动的集合。
题型:一、选择(15*2’)二、填空(10*1’)三、问答(20’)四、设计题(40’)重点:UML定义: UML是对象管理组织制定的一个通用的、可视化的建模语言标准,可以用来可视化、描述、构造和文档化软件密集型系统的各种工件(PPT上定义:是一种标准的图形化建模语言,是面向对象分析与设计的标准表示)。
UML全称:Unified Modeling Language(统一建模语言)。
对象和类的关系:每个对象都是某一个类的实例,类在某个时刻有零个或更多的实体,类是静态的,它们的存在、语义和关系在执行前已经定义了。
对象时动态的;它们在程序执行时可以被创建和删除。
面向对象的相关原则:抽象、封装、多态、泛化(也叫继承)建模目的:1.模型有助于所需的样式可视化系统。
2.模型能够描述系统的结构和行为3.模型提供构造系统的模板。
4.模型可以文档化设计决策建模原则:1.选择合适的模型。
2.模型具有不同的精确程度。
3.最好的模型是与现实相联系的。
4.需要从多个视角创建不同的模型,单一的模型是不够的。
UML2组成结构:基础结构和上层结构。
UML2概念模型:基本的构造块、运用于这项构造块的通用机制和组织UML视图的架构。
4+1架构模型:用例视图:它是建模过程的起点和依据,面向用户,描述系统的功能性需求。
逻辑视图:面向系统分析和设计人员,描述软件结构。
进程视图:面向系统集成人员,描述系统性能、可伸缩性、吞吐量等信息。
实现视图:面向编码人员,描述系统的组装和配置管理。
部署视图:面向系统工程师,描述系统的拓扑结构、分布、移交、安装等信息。
业务模型系统模型对应关系:业务模型为系统模型提供素材,业务模型映射到系统模型。
UML2 14种图:需要自己花的图有:活动图、用例图、顺序图、类图。
所画的图案例读在书上,有食客请吃饭(活动图)、旅店系统、旅游系统(其他三个图)这三个。
PS:其实只要把上面的图基本符号记住,然后看懂一个书上上面的图,根据试卷描述的流程来画图,相应得大部分分还是没有问题的.对象图:表示在某一时刻类的对象静态结构和行为。
第一章UML入门填空:1、如果把众多事物进行归纳和分类,那么所依据的面向对象的特性是抽象。
2、面向对象中的表示层用于提供给用户使用和显示的界面。
3、UML中的元元模型层位于结构最上层,是组成UML最基本的元素,代表要定义的所有事物。
4、在UML2.0中用来表示类、组件、协作等模型元素内部结构的是组合结构图。
5、UML中的实现关系使用一条空心三角作为箭头的虚线作为其图形表示。
选择:1、下列不属于对象特性的是。
A、对象都是唯一的B、一滴水是一个对象C、一个对象肯定属于某个类别D对象必须是可见的2、如果要解决系统做什么应该使用。
A、面向对象的分析B、面向对象的设计C、面向对象的编程D、面向对象的开发3、面向对象中的描述了系统内部对象及其关系的静态结构。
A、对象模型B、状态模型C、交互模型D、类模型4、UML中的用于描述系统的实现模块以及它们之间的依赖关系。
A、组件视图B、用例视图C、逻辑视图D、部署视图5、下列不属于UML2.0中图的是。
A、协作图B、包图C、交互图D、组合结构图6、下列UML事物中表示协作的是。
A、B、C、D、InterfaceName简答题:1、简要说明UML中视图与图的关系。
答:UML的视图都是由一个或多个图组成的,图就是系统架构在某个侧面的表示,所有的图一起组成了系统的完整视图。
第二章用例图填空题:1、用例图标准关系有扩展、泛化关系、关联关系和包含关系。
2、用例图的组成有关系、系统、参与者和用例。
3、在UML中,用例用一个圆形来表示。
4、泛化关系使用一条实线和一个三角箭头来链接用例。
选择题:1、下列说法正确的是。
A.用例间的关系是后期开发需要的,对用例图没有影响。
B.扩展关系可以是用例间的,也可以是参与者间的。
C.泛化关系可以是用例间的,也可以是参与者间的。
D.包含关系表示为虚线箭头。
2、下列符号中表示扩展的是。
A. B. C. <<extends>>D. <<extends>>简答题:1、用例描述主要包括哪些方面?答:用例描述一般包括有:名称、标识符(可选)、参与者(可选)、状态(可选)、频率、前置条件、后置条件、假设(可选)、基本操作流程、可选操作流程、修改历史记录(可选)2、泛化描述了什么?答:泛化描述的是子用例与父用例的关系,子用例是父用例的特化,它除了可以具有父用例的特性外,还可以有自己的另外特性。
⾯向对象期末整理⾯向对象期末整理第三章函数(function)1、回⽂数判断boolsymm(long n) {longi, m;i=n ; m=0 ;while(i) {m = m*10+i%10;i = i/10 ;}return ( m==n );}2、嵌套调⽤int fun1(intx,int y) {int fun2(int m);return (fun2(x)+fun2(y));}int fun2(int m) {return (m*m);}*函数不允许嵌套定义,但可以嵌套调⽤。
3、递归法:从n个⼈中选择k个⼈组成⼀个委员会的不同组合数。
intcomm(int n, int k) {if ( k>n )return 0;else if(n==k||k==0)return 1;elsereturncomm(n-1,k)+comm(n-1,k-1) ;?}4、在函数被调⽤时才分配形参的存储单元。
实参可以是常量、变量或表达式。
传递时是传递参数值,即单向传递5、引⽤是为对象取⼀个别名,不占存储空间。
引⽤类型说明符为&。
声明⼀个引⽤型变量时,必须同时使之初始化,即声明它代表那⼀个变量。
并且从此不可改变。
6、内联函数inline功能简单,规模⼩,使⽤频繁的函数。
不能进⾏异常接⼝声明7、带默认形参值的函数√int add(intx,int y=5,int z=6);Xint add(int x=1,int y=5,int z);Xint add(int x=1,int y,int z=6);int add( int x=1,int y=2);void main(){ int add(int x=3,int y=4);add();//使⽤局部缺省形参值(实现3+4)}void fun(void){ ...add();//使⽤全局缺省形参值(实现1+2)}8、函数重载9、头⽂件cmathsin()、cos()、tan(),求平⽅根函数(sqrt)、求绝对值函数(abs)等。
2011UML复习题纲一、选择、判断、填空第一章UML与面向对象1、UML(Unified Modeling Language,统一建模语言)是软件和系统开发的标准建模语言,它主要以图形的方式对系统进行分析、设计。
2、UML是在多种面向对象分析与设计方法相互融合的基础上形成的,是一种专用于系统建模的语言。
它为开发人员与客户之间,以及开发人员之间的沟通与理解架起了“桥梁”。
3、UML不是开发工具,只是建模语言。
4、OOA三种基本模型:功能模型、对象模型、动态模型。
5、软件是程序、数据和相关文档的完整集合。
6、软件开发过程分为如下几个阶段:需求分析、总体设计、详细设计、编程与测试、维护。
7、面向对象的软件工程方法包括面向对象的分析(OOA)、面向对象的设计(OOD)、面向对象的编程(OOP)。
8、软件方法学包含3个要素:方法、工具和过程。
9、对象是现实世界中一个实际存在的事物,它可以是看得见摸得着的东西。
10、类是一组具有相同属性的操作的对象集合,它为所有属于该类的对象提供了统一的描述。
11、封装是指将对象属性和操作结合在一起,构成一个独立的对象。
封装使得对象属性和操作紧密结合在一起,这反映了事物的状态特性与动作是事物不可分割的特征。
12、继承是指子类可以拥有父类的全部属性和操作,继承是OO方法的一个重要的概念,并且是OO技术可以提高软件开发效率的一个重要原因。
13、多态性是指在父类中定义的属性和操作被子类继承后,可以具有不同的数据类型或表现出不同的行为。
14、OO开发中的三层设计:问题域类、GUI类和数据访问类。
15、面向对象设计准则:模块化、抽象、信息隐藏、低耦合、高内聚。
16、UML的构成:元元模型层、元模型层、模型层、用户模型层。
17、UML的核心是由视图、图、模型元素、通用机制组成。
18、UML中的视图细分:(1)用例视图(用例视图强调从系统的外部参与者角度需要的功能,描述系统应该具有的功能);(2)逻辑视图(逻辑视图的使用者主要是设计人员和开发人员,描述用例视图提出的系统功能的实现);(3)并发视图(并发视图的使用者主要是开发人员和系统集成人员,它主要考虑资源的有效利用、代码的并行执行以及系统环境中异步事件的处理);(4)组件视图(组件是不同类型的代码模块,它是构造应用的软件单元。
2011UML复习题纲一、选择、判断、填空第一章UML与面向对象1、UML(Unified Modeling Language,统一建模语言)是软件和系统开发的标准建模语言,它主要以图形的方式对系统进行分析、设计。
2、UML是在多种面向对象分析与设计方法相互融合的基础上形成的,是一种专用于系统建模的语言。
它为开发人员与客户之间,以及开发人员之间的沟通与理解架起了“桥梁”。
3、UML不是开发工具,只是建模语言。
4、OOA三种基本模型:功能模型、对象模型、动态模型。
5、软件是程序、数据和相关文档的完整集合。
6、软件开发过程分为如下几个阶段:需求分析、总体设计、详细设计、编程与测试、维护。
7、面向对象的软件工程方法包括面向对易用的分析(OOA)、面向对象的设计(OOD)、面向对象的编程(OOP)。
8、软件方法学包含3个要素:方法、工具和过程。
9、对象是现实世界中一个实际存在的事物,它可以是看得见摸得着的东西。
10、类是一组具有相同属性的操作的对象集合,它为所有属于该类的对象提供了统一的描述。
11、封装是指将对象属性和操作结合在一起,构成一个独立的对象。
封装使得对象属性和操作紧密结合在一起,这反映了事物的状态特性与动作是事物不可分割的特征。
12、继承是指子类可以拥有父类的全部属性和操作,继承是OO方法的一个重要的概念,并且是OO技术可以提高软件开发效率的一个重要原因。
13、多态性是指在父类中定义的属性和操作被子类继承后,可以具有不同的数据类型或表现出不同的行为。
14、OO开发中的三层设计:问题域类、GUI类和数据访问类。
15、面向对象设计准则:模块化、抽象、信息隐藏、低耦合、高内聚。
16、UML的构成:元元模型层、元模型层、模型层、用户模型层。
17、UML的核心是由视图、图、模型元素、通用机制组成。
18、UML中的视图细分:(1)用例视图(用例视图强调从系统的外部参与者角度需要的功能,描述系统应该具有的功能);(2)逻辑视图(逻辑视图的使用者主要是设计人员和开发人员,描述用例视图提出的系统功能的实现);(3)并发视图(并发视图的使用者主要是开发人员和系统集成人员,它主要考虑资源的有效利用、代码的并行执行以及系统环境中异步事件的处理);(4)组件视图(组件是不同类型的代码模块,它是构造应用的软件单元。
矿产资源开发利用方案编写内容要求及审查大纲
矿产资源开发利用方案编写内容要求及《矿产资源开发利用方案》审查大纲一、概述
㈠矿区位置、隶属关系和企业性质。
如为改扩建矿山, 应说明矿山现状、
特点及存在的主要问题。
㈡编制依据
(1简述项目前期工作进展情况及与有关方面对项目的意向性协议情况。
(2 列出开发利用方案编制所依据的主要基础性资料的名称。
如经储量管理部门认定的矿区地质勘探报告、选矿试验报告、加工利用试验报告、工程地质初评资料、矿区水文资料和供水资料等。
对改、扩建矿山应有生产实际资料, 如矿山总平面现状图、矿床开拓系统图、采场现状图和主要采选设备清单等。
二、矿产品需求现状和预测
㈠该矿产在国内需求情况和市场供应情况
1、矿产品现状及加工利用趋向。
2、国内近、远期的需求量及主要销向预测。
㈡产品价格分析
1、国内矿产品价格现状。
2、矿产品价格稳定性及变化趋势。
三、矿产资源概况
㈠矿区总体概况
1、矿区总体规划情况。
2、矿区矿产资源概况。
3、该设计与矿区总体开发的关系。
㈡该设计项目的资源概况
1、矿床地质及构造特征。
2、矿床开采技术条件及水文地质条件。
《面向对象分析与设计》复习题1、UML中的5种视图、9种图分别是什么? UML中静态图有哪些(P19),并且分别说明他们的作用?UML中动态视图有哪些,并且分别说明他们的作用?P332、UML 中的事物包括什么?分别说明。
P273、UML中有哪几种关系,分别是什么?P274、用例图中用例间的关系有哪些,分别是什么?P355、用例图中参与者有哪些?从参与者在系统中的地位来看可以分为什么?从参与者对用例的作用来看可以分为什么?6、什么是用例粒度?7、用例描述的内容包括哪些?针对每一个用例进行用例描述。
8、简述下面UML符号表示的内容。
(属性的可见性、类型、操作的可见性、参数表、返回值)9、类的多重性举例说明。
10、三种类分别是什么,解释说明。
11、将代码转化成模型的方法是什么?请根据下面对应的Java代码画出各个类及类间的关系。
对应的Java代码:Public class Shape{}Public class Circle extends Shape {}Public class Rectangle extends Shape {}12、简述下面类图中类间的关系?13、简述下面类图中,类间的关系?14、简述下面类图中类间的关系?15、时序图与协作图的内容是什么,有什么联系区别?16、复合状态包括什么,举例说明。
17、说明泳道的作用、对象流以及组合活动的含义。
18、课程对象被创建,添加到数据库中。
管理员可以删除、修改课程信息,在某个学期,开设该课程,如果选修人数超过指定人数,就不再允许学生选这门课。
学期结束,课程的状态终止。
绘制课程对象的状态图。
19、当手机SIM 卡经过注册后,它就处在激活状态;当缴纳话费后,它就处在使用状态;当欠费时,它处在欠费停机状态;如果续交了话费,就可以继续使用;否则,如果三个月内没有续交话费,就处在空闲状态;如果一年内没有重新激活,SIM 卡就会自动销号。
画出手机SIM 卡的状态图。
《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)