2013年UML复习知识要点及考试范围
- 格式:doc
- 大小:330.50 KB
- 文档页数:15
考试题型:选择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是一种软件的开发过程,是将用户需求转化为软件系统所需的活动的集合。
计科院UML复习汇总+答案详解一、单项选择题1、组成UML构造块三大要素为:(B)A、事物、元素、关系B、事物、关系、图形C、事物、组件、图形D、事物、图形、结构UML中有三种基本构造块,分别是事物、关系和图。
事物分结构事物(包括类、接口、协作、用况、主动类、构件和节点)、行为事物(包括交互和状态机)、分组事物(包)和注释事物(注解)。
2、UML中的事物分为哪几类?(A)A、结构、行为、分组、备注等四类事物B、结构、图形、行为、分组等四类事物C、类、行为、分组、备注等四类事物D、分组、备注、结构、图形等四类事物3、UML中的关系分为哪几种?(C)A、依赖关系、类关系、一般化关系、合作关系B、依赖关系、泛化关系、实现关系、继承关系C、依赖关系、关联关系、泛化关系、实现关系D、依赖关系、关联关系、泛化关系、合作关系4、所谓的4+1视图是指(A)A、Design View、Interaction View、Implementation View、Deployment View、useCase ViewB、Interaction View、Implementation View、Deployment View、Customer View、useCase ViewC、Interaction View、Implementation View、Deployment View、Process View、useCase ViewD、Design View、Interaction View、Implementation View、Process View、useCase View5、在UML中属于静态视图的是(D)A、顺序图、协作图、包图、类图B、对象图、类图、构件图、包图C、顺序图、用例图、对象图、类图D、对象、类图、构件图、部署图6、下列关于UML叙述正确的是( D )A、UML是一种语言,语言的使用者不能对其进行扩展B、UML仅是一组图形的集合C、UML仅适用于系统的分析与设计阶段D、UML是独立于软件开发过程的7、下列描述中,哪个不是建模的基本原则( D )A、要仔细的选择模型B、每一种模型可以在不同的精度级别上表示所要开发的系统C、模型要与现实相联系D、对一个重要的系统用一个模型就可以充分描述8、下列描述中,哪个不是软件与硬件的区别(D )A.软件是被开发或设计的,而不是被制造的;B.软件不会“磨损”,但会“退化”;C.软件的开发至今尚未摆脱手工艺的开发方式;D.软件开发与硬件开发的流程一样。
UML统一建模语言(road518整理)2013年下半年软考高项复习资料UML (Unified Modeling Language,统一建模语言)是用于系统的可视化建模语言,是一种语言, 一种为可视化语言, 一种可用于详细描述的语言, 一种构造语言, 一种文档化语言.一、三个基本构造块:事物(Things)、关系(Relationships)、图(Diagrams)。
二、4种事物:结构、行为、分组、注释三、4种关系:实现、依赖、泛化、关联(包括聚合与组合)四、分为静态模型与动态模型(如下图)口决:6静:类图构件搞对象,复合生下部署图,还送一个小包图;8动:用例状态在活动,定时顺序来通信,二者交互制成品。
五、在UML系统开发中有三个主要的模型:功能模型、对象模型、动态模型六、UML表示软件体系架构的5个视图(部用并组逻—不用并组啰)六、九个图(前四个为静态模型、后五个为动态模型)1.实现接口的类或组件之间的关系2.化,则称3.的关系(父泛化子,子继承父)4.例之间存在的某种联系ComponentDiagram是面向对象系统的物理方面进行建模时要用的两种图之一。
DeploymentDiagram又名实施图,是面向对象系统的物理方面建模的两种图之一。
构件图是说明构件之间的逻辑关系,而部UseCaseDiagram需求分析阶段,它的建立是系统开发者和用户反复讨论的结果,表明了开发者和用户对需求规格达成的共识。
Sequence DiagramCollaboration DiagramStateDiagram。
UML考试重点第一章1.UML的定义:UML(Unified Modeling Language)统一建模语言用于对软件进行描述、可视化处理、构造和建立软件系统产品的文档;是一个通用的面向对象的建模语言;统一的定义:即合为整体建模的定义:即建立模型,为了理解事物对事物做出的一种抽象。
模型的定义:使用某种工具对同类或其他工具的表达方式。
语言:语言是人类最重要的交际工具,是人们进行沟通交流的各种表达符号2.UML十大模型图如何进行分类用例图:用例图狭义静态图:类图、对象图、包图广义静态图:用例图、类图、对象图、包图、组件图、配置图实现图:组件图、配置图交互图:时序图、协作图行为图:状态图、活动图动态图:交互图、行为图3.软件工程的6个阶段可行性分析、需求分析、设计、编码、测试、维护第二章1.UML建模的两个常用的建模工具Rose和Visio2.Rose建模的三大特征:迭代式开发、双向工程、可扩展的能力第三章1.UML四种事物的概念结构事物:(包含7种,分别是:用例、类、接口、协作、活动类、组件、节点)是UML模型的静态部分,主要用来描述概念的或物理的元素行为事物:模型的动态部分。
组织事物:又称为分组事物,是UML模型中的组织部分辅助事物:也称为注释事物,是UML模型中的解释部分,描述和标注模型的任何元素2.UML四种关系关联关系:表示类与类之间的联接,它使一个类知道另一个类的属性和方法。
关联关系的种类:双向关联、有向关联、聚合和组成关联依赖关系:一个类发生变化,可能一起对另一个对象的变化,则称后者对象依赖于前者的类(不可逆)泛化关系:一个类继承另一个类的功能,并可以增加自己的新功能的类间关系实现关系:将一种模型元素与另一种模型元素连接起来实现特定的功能的相互关联,并且接口只是行为的说明而不是结构或是实现第四章1.用例,用例图,参与者的定义用例:是相对完整的部分功能流程的描述,是对系统或子系统的某个连贯的功能单元的定义用例图:定义了系统的功能需求,是从系统的外部看系统功能,并不描述系统内部功能的具体实现。
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.UML语言的组成结构:构造元素,规则,公共机制3.面向对象的特点主要概括为(B)A 无B继承性、封装性、多态性、C抽象性、继承性、封装性、多态性D封装性、可维护性、可扩展性、可重用性4.构成对象的两个主要元素是(A)A属性和服务B标识和内容C继承与多态D消息和封装5.顺序图主要可以为设计人员提供(A)消息。
A消息发送的顺序B某个方法是执行流程C类之间关联关系的多重性D某个对象在不同状态之间的转移6.用例与类的对比中,模型的结构元素7.计算机由中央处理器、内存、软盘、硬盘、显示器、键盘鼠标等组成。
那么Computer类和其他类(CPU、RAM、FloppyDisk、Monitor、Keyboard、mouse)之间的关系是(D)A泛化关系B实现关系C包含关系D聚集关系8.在状态图中不能表示下面哪些概念?(D)A 动作(action)B 事件(event) C 转移D 类9.在数据库设计的(C)阶段开始考虑具体的数据库管理系统(DBMS)的特性。
A需求分析B概念设计C逻辑设计D物理设计判断题1.一个状态图最多只能有一个初态和一个终态(×)2.通信图中的消息必须有消息顺序号(×)3.两个参与者之间可以有包含关系、扩展关系和依赖关系、而包含关系和扩展关系都是依赖关系(√)4.参与者和用例之间的关系是关联关系(√)5.对象具有继承、多态和封装特性(√)6.用模型的目的是为了在开发过程中使用面向对象方法(√)7.在动态模型中动作是一种瞬间操作,他与某个事件有关(√)8.汽车类和汽车门类属于一般特殊的关系(×)9.UML由用例视图、部署视图、组件视图、进度视图和配置视图组成(√)10.在设计类图时,可以不用类图中的每一个关系进行命名,但如果需要一个“动词”关联命名(√)11.Uml中关联的重数是指一个类中有多个方法被另一个类调用(×)12.类描述的是系统的内部构成,用例也可以描述系统的内部构成(√)简答题1.uml是由哪3个部分组成的,并分别说明他们的作用。
UML复习知识要点UML复习知识要点1.什么是UML?用UML进行建模的目的是什么?UML的主要特点是什么?答:是一种便准的图形化建模语言,它是面向对象分析与设计的一种标准形式。
目的:使用模型可以更好地理解问题;使用模型可以加强人员之间的沟通;使用模型可以更早的发现错误或疏漏的地方;使用模型可以获取设计结果;模型为最后的代码生成提供依据;特点:统一的标准,面向对象,可视化、表示能力强大,独立于过程,概念明确,建模方法简洁容易掌握。
2. UML中包含哪9种图?每种图的用途是什么?答:用例图:显示一组用例、参与者以及他们之间的关系的图。
顺序图:显示的是参与交互的对象及对象之间消息交互的顺序。
协作图:用于描述系统的行为是如何由系统的成分协作实现的图。
类图:类图描述的是类与类之间的静态关系。
状态图:描述一个对象在其生存期间的动态行为,表现一个对象所经历的状态序列,引起状态转移的事件,以及因状态转移而伴随的动作。
活动图:描述系统的工作流程和并发行为。
构件图:对源代码文件之间的相互关系建模对可执行文件之间的相互关系建模部署图:显示系统中计算节点的拓扑结构和通信路径与结点上运行的软构件。
3.什么是用例?什么是参与者?用例之间、参与者之间以及用例与参与者之间有分别什么关系?其表示符号是什么?根据需求分析要求能画出系统的用例图。
答:用例是对一个活动者使用系统的一项功能时所进行的交互过程的一个文字描述序列;参与者是值系统以外的、需要使用系统或系统交互的东西;用力之间的关系有泛化、包含和扩展;参与者之间存在泛化关系;用例与参与者之间有关联关系; 4.什么是交互图?什么是顺序图和协作图?二者有何异同?顺序图和协作图中分别包含哪些建模元素?答:交互图是用来描述对象之间以及对象与参与者之间的动态协作关系以及协作过程中行为次序的图形文档。
顺序图是显示对象之间交互的图。
协作图是用于描述系统的行为是如何由系统的成分协作实现的图。
第一章知识点1 软件开发具有一下特点:a 软件规模大。
b 软件开发规模化并趋于标准化。
c 软件开发方法多,有大量的软件工具支持。
d 注重软件开发的管理。
e 软件维护相对过去容易2 软件的分类a 按软件的功能划分:系统软件、支撑软件、应用软件b 按软件的规模划分:微星软件、小型软件、中型软件、大型甚至超大型软件c 按软件工作方式划分:实时处理软件、分时软件、交互式软件、批处理软件3 软件是计算机系统中与硬件相互依存的另一部分,它包括程序、相关数据及其说明文档。
程序是按照是先设计的算法要求执行的指令序列;数据是程序能正常操作的信息;文档是与程序开发维护和是用有关的各种图文资料。
4 软件危机就是软件开发和维护过程中所遇到的一系列严重问题。
5 软件微机产生的原因主要有两个:一是与软件本身的特点有关,二是与软件开发和维护的方法不正确。
6 软件工程把软件的生产过程分为需求分析、系统分析、系统设计、功能设计、实现、测试、运行和维护等几个主要阶段。
7 软件工程的出现,降低了软件危机发生的可能性,但是软件危机是不可能完全消失的。
8 几个经典的软件开发模型:a瀑布模型 b渐增模型 c演化模型 d螺旋模型 e智能模型9 软件生存周期:一个软件产品从概念开始,经过开发、使用和维护,直到最后该软件更新换代为止的全过程。
10 面向对象技术以类为中心的封装、继承、多态性等特性不仅支持软件复用,而且使软件维护工作简单、可靠、有效,可实现软件系统的柔性制造。
11 具有相同特性和行为的对象归在一起就形成了类。
12 封装性是面向对象方法的一个重要原则和基本特性,其目的是有效地实现信息隐蔽和局部化。
封装是把相关的数据和对这些数据的操作结合在一起,组成一个独立的对象。
13 继承指子类可以自动拥有其父类的全部属性与操作。
14 消息是是先对象类之间的通信和任务传递。
15 消息通常由消息名、接收消息的对象标识名、调用操作名、输入信息、输出信息等组成、16 多态允许在多个类中定义同一个操作或属性名,并在每一个类中有不同的实现。
统一建模语言uml是一种面向对象的建模语言uml定义包括uml语义、uml表示法uml语义:描述基于uml的精确元模型定义uml表示法:定义uml符号的表示方法uml是一种建模语言,而不是一种方法,因为uml中没有过程的概念uml功能:为软件系统的产物建立可视化模型、规约软件系统的产物、构造软件系统的产物、为软件系统的产物建立文档uml词汇表包含:元素/关系/图元素有:结构元素/行为元素/分组元素/注释元素结构元素:类/接口/协作/用例/活动类/组件/节点行为元素:交互作用/状态机分组元素:包注释元素:注解关系有:依赖关系/关联关系/类属关系/实现关系结构建模图(类图/对象图/组件图/组合结构图/包图/部署图)行为建模图(用例图/活动图/状态图/顺序图/通信图/定时图/交互概览图)项目的3方支持:符号/过程/工具rup过程可以用二维结构描述:时间/过程组件rup将软件生命周期划分为4阶段:初始阶段/细化阶段/构造阶段/交付阶段rup过程使用迭代递增的开发过程核心支持工作流:项目管理/配置和变更管理/环境核心过程工作流:商业建模/需求分析/分析/设计/实现/测试/配置从uml模型生成代码的过程叫前向工程从代码生成uml模型的过程叫逆向工程OOA/OOD方法OOA步骤:识别问题域中的类和对象/确定结构/确定主题/定义属性/定义服务OOA5层模型:主题层/类和对象层/结构层/属性层/服务层OOD4个组件:人机交互组件/问题域组件/任务管理组件/数据管理组件OMT(对象模型技术) 过程:分析/系统设计/对象设计/编码/测试Booch方法宏过程:概念化/分析/设计/进化/维护微过程:在抽象层次上识别出类和对象/识别出这些类和对象的语义/识别出类间和对象间的关系/实现类和对象OOSE方法过程:分析阶段/构造阶段/测试阶段Fusion方法过程:分析阶段/设计阶段/实现阶段软件体系的5个视:用例视/设计视/互动视/实现视/部署视依赖关系的uml符号是带箭头的虚线类属关系的uml符号是带空心箭头的实线关联关系的uml符号是一条实线聚合关系的uml符号是带空心菱形头的实线组合关系的uml符号是带实心菱形头的实线实现关系的uml符号是带空心箭头的虚线uml的扩充机制:衍型/标记值/约束衍型扩充了uml的词汇表,使用户可以从已存在的模型元素中派生出新的模型元素标记值扩充了uml模型元素的属性,使用户可以在模型元素的规格说明中添加新信息约束扩充了uml模型元素的语义,使用户可以添加新规则或修改已存在的规则用例图用于需求分析阶段,用例图描述了用例、参与者以及它们之间的关系用例间的关系:类属关系/包含关系/扩充关系类图描述了类、接口、协作以及它们之间的关系,类图分为3个层次:概念层/说明层/实现层对象图:可以看作是类图的一个实例,对象是类的实例,对象之间的连接是类间关系的实例包图:用来对模型元素进行分组,可以用在任何uml图中,较多的用于用例图和类图中在用包对类进行分组时,遵循3个法则:将具有继承关系的类分到一个包里/将具有组合关系的类分到一个包里/将协作较多的类分到一个包里在用包对用例进行分组时,遵循:将有包含关系或扩充关系的用例放在一个包里交互作用图描述了对象间的交互作用,由对象、对象间的关系组成,并包含对象间传递的消息顺序图描述了消息的时间顺序,适用于描述实时系统和复杂脚本通信图描述了对象间的关系顺序图的两个特点:有对象生命线/有控制中心常用的控制有:可选执行opt/条件执行alt/并行执行par/循环执行loop通信图的两个特点:有路径/有序列号顺序图和通信图在语义上等价的,因此可以彼此转换而不会丢失信息,但这并不意味着两者显式地可视化了同样的信息交互作用图强调从对象到对象的控制流,活动图强调从活动到活动的控制流,它是一种特殊的状态机活动图主要包含:活动状态/动作状态/跃迁/对象跃迁被用来表示一个动作或活动状态传递到下一个动作或活动状态的路径,跃迁的uml符号是有向线段状态机图描述了特定对象的所有可能状态、状态间的跃迁以及引起状态跃迁的事件定义的状态有初始状态(一个)、最终状态(多个)、中间状态、复合状态组件图描述了组件及组件间的关系,表示了组件之间的组织和依赖关系,是用来为面向对象系统的物理实现建模的两种图之一组件图包含:组件、接口、依赖关系/类属关系/关联关系/实现关系部署图描述了节点和运行其上的组件的配置,是用来为面向对象系统的物理实现建模的两种图之一部署图包含:节点、依赖关系/关联关系数据库模型有:面向对象型、对象关系型、关系型数据模型层分类:概念数据模型、逻辑数据模型、物理数据模型。
2013年UML复习知识要点及考试范围1.什么是UML?用UML进行建模的目的是什么?UML的主要特点是什么?答:UML是对软件密集型系统中的制品进行可视化、详述、构造和文档化语言。
目的:1.使用模型可以更好地解决问题;2. 使用模型可以加强人员之间的沟通;3. 使用模型可以更早地发现错误或疏漏的地方;4. 使用模型可以获取设计结果;5. 模型为最后的代码生成提供依据。
特点:①统一的标准;②面向对象;③可视化、表示能力强大;④独立于过程;⑤概念明确,建模表示法简洁,图形结构清晰,容易掌握和使用。
2.UML中包含哪9种图?每种图的用途是什么?答:用例图(use case diagram)、顺序图(sequence diagram)、协作图(collaboration diagram)、类图(class diagram)、对象图(object diagram)、状态图(statechart diagram)、活动图(activity diagram)、构件图(component diagram)和部署图(deployment diagram)用途:1.用例图(use case diagram)是被称为参与者的外部用户所能观察到的系统功能的模型图,呈现了一些参与者和一些用例,以及它们之间的关系,主要用于对系统、子系统或类的功能行为进行建模。
2. 类图(class diagram)的目的是显示建模系统的类型,描述组成系统的对象内容与对象之间的关系。
3. 对象图(object diagram)显示某时刻对象和对象之间的关系。
一个对象图可看成一个类图的特殊用例,实例和类可在其中显示。
对象也和合作图相联系,合作图显示处于语境中的对象原型(类元角色)。
4. 组件图(component diagram)的主要目的是显示系统组件间的结构关系。
5. 序列图(sequence diagram)用于为使用方案的逻辑建模。
使用方案恰如其名称所揭示的那样--描述使用系统的潜在方法。
使用方案的逻辑可以是用例的一部分,可能是备选过程。
6.状态图(statechart diagram)用于检查、调试和描述类的动作行为。
7.活动图(activity diagram)用于对系统的工作流程建模,即迪对系统的业务过程建模,也可以对具体的操作建模,用于描述计算机过程的细节。
8.协作图(collaboration diagram)1. 通过描绘对象之间消息的传递情况来反映具体的使用语境的逻辑表达。
2. 显示对象及其交互关系的空间组织结构。
3. 协作图的另外一个作用是表现一个类操作的实现。
9.部署图(deployment diagram)用于帮助理解分布式系统。
3.什么是用例?什么是参与者?用例之间、参与者之间以及用例与参与者之间有分别什么关系?其表示符号是什么?根据需求分析要求能画出系统的用例图。
答:用例是对一个活动者使用系统的一项功能时所进行的交互过程的一个文字描述序列。
参与者(actor)是指系统一位的、需要使用系统或与系统交互的东西,包括人、设备、外部系统等。
4.什么是交互图?什么是顺序图和协作图?二者有何异同?顺序图和协作图中分别包含哪些建模元素?答:交互图(interaction diagram)是用来描述对象之间以及对象与参与者之间的动态协作关系以及协作过程中行为次序的图形文档。
顺序图(sequence diagram)是显示对象之间交互的图,这些图像是按时间顺序排列。
协作图(collaboration diagram)是用于描述系统行为是如何由系统的成分协作实现的图。
二者的区别:顺序图强调的是消息的时间顺序,而协作图强调的是参与交互的对象的组织。
顺序图中包括的建模元素有:对象(参与者实例也是对象)、生命线(lifeline)、控制焦点(focus of control,FOC)、消息(message)等协作图中包括的建模元素有对象(包括参与者实例、多对象、主动对象等)、消息、链等。
顺序图:协作图:5.怎么设计顺序图和协作图?会根据需求分析设计顺序图和协作图。
答:建立顺序图的步骤:①、确定交互过程的上下文(context);②、识别参与交互过程的对象;③、为每个对象设置生命线,即确定哪些对象存在于整个交互过程中,哪些对象在交互过程中被创建和撤销;④、从引发这个交互过程中的初始消息开始,在生命线之间自顶向下依次画出随后的各个消息;⑤、如果需要表示消息的嵌套,或/和表示消息发生时的时间点,则采用控制焦点;⑥、如果需要说明时间约束,则在消息旁边加上约束说明;(约束是UML的3中扩展机制之一。
)⑦、如果需要,可以为每个消息附上前置条件和后置条件。
建立协作图的步骤:①、确定交互过程的上下文(context);②、识别参与交互过程的对象;③、如果需要,为每个对象设置初始体征;④、确定对象之间的链(link),以及沿着链的消息;⑤、从引发这个交互过程中的初始消息开始,将随后的每个消息附到相应的链上;⑥、如果需要表示消息的嵌套,则用Dewey十进制数表示法;⑦、如果需要说明时间约束,则在消息旁边加上约束说明;⑧、如果需要,可以为每个消息附上前置条件和后置条件。
6.什么是类和类图?类之间的关系有哪几种?关联的命名方式?会判断类之间的各种关系。
会画类图。
答:类是具有相似结果、行为和关系的一组对象的描述符。
类图描述的是类与类之间的静态关系。
类之间的关系有:关联(association)、聚合(aggregation)和组合(composition)、泛化(generalization)、依赖(dependency)、派生属性(derived attribute)和派生关联(derived association)关联的命名方式是:自反关联(reflexive association)(也称递归关联(recursive association))、二元关联(binary association)、N 元关联(n-ary association)类图:7.一般可以把类图分为哪三个抽象层次?各有什么用途?答:①、概念层(conceptual);②、说明层(specification);③、实现层(implementation)。
概念层类图描述应用领域中的概念,一般这些概念和类有很自然的联系,但两者并没有直接的映射关系。
概念层类图应独立于具体的程序设计语言。
说明层类图描述软件的接口部分,而不是软件的实现部分。
这个接口可能因为实现环境、运行特性或者开发商的不同而有多种不同的实现。
实现层类图才真正考虑类的实现问题,提供类的现实细节。
8.类关联中聚集(aggregation)和组合(composition)两者之间有何区别?答:聚合和组合之间的一些区别:•聚合关系也称为“has-a”关系,组合关系也称“contains-a”。
•聚合关系表示事物的整体/部分关系的较弱的情况,组合关系表示事物的整体/部分关系的较强的情况。
•在聚合关系中,代表部分事物的对象可以属于多于聚集对象,可以为多个聚集对象所共享,而且可以随时改变它所从属的聚集对象。
代表部分事物的对象与代表聚集事物对象的生存期无关,一旦删除了它的一个聚集对象,不一定也就随即删除代表部分事物的对象。
在组合关系中,代表整体事物的对象负责创建和删除代表部分事物的对象,代表部分事物的对象只属于一个组合对象。
一旦删除了组合对象,也就随即删除了相应的代表部分事物的对象9.类和对象的关系?关联和链的关系?类和接口的关系?什么是版型?类的版型有哪几种?答:对象是类的实例。
对象之间的链是类之间的关联的实例。
接口是类的<<interface>>版型。
版型(stereotype)是UML的3种扩展机制之一。
版型是建模人员在已有的构造块上派生出的新构造块,这些构造块是和特定问题相关的。
类的版型有3种,即边界类(boundary class)、控制类(entity class)和实现类(control class)。
10.数据库设计可分为哪几个阶段?在Rose中数据库设计的步骤是什么?何谓对象模型转换为数据模型?何谓数据模型转换为对象模型?答:数据库设计主要涉及3个阶段,即概念设计、逻辑设计和物理设计。
在Rose中的设计步骤:(1)、创建数据库对象;(2)、创建模式(schema);(3)、创建域包(domain package)和域(domain);(4)、创建数据模型图(data modal diagram);(5)、创建表(table);(6)、创建列(column);(7)、创建关系(relationship);(8)、在必要的情况下对数据模型进行规范化,如从第二范式转变为第三范式;(9)、在必要的情况下对数据模型进行优化;(10)、实现数据模型。
所谓的对象模型转化为数据模型,就是把类装换为表,类与类之间装换为表与表之间的关系,或者也装换成表。
也就是,要装换的类要放在某个包中,然后把整个包中所谓所有类都装换过去。
所谓的数据模型向对象模型转换,就是把表装换为类,表与表之间的关系装换为类与类之间的关系。
11.什么是包?包和子系统有什么关系?设计包时应遵循什么原则?答:包用于组织模型中的相关元素以便更容易理解。
包和子系统关系为:耦合关系、依赖关系、泛化关系。
设计包应遵循的原则:(1)、重用等价原则(Reuse Equivalency Principle,PEP);(2)、共同闭包原则(Common Closure Principle,CCP);(3)、共同重用原则(Common Reuse Principle,CRP);(4)、非循环依赖原则(Acyclic Dependencies Principle,ADP)。
12.什么是活动图和状态图?二者有何异同点?分别适用于什么场合?掌握状态图和活动图中的基本概念?会根据需求描述画系统的状态图和活动图。
答:活动图是用于描述系统的工作流程和并发行为。
状态图是用于描述一个对象在其生存期间的动态行为,表现一个对象所经历的状态序列,引起状态转移的事件(event),以及因状态转移而伴随的动作(action)。
异同:(1)、两者描述的重点不同;(2)、两者使用的场合不同;(3)、如果显示多个对象之间的交互情况,用状态图或活动图都不适合,这时可用顺序图或协作图描述。
活动图适用于分析用例,或理解涉及多个用例的工作流程,或处理多线程应用等;状态图适用于显示一个对象在生命周期内的行为。
状态图的几个基本概念:状态你太(state)、组合状态(composite state)和子状态(substate)、历史状态(history state)、转移(transition)、事件(event)、动作(action);活动图的几个基本概念:活动(activity)、泳道(swimlane)、分支(branch)、分叉(fork)和汇合(join)对象流。