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

合集下载

软考试题及答案

软考试题及答案

软考试题及答案一、选择题(每题1分,共10分)1. 软件工程中的“需求分析”阶段的主要任务是:A. 设计软件架构B. 确定软件的功能和性能需求C. 编写程序代码D. 进行软件测试答案:B2. 在软件开发中,以下哪项不是敏捷开发方法的特点?A. 迭代开发B. 强调客户合作C. 严格的文档记录D. 响应变化答案:C3. 面向对象编程中的“封装”是指:A. 将数据和操作数据的方法组合在一起B. 将程序分解为多个模块C. 将程序运行在不同的操作系统上D. 将程序代码翻译成机器语言答案:A4. 在数据库设计中,规范化的主要目的是:A. 提高查询速度B. 减少数据冗余C. 增加数据安全性D. 降低存储成本答案:B5. 在软件测试中,黑盒测试不关心的是:A. 输入数据B. 程序内部逻辑C. 测试用例D. 输出结果答案:B...(此处省略其他选择题)二、简答题(每题5分,共20分)1. 简述软件开发生命周期(SDLC)的主要阶段。

答案:软件开发生命周期(SDLC)的主要阶段包括:需求分析、设计、实现(编码)、测试、部署和维护。

2. 解释什么是软件重构,并给出一个例子。

答案:软件重构是指在不改变软件外部行为的前提下,对软件内部结构进行调整以提高其可读性、可维护性和性能。

例如,将一个过长的函数拆分成几个更小的、职责更明确的函数。

...(此处省略其他简答题)三、应用题(每题15分,共30分)1. 描述一种在软件开发中常用的设计模式,并解释其适用场景。

答案:单例模式是一种常用的设计模式,它确保一个类只有一个实例,并提供一个全局访问点。

这种模式适用于需要全局状态或配置信息,或者需要限制资源使用的场景。

2. 给出一个使用UML类图表示的简单类关系,并解释每个类的作用。

答案:假设有一个简单的图书管理系统,UML类图可能包括以下类:- `Book`:代表一本书,有属性如书名、作者和ISBN。

- `Library`:代表图书馆,包含一个`Book`对象的集合,并提供借书和还书的方法。

计算机软考:软件设计师练习试题及答案解析(2)

计算机软考:软件设计师练习试题及答案解析(2)

计算机软考:软件设计师练习试题及答案解析(2) 21. 新软件项⽬与过去成功开发过的⼀个项⽬类似,但规模更⼤,此时⽐较适合使⽤ (25) 进⾏项⽬开发设计。

(25) A.原型法 B.变换模型 C.瀑布模型 D.螺旋模型 参考答案:(25)C。

解析:由于新项⽬与过去成功开发过的⼀个项⽬类似,已经有了成功的项⽬开发经验和积累的软件模块,因此,应尽可能将这些经验和软件模块应⽤到新项⽬中,即对于这个规模更⼤的软件项⽬应该使⽤瀑布模型进⾏开发。

22.在下列代码中,正确的C代码是(26) (26) A. #defineMYNAME="ABC" B. #includestring.h C. for(i=0;i<10;i++); D. structintstu{intname}; 参考答案:(26) C。

解析:A是关于宏定义的,在宏的定义形式中,宏名与字符列之间⾄少有⼀个空⽩符,并在宏名希望代表的字符序列之间也不能有任何⾮空格类字符,若有也被当作是字符序列的⼀部分。

有了宏定义,以后程序中若要有宏名后的字符序列就可简写成宏名。

选择①在宏名之后紧接字符=。

B是关于包含命令的,在上述包含命令的格式中,被包含⽂件应放在⼀对尖括号之间,或⼀对双引号之间,不可在⽂件名字符列的⾸末没有这种符号。

C是for语句,for语句的循环体可以⽤空语句,从语⾔的句法规则来说,该语句是正确的。

但通常循环是为了完成某种重复计算操作,单⼀地让⼀个变量循环增1到某个值,程序员是不会编写这种代码的。

D是想定义结构类型,定义结构时,struct后接结构类型名,不可在结构名之前插⼊某些其它类型符。

正确解答是C。

23.在下列代码中,正确的C代码是(27) (27)A. #definePI=3.14159 B. include"stdio.h" C. for(i=0,i<10,i++)a++; D. staticstruct{inti;}b={2}; 参考答案:D。

2024年下半年软件设计师试题

2024年下半年软件设计师试题

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. 确保项目按时交付。

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)。

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

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

软件水平考试《软件设计师》历年真题及答案汇总软件水平考试《软件设计师》历年真题及答案(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.( )是一种面向数据流的开发方法,其基本思想是软件功能的分解和抽象。

2024软考软件设计师题库

2024软考软件设计师题库

一、选择题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.软件设计评审应由独立的评审团队进行(正确答案,因为设计评审可以在设计过程中进行,不仅限于设计完成后,且可以由开发团队内部或外部人员进行)。

历年软考软件设计师经典真题及答案

历年软考软件设计师经典真题及答案

历年软考软件设计师经典真题及答案1.软件水平成熟模型(CMM)是当前国际上最流行、最实用的软件生产过程标准和软件企业成熟度的等级认证标准。

该模型将软件水平成熟度自低到高依次划分为初始级、可重复级、已定义级、已管理级、优化级。

从( )开始,要求企业建立基本的项目管理过程的政策和管理规程,使项目管理工作有章可循。

A.初始级B.可重复级C.已定义级D.已管理级参考答案:C2.一个软件开发过程描述了“谁做”、“做什么”、“怎么做”和“什么时候做”,RUP用( )来表述“谁做”。

A. 角色B. 活动C. 制品D. 工作流参考答案:A3.RUP 在每个阶段都有主要目标,并在结束时产生一些制品。

在( )结束时产生“在适当的平台上集成的软件产品”。

A. 初期阶段B. 精化阶段C. 构建阶段D. 移交阶段参考答案:C4.RUP分为4个阶段,每个阶段结束时都有重要的里程碑,其中生命周期架构是在( )结束时的里程碑。

A.初期阶段B. 精化阶段C. 构建阶段D. 移交阶段参考答案:A5.ISO/IEC 9126 软件质量模型中第一层定义了六个质量特性,并为各质量特性定义了相对应的质量子特性。

子特性( )属于可靠性质量特性。

A.准确性B. 易理解性C. 成熟性D. 易学性参考答案:C6.结构化开发方法中,数据流图是( )阶段产生的成果。

A. 需求分析B. 总体设计C. 详细设计D. 程序编程参考答案:A例如:学籍管理系统的数据流图例如:学籍管理系统的顶层图7.下列要素中,不属于DFD的是( )。

当使用DFD对一个工资系统实行建模时,( )能够被认定为外部实体。

(1)A.加工 B.数据流 C.数据存储 D.联系(2)A.接收工资单的银行 B.工资系统源代码程序C.工资单D.工资数据库的维护参考答案:D、A8.【说明】某公司拟开发一个销售管理系统,其主要功能描述如下:1.接受客户订单,检查库存货物是否满足订单要求。

如果满足,实行供货处理:即修改库存记录文件,给库房开具备货单并且保留客户订单至订单记录文件;否则实行缺货处理:将缺货订单录入缺货记录文件。

计算机软考:软件设计师练习试题及答案解析(3)

计算机软考:软件设计师练习试题及答案解析(3)

计算机软考:软件设计师练习试题及答案解析(3) 41.不是C语⾔提供的合法关键字是(46) (45)A. switch B. begin C. case D. default 参考答案:(46)B。

解析:因C语⾔的关键字表中没有begin,它不是C语⾔的关键字。

所以解答是B。

42.下列字符列中,能作为单个标识符是(47) (47)A. ?a B. a=2 C. a.3 D.a___3 参考答案:(47)D。

解析:在C语⾔中,规定标识符是这样⼀种字符序列,由英⽂字母或下线字符开始,后接任1个英⽂字母、下线字符和数字符组成。

所以问题所列的字符列只有a_3是标识符,其余都l是标识符,⼀个是由字符’?’开头、⼀个中间有字符’=’,另⼀个有字符’.’。

所以解答是D。

43.在C语⾔中,下列说法中错误的是(48) (47)A. 函数定义可以分为两个部分:函数说明部分和函数体 B. 主函数可以调⽤任何⾮主函数 C. 任何⾮主函数可以调⽤其它任何⾮主函数 D. 程序可以从任何函数开始执⾏ 参考答案:(48)D。

解析:每个C函数的定义分两部分,函数说明部分和函数体,所以叙述①是正确的叙述。

C语⾔中,函数可以递归调⽤,主函数可以调⽤程序中的任何函数,当然可以调⽤任何⾮主教的其它函数,所以叙述②是⼀个正确的叙述。

同样理由,叙述③也是正确的。

C语⾔规,C程序只有⼀个主函数,并总是从主函数开始执⾏,不能从⾮主函数开始执⾏。

所以,说程可以从任何函数开始执⾏是错误的。

所以解答是D。

44. 为了直观地分析系统的动作,从特定的视点出发描述系统的⾏为,需要采⽤动态分析的⽅法。

其中, (49) 适⽤于描述与分析相互独⽴、协同操作的处理系统,也就是并发执⾏的处理系统。

(49) A.状态迁移图 B.时序图 C.Petri D.HIPO图 参考答案:(49)C。

解析:为了直观地分析系统的动作,从特定的视点出发描述系统的⾏为,需要采⽤动态分析的⽅法。

  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。

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

相关文档
最新文档