软件工程考试2.docx
《软件工程考试2.docx》由会员分享,可在线阅读,更多相关《软件工程考试2.docx(9页珍藏版)》请在冰豆网上搜索。
软件工程考试2
《软件工程》试题二
窗体顶端
一、选择
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、判断下列叙述的正确性,将结果(√正确,×错误)填入()中,并改正错误的说法。
(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()。
供选择的答案:
A:
①软件工程人员②配置人员③质量保证人员
B:
④异步控制⑤同步控制⑥存取控制
C~D:
⑦管理⑧登入⑨检出⑩填写变更请求
7、UML关系包括关联、聚合、泛化、实现、依赖等5种类型,请将合适的关系填写在下列描述的()中。
①用例及其协作之间是()关系。
②在学校中,一个学生可以选修多门课程,一门课程可以由多个学生选修,那么学生和课程之间是()关系。
③类A的一个操作调用类B的一个操作,且这两个类之间不存在其他关系,那么类A和类B之间是()关系。
④在MFC类库中,Window类和DialogBox类之间是()关系。
⑤森林和树木之间是()关系。
8、下图显示了某个学校课程管理系统的部分类图,其中一个学生(student)可以知道所有注册课程的教师(instructor),一个教师也可以知道所有注册课程的学生。
现在提出一个新的需求:
"一个教师也可以是某些课程的学生",那么下面设计A~C中哪一个是最好的?
为什么?
设计A:
设计B:
设计C:
答案:
设计___最好。
理由:
窗体底端
参考答案
一、选择题答案
1、a
2、d
3、a
4、c
5、a
6、b
7、c
8、b
二、问答题答案
1、判断下列叙述的正确性,将结果(√正确,×错误)填入()中,并改正错误的说法。
(1).(×)改正:
在软件开发的过程中,一个错误修复和改正得越晚,为此所花费的代价就会越高。
(2).(√)
(3).(×)改正:
软件可行性分析应在需求分析之前,因此,软件需求规格说明书不应成为软件可行性分析的依据。
(4).(√)
(5).(×)改正:
UML语言支持面向对象的概念,并独立于具体的开发过程。
(6).(√)
(7).(×)改正:
好的测试用例在于能发现至今未发现的错误。
(8).(√)
(9).(√)
(10).(×)改正:
软件技术复审是由软件开发人员实施的一种质量保证活动。
2、答:
(1)牢固掌握计算机软件的基本知识和技能;
(2)善于分析和综合问题,具有严密的逻辑思维能力;
(3)工作踏实细致,遵循标准和规范,具有严格的科学作风;
(4)工作有耐心、有毅力、有责任心;
(5)善于听取别人的意见,善于与周围人员团结协作,建立良好的人际关系;
(6)具有良好的书面和口头表达能力。
3、答:
(1)需求获取(问题识别):
采集、识别和提取用户的需求,对问题和需求形成文档化的描述,使各种人员达成一致的理解和认可。
(2)需求分析:
分析和综合所采集的信息,建立系统的详细逻辑模型。
(3)需求规格说明:
编写软件需求规格说明书,明确、完整和准确地描述已确定的需求。
(4)需求验证:
评审软件需求规格说明,以保证其正确性、一致性、完备性、准确性和清晰性。
(5)需求管理:
定义需求基线,在整个项目过程中跟踪需求状态及其变更情况。
4、答:
在软件开发完成交付用户使用后,为了保证软件在一个相当长的时期能够正常运行,就需要对软件进行维护。
软件维护的过程:
(1)确认维护要求。
(2)对于改正性维护申请,评价错误的严重性。
对于严重的错误,立即安排人员,分析问题原因,进行"救火"性的紧急维护;对于不严重的错误,根据任务情况和轻重缓急进行统一安排。
(3)对于适应性和完善性维护申请,需要确定申请的优先级,然后安排维护工作。
并不是所有的完善性维护申请都必须承担,需要考虑商业需要、现有资源、未来发展方向等进行决定。
5、答:
(1)列出等价类表
输入条件
有效等价类
无效等价类
是否构成一个三角形
(1)A>0且B>0且C>0且
A+B>C且B+C>A且
A+C>B。
(2)A≤0或B≤0或C≤0
(3)A+B≤C或A+C≤B
或B+C≤A
是否等腰三角形
(4)A=B或A=C或B=C
(5)A≠B且A≠C且B≠C
是否等边三角形
(6)A=B且A=C且B=C
(7)A≠B或A≠C或B≠C
(2)设计测试用例
用例1:
输入【3,4,5】覆盖等价类(1,2,3,4,5,6),输出结果为构成一般三角形。
用例2:
三者取一
输入【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)(4),输出结果为等腰三角形。
输入【3,4,4】覆盖等价类
(1)(4),输出结果为等腰三角形。
输入【3,4,3】覆盖等价类
(1)(4),输出结果为等腰三角形。
用例5:
输入【3,4,5】覆盖等价类
(1)(5),输出结果为不是等腰三角形。
用例6:
输入【3,3,3】覆盖等价类
(1)(6),输出结果为等边三角形。
用例7:
三者取一
输入【3,4,4】覆盖等价类
(1)(4)(7),输出结果为不是等边三角形。
输入【3,4,3】覆盖等价类
(1)(4)(7),输出结果为不是等边三角形。
输入【3,3,4】覆盖等价类
(1)(4)(7),输出结果为不是等边三角形。
6、答:
A①B⑥C⑨D⑧
7、答:
①实现②关联③依赖④泛化⑤聚合
8、答:
设计C最好。
学生和教员均可以从Candidate类继承而来;抽象出Role类,使Candidate类与Role类之间形成多对多的关联关系,实现了"一个人既是教师又是某门课的学生"这个需求。