软件工程测试题及答案

合集下载

软件工程试题及答案解析

软件工程试题及答案解析
8. UML 的图形化工具分为两类:行为图和()
A.结构图 B.状态图 C.部署图 D.用况图 ABCD 正确答案: A
9. 根据 RUP 实现活动,输入为设计类和接口,活动为实现类,则输出为()
A.构件 B.用况 C.接口 D.子系统 ABCD 正确答案: A
10. 下列软件测试技术中,依据软件行为描述的是()
RUP 的设计模型是 RUP 设计的主要结果,它尽量保持该系统具有分析模型的结抅,并作为 系统实现的输入。它包括以下元素: (1)设计子系统和服务子系统,以及它们的依赖、接口和内容; (2)设计类,以及它们具有的操作、属性、关系及其实现需求; (3)用况细化; (4)体系结构描述;
37. 简述因果图方法生成测试用例的基本步骤。 正确答案: (1)通过对软件规格说明书的分折,找出一个模块的原因和结果,并给每个原因和结果赋予 一个标识符; (2)分析原因与结果之间以及原因与原因之间对应的关系,并画出出因果图; (3)在因果图上标识出一些特定的约束或限制条件; (4)把因果图转换成判定表; (5)为判定表的每一列设计测试用例。
22.关联一端的类目对另一端的类目的一种呈现,称为____________。 正确答案: 角色
23. RUP 采用_________技术来获取需求。 正确答案: Use Case( 或用例、用况)
24. 由于软件错误的复杂性,在软件工程测试中,应综合运用测试技术,并且应实施合理的测试 序列:单元测试、___________、有效性测试和系统测试。 正确答案: 集成测试(或组装测试)
12.单元测试期间,通常考虑模块的() A.错误执行路径 B.正确执行路径 C.有判定语句的执行路径 D.全部执行路径 ABCD 正确答案: A
13. 软件基本过程是指那些与软件生产直接相关的活动集,可分为获取过程、供应过程、运行过

软件工程试卷及参考答案

软件工程试卷及参考答案

试卷(一)一、单项选择题1、在结构化设计(SD)方法中全面指导模块划分的最重要的原则是( )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、只有单重继承的类层次结构是( )层次结构。

A、网状型B、星型C、树型D、环型8、下列属于维护阶段的文档是( )A、软件规格说明B、用户操作手册C、软件问题报告D、软件测试分析报告9、不适合作为科学工程计算的语言是( )A、PascalB、CC、FortranD、 Prolog10、研究开发所需要的成本和资源是属于可行性研究中的( )研究的一方面。

A. 技术可行性B. 经济可行性C. 社会可行性D. 法律可行性11、中级结构性成本模型COCOMO是一个( )A、静态单变量模型B、动态单变量模型C、静态多变量模型D、动态多变量模型12、PAD图为()提供了有力的工具。

A、系统分析B、软件的自动化生成C、自动分析数据D、测试软件13、下列关于JSP方法不正确的说法是( )A、JSP方法主要用于规模不大的数据处理系统B、JSP方法不明确的划分软件概要设计和详细设计的两个阶段C、JSP方法适用于输入数据和输出数据之间有对应关系的问题求解D、JSP方法根据输入、输出的数据结构,按一定的规则映射成软件的体系结构。

因此它只适用于详细设计阶段14、在详细设计阶段,经常采用的工具有()A、PADB、SAC、SCD、DFD15、确认软件的功能是否与需求规格说明书中所要求的功能相符的测试属于()A、集成测试B、恢复测试C、验收测试D、单元测试16、盒图(N-S图)为()提供了有力的工具。

软件工程考试题及答案

软件工程考试题及答案

软件工程考试题及答案一、选择题1. 下列哪个不是软件工程的基本原则?A. 持续集成B. 形式化表示C. 高内聚低耦合D. 可重用性答案:B. 形式化表示2. 软件的可靠性是指什么?A. 软件的正确性B. 软件的可维护性C. 软件的效率D. 软件的稳定性答案:D. 软件的稳定性3. 下列哪个不是软件测试的目标?A. 发现软件中的错误和缺陷B. 验证软件是否满足用户需求C. 评估软件的质量D. 在短时间内完成软件开发答案:D. 在短时间内完成软件开发二、判断题1. 软件工程是一门工程学科,其目标是通过系统化的、规范化的方法对软件进行开发、运行和维护。

答案:正确2. “高内聚低耦合”是软件工程中的重要原则,指的是模块之间的独立性和模块之间的依赖程度。

答案:正确3. 软件需求分析是软件开发过程中的最后一步,最终确定软件系统的功能和性能。

答案:错误三、简答题1. 什么是软件工程?答:软件工程是一门工程学科,通过系统化的、规范化的方法对软件进行开发、运行和维护。

它涉及软件开发的各个阶段,包括需求分析、设计、编码、测试和维护等,并注重管理和团队合作,以提高软件质量、降低开发成本和加快开发进度。

2. 软件测试的目的是什么?答:软件测试的目的是发现软件中的错误和缺陷,验证软件是否满足用户需求,并评估软件的质量。

通过测试,可以提高软件的可靠性和稳定性,减少软件在使用过程中的风险。

3. 请简述软件开发生命周期中的各个阶段。

答:软件开发生命周期包括需求分析、设计、编码、测试和维护等阶段。

- 需求分析阶段:确定软件系统的功能、性能和约束条件,明确用户需求。

- 设计阶段:根据需求分析结果设计软件系统的结构和模块,确定软件的整体框架。

- 编码阶段:根据设计阶段的文档编写程序代码,实现软件系统的各个功能。

- 测试阶段:对软件进行各种测试,包括单元测试、集成测试和系统测试,以发现错误和缺陷。

- 维护阶段:根据用户反馈和需求变化,对软件进行修复和更新,确保其持续稳定运行。

软件工程试题及答案(较详细)

软件工程试题及答案(较详细)

一.判断题:1.如果决定将软件全部包给第三方公司开发。

(×)2.有了对系统的目标有了大致的了解,就可以开始开发项目,以后的在开发中继续了解。

(×)3.对于一个成功的软件项目,可执行程序是唯一交付的东西。

(×)4.直到程序运行,才评估软件系统的质量。

(×)5.如果未能按时完成任务,我们可以通过增加程序员来加快完成任务.(×)6.虽然软件需求不断变更,但因软件比硬件有弹性,所以我们经常可以变更它.(×)7.软件工程将导致我们产生大量的无用文档,降低工作效率。

(×)8.在面向对象建模中,主题划分提供了在更高一层上描述。

(主题划分是指UML中将一组关联比较强的类的集合。

则上百个类可划分为几个主题)(√)9.面向对象的开发,对象分解取代功能分解. (√)10.软件中80%的错误存在20%的模块中。

(√)11.结构化分析方法在建立系统模型时,使用一般――特殊结构(实际上没有这种关系)来处理信息。

(×)12.开发软件就是编程。

(×)13.需求规格说明书说明了(√)14.结构化方法,建立系统模型时使用一般连接组织信息. (×)15.敏捷过程模型选用小而高激励的团队使用而不适用于大团队。

(√)二.简答题1.软件工程是层次化的,其四个层次是?答:方法,工具,过程,质量保证软件工程是一种层次化的技术(如图2-1所示)。

任何工程方法(包括软件工程)必须以有组织的质量保证为基础。

全面的质量管理和类似的理念刺激了不断的过程改进,正是这种改进导致了更加成熟的软件工程方法的不断出现。

支持软件工程的根基就在于对质量的关注。

软件工程的基层是过程层。

软件工程过程是将技术层结合在一起的凝聚力,使得计算机软件能够被合理地和及时地开发出来.过程定义了一组关键过程区域的框架(KPAs)[PAY93],这对于软件工程技术的有效应用是必须的。

关键过程区域构成了软件项目的管理控制的基础,并且确立了上下各区域之间的关系,其中规定了技术方法的采用、工程产品(模型、文档、数据、报告、表格等)的产生、里程碑的建立、质量的保证及变化的适当管理。

软件工程测试题及答案

软件工程测试题及答案

一、单项选择题(5*9)●UML中关联的多重度是指__(1)__。

A.一个类有多少个方法被另一个类调用B.一个类的实例能够与另一个类的多少个实例相关联C.一个类的某个方法被另一个类调用的次数D.两个类所具有的相同的方法和属性●已知3个类A、B和C,其中类A由类B的一个实例和类C的1个或多个实例构成。

能够正确表示类A、B和C之间关系的UML类图是_(2)A_。

●采用UML进行软件建模过程中,类图是系统的一种静态视图,用(3)可明确表示两类事物之间存在的整体/部分形式的关联关系。

A. 依赖关系B. 聚合关系C. 泛化关系D. 实现关系●内聚性和耦合性是度量软件模块独立性的重要准则,软件设计时应力求(4)。

A. 高内聚,高耦合B.高内聚,低耦合C. 低内聚,高耦合D. 低内聚,低耦合●在UML语言中,下图中的a、b、c三种图形符号按照顺序分别表示(5)。

a b cA. 边界对象、实体对象、控制对象B. 实体对象、边界对象、控制对象C. 控制对象、实体对象、边界对象D. 边界对象、控制对象、实体对象●在下面的用例图中,X1、X2和X3表示(6),已知UC3是抽象用例,那么X1可通过(7)用例与系统进行交互。

并且,用例(8)是UC4的可选部分,用例(9)是UC4的必须部分。

(6)A. 人 B. 系统C. 参与者 D. 外部软件(7)A. UC4、UC1 B. UC5、UC1 C. UC5、UC2 D. UC1、UC2 (8)A. UC1 B. UC2 C. UC3 D. UC5(9)A. UC1 B. UC2 C. UC3 D. UC544 A45C 46D 47B32C35B对于右侧的程序流程,当采用语句覆盖法设计测试案例时,至少需要设计个测试案例。

A. 1B. 2C. 3D. 4输入X和Y否是X > 0Y = Y + X Y = Y - X否是37B下面有关测试的说法正确的是___。

A.测试人员应该在软件开发结束后开始介入B.测试主要是软件开发人员的工作C.要根据软件详细设计中设计的各种合理数据设计测试用例D.严格按照测试计划进行,避免测试的随意性为验证程序模块A是否正确实现了规定的功能,需要进行(1);为验证模块A能否与其他模块按照规定方式正确工作,需要进行(2)。

软件工程试题及答案

软件工程试题及答案

软件工程一、选择题1、软件需求规格说明的内容不包括(B)A、主要功能B、算法的详细描述C、用户界面及运行环境D、软件的性能2、面向对象的分析方法主要是建立三类模型,即(D)A、系统模型、ER模型、应用模型B、对象模型、动态模型、应用模型C、ER模型、对象模型、功能模型D、对象模型、动态模型、功能模型3、在ER模型中,包括以下基本成分(C)A、数据、对象、实体B、控制、联系、对象C、实体、联系、属性D、实体、属性、操作4、各种软件维护的类型中最重要的是(A)A、完善性维护B、纠错性维护C、适应性维护D、预防性维护5、若有一个计算类型的程序,它的输入量只有一个X,其范围是[—2.0,2.0],现从输入的角度考虑一组测试用列—2.001,-2,20,2.001,设计这组测试用列的方法是(C)A、条件覆盖法B、等价分类法C、边界值分析法D、错误推测法6、下列白盒测试法,哪种是最强的覆盖准则(D)A、语句覆盖B、条件覆盖C、判定覆盖D、条件组合覆盖7、确定测试计划是在(A)阶段制定的。

A、总体设计B、详细设计C、编码D、测试8、数据字典是软件需求分析阶段最重要的工具之一,其最基本的功能是(C)A、数据库设计B、数据通信C、数据定义D、数据维护9、软件开发当中,抽取和整理用户需求并建立问题域精确模型的过程(D)A、生成期B、软件意向C、结构化程序设计D、面向对象分析10、以下不属于IT企业当中过程管理和过程改进模型的是(D)A、ISO9001B、CMMIC、软件企业文化D、UML11、适合互联网上编程并可供不同平台运行的面向对象程序设计的语言是(java)12、软件结构图中,模块之间用直线连接,则表示他们之间存在(A )。

A、调用关系B、组成关系C、链接关系D、顺序执行关系13、生命周期方法设计软件的过程中,画用例图属于(A)阶段的工作.A、需求分析B、概要设计C、详细设计D、软件维护14、PDL属于(B)语言。

软件工程期末试卷(十套含答案)

软件工程期末试卷(十套含答案)

软件工程期末试卷(十套含答案)一、选择题(每题1分,共5分)A. 方法论B. 工具C. 过程D. 人员2. 下列哪一项不是软件生命周期的阶段?A. 需求分析B. 设计C. 编码D. 销售与市场A. 瀑布模型B. 喷泉模型C. 增量模型D. 敏捷模型4. 下列哪种方法不是软件需求获取的方法?A. 问卷调查B. 访谈C. 观察D. 编码A. 单一职责原则B. 开放封闭原则C. 里氏替换原则D. 依赖倒置原则二、判断题(每题1分,共5分)1. 软件工程的目标是生产出高质量的软件产品。

(√/×)2. 在软件开发过程中,需求分析阶段是最重要的阶段。

(√/×)3. 软件开发模型只有瀑布模型和喷泉模型两种。

(√/×)4. 在面向对象方法中,类是现实世界中实体的抽象。

(√/×)5. 软件测试的目的是证明软件的正确性。

(√/×)三、填空题(每题1分,共5分)1. 软件工程的三要素包括方法论、工具和______。

2. 软件生命周期包括需求分析、设计、编码、测试和______。

3. 在面向对象方法中,对象是现实世界中实体的______。

4. 软件开发模型包括瀑布模型、喷泉模型、增量模型和______。

5. 软件测试的目的是发现软件中的______。

四、简答题(每题2分,共10分)1. 简述软件工程的目标。

2. 简述软件生命周期的阶段。

3. 简述面向对象方法的基本概念。

4. 简述软件开发模型的作用。

5. 简述软件测试的目的。

五、应用题(每题2分,共10分)1. 假设你是一个软件开发人员,你需要为一个图书馆开发一个图书管理系统。

请列出该系统的需求。

2. 请解释瀑布模型和喷泉模型的区别。

3. 请解释面向对象方法中的继承和多态的概念。

4. 请解释软件测试中的黑盒测试和白盒测试的区别。

5. 请解释软件维护的类型。

六、分析题(每题5分,共10分)1. 假设你是一个软件开发人员,你需要为一个在线购物网站开发一个支付系统。

《软件工程》题库及参考答案

《软件工程》题库及参考答案

《软件工程》练习测试题库一、单项选择题1.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做()A.软件工程B.软件周期C.软件危机D.软件产生2.研究开发所需要的成本和资源是属于可行性研究中的()研究的一方面。

A.技术可行性B.经济可行性C.社会可行性D.法律可行性3.IDEF0图不反映出系统()A.系统做什么B.系统功能如何实现C.系统由谁来做D.系统实现的约束条件4.模块的内聚性最高的是()A.逻辑内聚B.时间内聚C.偶然内聚D.功能内聚5.在SD方法中全面指导模块划分的最重要的原则是()A.程序模块化B.模块高内聚C.模块低耦合D.模块独立性6.软件详细设计主要采用的方法是()A.模块设计B.结构化设计C.PDL语言D.结构化程序设计7.下列关于JSP方法不正确的说法是()A.JSP方法主要用于规模不大的数据处理系统B.JSP方法不明确的划分软件概要设计和详细设计的两个阶段C.JSP方法适用于输入数据和输出数据之间有对应关系的问题求解D.JSP方法根据输入、输出的数据结构,按一定的规则映射成软件的体系结构。

因此它只适用于详细设计阶段8.不适合作为科学工程计算的语言是()A. PascalB. CC. FortranD. Prolog9.黑盒测试在设计测试用例时,主要需要研究()A.需求规格说明与概要设计说明B.详细设计说明C.项目开发计划D.概要设计说明与详细设计说明10.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。

设计这组测试用例的方法是()A.条件覆盖法B.等价分类法C.边界值分析法D.错误推测法11.下列属于维护阶段的文档是()A.软件规格说明B.用户操作手册C.软件问题报告D.软件测试分析报告12.快速原型模型的主要特点之一是()A.开发完毕才见到产品B.及早提供全部完整的软件产品C.开发完毕后才见到工作软件D.及早提供工作软件13.因计算机硬件和软件环境的变化而做出的修改软件的过程称为()A.较正性维护B.适应性维护C.完善性维护D.预防性维护14.类库这种机制是()级别的信息共享。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、单项选择题(5*9)●UML中关联的多重度是指__(1)__。

A.一个类有多少个方法被另一个类调用B.一个类的实例能够与另一个类的多少个实例相关联C.一个类的某个方法被另一个类调用的次数D.两个类所具有的相同的方法和属性●已知3个类A、B和C,其中类A由类B的一个实例和类C的1个或多个实例构成。

能够正确表示类A、B和C之间关系的UML类图是_(2)A_。

●采用UML进行软件建模过程中,类图是系统的一种静态视图,用(3)可明确表示两类事物之间存在的整体/部分形式的关联关系。

A. 依赖关系B. 聚合关系C. 泛化关系D. 实现关系●内聚性和耦合性是度量软件模块独立性的重要准则,软件设计时应力求(4)。

A. 高内聚,高耦合B.高内聚,低耦合C. 低内聚,高耦合D. 低内聚,低耦合●在UML语言中,下图中的a、b、c三种图形符号按照顺序分别表示(5)。

a b cA. 边界对象、实体对象、控制对象B. 实体对象、边界对象、控制对象C. 控制对象、实体对象、边界对象D. 边界对象、控制对象、实体对象●在下面的用例图中,X1、X2和X3表示(6),已知UC3是抽象用例,那么X1可通过(7)用例与系统进行交互。

并且,用例(8)是UC4的可选部分,用例(9)是UC4的必须部分。

(6)A. 人 B. 系统C. 参与者 D. 外部软件(7)A. UC4、UC1 B. UC5、UC1 C. UC5、UC2 D. UC1、UC2 (8)A. UC1 B. UC2 C. UC3 D. UC5(9)A. UC1 B. UC2 C. UC3 D. UC544 A45C 46D 47B32C35B对于右侧的程序流程,当采用语句覆盖法设计测试案例时,至少需要设计个测试案例。

A. 1B. 2C. 3D. 437B下面有关测试的说法正确的是___。

A .测试人员应该在软件开发结束后开始介入B .测试主要是软件开发人员的工作C .要根据软件详细设计中设计的各种合理数据设计测试用例D .严格按照测试计划进行,避免测试的随意性为验证程序模块A 是否正确实现了规定的功能,需要进行 (1) ;为验证模块A 能否与其他模块按照规定方式正确工作,需要进行 (2) 。

(1)A . 单元测试 B. 集成测试 C. 确认测试 D. 系统测试 (2)A. 单元测试 B . 集成测试 C. 确认测试 D. 系统测试系统测试是将软件系统与硬件、外设和网络等其他因素结合,对整个软件系统进行测试。

__不是系统测试的内容。

A .路径测试B .可靠性测试C .安装测试D .安全测试一个项目为了修正一个错误而进行了变更,但这个错误被修改后,却引起以前可以正确运行的代码出错。

最可能发现这一问题。

A. 单元测试B. 接受测试C. 安装测试 D . 回归测试二、综合题(5*4+5*4+15)阅读下列说明以及图3-1和图3-2,回答问题1、问题2和问题3,将解答填入答题纸的对应栏内。

[说明]某电话公司决定开发一个管理所有客户信息的交互式网络系统。

系统的功能如下: 1.浏览客户信息:任何使用Internet 的网络用户都可以浏览电话公司所有的客户信息(包括姓名、住址、电话号码等)。

输入X 和Y X > 0Y = Y + XY = Y - XY > 0X = 1否是否是X = -12.登录:电话公司授予每个客户一个帐号。

拥有授权帐号的客户,可以使用系统提供的页面设置个人密码,并使用该帐号和密码向系统注册。

3.修改个.人信息:客户向系统注册后,可以发送电子邮件或者使用系统提供的页面,对个人信息进行修改。

4.删除客户信息:只有公司的管理人员才能删除不再接受公司服务的客户的信息。

系统采用面向对象方法进行开发,在开发过程中认定出的类如下表所示:[图3-1][问题1]在需求分析阶段,采用UML的用例图(use case diagram)描述系统功能需求,如图3-1所示。

请指出图中的A、B、C和D分别是哪个用例? A:浏览客户信息 B:修改个人信息 C:登录 D:删除客户信息[问题2]在 UML 中,重复度(Multiplicity)定义了某个类的一个实例可以与另一个类的多少个实例相关联。

通常把它写成一个表示取值范围的表达式或者一个具体的值。

例如图 3-2 中的类 InternetClient 和CustomerList,InternetClient 端的“0..*”表示:一个Custo~erList 的实例可以与 0 个或多个 InternetClient 的实例相关联;CustomerList 端的“1”表示:一个InternetClient的实例只能与一个CustomerList的实例相关。

请指出图3-2中(1)到(4)处的重复度分别为多少?(1)1(2)0..*(3)0..1 (4)0..1 [问题3]类通常不会单独存在,因此当对系统建模时,不仅要识别出类,还必须对类之间的相互关系建模。

在面向对象建模中,提供了四种关系:依赖、泛化、关联和实现。

请分别说明这四种关系的含义,并说明组合和聚集之间的主要区别。

1)4种关系的含义:依赖表示类之间的使用关系。

泛化表示一般类和特殊类之间的关系。

关联和聚集都表示实例之间的结构关系。

(2)组合和聚集的区别:组合是一种更强形式的关联,代表整体的组合对象有管理它的部分对象的特有责任。

聚集是一种特殊的关联,它表示整体/部分关系。

练习【说明】某指纹门禁系统结构如图3-1所示,其主要部件有:主机(MainFrname)、锁控器(LockController)、指纹采集器(FingerReader)和电控锁(Lock)。

1)系统中的每个电控锁都有一个惟一的编号。

锁的状态有两种:“已锁住”和“未锁住”。

2)在主机上可以设置每把锁的安全级别以及用户的开锁权限。

只有当用户的开锁权限大于或等于锁的安全级别并且锁处于“已锁住”状态时,才能将锁打开。

3)用户的指纹信息、开锁权限以及锁的安全级别都保存在主机上的数据库中。

4)用户开锁时,只需按一下指纹采集器。

指纹采集器将发送一个中断事件给锁控器,锁控器从指纹采集器读取用户的指纹并将指纹信息发送到主机,主机根据数据库中存储的信息来判断用户是否具有开锁权限,若有且锁当前处于“已锁住”状态,则将锁打开;否则系统报警。

图3-2是该系统类图的一部分;系统的动态行为采用UML序列图表示,图3-3是用户成功开锁的序列图。

依据上述说明中给出的词语,将图3-3中的(1)~(5)处补充完整。

(1)中断事件(2)读取用户指纹(3)读取用户开锁权限(4)读取锁的安全级别(5)判断用户是否有权限开锁或用户是否可以开锁【问题1】(6分)图3-2是该系统类图的一部分,依据上述说明中给出的术语,给出类Look 的主要属性。

【问题2](5分)依据上述说明中给出的词语,将图3-3中的(1)~(5)处补充完整。

【问题3】(4分)组装(Composition)和聚集(Aggregation)是UML中两种非常重要的关系。

请说明组装和聚集分别表示什么含义?两者的区别是什么?[问题1]锁的编号、安全级别、锁的当前状态[问题2](1)中断事件 (2)读取用户指纹 (3)读取用户开锁权限(4)读取锁的安全级别 (5)判断用户是否有权限开锁或用户是否可以开锁[问题3]组装和聚集都表示实例之间的整体/部分关系。

组装是聚集的一种形式。

聚集是概念性的,只是区分整体与部分。

组装具有很强的归属关系,而且整体与部分的对象生存周期是一致的。

或者回答:如果没有成分对象,组装对象也不存在;在任何时候,每个给定的成分对象只能是组装对象的组成部分。

【说明】已知某唱片播放器不仅可以播放唱片,而且可以连接电脑并把电脑中的歌曲刻录到唱片上(同步歌曲)。

连接电脑的过程中还可自动完成充电。

关于唱片,还有以下描述信息:1.每首歌曲的描述信息包括:歌曲的名字、谱写这首歌曲的艺术家以及演奏这首歌曲的艺术家。

只有两首歌曲的这三部分信息完全相同时,才认为它们是同一首歌曲。

艺术家可能是一名歌手或一支由2名或2名以上的歌手所组成的乐队。

一名歌手可以不属于任何乐队,也可以属于一个或多个乐队。

2.每张唱片由多条音轨构成;一条音轨中只包含一首歌曲或为空,一首歌曲可分布在多条音轨上;同一首歌曲在一张唱片中最多只能出现一次。

3. 每条音轨都有一个开始位置和持续时间。

一张唱片上音轨的次序是非常重要的,因此对于任意一条音轨,播放器需要准确地知道,它的下一条音轨和上一条音轨是什么(如果存在的话)。

根据上述描述,采用面向对象方法对其进行分析与设计,得到了如表3-1所示的类列表、如图3-1所示的初始类图以及如图3-2所示的描述播放器行为的UML状态图。

问题1】(3分)根据说明中的描述,使用表3-1给出的类的名称,给出图3-1中的A~F所对应的类。

【问题2】(6分)根据说明中的描述,给出图3-1中(1)~(6)处的多重度。

【问题3】(4分)图3-1中缺少了一条关联,请指出这条关联两端所对应的类以及每一端的多重度。

【问题4根据图3-2所示的播放器行为UML状态图,给出从“关闭”状态到“播放”状态所经过的最短事件序列(假设电池一开始就是有电的)。

[问题1]A:Artist B:Song C:Band D:Musician E:Track F:Album[问题2] (1) 0..* (2) 2..* (3)0..1 (4) 1..* (5) 1..* (6) 1 [问题3]【问题4】按任意键,选择歌曲(1) state == CLOSED || state == CLOSING(2) state == OPENING || state == STAYOPEN(3) state == OPEN(4) state.click()(5) state.timeout()(6) plete()(7) door.setState(door.OPENING)。

相关文档
最新文档