当前位置:文档之家› 软件工程模拟试题二及参考答案

软件工程模拟试题二及参考答案

软件工程》试题一、选择1、()是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。

A 软件过程B 软件工具C 质量保证D 软件工程2、()是以追求更高的效益和效率为目标的持续性活动。

A 质量策划B 质量控制C 质量保证D 质量改进3、CMM提供了一个框架,将软件过程改进的进化步骤组织成5个成熟度等级。

除第 1级外,每一级都包含了实现这一级目标的若干关键过程域,每一个关键过程域又包含若干()。

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、判断下列叙述的正确性,将结果(V正确,X错误)填入()中,并改正错误的说法。

(1). ()在软件开发的过程中,若能推迟暴露其中的错误,则为修复和改正错误所花费的代价就会降低。

改正: __(2). ()在需求分析中,分析员要从用户那里解决的最重要的问题是明确软件做什么。

改正: __(3). ( )软件需求规格说明书在软件开发中具有重要的作用,是软件可行性分析的依据。

改正: __(4). ( )模型是对现实的简化,建模是为了更好地理解所开发的系统。

改正:(5). ( ) UML语言支持面向对象的主要概念,并与具体的开发过程相关。

改正:(6). ( )用例图定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部对功能的具体实现。

改正: __(7). ( )好的测试用例应能证明软件是正确的。

改正:(8). ( )白盒测试仅与程序的内部结构有关,完全可以不考虑程序的功能要求。

改正: __(9). ( )当软件开发项目的进度有可能拖延时,增加开发人员并不能加快进度。

正:(10).()软件技术复审是由用户和测试人员实施的一种质量保证活动。

改正:2、你认为一个好的软件开发人员应具备哪些基本素质?3、需求工程包括哪些基本活动?每一项活动的主要任务是什么?4、为什么软件需要维护?简述软件维护的过程。

5、根据下面给出的规格说明,利用等价类划分的方法,给出足够的测试用例。

"一个程序读入3个整数,它们分别代表一个三角形的3个边长。

该程序判断所输入的整数是否构成一个三角形,以及该三角形是一般的、等腰的或等边的,并将结果打印出来。

”要求:设三角形的3条边分别为A、B、C,并且(1)列出等价类表,格式如下:(2)设计测试用例,格式如下:用例n:输入【A, B, C】覆盖等价类……(列出等价类序号),输出结果为6、下图显示了配置管理中的存取和控制,请选择合适的答案,将其对应的序号填入()中。

供选择的答案:A:①软件工程人员②配置人员③质量保证人员B:④异步控制⑤同步控制⑥存取控制C〜D:⑦ 管理⑧ 登入⑨ 检出⑩ 填写变更请求7、UML关系包括关联、聚合、泛化、实现、依赖等5种类型,请将合适的关系填写在下列描述的()中。

①用例及其协作之间是()关系。

②在学校中,一个学生可以选修多门课程,一门课程可以由多个学生选修,那么学生和课程之间是()关系。

③类A的一个操作调用类 B的一个操作,且这两个类之间不存在其他关系,那么类 A 和类B之间是()关系。

④在MFC类库中,Window类和DialogBox类之间是()关系。

⑤森林和树木之间是()关系。

8、下图显示了某个学校课程管理系统的部分类图,其中一个学生(student )可以知道所有注册课程的教师(in structor ),一个教师也可以知道所有注册课程的学生。

studentO.*.+Instructor-ivune; String-regBteiedliutnictors:In»trucior[]nutmr lorlD! bit -regkteiedStiijdjenis:StudciLt[]■+ getRegif lERdlnstiwlorsO:Iiutnirior[ 1■+^tKegistei]PdSiudffJLteO:Student []现在提出一个新的需求:哪一个是最好的?为什么?设计A:Candidate-name: String-candidateID:Int-student: B OU I E^IL-Uu true tor: B nolean-regisieipdCajididates: Candidate[)O.…++getRe^BteiedC3ndidates0: Cajididate []答案:设计最好。

理由:"一个教师也可以是某些课程的学生”,那么下面设计A~C中设计B:设计C:参考答案一、选择题答案1、a2、 d3、a4、c5、a6、b7、c8、b二、问答题答案1、判断下列叙述的正确性,将结果(V正确,x错误)填入( )中,并改正错误的说法。

(1). (X) 改正:在软件开发的过程中,一个错误修复和改正得越晚,为此所花费的代价就会越高。

(2). (V)(3). (X) 改正:软件可行性分析应在需求分析之前,因此,软件需求规格说明书不应成为软件可行性分析的依据。

⑷.(V)(5). (X) 改正:UML语言支持面向对象的概念,并独立于具体的开发过程。

(6). (V)(7). (X) 改正:好的测试用例在于能发现至今未发现的错误。

(8). (V)(9). (V)(10). (X)改正:软件技术复审是由软件开发人员实施的一种质量保证活动。

2、答:( 1)牢固掌握计算机软件的基本知识和技能;( 2) 善于分析和综合问题,具有严密的逻辑思维能力;( 3) 工作踏实细致,遵循标准和规范,具有严格的科学作风;( 4) 工作有耐心、有毅力、有责任心;( 5) 善于听取别人的意见,善于与周围人员团结协作,建立良好的人际关系;( 6) 具有良好的书面和口头表达能力。

3、答:( 1 )需求获取(问题识别):采集、识别和提取用户的需求,对问题和需求形成文档化的描述,使各种人员达成一致的理解和认可。

( 2) 需求分析:分析和综合所采集的信息,建立系统的详细逻辑模型。

( 3) 需求规格说明:编写软件需求规格说明书,明确、完整和准确地描述已确定的需求。

( 4) 需求验证:评审软件需求规格说明,以保证其正确性、一致性、完备性、准确性和清晰性。

( 5) 需求管理:定义需求基线,在整个项目过程中跟踪需求状态及其变更情况。

4、答:在软件开发完成交付用户使用后,为了保证软件在一个相当长的时期能够正常运行,就需要对软件进行维护。

软件维护的过程:( 1 ) 确认维护要求。

(2)对于改正性维护申请,评价错误的严重性。

对于严重的错误,立即安排人员,分析问题原因,进行 " 救火" 性的紧急维护;对于不严重的错误,根据任务情况和轻重缓急进行统一安排。

(3)对于适应性和完善性维护申请,需要确定申请的优先级,然后安排维护工作。

并不是所有的完善性维护申请都必须承担,需要考虑商业需要、现有资源、未来发展方向等进行决定。

5、答:1 ) 列出等价类表1, 2, 3, 4, 5, 6),输出结果为构成一般三角形。

6、答:7、答:①实现②关联③依赖④泛化⑤聚合 8、答: 设计C 最好。

学生和教员均可以从 Candidate 类继承而来; 抽象出 Role 类,使 Candidate 类与 Role 类之间形成多对多的关联关系,实现了 " 一个人既是教师又是某门课的学生 "这个需 求。

用例1 :输入【3, 4, 5】覆盖等价类 输入【0 , 1, 2】 覆盖等价类( 2) 输入【1 , 0 , 2】 覆盖等价类( 2) 输入【1 , 2 , 0】 覆盖等价类( 2) 用例3:三者取一输入【1 , 2 , 3】 覆盖等价类( 3) 输入【1 , 3 , 2】 覆盖等价类( 3) 输入【3 , 1, 2】 覆盖等价类( 3) 用例4:三者取一输入【3,3,4】覆盖等价类(1) 输入【3, 4,4】覆盖等价类(1) 输入【3, 4, 3】覆盖等价类(1) 用例5:输入【3, 4, 5】覆盖等价类( 用例6:输入【3, 3, 3】覆盖等价类( 用例7:三者取一输入【3, 4, 4】覆盖等价类(1) 输入【3, 4, 3】覆盖等价类(1)输入【3, 3, 4】覆盖等价类(1),输出结果为不构成三角形。

,输出结果为不构成三角形。

,输出结果为不构成三角形。

,输出结果为不构成三角形。

输出结果为不构成三角形。

,输出结果为不构成三角形。

(4),输出结果为等腰三角形。

(4),输出结果为等腰三角形。

(4),输出结果为等腰三角形。

1)( 5),输出结果为不是等腰三角形。

1)( 6),输出结果为等边三角形。

(4)( 7),输出结果为不是等边三角形。

(4)( 7),输出结果为不是等边三角形。

用例2:三者取一。

相关主题