软考软件设计师必做练习题及答案(1)

合集下载

软件设计师基础知识(选择题)模拟试卷1(题后含答案及解析)

软件设计师基础知识(选择题)模拟试卷1(题后含答案及解析)

软件设计师基础知识(选择题)模拟试卷1(题后含答案及解析) 题型有:1.1.用作存储器的芯片有不同的类型。

可随机读写,且只要不断电则其中存储的信息就可一直保存的,称为(91)。

可随机读写,但即使在不断电的情况下其存储的信息也要定时刷新才不致丢失的,称为(92)。

所存信息由生产厂家用掩膜技术写好后就无法再改变的,称为(93)。

通过紫外线照射后可擦除所有信息,然后重新写入新的信息并可多次进行的,称为(94)。

通过电信号可在数秒钟内快速删除全部信息,但不能进行字节级别删除操作的,称为(95)。

A.RAMB.VRAMC.DRAMD.SRAM正确答案:D2.A.RAMB.VRAMC.DRAMD.SRAM正确答案:C3.A.EPROMB.PROMC.ROMD.CDROM正确答案:C4.A.EPROMB.PROMC.ROMD.CDROM正确答案:AA.E2PROMB.Flash MemoryC.EPROMD.Virtual Memory正确答案:B解析:几种存储器之间的比较见表1-9。

6.虚拟存储器的作用是允许(96)。

它通常使用(97)作为它的一个主要组成部分。

对它的调度方法与(98)基本相似,即把要经常访问的数据驻留在高速存储器中。

因为使用了虚拟存储器,指令执行时(99)。

在虚拟存储系统中常使用相连存储器进行管理,它是(100)寻址的。

A.直接使用外存代替内存B.添加比地址字长允许的更多内存容量C.程序直接访问比内存更大的地址空间D.提高内存的访问速度正确答案:C7.A.CDROMB.硬盘C.软盘D.寄存器正确答案:B8.A.CacheB.DMAC.I/OD.中断正确答案:A9.A.所需的数据一定能在内存中找到B.必须先进行“虚、实”地址转换C.必须事先使用覆盖技术D.必须将常用程序先调入内存正确答案:BA.按地址B.按内容C.寄存器D.计算正确答案:C解析:所谓虚拟存储技术,是指在内存中保留一部分程序或数据,在外存中放置整个地址空间的副本。

2023年上半年软件设计师上午试卷基础知识真题+答案

2023年上半年软件设计师上午试卷基础知识真题+答案

软件设计师2023年上六个月上午试卷-基础知识第1题在CPU中,常用来为ALU执行算术逻辑运算提供数据并暂存运算成果旳寄存器是()。

A.程序计数器B.状态寄存器C.通用寄存器D.累加寄存器参照答案:D第2题某机器字长为n,最高位是符号位,其定点整数旳最大值为()A.2n-1B.2n-1-1C.2nD.2n-1参照答案:B第3题海明码运用奇偶性检错和纠错,通过在n个数据位之间插入k个校验位,扩大数据编码旳码距。

若n=48,则k应为(3)A.4B.5C.6D.7参照答案:C第4题一般可将计算机系统中执行一条指令旳过程分为取指泛。

分析和执行指令3步。

若取指令时间为4△t,分析时间为2△t。

执行时间为3△t。

按次序方式月头到尾执行完600条指令所需时间为(4)△t;若按照执行第一条,分析第i+1条,读取第i+2条重叠旳流水线方式执行指令,则从头到尾执行完600条指令所需旳时间为(5)△t。

【软考在线rkpass ,免费在线真题,定制学习计划】A.2400B.3000C.3600D.54D0参照答案:D第5题A.2400B.2405C.3000D.3009参照答案:B第6题若用256K×8bit旳存储器芯片,构成地址40000000H到400FFFFFH且按字节编址旳内存区域,则需()片芯片。

A.4B.8C.16D.32参照答案:A第7题如下有关木马程序旳论述中对旳旳是()A.木马程序重要通过移动磁盘传播B.木马程序旳客户端运行在袭击者旳机器上C.木马程序旳目旳是使计算机或网络无法提供正常旳服务D.Sniffer是经典旳木马程序参照答案:B第8题防火墙旳工作层次是决定防火墙效率及安全旳重要原因,如下论述中,对旳旳是()A.防火墙工作层次越低,工作效率越高,安全性越高B.防火墙工作层次越低,工作效率越低,安全性越低C.防火墙工作层次越高,工作效率越高,安全性越低D.防火墙工作层次越高,工作效率越低,安全性越高参照答案:D第9题如下有关包过滤防火墙和代理服务防火墙旳论述中,对旳旳是()。

软考试题及答案

软考试题及答案

软考试题及答案一、单项选择题(每题1分,共40分)1. 软件工程的主要目标是()。

A. 提高软件的运行效率B. 提高软件的可维护性C. 提高软件的可重用性D. 提高软件的生产率和质量答案:D2. 软件需求分析阶段的主要任务是()。

A. 确定软件的功能需求B. 确定软件的非功能需求C. 确定软件的界面需求D. 确定软件的性能需求答案:A3. 在软件开发过程中,以下哪项不是软件设计阶段的任务?()A. 确定软件的体系结构B. 确定软件的详细设计C. 确定软件的测试计划D. 确定软件的数据库设计答案:C4. 软件测试的目的是()。

A. 发现软件中的错误B. 证明软件是正确的C. 提高软件的运行效率D. 证明软件满足用户需求答案:A5. 以下哪项不是软件维护的原因?()A. 改正软件中的错误B. 适应环境的变化C. 提高软件的性能D. 增加软件的新功能答案:C6. 软件项目管理的主要目标是()。

A. 控制项目的成本B. 控制项目的时间C. 控制项目的质量D. 以上都是答案:D7. 在敏捷开发中,以下哪项不是敏捷宣言的四个价值观之一?()A. 个体和互动高于流程和工具B. 可工作的软件高于详尽的文档C. 客户合作高于合同谈判D. 遵循计划高于适应变化答案:D8. 在面向对象的软件开发中,以下哪项不是对象的基本特性?()A. 封装性B. 继承性C. 多态性D. 并行性答案:D9. 在数据库设计中,以下哪项不是数据库规范化的目的?()A. 减少数据冗余B. 避免数据不一致C. 提高查询效率D. 增加数据存储量答案:D10. 在软件工程中,以下哪项不是软件配置管理的任务?()A. 版本控制B. 变更管理C. 配置审计D. 性能测试答案:D二、多项选择题(每题2分,共20分)11. 软件工程的主要原则包括()。

A. 抽象B. 模块化C. 逐步求精D. 信息隐藏答案:ABCD12. 软件需求分析的方法包括()。

A. 访谈B. 问卷调查C. 原型法D. 用例分析答案:ABCD13. 软件设计阶段可能产生的文档包括()。

软件水平考试《软件设计师》历年真题及答案汇总

软件水平考试《软件设计师》历年真题及答案汇总

软件水平考试《软件设计师》历年真题及答案汇总软件水平考试《软件设计师》历年真题及答案(1)1.通常在软件的( )活动中无需用户参与。

A. 需求分析B. 维护C. 编码D. 测试参考答案:C2.( )详细描述软件的功能、性能和用户界面,以使用户了解如何使用软件。

A. 概要设计说明书B. 详细设计说明书计C. 用户手册D. 用户需求说明书参考答案:C3.下述任务中,不属于软件工程需求分析阶段的是( )。

A.分析软件系统的数据要求B.确定软件系统的功能需求C.确定软件系统的性能要求D.确定软件系统的运行平台参考答案:D4.在开发信息系统时,用于系统开发人员与项目管理人员沟通的主要文档是( )。

A. 系统开发合同B. 系统设计说明书C. 系统开发计划D. 系统测试报告参考答案:B5.系统测试人员与系统开发人员需要通过文档进行沟通,系统测试人员应根据一系列文档对系统进行测试,然后将工作结果撰写成( ),交给系统开发人员。

A. 系统开发合同B. 系统设计说明书C. 测试计划D. 系统测试报告参考答案:D6.常见的软件开发模型有瀑布模型、演化模型、螺旋模型、喷泉模型等。

其中( )模型适用于需求明确或很少变更的项目,( )模型主要用来描述面向对象的软件开发过程。

A.瀑布模型B.演化模型C.螺旋模型D.喷泉模型参考答案:A、D7.在开发一个系统时,如果用户对系统的目标是不很清楚,难以定义需求,这时最好使用( )。

A.原型法瀑布模型 C.V-模型 D.螺旋模型参考答案:A8.采用瀑布模型进行系统开发的过程中,每个阶段都会产生不同的文档。

以下关于产生这些文档的描述中,正确的是( )。

A.外部设计评审报告在概要设计阶段产生。

B.集成测评计划在程序设计阶段产生。

C.系统计划和需求说明在详细设计阶段产生。

D.在进行编码的同时,独立的设计单元测试计划参考答案:D9.( )是一种面向数据流的开发方法,其基本思想是软件功能的分解和抽象。

软考软件设计师考试试题加答案

软考软件设计师考试试题加答案

软考软件设计师考试试题加答案(一)(总5页)--本页仅作预览文档封面,使用时请删除本页--软考软件设计师考试试题加答案(一)打算参加2017下半年软件设计师考试的你,已经开始备考了吗?多做试题是非常好的一种备考方式,下面希赛软考培训部为大家整理了几套软件设计师考试试题,供你参考学习。

1.下列说法中正确的是()。

A.网络中的计算机资源主要指服务器、路由器、通信线路与用户计算机B.网络中的计算机资源主要指计算机操作系统、数据库与应用软件C.网络中的计算机资源主要指计算机硬件、软件、数据D.网络中的计算机资源主要指Web服务器、数据库服务器与文件服务器【答案】C2.计算机网络可分为三类,它们是()。

、Intranet、ExtranetB.广播式网络、移动网络、点--点式网络、ATM、B-ISDN、MAN、WAN【答案】D3.拓扑设计是建设计算机网络的第一步。

它对网络的影响主要表现在()。

I.网络性能II.系统可靠性III.通信费用IV.网络协议、II、II和III、II和IV、IV【答案】C4.下列说法中正确的是()。

A.互联网计算机必须是个人计算机B.互联网计算机必须是工作站C.互联网计算机必须使用TCP/IP协议D.互联网计算机在相互通信时必须遵循相同的网络协议【答案】C5.组建计算机网络的目的是实现连网计算机系统的()。

A.硬件共享B.软件共享C.数据共享D.资源共享【答案】D6.以下关于光纤特性的描述哪个是不正确的()。

A.光纤是一种柔软、能传导广波的介质B.光纤通过内部的全反射来传输一束经过编码的光信号C.多条光纤组成一束,就构成一条光缆D.多模光纤的性能优于单模光纤【答案】D7.一座大楼内的一个计算机网络系统,属于()。

【答案】B8.计算机网络中可以共享的资源包括()。

A.硬件、软件、数据、通信信道B.主机、外设、软件、通信信道C.硬件、程序、数据、通信信道D.主机、程序、数据、通信信道【答案】A9.在星型局域网结构中,连接文件服务器与工作站的设备是()。

2024上半年软件设计师软考试题

2024上半年软件设计师软考试题

1、在软件开发过程中,需求分析阶段的主要任务是确定:A. 软件的总体结构B. 软件的具体实现算法C. 软件的功能和性能要求D. 软件的测试计划(答案:C)2、下列关于模块化设计的说法中,错误的是:A. 模块之间的耦合应尽可能低B. 模块的内聚性应尽可能高C. 模块的规模越大,可维护性越好D. 模块化设计有助于提高软件的可重用性(答案:C)3、在面向对象编程中,继承机制的主要作用是:A. 实现代码的重用B. 提高程序的运行效率C. 简化数据结构的定义D. 增强程序的可读性(答案:A)4、下列关于软件测试的说法中,正确的是:A. 软件测试的目的是证明软件没有错误B. 软件测试应尽可能在编码阶段之后进行C. 软件测试应贯穿软件开发的各个阶段D. 单元测试主要由用户来完成(答案:C)5、在数据库设计中,实体-关系图(ER图)主要用于表示:A. 数据流图B. 数据结构C. 概念模型D. 物理模型(答案:C)6、下列关于敏捷开发的说法中,错误的是:A. 敏捷开发强调以人为本、团队协作B. 敏捷开发适用于需求变化频繁的项目C. 敏捷开发不需要文档和计划D. 敏捷开发提倡持续集成和持续交付(答案:C)7、在软件架构设计中,MVC模式是一种常用的设计模式,其中M、V、C分别代表:A. Model、View、ControllerB. Module、View、ComponentC. Message、View、ControlD. Master、View、Client(答案:A)8、下列关于软件配置管理的说法中,正确的是:A. 软件配置管理仅涉及源代码的管理B. 软件配置管理的目的是提高软件开发效率C. 软件配置管理不包括对变更的控制和管理D. 软件配置管理的主要活动包括标识、控制、状态记录和审计(答案:D)9、在软件测试中,黑盒测试主要关注:A. 软件的内部结构和实现细节B. 软件的功能和性能要求是否满足用户需求C. 软件的代码质量和编程风格D. 软件的可靠性和可用性(答案:B)10、下列关于软件维护的说法中,错误的是:A. 软件维护是软件开发周期中持续时间最长的阶段B. 软件维护包括改正性维护、适应性维护、完善性维护和预防性维护C. 软件维护的目的是提高软件的可用性和可维护性D. 软件维护只能在软件发布后进行(答案:D)。

软件资格考试软件设计师(基础知识、应用技术)合卷(中级)试题及答案指导(2024年)

软件资格考试软件设计师(基础知识、应用技术)合卷(中级)试题及答案指导(2024年)

2024年软件资格考试软件设计师(基础知识、应用技术)合卷(中级)复习试题(答案在后面)一、基础知识(客观选择题,75题,每题1分,共75分)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、题干:在面向对象设计中,以下哪个不是面向对象设计的基本特征?A. 封装性B. 继承性C. 多态性D. 抽象性8、题干:在软件生命周期中,以下哪个阶段不是软件设计阶段的一部分?A. 系统设计B. 概要设计C. 详细设计D. 编码9、在面向对象设计方法中,类是对具有相似性质的对象的抽象,它包含数据和操作数据的函数。

下面关于类的说法中,正确的是()。

A. 类是一个对象,对象是类的一个实例B. 类是对象的一种实现,对象是类的一个具体表现C. 类和对象是同义词,可以互换使用D. 类和对象没有关系,独立存在 10、以下关于软件开发生命周期的说法中,不正确的是()。

A. 软件开发生命周期是指软件从需求分析到软件维护的全过程B. 软件开发生命周期分为需求分析、设计、编码、测试和维护五个阶段C. 软件开发生命周期中,需求分析阶段主要任务是确定软件的功能和性能D. 软件开发生命周期中,编码阶段是软件开发的核心阶段,主要任务是编写代码11、在面向对象的设计中,以下哪一种设计模式通常用于实现对象间的低耦合和高内聚?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. V模型D. 精益软件开发18、以下哪个选项不是软件质量属性?A. 可用性B. 可维护性C. 可移植性D. 可靠性19、在软件工程中,以下哪个阶段不属于软件开发生命周期?A. 需求分析B. 系统设计C. 编码D. 维护 20、在面向对象编程中,以下哪个概念不属于面向对象的基本特征?A. 封装B. 继承C. 多态D. 模块化21、在软件生命周期模型中,螺旋模型适用于哪种类型的软件开发?A. 小型简单项目B. 需求明确的小型项目C. 大型复杂且风险较高的项目D. 不需要迭代的项目22、以下哪一项不是软件质量保证的主要活动?A. 制定质量保证计划B. 执行管理评审C. 编写软件需求规格说明书D. 进行内部审计23、以下关于软件工程中软件测试的说法,错误的是:A. 软件测试的目的是发现软件中的错误,提高软件质量。

软件资格考试软件设计师(基础知识、应用技术)合卷(中级)试题及答案指导(2024年)

软件资格考试软件设计师(基础知识、应用技术)合卷(中级)试题及答案指导(2024年)

2024年软件资格考试软件设计师(基础知识、应用技术)合卷(中级)复习试题(答案在后面)一、基础知识(客观选择题,75题,每题1分,共75分)1、在软件开发过程中,需求分析阶段的主要任务是确定()。

A. 软件要做什么B. 软件怎么做C. 软件能做什么D. 软件为什么做2、下列关于面向对象设计原则的描述中,错误的是()。

A. 单一职责原则要求一个类只负责一项职责B. 开放封闭原则要求软件实体应对扩展开放,对修改封闭C. 依赖倒置原则要求高层次的模块调用低层次的模块D. 接口隔离原则要求接口尽可能细化,接口使用者只依赖其需要的接口3、在面向对象设计中,以下哪个概念描述了将一个对象封装成一个单元,并提供一个接口来访问对象的内部状态和操作?A. 继承B. 封装C. 多态D. 抽象4、软件开发生命周期模型中,以下哪个阶段是需求分析阶段之后,编码阶段之前的阶段?A. 设计阶段B. 测试阶段C. 维护阶段D. 部署阶段5、在软件开发过程中,需求分析阶段的主要任务是什么?6、以下哪项不属于软件架构设计的原则?7、以下哪个不是软件工程的基本原则?A. 客观性原则B. 可维护性原则C. 可复用性原则D. 可扩展性原则8、在软件开发生命周期中,以下哪个阶段不属于需求分析阶段?A. 需求收集B. 需求分析C. 需求评审D. 系统设计9、在软件工程中,以下哪个阶段不是需求分析阶段的一部分?A. 功能需求分析B. 性能需求分析C. 用户界面设计D. 系统约束分析 10、在软件设计中,以下哪个原则是面向对象设计中的一个核心原则?A. 单一职责原则B. 开放封闭原则C. Liskov替换原则D. 接口隔离原则11、以下关于面向对象的基本概念的描述,正确的是:A. 面向对象的基本概念包括对象、类、封装、继承和接口。

B. 类是面向对象的基本单元,对象是类的实例。

C. 封装是实现数据抽象和隐藏的方法。

D. 继承是类之间的关系,接口是类的实现。

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

软考软件设计师必做练习题及答案软件设计师考试属于全国计算机技术与软件专业技术资格考试(简称计算机软件资格考试)中的一个中级考试。

考试不设学历与资历条件,也不论年龄和专业,考生可根据自己的技术水平选择合适的级别合适的资格,但一次考试只能报考一种资格。

考试采用笔试形式,考试实行全国统一大纲、统一试题、统一时间、统一标准、统一证书的考试办法。

下面是希赛小编整理的软考软件设计师考前必做的练习题。

试题一分析本题主要考查类图和顺序图。

【问题1】需要分析此门禁系统的体系结构,根据体系结构的描述来看什么数据放在什么类中最为合适。

题目中提到:系统中的每个电控锁都有一个唯一的编号。

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

所以Lock中含有锁编号和锁状态这两个属性。

又因为题中有:在主机上可以设置每把锁的安全级别以及用户的开锁权限。

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

因此,Lock中还有锁的安全级别。

【问题2】首先,(1)、(2)是FingerReader和LockController之间的交互。

所以我们看题目中是如何描述他们的交互的。

题目中有“指纹采集器将发送一个中断事件给锁控器,锁控器从指纹采集器读取用户的指纹”,所以(1)应填“中断事件”,(2)应填“读取指纹”。

(3)是主机与UserInfo的交互,从图2-35中可以看出,UserInfo中存储了用户的指纹信息和开锁权限,所以(3)应是从UserInfo读取用户的指纹信息和开锁权限。

(4)空应填“读取锁的安全级别”。

(5)是MainFrame向自己发送的一条消息,从题目中的“主机根据数据库中存储的信息来判断用户是否具有开锁权限,若有且锁当前处于已锁住状态,则将锁打开;否则系统报警”可以看出,主机在得到所有信息后要判断用户是否能开锁,所以(5)应填“判断用户是否能开锁”。

【问题3】这是纯理论题,请直接阅读参考答案。

试题一参考答案【问题1】锁的编号、安全级别、锁的当前状态。

【问题2】(1)中断事件(2)读取用户指纹(3)读取用户开锁权限(4)读取锁的安全级别(5)判断用户是否有权限开锁,或用户是否可以开锁【问题3】组装和聚集都表示实例之间的整体/部分关系。

组装是聚集的一种形式。

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

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

试题二分析本题考查的是UML类图和顺序图的基本知识。

【问题1】由于一个商品分类中可以有多个商品,而一个商品仅仅对应一个商品分类,所以商品分类与商品之间的关系是1:0..*,即第(1)空填“0..*”,第(2)空填“1”。

促销活动与商品之间的关系是这样的:一个促销活动至少得有一种促销商品,否则就无法成为促销活动;而一种商品可以参与多个促销活动,所以促销活动与商品之间的关系有些特别,应是0..*:1..*,故第(3)空填“0..*”,第(4)空填“1..*”。

再看订单与促销活动之间的关系:由于题目中说明“用户可选择参与某一个促销(Promotion)活动”,同时对于一个促销活动可以有多个客户下订单,所以它们之间的关系为1:0..*,所以第(5)空填“1”,第(6)空填“0..*”。

【问题2】在顺序图中,消息的执行顺序为:在垂直方向自上至下地执行,其中的虚线表示消息结果的返回。

在图2-38中,包含着两个操作,第一个操作是得到某个商品的信息,其流程是:先在商品分类列表中找到相应的分类,再从分类中找到具体的商品,从此商品对应的类中得到相应信息。

所以第(7)空应填“getCategories”,第(8)空应填“getCommodities”。

第二个操作是创建一次促销活动,并为其指定促销品,所以第(9)空应填“createPromotion”,第(10)空应填“addCommodities”。

【问题3】这是一个纯理论问题,请直接阅读参考答案。

试题二参考答案【问题1】(1)0..n或1..n(2)1(3)0..n(4)1..n(5)1(6)0..n【问题2】(7)getCategories(8)getCommodities(9)createPromotion(10)addCommodities【问题3】关系:聚集(聚合)是关联的特例。

(聚集是关联的一种)不同点:聚集表示部分与整体关系的关联。

试题三分析本题考查类图和状态图。

【问题1】根据“每首歌曲的描述信息包括:歌曲的名字、谱写这首歌曲的艺术家及演奏这首歌曲的艺术家”和图2-39中类A与类B之间约束为“编写”、“演奏”,所以类A与类B只能是艺术家和歌曲,又根据图上标示的关联关系(1,0..*),可以确定类A为艺术家(Artist);类B为歌曲(Song)。

类B与类E之间是聚集关系,根据题中“一条音轨中只包含一首歌曲或为空,一首歌曲可分布在多条音轨上”,可以得到类E为音轨(Track)。

接下来看类E与类F之间存在组成的关系,根据“每张唱片由多条音轨构成”得到,类F为唱片(Album)。

再来看类C和类D,它们与类A存在泛化关系,根据“艺术家可能是一名歌手或一支由2名或2名以上的歌手所组成的乐队”可知,类C与类D为歌手和乐队,又因为类C与类D存在聚集关系,根据题中“一名歌手可以不属于任何乐队,也可以属于一个或多个乐队”可知,类C为乐队(Band),类D为歌手(Musician)。

【问题2】类C为乐队,类D为歌手,题中“一支由2名或2名以上的歌手所组成的乐队。

一名歌手可以不属于任何乐队,也可以属于一个或多个乐队”,则第(1)空应填“0..*”,第(2)空应填“2..*”。

类B与类E存在聚集关系,题中“一条音轨中只包含一首歌曲或为空,一首歌曲可分布在多条音轨上”,所以第(3)空应填“0..1”,第(4)空应填“1..*”。

类E与类F存在泛化关系,题中“每张唱片由多条音轨构成”,所以第(5)空应填“1..*”,第(6)空应填“1”。

特别要说明一下,是“0..*”还是“1..*”,要看表述和实际情况,比如第(5)空,一张唱片至少有几条音轨,当然至少有一条,否则就不是唱片了,故是从1开始的。

【问题3】本问题考查的是类/对象关联中的一种特殊关联:递归关联,它描述的是同一个类的不同实例之间的关系。

而类Track的不同实例之间恰好具有这种关系(因此对于任意一条音轨,播放器需要准确地知道,它的下一条音轨和上一条音轨是什么)。

所以缺少的那条联系的两端都是类Track,其多重度都为0..1。

下限为0,是对应不存在上一条或下一条音轨的情况。

【问题4】问题4给定了两个状态“关闭”和“播放”,要求找出从“关闭”到“播放”的最短事件序列。

这就要求我们能够在状态图上找到连接这两个状态的最短迁移,然后将迁移上的事件记录下来就可以了。

从“关闭”状态到“播放”状态可以选择经过迁移“连接电脑”到达“联机”状态,再经过迁移“断开连接”到达状态“打开”,再从“打开”状态的初始状态“歌曲待选”,经过迁移“选择歌曲”到达“播放状态”。

这样经过的事件序列为:连接电脑电量饱和/完成复制断开连接选择歌曲。

显然这样的事件序列远比“关闭”经过“按任意键”直接到达“打开”状态要长得多。

所以从“关闭”到“播放”的最短事件序列是:按任意键,选择歌曲。

试题三参考答案【问题1】A:ArtistB:SongC:BandD:MusicianE:TrackF:Album【问题2】(1)0..*(2)2..*(3)0..1(4)1..*(5)1..*(6)1【问题3】【问题4】按任意键,选择歌曲。

试题四分析题目以希赛公司在线会议审稿系统为例,考查考生对UML用例图与活动图的掌握情况。

【问题1】题目已经给出了4类参与者:用户、作者、审稿人、委员会主席,关键在于弄清楚各个参与者之间的关系,这些关系是通过题目中的系统功能描述来获得的。

(1)“用户在初始使用系统时,必须在系统中注册(register)成为作者或审稿人”,从此处可以得知系统中的用户分成了两类:作者和审稿人。

(2)“会议委员会主席是一个特殊审稿人”。

从上面两个条件得知:A1对应用户,A2对应作者,A3对应审稿人,A4对应会议委员会主席。

同时由于UML图中不允许出现中文,且题目明确要求用英文名称给出A1~A4所对应的参与者,所以A1~A4处应分别填写User、Author、Reviewer和PCChair。

【问题2】由“会议委员会主席是一个特殊审稿人,可以浏览提交的稿件,给审稿人分配稿件,罗列录用和(或)拒绝的稿件,以及关闭审稿过程”结合“用例名称列表”可以得知:会议委员会主席能操作的功能有浏览提交的稿件、分配稿件给审稿人、罗列录用或/和拒绝的稿件、关闭审稿过程。

而从“其中关闭审稿过程须包括罗列录用和(或)拒绝的稿件”可以看出,用例“关闭审稿过程”与“罗列录用或/和拒绝的稿件”之间有包含关系。

从这个关系可以得知,U1对应的用例为:罗列录用或/和拒绝的稿件。

同时(2)对应的关系为包含关系,即U1应填“listaccepted/rejectedpapers”,(2)应填“>”。

这样,剩余的两项功能“浏览提交的稿件”和“分配稿件给审稿人”对应的为U2与U3,所以U2和U3分别应填“browsesubmittedpapers”和“assignpapertoreviewer”。

【问题3】该小题考查考生对包含与扩展关系的理解。

在对问题2的分析中,已经得出(2)填“>”。

现在来看(1),该空是填“登录”与“提交稿件”之间的关系,在提交稿件时,若用户已经登录,则可直接提交;但如果用户没有登录,则需要先登录再提交,所以它们之间的关系应是扩展关系,即(1)应填“>”。

【问题4】该活动图所描述的是作者提交稿件的过程,对此过程题目有详细的描述:“作者登录(login)后提交稿件和浏览稿件审阅结果。

提交稿件必须在规定提交时间范围内,其过程为先输入标题和摘要、选择稿件所属主题类型、选择稿件所在位置(存储位置)。

上述几步若未完成,则重复;若完成,则上传稿件至数据库中,系统发送通知。

”,所以Action1~Action4分别对应:输入标题和摘要、选择稿件所属主题类型、选择稿件所在位置、上传稿件。

所以Action1~Action4分别填:entertitleandabstract、selectsubjectgroup、selectpaperlocation和uploadpaper。

试题四参考答案【问题1】A1:UserA2:AuthorA3:ReviewerA4:PCChair【问题2】U1:listaccepted/rejectedpapersU2:browsesubmittedpapersU3:assignpapertoreviewer注:U2和U3的答案可互换【问题3】(1)>(2)>【问题4】Action1:entertitleandabstractAction2:selectsubjectgroupAction3:selectpaperlocationAction4:uploadpaper试题五分析本题考查面向对象系统开发时,采用UML模型进行建模的方法。

相关文档
最新文档