第一章面向对象设计与UML简答题(1)试述对象和类的关系答:类是具有相同或相似结构、操作和约束规则的对象组成的集合,而对象是某一类的具体化实例,每一个类都是具有某些共同特征的对象的抽象。类与对象的关系就如模具和铸件的关系,类的实例化结果就是对象,而对一类对象的抽象就是类.类描述了一组有相同特性和相同行为的对象。(2)请简要叙述面向对象的概念答:面向对象技术是一种以对象为基础,以事件或信息来驱动对象执行处理的程序设计技术。从程序设计方法上来讲,它是一种自下而上的程序设计方法,它不像面向过程程序设计那样一开始就需要使用一个主函数来概括出整个程序,面向对象程序设计往往从问题的一部分着手,一点一点地构建出整个程序。(3)请简述面向对象设计的原则有哪些。(4)软件开发的模式有几种?它们的优缺点各是什么?答:瀑布模型、喷泉模型、基于组件的开发模型、XP开发模型瀑布模型—优点:提供了软件开发的基本框架;有利于软件开发过程中人员的组织与管理;缺点:1、只有在项目生命周期的后期才能看到结果;2、通过过多的强制完成日期和里程碑来跟踪各个项目阶段;3、在软件需求分析阶段,要完全地确定系统用户的所有需求是一件比较困难的事情,甚至可以说完全确定是不太可能的。瀑布模型—优点:可以提高软件项目的发开效率,节省开发时间,适应于面向对象的软件开发过程。缺点:在开发过程中需要大量的开发人员,不利于项目的管理;该模型要求严格管理文档,使得审核的难度加大,尤其是面对可能随时加入的各种信息、需求与资料的情况。基于组件的开发模型—优点:构件组装模型导致了软件的复用,提高了软件开发的效率。缺点:由于采用自定义的组装结果标准,缺乏通用的组装结构标准,因而引入了较大的风险,可重用性和软件高效性不易协调,需要精干的有经验的分析和开发人员,一般开发人员插不上手。XP开发模型—优点:1、采用简单计划策略,不需要长期计划和复杂模型,开发周期短;2、在全过程中采用迭代增量开发、反馈修正和反复测试的方法,软件质量有保证;3、能够适应用户经常变化的需求,提供用户满意的高质量软件。第二章UML通用知识点综述简答题(1)在UML中面向对象的事物有哪几种?在UML中,定义了四种基本的面向对象的事物,分别是结构事物、行为事物、分组事物和注释事物等。(2)请说出构件的种类。构件种类有:源代码构件、二进制构件和可执行构件。(3)请说出试图有哪些种类。在UML中主要包括的视图为静态视图、用例视图、交互视图、实现视图、状态机视图、活动视图、部署视图和模型管理视图。(4)请说出视图和图的关系。视图和图是包含和被包含的关系。在每一种视图中都包含一种或多种图。(5)请简述UML的通用机制。UML提供了一些通用的公共机制,使用这些通用的公共机制(通用机制)能够使UML在各种图中添加适当的描述信息,从而完善UML的语义表达。通常,使用模型元素的基本功能不能够完善的表达所要描述的实际信息,这些通用机制可以有效地帮助表达,帮助我们进行有效的UML建模。UML提供的这些通用机制,贯穿于整个建模过程的方方面面。前面我们提到,UML的通用机制包括规格说明、修饰和通用划分三个方面。第三章Rational统一过程简答题(1)请描述迭代过程有几个阶段。初始阶段、细化阶段、构造阶段和移交阶段。(2)Rational统一过程以一种能够被大多数项目和开发组织都适用的形式建立起来,其所包含的六项最佳时间指的是什么?迭代式软件开发、需求管理、基于构件的架构应用、建立可视化的软件模型、软件质量验证和软件变更控制。(3)在Rational统一过程的开发流程中,分别使用哪几种最主要的建模元素来进行表达?在Rational统一过程的开发流程中,分别使用角色、活动、产物和工作流四种建模元素来进行表达。(4)对于一个以架构为中心的开发组织,需要对架构的那些方面进行关注?对于一个以架构为中心的开发组织,需要对架构的目的、架构的表示和架构的过程进行关注。(5)简要说明什么事Rational统一过程Rational统一过程是Rational软件开发公司的一款软件产品,并且和Rational软件开发公司开发的一系列软件开发工具进行了紧密的集成。Rational统一过程拥有自己的一套架构,并且这套架构是以一种大多数项目和开发组织都能够接受的形式存在的。它提供了如何对软件开发组织进行管理的方式,并且拥有自己的目标和方法。(6)试述实现Rational统一过程的步骤实现Rational统一过程的步骤:评估当前状态、建立明确目标、识别过程风险、计划过程实现、执行过程实现和评价过程实现。(7)Rational统一过程对现代软件开发的发展起到了什么作用?Rational统一过程作为一种软件工程过程为开发组织提供了如何在开发过程中如何对软件开发的任务进行严格分配、如何对参与开发的人员职责进行严格的划分等方法。按照预先制定的计划,这些计划包括项目时间计划和经费预算,开发出高质量的软件产品,并且能够满足最终用户的要求。Rational统一过程提供了一种以可预测的循环方式进行软件开发的过程、一个用来确保生产高质量软件的系统产品、一套能够被灵活改造和扩展的过程框架和许多软件开发最佳实践,这些都使Rational统一过程对现代软件工程的发展产生了深远的影响。第六章用例图.简答题(1)试述识别用例的方法。识别用例的最好方法就是从分析系统参与者开始,在这个过程中往往会发现新的参与者。当找到参与者之后,我们就可以根据参与者来确定系统的用例,主要是看各参与者如何使用系统,需要系统提供什么样的服务。对于这个被选出的用例模型,不仅要做到易于理解,还要做到不同的涉众对于它的理解是一致的(2)用例之间的三种关系各使用在什么场合。我们可以在用例之间抽象出包含、扩展和泛化这三种关系。多个用例用到同一段的行为,则可以把这段共同的行为单独抽象成为一个用例,然后让其他用例来包含这一用例。扩展关系往往被用来处理异常或者构建灵活的系统框架。使用扩展关系可以降低系统的复杂度,有利于系统的扩展,提高系统的性能。扩展关系还可以用于处理基础用例中的那些不易描述的问题,使系统显得更加清晰易于理解。当您发现系统中有两个或者多个用例在行为、结构和目的方面存在共性时,就可以使用泛化关系。这时,可以用一个新的(通常也是抽象的)用例来描述这些共有部分,这个新的用例就是父用例。(3)请问在设计系统时,绘制的用例图是多一些好还是少一些好,为什么。视系统的复杂度决定。对于比较简单的系统,可以相对用的少些用例图,对于比较复杂的系统,为表示清楚系统功能必须多创建用例图。我们应该根据每个系统的具体情况,具体问题具体分析,在尽可能保证整个用例模型的易理解性前提下决定用例的大小和数目。(4)请简述为何在系统设计时要使用用例图。它对我们有什么帮助?用例图是从软件需求分析到最终实现的第一步,它显示了系统的用户和用户希望提供的功能,有利于用户和软件开发人员之间的沟通。借助于用例图,系统用户、系统分析人员、系统设计人员、领域专家能够以可视化的方式对问题进行探讨,减少了大量交流上的障碍,便于对问题达成共识。(5)使用Rose创建用例图有几个步骤?使用Rose创建用例图的步骤:识别参与者、创建用例,最后创建用例之间的关系。第七章类图与对象图简答题(1)类图的组成元素有哪些?类图是由类,接口,以及它们之间的关系组成的。类的组成元素有类的名称、类的属性、类的操作、类的职责、类的约束和类的注释。(2)对象图有哪些组成部分?对象图是由对象和链组成的。(3)为什么要使用类图和对象图?在面向对象分析方法中,类和对象的图形表示法是关键的建模技术之一。它们能够有效的对业务领域和软件系统建立可视化的对象模型,使用强大的表达能力来表示出面向对象模型的主要概念。UML中的类图和对象图显示了系统的静态结构,其中的类、对象是图形元素的基础。(4)请简要说明类图和对象图的关系和异同。在类中包含三个部分,分别是类名、类的属性和类的操作。类的名称栏只包含类名。类的属性栏定义了所有属性的特征。类中列出了操作类中使用了关联连接,关联中使用名称、角色以及约束等特征定义。类是一类的对象的抽象,类不存在多重性。对象包含两个部分:对象的名称和对象的属性。对象的名称栏包含“对象名:类名”。对象的属性栏定义了属性的当前值。对象图中不包含操作内容,因为对属于同一个类的对象,其操作是相同的。对象使用链进行连接,链中包含名称、角色。对象可以具有多重性。第八章序列图简答题(1)请简述序列图的用途。序列图的用途包括:确认和丰富一个使用语境的逻辑表达。细化用例的表达。有效地描述如何分配各个类的职责以及各类具有相应职责的原因。(2)请简述序列图的创建步骤。确定序列对象。创建对象。创建生命线。创建消息。销毁对象。(3)为什么要在项目开发中使用序列图,它有何种作用?序列图显示不同的业务对象如何交互,对于交流当前业务如何进行很有用。除记录组织的当前事件外,一个业务级的序列图能被当作一个需求文件使用,为实现一个未来系统传递需求。在项目的需求阶段,分析师能通过提供一个更加正式层次的表达,把用例带入下一层次。那种情况下,用例常常被细化为一个或者更多的序列图。组织的技术人员也能通过序列图在记录一个未来系统的行为应该如何表现。在设计阶段,架构师和开发者能使用该图,挖掘出系统对象间的交互,这样充实整个系统设计(4)请说明序列图中销毁对象的方法。销毁对象表示对象生命线的结束,在对象生命线中使用一个“X”来进行标识。给对象生命线中添加销毁标记的步骤如下:在序列图的图形编辑工具栏中选择按钮,此时的光标变为“+”符号。单击欲销毁对象的生命线,此时该标记在对象生命线中标识。该对象生命线自销毁标记以下的部分消失。第九章协作图简答题(1)请简述为什么要使用协作图。协作图的作用:通过描绘对象之间消息的传递情况来反映具体的使用语境的逻辑表达。显示对象及其交互关系的空间组织结构。协作图的另外一个作用是表现一个类操作的实现。(2)请说出构成协作图的元素和它们各自的作用。对象、消息和链,这三个元素构成了协作图。对象的角色表示一个或一组对象在完成目标的过程中所应起的那部分作用。通过一系列的消息来描述系统的动态行为。链是两个或多个对象之间的独立连接,是关联的实例。(3)请说出协作图中消息的种类以及分别使用在哪种场合。协作图中消息的种类有同步消息和异步消息。同步消息用于系统中使用多线程的场合。异步消息用于使用有并行的活动如消息队列的场合。(4)请说明顺序图和协作图的异同。协作图和序列图都是交互图,它们既是等价的,又有所区别。顺序图表示了时间消息序列,但没有表示静态对象关系。顺序图可以有效的帮助我们观察系统的顺序行为。而协作图用于表示一个协同中的对象之间的关系和消息以及描述一个操作或分类符的实现。在对系统进行行为建模时,通常做法是用顺序图按时间顺序对控制流建模,用协作图按对象组织对控制流建模。第十章活动图简答题(1)试述活动图在软件系统开发中起到的作用活动图描述一个操作执行过程中所完成的工作,它对活动图对用例描述尤其有用,它可建模用例的工作流,显示用例内部和用例之间的路径。活动图可以说明用例的实例是如何执行动作以及如何改变对象状态。它显示如何执行一组相关的动作,以及这些动作如何影响它们周围的对象。活动图对理解业务处理过程十分有用。(2)请说出活动图是由哪些基本元素组成的。UML活动图中包含的图形元素有:动作状态、活动状态、组合状态、分叉与结合、分支与合并、泳道、对象流。(3)请简要说出分叉和分支的区别。分叉用来表示将一个控制流分成两个或者多个并发运行的分支,分叉具有一个输入转换,两个或者多个输出转换,每个转换都可以是独立的控制流。分支是转换的一部分,它将转换路径分成多个部分,每一部分都有单独的监护条件和不同的结果。当动作流遇到分支时,会根据监护条件(布尔值)的真假来判定动作的流向。分支的每个路径的监护条件应该是互斥的,这样可以保证只有一条路径的转换被激发。(4)请简要阐述活动状态和动作状态的异同点。动作状态是原子性的动作或操作的执行状态,它不能被外部事