软件工程复习题及答案完整分解.docx
- 文档编号:930191
- 上传时间:2022-10-14
- 格式:DOCX
- 页数:33
- 大小:162.12KB
软件工程复习题及答案完整分解.docx
《软件工程复习题及答案完整分解.docx》由会员分享,可在线阅读,更多相关《软件工程复习题及答案完整分解.docx(33页珍藏版)》请在冰豆网上搜索。
软件工程复习题及答案完整分解
窗体顶端
一、选择
1、文档是软件产品的一部分,没有文档的软件就不称其为软件。
对
2、在需求分析过程中,分析员要从用户那里解决的最重要的问题是给该软件提供哪些信息。
错
3、需求规格说明书在软件开发中具有重要的作用,它也可以作为软件可行性分析的依据。
错
4、建立用例模型的步骤包括确定角色、确定用例和绘制用例图。
错
5、数据流图建立系统的功能模型,它由数据流、加工和数据存贮组成。
错
6、软件配置管理是一组标识、组织和控制修改源程序的活动。
错
7、UML是一种直观化、明确化、构建和文档化软件产物的通用语言。
错
8、好的测试是用少量的测试用例运行程序,发现被测程序尽可能多的错误。
对
9、边界值分析方法是取输入/输出等价类的边界值作为测试用例。
对
10、面向对象的分析是面向计算机系统建立软件系统的对象模型。
错
11、(D)是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。
A软件过程B软件测试C软件生存周期D软件工程
12、ISO9000是由ISO/TC176制定的关于(B)和质量保证的国际标准。
A质量控制B质量管理C质量策划D质量改进
13、CMM提供了一个框架,将软件过程改进的进化步骤组织成5个成熟度等级。
除第1级外,每个等级都包含了实现该成熟度等级目标的若干(B)。
A关键实践B关键过程域C软件过程能力D软件过程
14、在软件开发的各种资源中,(D)是最重要的资源。
A开发工具B方法C硬件环境D人员
15、软件的复杂性是(A),它引起人员通信困难、开发费用超支、开发时间超时等问题。
A固有的B人为的C可消除的D不可降低的
16、在各种不同的软件需求中,(D)描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明。
A业务需求B功能需求C非功能需求D用户需求
17、原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于(A)系统。
A需求不确定的B需求确定的C管理信息D决策支持
18、(A)意味着一个操作在不同的类中可以有不同的实现方式。
A多态性B多继承C类的可复用D信息隐蔽
19、时序图反映对象之间发送消息的时间顺序,它与(D)是同构的。
A用例图B类图C活动图D协作图
20、单元测试的测试用例主要根据(D)的结果来设计。
A需求分析B源程序C概要设计D详细设计窗窗体顶端
二、填空题
1、在学校中,一个学生可以选修多门课程,一门课程可以由多个学生选修,那么学生和课程之间是关联关系。
2、类A的一个操作调用类B的一个操作,且这两个类之间不存在其他关系,那么类A和类B之间是依赖关系。
3、用例及其协作之间是实现关系。
4、接口及其实现类或构件之间是实现关系。
5、动物与老虎之间是泛化关系。
三、问答题
1、软件复用的范围不仅仅涉及源程序代码,请至少列出5种可能复用的软件元素。
可复用的软件元素包括(选5种):
项目计划、成本估计、体系结构、需求模型和规格说明、设计、用户文档和技术文档、用户界面、数据结构、测试用例。
2、传统"瀑布模型"的主要缺陷是什么?
试说明造成缺陷的原因。
传统"瀑布模型"的主要缺陷及其原因:
在项目的早期,用户常常很难清楚地给出所有需求,瀑布模型却要求如此。
由于瀑布模型的特点,早期的错误直到开发晚期才能被发现,开发的风险较大。
3、某学校需要开发一个学生成绩管理系统,教务人员可以通过该系统维护学生信息、课程信息和成绩信息,学生可以随时查询自己的成绩单,该系统的实体关系图如下所示:
请问图中是否应该增加"教务人员"?
试说明理由。
不应该增加"教务人员",因为教务人员只是该系统的一个使用者,系统不处理其属性信息。
4、下面是一段求最大值的程序,其中datalist是数据表,n是datalist的长度。
intGetMax(intn,intdatalist[]) { intk=0;
for(intj=1;j if(datalist[j]>datalist[k])k=j; returnk; } (1)画出该程序的控制流图,并计算其McCabe环路复杂性。 控制流图如下,McCabe环路复杂性为3。 (2)用基本路径覆盖法给出测试路径。 测试路径: Path1: ①→③Path2: ①→②→④→⑥→…Path3: ①→②→⑤→⑥→… (3)为各测试路径设计测试用例。 测试用例: Path1: 取n=1,datalist[0]=1,预期结果: k=0 Path2: 取n=2,datalist[0]=1,datalist[1]=0,预期结果: k=0 Path3: 取n=2,datalist[0]=0,datalist[1]=1,预期结果: k=1 5、下图显示了某个学校课程管理系统的部分类图,其中一个学生(student)可以知道所有注册课程的教师(instructor),一个教师也可以知道所有注册课程的学生。 现在提出一个新的需求: "一个教师也可以是某些课程的学生",那么下面设计A-C中哪一个是最好的? 为什么? 设计B是最好的。 学生和教员均可以从Candidate类继承而来;抽象出Role类,使Candidate类与Role类之间形成多对多的关联关系,实现了"一个人既是教师又是某门课的学生"这个需求。 设计A: 设计B: 设计C: 6、所谓分层体系结构是按层组织软件的一种软件体系结构,其中每层软件建立在低一层的软件层上,下图显示了一种分层体系结构。 请选择正确的答案,将其对应的序号填入图中的()。 供选择的答案: ①高效性②通用性③保密性④专用性⑤系统软件⑥中间件⑦应用软件⑧支撑软件⑨特定业务⑩子系统窗体底端 一、选择 1、(A)是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。 A软件过程B软件工具C质量保证D软件工程 2、(D)是以追求更高的效益和效率为目标的持续性活动。 A质量策划B质量控制C质量保证D质量改进 3、CMM提供了一个框架,将软件过程改进的进化步骤组织成5个成熟度等级。 除第1级外,每一级都包含了实现这一级目标的若干关键过程域,每一个关键过程域又包含若干(A)。 A关键实践B软件过程性能C软件过程能力D软件过程 4、在各种不同的软件需求中,功能需求描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明,(C)是从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的额外要求。 A业务需求B功能要求C非功能需求D用户需求 5、(A)意味着一个操作在不同的类中可以有不同的实现方式。 A多态性B多继承C类的复用D封装 6、在面向对象的系统中,系统责任的良好分配原则是(B)。 A在类之间均匀分配B集中分配在少数控制类中C根据交互图的消息进行分配D根据个人喜好进行分配 7、软件配置项是软件配置管理的对象,即软件工程过程中产生的(C)。 A接口B软件环境C信息项D版本 8、软件测试计划开始于需求分析阶段,完成于(B)阶段。 A需求分析B软件设计C软件实现D软件测试 二、问答题 1、判断下列叙述的正确性,将结果(√正确,×错误)填入()中,并改正错误的说法。 (1).(×)在软件开发的过程中,若能推迟暴露其中的错误,则为修复和改正错误所花费的代价就会降低。 改正: 在软件开发的过程中,一个错误修复和改正得越晚,为此所花费的代价就会越高。 (2).(√)在需求分析中,分析员要从用户那里解决的最重要的问题是明确软件做什么。 (3).(×)软件需求规格说明书在软件开发中具有重要的作用,是软件可行性分析的依据。 改正: 软件可行性分析应在需求分析之前,因此,软件需求规格说明书不应成为软件可行性分析的依据。 (4).(√)模型是对现实的简化,建模是为了更好地理解所开发的系统。 (5).(×)UML语言支持面向对象的主要概念,并与具体的开发过程相关。 改正: UML语言支持面向对象的概念,并独立于具体的开发过程。 (6).(√)用例图定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部对功能的具体实现。 (7).(×)好的测试用例应能证明软件是正确的。 改正: 好的测试用例在于能发现至今未发现的错误。 (8).(√)白盒测试仅与程序的内部结构有关,完全可以不考虑程序的功能要求。 (9).(√)当软件开发项目的进度有可能拖延时,增加开发人员并不能加快进度。 (10).(×)软件技术复审是由用户和测试人员实施的一种质量保证活动。 改正: 软件技术复审是由软件开发人员实施的一种质量保证活动。 2、你认为一个好的软件开发人员应具备哪些基本素质? 答: (1)牢固掌握计算机软件的基本知识和技能; (2)善于分析和综合问题,具有严密的逻辑思维能力;(3)工作踏实细致,遵循标准和规范,具有严格的科学作风;(4)工作有耐心、有毅力、有责任心;(5)善于听取别人的意见,善于与周围人员团结协作,建立良好的人际关系;(6)具有良好的书面和口头表达能力。 3、需求工程包括哪些基本活动? 每一项活动的主要任务是什么? 答: (1)需求获取(问题识别): 采集、识别和提取用户的需求,对问题和需求形成文档化的描述,使各种人员达成一致的理解和认可。 (2)需求分析: 分析和综合所采集的信息,建立系统的详细逻辑模型。 (3)需求规格说明: 编写软件需求规格说明书,明确、完整和准确地描述已确定的需求。 (4)需求验证: 评审软件需求规格说明,以保证其正确性、一致性、完备性、准确性和清晰性。 (5)需求管理: 定义需求基线,在整个项目过程中跟踪需求状态及其变更情况。 4、为什么软件需要维护? 简述软件维护的过程。 答: 在软件开发完成交付用户使用后,为了保证软件在一个相当长的时期能够正常运行,就需要对软件进行维护。 软件维护的过程: (1)确认维护要求。 (2)对于改正性维护申请,评价错误的严重性。 对于严重的错误,立即安排人员,分析问题原因,进行"救火"性的紧急维护;对于不严重的错误,根据任务情况和轻重缓急进行统一安排。 (3)对于适应性和完善性维护申请,需要确定申请的优先级,然后安排维护工作。 并不是所有的完善性维护申请都必须承担,需要考虑商业需要、现有资源、未来发展方向等进行决定。 5、根据下面给出的规格说明,利用等价类划分的方法,给出足够的测试用例。 "一个程序读入3个整数,它们分别代表一个三角形的3个边长。 该程序判断所输入的整数是否构成一个三角形,以及该三角形是一般的、等腰的或等边的,并将结果打印出来。 " 要求: 设三角形的3条边分别为A、B、C,并且 (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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 复习题 答案 完整 分解
![提示](https://static.bdocx.com/images/bang_tan.gif)