




已阅读5页,还剩41页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
面向对象分析与设计练习题(2017)夏军宝中国地质大学(北京)信息工程学院2017年8月I目录1上升到面向对象111填空题112选择题213简答题314延伸应用42可视化建模技术521填空题522选择题623简答题824延伸应用93业务建模1031填空题1032选择题1133简答题124用例建模1341填空题1342选择题1443简答题1744延伸应用175用例分析1951填空题1952选择题2153简答题2554延伸应用256面向对象设计原则2861填空题2862选择题2963延伸应用307面向对象的设计模式3071填空题3072选择题3173简答题328架构设计3381填空题33II82选择题3383简答题359构件设计3791填空题3792选择题3893简答题4094延伸应用4110从模型到代码43101填空题43102选择题4311上升到面向对象11填空题1对象是具有良好定义边界和的,封装了状态和的实体。2对象的通过属性和关系来表达,对象的通过操作、方法和状态机来表达。3类描述具有相同、关系和语义的一组对象的通用结构,对象是类的。4属性是类的,它描述了对应属性实例所有可能的取值范围。5是通过类的对象可以获得的服务。6一个对象通过请求另一个对象执行一个操作。7是区分当前实体与其它种类实体的本质特征。8通过设计、生产的软件,软件易于被使用而不用关心该软件是如何工作的细节,也被称为信息隐藏。9是指对象对其客户隐藏具体的实现,是软件模块化思想的体现。10通过封装对客户端隐藏实现,客户端只依赖于。11是一个封装了数据和行为的实体。12将数据和行为隐藏在一个公共接口之后。13是一般事物和一种更特殊的该类事物之间的关系。14通过关系,一个类可以共享另外一个或多个类的结构和行为。15是一个命名操作的集合,它刻画了一个类或构件的行为。16是在同一接口下表现出多种行为的能力。17面向对象技术基于概念,以对象为中心,以为构造机2制,充分利用提供灵活性,来认识、理解、刻划客观世界和设计、构建相应的软件系统。18是一种把面向对象的思想运用于软件开发过程,指导开发活动的系统方法,包括分析、设计和实现等活动。12选择题1一个设计得好的面向对象系统具有【】特征。A低内聚、低耦合B高内聚、低耦合C高内聚、高耦合D低内聚、高耦合2构成对象的两个主要因素是【】。A属性和行为B标识和内容C继承和多态D消息和封装3面向对象程序设计将描述事物的数据与【】封装在一起,作为一个相互依存、不可分割的整体来处理。A信息B数据隐藏C对数据的操作D数据抽象4采用面向对象技术开发的应用系统的特点是【】。A复用性更强B运行速度更快C占用存储量小D维护更复杂5以下描述中,不正确的是【】。A类是创建对象的模板B对象通过类分组C对象是类的特殊化D对象是类的实例6属性是类的【】。A实例B状态值C行为D命名特征7以下各项中,不属于面向对象编程语言的是【】。AUMLBJAVA3CCDSMALLTALK8关于面向对象方法的优点,下列叙述中不正确的是【】。A与人类习惯的思维方法比较一致B可重用性好C以数据操作为中心D可维护性好9不能表达对象行为的是【】。A状态机B操作C属性D方法10关于封装的说法中,不正确的是【】。A对象对客户隐藏具体的实现B封装禁止客户访问数据C客户只能通过接口访问数据D封装实现信息隐藏和数据抽象11泛化关系通过【】实现。A聚合B抽象C继承D封装13简答题1相对于面向对象编程模式,结构化编程存在那些缺点2简述面向对象技术的优势。3简述类和对象的关系。4简述面向对象技术的4个基本原则5简述对象技术、建模和UML之间的关系414延伸应用1根据下面的程序代码,绘制对应的类图CLASSSTUDENTPRIVATESTRINGNAMEPRIVATEINTAGEPRIVATESTRINGSPECIALITYPUBLICSTUDENTSTRINGSM,INTIA,STRINGSSNAMESMAGEIASPECIALITYSSPUBLICSTRINGGETNAMERETURNNAMEPUBLICINTGETAGERETURNAGEPUBLICSTRINGGETSPECIALITYRETURNSPECIALITY52可视化建模技术21填空题1是对现实世界的简化,是对某个事物的。2是可视化、描述、构造、文档化软件密集型系统各种工件的通用建模语言。3UML是一种,不是一种软件过程,也不是一种编程语言。4UML中的构造块包括物件、和。5UML有4种关系,分别是、依赖关系、和。6UML通过多个来描述一个系统,它们从不同视角表示系统的特性。7统一过程(UP)的主要特征包括、用例驱动的、和可视化建模。8RUP的4个阶段是初始、和移交。9过程化编程关注、和求解步骤。10通过模型生成代码称为,由代码生成模型称为。11图是UML模型的,展示物件的集合以及他们之间的关系。12UML中的分组物件是。13过程是一种轻量级、自适应过程,能够快速响应需求变更。14是将用户需求转化为软件系统所需的软件工程活动总集。每个活动需要定义由谁负责,什么时候开始,以及预期目标。15是一种“迭代及增量,用例驱动,以架构为中心和可视化建模”的软件过程框架。16UML包括基础结构和上层结构2个相对独立的部分,是UML的元模型,定义了面向建模用户的各种UML模型的语法、语义6和标识。17UML概念模型主要包括构造块、架构。18UML通用机制包括规格说明、修饰、通用划分、。19UML扩展机制包括、标记值、约束。22选择题1下面描述中【】不是使用软件模型的目的。A可以更好地理解问题B可以更早地发现错误或疏漏的地方C可以为最后代码的生成提供依据D在开发过程中使用面向对象方法2以下对UML的描述中,正确的是【】。AUML是一种软件过程方法BUML是一种面向对象分析和设计方法CUML是一种面向对象设计原则DUML是一种标准化建模语言3以下不属于建模目标的是【】。A可视化构建的系统B便于与客户沟通C提高系统性能D降低系统复杂度4以下关于模型的描述中,不正确的是【】。A不要试图建立完美的模型B往往需要为事物建立一个完美的模型C充分的模型能够反应事物的关键方面D模型没有正误之分,只有是否充分之分5以下不属于UML中统一的概念是【】。A应用于不同应用领域B与平台和语言无关C统一了编码规范D应用于不同软件过程与方法76不属于UML构造块的是【】。A通用机制B图C事物D关系7不属于UML行为物件的是【】。A交互B状态机C活动D接口8不属于UML通用机制的是【】。A规格说明B泛化C修饰D扩展机制9以下不属于统一过程(RUP)的特点是【】。A以架构为中心的B以用例为驱动C属于迭代和增量开发模型D一种结构化开发方法10不属于敏捷过程特征的是【】。A迭代性B自适应C过程化开发D轻量级11不属于统一过程生命周期4个阶段的是【】。A初始B精化C测试D移交12以下对瀑布模型的描述中,不正确的是【】。A瀑布模型是一种迭代式开发模型B瀑布模型排斥早期部署C瀑布模型排斥早期集成和测试D瀑布模型往往延迟对高风险方案的确认13以下对迭代式开发模型的描述中,不正确的是【】。A每次迭代都会有可部署软件发布B迭代开发模型提倡早期部署C每次迭代实质上是一个小型瀑布模型D迭代开发模型往往延迟对高风险方案的确认14不属于重量级软件过程特征的是【】。8A创建大量的过程工件B小的迭代周期和增量开发C精心制作、长期的、详细计划D自上而下的命令式作风15不属于统一过程“41”架构模型的是【】。A用例视图B逻辑视图C交互视图D部署视图16统一过程“41”架构模型中,描述软件结构的视图是【】。A用例视图B逻辑视图C交互视图D部署视图17UML4层元模型结构中,上层结构位于【】。A元元模型层M3B元模型层M2C模型层M1D运行时M018不属于UML模型中关系的是【】。A泛化关系B依赖关系C聚合关系D实现关系19UML中,不属于静态模型的图是【】。A构件图B类图C包图D用例图20UML中,不属于动态模型的图是【】。A部署图B顺序图C活动图D用例图23简答题1建模的4个目标。2简述UML中图和模型的关系和区别。3UML是一种高级编程语言的观点是否正确94简述UML统一的主要内容。6简述瀑布模型的主要风险。7简述统一过程的主要特点。8简述统一过程的4个阶段。9“要迭代开发、真是有道理。我决定在我们的项目组实施迭代开发,第一个迭代先做需求,第二个迭代做分析,第三个迭代做设计”这段话有什么问题10简述统一过程“41”架构模型中的5种视图24延伸应用1根据1中定义的类,为下面的代码绘制顺序图STUDENTS1NEWSTUDENT“ZHANG”,20,“COMUTERSCIENCE”S1GETAGES1GETSPECIALITY103业务建模31填空题1的目的是对现有业务进行建模。2业务建模的基本思想是使用软件建模技术来描述所涉及的对象和要素,以及它们的属性、行为和彼此关系。3业务模型包括和业务对象模型。4是说明业务预期功能的模型,由和业务参与者构成,主要目的是说明客户和合作伙伴是如何开展业务的。5代表了与业务有关的角色,此角色由业务环境中的人或物扮演。6展示了业务的外部视图,是对业务过程的抽象。7给出业务用例的内部视图,确定了如何组织和执行工作流来获得期望的结果。详8活动图是一种行为模型,用于对系统的动态方面进行建模,通过来组织,强调它们之间的控制流。9活动图中,使用表示决策点,使用说明并发控制流的分叉和汇合。10从业务人员内部的观点定义了业务用例。11活动是活动图的主体,代表了一个非原子的执行单元,活动由若干组成,它们是业务过程中的各种原子操作。12活动图中,动作依附于。13业务对象模型的核心元素包括业务工人、业务实体和业务用例实现,其中表示在业务内部承担一系列职责的人,表示业务内部使用或产生的可交付工件、资源和事件,现实了协作的业务工人和业务实体如何执行某个工作流程。14业务工人和业务参与者的主要区别是。1115在业务对象模型中,通过显示业务工人和业务实体之间的静态结构,活动图中的显示业务工人的职责,而用于显示如何在工作流中使用业务实体,描述业务工人和业务参与者之间的交互。32选择题1不可能成为业务参与者的是【】。A供应商B合作伙伴C客户D业务系统内的软件系统2以下关于业务参与者的说明中,不正确的是【】。A业务参与者只能由人类承担B每个业务参与者都代表了某个业务外的实体C每个人类业务参与者都代表了一个角色,与具体的某个人无关D每个业务参与者至少要涉及一个业务用例3活动图中,实心圆圈表示【】。A终点B活动C起点D动作4业务用例建模的过程不包括【】。A识别业务工人B识别业务参与者C识别业务参与者D描述业务用例5以下关于活动图中的决策点的叙述中,不正确的是【】。A决策点用菱形符号表示B1个决策点只能有1个进入的转移C决策点代表判定条件的活动D1个决策点可以有多个离开的转移6以下关于业务实体和业务工人的叙述中,正确的是【】。A业务工人位于业务外部B业务实体往往由人类承担C业务工人往往由人类承担D业务实体位于业务外部127活动图中,表示【】。A起点B活动C决策点D同步条8业务对象模型中,【】显示业务工人与业务实体之间的静态结构。A活动图B顺序图C类图D状态机图33简答题1简述业务用例模型的3个主要方面2简述业务对象模型的3个核心元素134用例建模41填空题1是用户可接受的、系统必须满足的条件或具备的能力。2在RUP中,需求包括功能性需求和可用性、可靠性、性能、可支持性及其它方面的非功能性需求,详细地描述系统必须有能力执行的动作,描述人为因素(易学性、易用性、审美学)和用户界面、用户文档、培训资料的一致性,主要包括故障的频率和严重性、输出结果精确性、故障平均时间、故障恢复能力和程序的可预见性,描述在功能性需求之上施加的条件,描述了可扩展性、适应性和耐用性等方面的能力。3包含了为待开发系统设定的目标和约束,代表了项目涉众之间达成的第一个共识,是项目核心需求的概览。4位于系统外部,是透过系统边界与系统进行有意义交互的任何事物。5是系统执行的一系列动作,这些动作将产生特定参与者可观测的有价值结果。6以图形方式建立参与者和用例关系。7是用来描述用例与外界交互的规格说明书,通过交互过程最终实现外界参与者的目的。81个用例可以有多个参与者,触发用例的参与者称为,其他参与者称为。9事件流描述用例的执行步骤,每个用例只能有个基本事件流,基本事件流又称为。10用例图包括用例、以及他们之间的。11参与者通过与系统进行交互。1412在用例图中,良好命名习惯非常重要,通常使用名词命名,而使用动宾结构命名。13在特定的时间点,一个用例只能被个参与者触发。14是允许参与者触发用例时必须满足的条件。15是约束用例执行完成后必须为真的条件。16描述参与者和系统交互的过程,是用例的核心内容。171个用例会存在多个独立的事件流,最核心的1个事件流称为,其他事件流称为。18是用例的一次执行,是按照特定条件执行事件流时的具体流程,1个用例只能有个基本场景。19由基本事件流构成的场景称为,包含的场景称为辅助场景。20用例的关系往往用于提取事件流中的公共步骤,以便复用。21用例的关系往往用于描述多个用例是某个通用用例的特殊化。22用例的关系提供了向现有用例中插入行为的机制。23在用例的扩展关系中,是指在基用例中定义的特定条件,扩展用例与其关联。42选择题1需求规格说明描述【】。A基于计算机系统的功能、性能和约束B每个子系统的实现C软件体系结构元素D系统使用说明2兼容性属于非功能性需求中的【】。A可靠性B可支持性C性能D可用性153以下不属于涉众的是【】。A投资人B竞争对手C用户D维护人员4不参与需求工作流的角色是【】。A系统分析师B架构师C测试人员D界面设计人员5不属于项目远景特征的是【】。A可测量的B可实现的C技术方案完备的D具体的6需求模型中不会出现的工件是【】。A交互图B用例模型C补充归约D术语表7下列事物中一般不是目标系统的外部参与者的是【】。A人B外部设备C外部系统D数据存储8关于参与者的说法中错误的是【】。A参与者是与目标系统交互的人或物B参与者可以是实际的人,也可以是外部设备、外部系统等C参与者是用例图的重要组成部分,因此它是目标系统的组成部分D参与者之间可以存在一定的关系9对某企业的工作流程进行建模,【】是最有效的。A交互图B活动图C状态图D类图10INNOVATION公司正在为ROSE开发插件,使得ROSE可以把OOA、OOD模型以各种图形格式导出,如JPEG格式、BMP格式、GIF格式等。在导出时,会根据不同的算法来生成相应的图形文件,这些算法很复杂。为了描述这些算法,在下面这些图中,那个是最适合的【】A活动图B状态图C类图D用例图1611【】是从用户使用系统的角度描述系统功能的图形表达方法。A类图B对象图C顺序图D用例图12表达用例和参与者关联关系的线条,不正确的是【】。A线条为实线,可以带箭头,也可以不带箭头B箭头表达数据流或业务流的方向C参与者和用例之间通常都是双向交换信息的D如果使用箭头,箭头由通信的主动方指向被动方13系统外部的参与者不包括【】。A人B外部设备C外部系统D由系统模拟其行为的人或物14用例建模不包括【】。A寻找参与者B确定系统边界C寻找分析类D寻找用例15寻找用例时,提取多个用例的公共步骤以便复用,可以使用【】关系。A扩展B泛化C实现D包含16用例模型中产出的工件不包括【】。A参与者B用例C类图D用例图17以下关于事件流的描述中,不恰当的是【】。A事件流之描述参与者可观测的流程,而不描述系统内部实现B事件流需要详细描述界面实现C事件流通常使用参与者或系统作为主语D事件流通常不使用被动语句18不属于用例之间的关系是【】。A泛化B实现C包含D扩展19关于用例场景的叙述中,错误的是【】。A1个用例可以有多个辅助场景17B1个用例只能有1个基本场景C基本场景中需要包含辅助场景D辅助场景往往描述分支、中断、异常情况20关于扩展关系的叙述中,错误的是【】。A基用例本身是相对完整的B扩展用例是独立存在的C扩展点位于基用例中D扩展关系在不改变基用例的情况下扩展其行为21关于包含关系的叙述中,错误的是【】。A包含用例往往只被1个基用例引用B包含关系往往出于对用例行为的复用C被包含用例是独立存在的D基用例在缺失被包含用例的情况下是不完整的43简答题1简述用例图中的主要内容。2简述用例之间的3种关系。3简述统一过程中FURPS代表的不同类型需求。4简述参与者和涉众的含义和区别44延伸应用1下面是一个邮件系统客户端的系统用例,分析其中的问题并改正182设计一个饮料自动售货机系统,其主要功能是向顾客出售饮料,同时供应商需要向其中放置饮料,收银员需要向其中放置零钱和收回营业收入。画出该系统的用例图。收件人发件人发邮件收邮件邮件系统提醒新邮件195用例分析51填空题1分析模型关注,而不关注具体实现和技术细节。2分析模型是建立在基础之上的,通常通过来组织分析模型。3分析模型包括2类主要模型,关注系统组成的静态结构,又称为结构模型;重点描述系统运行期间对象之间的交互过程。4分析模型包括和用例分析工作。5在系统分析的早期迭代中,架构分析主要确定系统的。6通过对象交互的方式描述了分析(设计)模型中指定的用例是如何实现的。7是表示问题域的抽象,是现实世界业务概念的直接映射。8常见的分析类包括、和控制类。介于系统界面和外部参与者之间,是业务领域的关键抽象,是用例行为的协调者。9类的关联关系、依赖关系及泛化关系中,按耦合程度,由高到低的排列顺序为、。10关系表达的是2个或多个类限定它们的实例如何连接的语义关系,描述的是类的结构关系。11表达1个类的实例所链接的另一个类实例的数量。多重性12描述了建模元素之间的一种关系,一个元素的改变将导致另一个元素的改变,描述的是非结构关系。13定义了1个类共享另1个或多个类的结构和行为的关系,定义了抽象的层级结构。14用例实现针对每个用例的,将用例行为分配到分析类中。2015通常在中建模分析类的交互与协作。16为分析类分配职责时,通常将涉及和参与者交互的行为分配给,将特定于用例的用于处理事件流的行为分配给。17常见的活动图包括和通信图。18顺序图和通信图是2种常见的交互图,强调对象按时序的交互行为,强调对象之间的协作。19当分析模型中的类非常多时,通过组织管理功能相似的分析类。20在分析模型中,包之间会存在关系。21边界类位于外部参与者和系统界面之间,通常为每个参与者对设计个边界类。22分析模型中,用户界面类关注的是,而不是界面实现细节。23在寻找候选实体的名词法中,往往通过寻找对象和候选实体类,通过寻找职责或行为。24表达的是“是一种”关系。25是隐藏单一接口背后不同实现的机制和封装技术。26面向对象系统中的行为都是通过对象间的来完成的。27绘制顺序图时,首先应加入,再依次加入边界对象、控制对象和。28MVC架构模式中,是模型与视图之间的联系纽带。29提供特定上下文中通用问题的解决方案,定义解决问题的普遍途径,往往提供解决方案的骨架。30在MVC架构模式中,用于表达对象内在属性的是,用于表达对象外在表现的是,具有和外界交互的功能。2152选择题1用例分析过程中,早期迭代应关注的内容不包括【】。A对系统架构有重要影响的部分B存在高风险的部分C核心业务的主要部分D容易解决的部分2下面【】可以描述一个用例中多个对象之间的相互协作关系以及协作过程的行为次序。A交互图B状态图C对象图D用例图3以下架构模式中,【】是一种典型的交互式软件模式,能够有效分离用户界面业务逻辑。AMVCB客户/服务器C管道和过滤器D黑板4【】是从内部结构的角度描述系统构成的图形表达方法。A类图B状态图C顺序图D用例图5下面模型图中【】能描述“一个雇员最多有一个经理,经理可能管理多个雇员,也可能不管理任何雇员”的含义。ABCD6根据下面的代码,可以确定类A与类B之间存在【】关系。PUBLICCLASSAPRIVATEBTHEBPUBLICVOIDAMETHODTHEBDOSOMTHINGA关联B泛化22C实现D依赖7表示UML中实现关系的是【】。ABCD8计算机(COMPUTER)由中央处理器、内存、软盘、硬盘、显示器、键盘、鼠标等组成。那么COMPUTER类和其它类(CPU、RAM、FLOPPYDRIVE、HARDDISK、MONITOR、KEYBOARD、MOUSE)之间的关系是【】。A泛化关系(GENERALIZATION)B实现关系(REALIZATION)C包含关系(INCLUSION)D聚合关系(AGGREGATION)9关于用例与类的对比中,【】是错误的。A都属于模型结构元素B都存在泛化关系C类描述系统的静态视图,用例描述系统动态的行为视图D类描述的是系统的内部构成,用例也可以描述系统的内部构成10在MVC架构模式中,具有和外界交互功能的是【】。A模型B控制器C视图D控制器和视图11以下正确表示关联多重性24的是【】。A24BC2,4D2412以下叙述中,错误的是【】。A类的命名通常为名词或名词短语B用例的命名通常为名词或名词短语C方法命名通常为动词或动词加名词形式D实体对象往往是领域问题中的重要名词13【】对系统的业务数据和业务逻辑进行封装。A控制对象B边界对象C实体对象D生命周期对象14在顺序图中,第一个消息往往由【】发出。23A边界对象B参与者C实体对象D生命周期对象15以下关系中,耦合性最高的关系是【】。A依赖关系B泛化关系C关联关系D聚合关系16类图中不包括【】。A类B接口C消息D关系17对下图的描述中,正确的是【】。ASHAPE是CIRCLE的基类BSHAPE实现了CIRCLE接口CCIRCLE请求了SHAPE接口方法DCIRCLE实现了SHAPE接口18对下图的描述中,错误的是【】。AIMAGEJAVA实现了IMAGEOBSERVER接口BIMAGEJAVA请求了IMAGEOBSERVER接口CCOMPONENTJAVA实现了IMAGEOBSERVER接口DIMAGEJAVA只能通过IMAGEOBSERVER接口访问COMPONENTJAVA19顺序图主要可以为设计人员提供【】信息。A消息发送的顺序B某个方法的执行流程C类之间关联关系的多重性D某个对象在不同状态之间的转移20以下关于分析模型的描述中,不正确的是【】。A分析模型关注系统做什么B分析模型不关注系统如何做的细节C分析模型独立于具体实现24D分析模型关注系统运行平台和开发语言21不是分析建模产出工件的是【】。A用例实现B用例C分析类D顺序图22以下关于寻找候选分析类的描述中,不正确的是【】。A1个类的职责应该单一B类和方法的命名应该清楚一致C确定分析类的完整属性和方法D保持分析类的简单23以下关系中,【】表达的是一种非结构性关系。A关联关系B依赖关系C聚合关系D组合关系24多态往往是基于【】实现的。A关联关系B依赖关系C聚合关系D泛化关系25【】描述了类之间的层级结构。A泛化关系B依赖关系C实现关系D关联关系26【】封装系统与参与者之间的信息输入输出。A控制对象B边界对象C实体对象D生命周期对象27顺序图中不包括【】。A对象B生命线C消息D属性28根据下面的代码,可以确定类A与类B之间不是【】关系。PUBLICCLASSAPRIVATEBTHEBPUBLICVOIDAMETHODTHEBDOSOMTHING25A关联B组合C聚合D依赖53简答题1简述用例模型和分析模型的关系。2简述3种分析类的概念与职责。3在分析建模的名词法中,识别的名词和动词往往意味着什么4比较依赖和关联的区别。5在泛化关系中,子类继承了父类的哪些内容。6简述顺序图和通信图的关系和区别。7简述类图和交互图在面向对象分析模型中的作用。54延伸应用1根据下面的代码,绘制包含类A和类B的类图。PUBLICCLASSBPRIVATEINTPAPROTECTINTPBPUBLICVOIDDOSOMETHINGPUBLICCLASSAPRIVATEBTHEBPUBLICDOUBLEPCPUBLICVOIDDOSOMETHINGTHEBDOSOMTHING262以下类图中的类关系是否正确若不正确,说明理由并改正。飞机由机翼、机身、驾驶舱构成,3以下类图中的类关系是否正确若不正确,说明理由并改正。公司的员工很多,包括程序员、分析员、项目经理4根据下面的JAVA代码,绘制包含APPLET、GRAPHICS、HELLOWORLD及其关系的类图。IMPORTJAVAAPPLETAPPLETIMPORTJAVAAWTGRAPHICSPUBLICCLASSHELLOWORLDEXTENDSAPPLETPUBLICVOIDPAINTGRAPHICSGGDRAWSTRING“HELLOWORLD“,50,255考虑一个应用于手机的“电话簿管理系统”,电话簿包含若干电话记录,每个电话记录包括姓名、手机电话、家庭电话、邮箱4项内容。对电话簿系统要求的操作包括查看电话簿、查找电话、添加电话记录、删除电话记录、拨打电话,拨打电话功能需要使用电信网关的服务。要求系统通过图形用户界面操作电话簿,添加电话记录时,创建电话记录对象,通过图形界面输入属性后保存到对象中。请回答下面问题1绘制系统的用例图。2如果要求在电话簿中不允许有姓名相同的电话记录,请写出“添加电话记录”功能的事件流描述(包括备选事件流)。机翼机身驾驶舱飞机273经过初步分析,找到如下类,请用类图描述类之间的关系。电话簿(PHONES)、电话记录(PHONE)、界面(USERUI)4为2中的基本事件流绘制顺序图。286面向对象设计原则61填空题1是指导面向对象设计的基本思想,是评价面向对象设计的价值体系,也是构造高质量软件的出发点。2里氏替换原则若对于类型S的任一对象O1,均有类型T的对象O2存在,使得在使用T的所有程序P中,用O1替换O2之后,程序的行为不变,则S是T的。3里氏替换原则建议,在可能的情况下,尽量通过类继承子类。4里氏替换原则表明,子类型不能添加任何基类型没有的。5开放封闭原则指出,软件模块对是开放的,对是封闭的。6实现开放封闭原则的核心思想是。7原则指出,对一个类而言,应该仅有一个引起它变化的原因。8原则指出,仅给客户提供他们所需的接口,而避免接口污染。9依赖倒置原则指出,高层模块不应依赖于低层模块,二者都应该依赖于抽象;应针对编程。10依赖倒置原则的核心思想是。11依赖倒置原则指出,所有依赖关系都应该终止于抽象类或,不要从派生子类。12依赖倒置原则的基本方法就是遵循的编程方法。13里氏替换原则建议,在构建类的层次结构时,尽量将集中在上层的抽象类中,而将集中在下层的具体类中。14原则体现了内聚性。2962选择题1不属于面向对象设计原则的是【】。A单一职责B开放封闭C设计模式D依赖倒置2单一职责原则指出【】。A每个类只能拥有1个方法B每个类仅有一个引起它变化的原因C类不能拥有私有方法D类的职责一旦确定后便不能修改3符合依赖倒置原则的是【】。A针对实现编程B高层模块依赖低层模块C低层模块依赖高层模块D针对接口编程4提出“仅给客户提供他们所需的接口”的原则是【】。A单一职责B里氏替换C接口隔离D依赖倒置5在开放封闭原则中,开放指的是【】。A可以扩展软件实体的功能B可以修改软件实体的源代码C将类的访问权限尽量定义为PUBLICD尽量复用现有的软件组件或源代码6好的设计具有一组特征,不属于这组特征的是【】。A容易理解B容易扩展和修改C容易复用D运行速度快7不属于不良设计特征的是【】。A代码难以修改B不必要的复杂性C类数量多D代码难以移植复用8不符合依赖倒置原则的描述是【】。30A高层模块和低层模块都依赖于抽象B针对接口编程C高层模块依赖低层模块D细节依赖于抽象63延伸应用1下面类图中,接口SERVICE中定义了三个方法。其中CLIENTA只使用METHODA方法,CLIENTB只使用METHODB方法,CLIENTC只使用METHODC方法。根据接口分离原则重新设计该类图。7面向对象的设计模式71填空题1模式的核心内容包括背景、问题和。2模式适用于操作中包含大量多分支结构,并且这些分支依赖于对象的状态值。3是对软件设计中普遍出现的一类问题的解决方案,这种解决方案定义明确、文档充分、并经历时间考验。4模式定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。5策略模式中,通过关系封装易变的行为。316模式将一个类的接口,转换成客户期望的另一个接口,让原本接口不兼容的类可以合作无间。7模式在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中实现,使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。8设计模式是为了让软件更加适应变化,有更多的。9在扩展和封装功能时,良好的设计建议多用组合,而少用。10迪米特准则的核心思想是要求一个类尽量只和它的交互,避免和间接对象交互,减少系统耦合度。11设计模式最根本的意图就是。72选择题1【】可以帮助人们简单方便地复用已经成功的设计或体系结构。A商业组件B逆向工程C设计模式D需求规格说明2以下关于设计模式的描述中,错误的是【】。A设计模式从优秀设计方案中发现和总结出来的经验B设计模式是一种框架C设计模式是针对特定问题的解决方案D是复用成功软件设计的有效途径3设计模式不包括【】。A描述普遍的设计问题B描述针对问题的解决方案C讨论解决方案的结果,以及应用方案的问题和建议D针对特定问题的代码框架4以下叙述中,不符合设计模式思想的是【】。A封装变化和复杂性B针对实现编程C优先使用聚合,而不是继承32D依赖于抽象5实现接口转换的设计模式是【】。A策略模式B单件模式C适配器模式D模板方法模式6迪米特法则要求对象不能向【】发送消息。A对象自身B传参的对象C属性的成员对象D方法内创建的对象7定义可替换算法族并封装算法变化的设计模式是【】。A策略模式B工厂模式C适配器模式D模板方法模式8以下关于代码复用的叙述中,不正确的是【】。A继承反映的是类间的“ISA”关系B类间继承关系在运行期间可以动态修改C聚合反映的是类间的“HASA”关系D派生类和基类之间的耦合性非常强73简答题1简述设计模式的基本要素。2比较设计模式和框架的区别。3设计模式如何应对需求变化338架构设计81填空题1软件设计完成的工作包括描述系统如何分解和组织构件构件的,描述构件间的,描述构件的实现细节。2是一个系统的组织结构,包括系统分解成的各个部分、它们的连接性、交互机制和指导系统设计的相关规则。3是对建模元素分组管理的一种通用机制。4通常使用描述软件的高层架构。5是指系统在运行期间的组织结构。6显示系统运行时刻的实现结构,描述硬件的拓扑结构以及在此结构上执行的系统软件。7是运行时表示计算资源的物理元素,通常情况下,节点至少包括内存和处理能力,它们之间通过互联。8反映了类、子系统等设计元素的物理存在形式,用来对各种文件进行建模。9部署是一种特殊的,表示工件被部署到目标上。10部署规范是一种特殊的工件,主要用于配置工件的。82选择题1内聚表示一个模块【】的程度。A可以被更加细化B能够适时地完成其功能C仅关注在一件事情上D联接其他模块和外部世界2耦合表示一个模块【】的程度。A可以被更加细化34B能够适时地完成其功能C仅关注在一件事情上D联接其他模块和外部世界3描述系统架构的建模元素不包括【】。A类B包C子系统D包间的依赖关系4系统设计不包括【】。A描述系统的体系结构B描述构件间的接口C描述构件D寻找参与者5设计模型的工件不包括【】。A子系统B接口C类D用例6不属于分层架构模式动机的是【】。A增加复用性B定义不同抽象级别C分离关注点D增强弹性7划分子系统的好处不包括【】。A子系统可独立部署、发布B子系统可独立开发,只要其接口保持不变C子系统代码可以共享D子系统可独立修改,而不会影响其他部分8只能通过子系统的【】访问其行为。A类B用例C模块D接口9UML中,对建模元素进行分组管理的构件不包括【】。A子系统B组件C包D模型10UML中,包之间主要存在的关系是【】。35A泛化关系B依赖关系C关联关系D实现关系11【】提供了重用成功设计的机制。AA设计模式B框架C类库D实现关系12以下关于包的依赖性叙述中,不正确的是【】。A包不应该交叉或循环依赖B低层的包不应依赖高层的包C1个包应只依赖同一层或下一层的包,应避免跨层依赖D1个包最多只能依赖1个不同的包13对于,叙述错误的是【】。AA包引用B包中的元素BB包的修改将影响A包CA包不能独立复用DA包和B包均不能独立复用14【】是用于表示构成分布式系统的节点集和节点之间的联系的图示,它可以表示系统中软件和硬件的物理架构。A组件图B协作图C状态图D部署图15包含系统运行时硬件拓扑结构的图是【】。A结构图B活动图C部署图D顺序图16以下各项中,不能作为工件的是【】。A用例B动态链接库C网站首页代码D可执行程序83简答题1简述软件设计的主要工作。AB362简述架构设计的主要方面3简述时间和信号的概念4简述设计模型的主要产出工件。5子系统有哪些特点6比较包和子系统的区别。379构件设计91填空题1在UML中,方法和属性的可见性有3种,PUBLIC可见性用表示,用表示,PROTECTED用表示。2在类图中,方法和属性的范围有2种,被所有类实例所共享,仅为类的当前实例所有。3描述活动对象的生命周期状态,是由状态(STATE)通过转移(TRANSITIONS)连接而成的有向图。4UML的状态机中使用活动和动作描述行为,通常和状态相关,和转移相关。5状态机中,导致状态转移。6类关系中,是一种非结构性关系。7聚合是一种强的关联关系,类的对象之间形成关系。整体部分8是一种强的聚合关系,整体绝对拥有部分并具有一致的生命期,部分不能脱离整体而独立存在。9类不能实例化对象。10表示的是“是一种”关系。11交互图中的不能发送消息。12在分析类中,主要捕获系统所需要的,而在设计类中需要详细描述类的实现细节,定义类的完整属性和方法集,其中需要描述属性的名称、以及一些默认值。13常用的描述行为的UML图有活动图和状态机图,常用于用例建模,用于描述单个对象。14是一种结构性关系,是一种非结构性关系。15聚合关系和组合关系都是一种关系,其中关系38的语义约束更强,部分脱离整体后不能独立存在。16是彻底封装了行为,提供具有清晰接口定义的独立功能。17相对于子系统,包不提供,不完全实现封装。18包和子系统都是组织和封装建模元素的机制,相对而言,完全封装了实现细节,更容易替换,只能通过接口实现访问。19表示系统中的一个模块,它封装了其他设计元素,并通过声明对外的,实现可替换性。20一组相关的供接口和需接口组成一个,表示构件与外界的一个交互点。21数据模型的核心概念包括、属性和关系,采用进行建模。92选择题1状态图中不能表示的概念有【】。A动作B类C转移D事件2在一个课程注册系统中,定义了类COURSESCHEDULE和类COURSE,其中类COURSESCHEDULE中定义了方法ADDCCOURSE和方法REMOVECCOURSE,但没有定义COURSE成员,则这两个类之间的关系是【】。A泛化关系B组合关系C依赖关系D包含关系3在类图中,那个类图中的类ORDER所生成的代码具有PUBLICCLASSORDERPUBLICCUSTOMERRECIPIENT的形式【】39ABCD4【】是表达系统类及其相互联系的图示,它是面向对象设计的核心,建立状态图、协作图和其他图的基础。A对象图B组件图C类图D配置图5继承反映了类间的一种层次关系,而【】反映了一种整体与部分的关系。A继承B组合C封装D多态6多态性出现在具有【】结构的类之间。A
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025注册验船师资格考试(A级船舶检验专业能力)模拟试题及答案二
- 2025年注册验船师资格考试(B级船舶检验法律法规)综合试题及答案一
- 2025年项目经理IT行业面试模拟题及答案详解
- 2025年注册验船师资格考试(A级船舶检验专业案例分析)测试题及答案一
- 2025年注册验船师资格考试(B级船舶检验专业基础安全)练习题及答案一
- 2025年公需科目人工智能和健康考试题和答案
- 海安银行考试题库及答案
- 2025年检察院审查起诉官选聘预测试题与解析
- 2025年软件编程工程师招聘面试模拟题及答案详解
- 株洲知识培训班课件
- 放射人员辐射安全培训课件
- 社会稳定风险评估 投标方案(技术标)
- 护士长科室预算管理报告
- 第二章 挂面生产技术
- 全厂失电应急预案
- 2023-2024学年七年级数学上册专题2.7 数轴与动点的四大经典题型(浙教版)(解析版)
- 服务器存储网络设备巡检报告
- 河北2023年邯郸银行内部审计人员招聘考试参考题库含答案详解
- 世界范围内社区支持农业CSA(下)
- 急性缺血性脑卒中溶栓治疗
- NB∕T 10209-2019 风电场工程道路设计规范
评论
0/150
提交评论