软件工程 需求分析 复习答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、单项选择题
1. 以下哪一项不是软件危机的表现( B)
A.开发的软件可维护性差 B.软件极易被盗版
C.经费预算经常被突破 D.开发的软件不能满足用户需求
2.下面不属于软件工程的三个要素是( B )。
A 过程
B 环境
C 方法
D 工具
3. 需求分析阶段的任务是确定( D )。
A 软件开发方法
B 软件开发工具
C 软件开发费用
D 软件开发功能
4. 下列不属
..于.需求分析工具的是( D )。
A.数据流图
B.用例图
C.状态图
D.程序流程图
5.关于软件测试的目的,下面观点错误的是( C)
A.为了发现错误而执行程序的过程
B.一个好的测试用例能够发现至今尚未发现的错误
C.证明程序是正确、没有错误的
D.一个成功的测试用例是发现了至今尚未发现的错误的测试
6. 软件详细设计阶段的任务是( A)。
A.算法与数据结构设计
B.功能设计
C.调用关系设计
D.输入/输出设计
7. 下列属于静态测试方法的是( A )
A.人工检测 B.路径覆盖
C.黑盒测试 D.白盒测试
8.汽车是一种交通工具,汽车类和交通工具类之间的关系是( C)
A.组合聚集关系 B. 共享聚集关系
C.一般-具体关系 D. 整体-部分关系
9.结构化程序设计的风格,主要强调的是( C )。
A.程序的执行效率B.模块的内聚
C.程序的可理解性 D.模块的耦合
10.在整个软件维护阶段所花费的全部工作中,所占比例最大的是( D)。
A.校正性维护 B.适应性维护
C.预防性维护 D.完善性维护
11. “软件工程的概念是为解决软件危机而提出的”这句话的意思是( C )
A.强调软件工程成功解决了软件危机的问题
B.说明软件危机的存在总是使软件开发不像传统工程项目那样容易管理
C.说明软件工程这门学科的形成是软件发展的需要
D.说明软件工程的概念,即:工程的原则、思想、方法可解决当时软件开发和维护存在的问题
12. 在软件工程的需求分析阶段,不属于问题识别内容的是( A )
A. 输入/输出需求
B.性能需求
C.环境需求
D.功能需求
13. 软件需求规格说明书的作用不包括( C)
A.软件验收的依据
B.软件设计的依据
C.软件可行性研究的依据
D.用户与开发人员对软件要做什么的共同理解
14.一个成功的测试可以( B )
A.表明程序没有错误
B.发现了尚未发现的错误
C.发现所有错误
D.提高软件的可靠性
15. 下列属于详细设计工具的是( D )
A.数据流图
B.用例图
C.状态图
D.程序流程图
16. 下列不属于动态测试方法的是( A)
A.人工检测 B.路径覆盖
C.白盒测试 D.黑盒测试
17.大学生是学生,学生类和大学生类之间的关系是( C )
A.组合聚集关系 B. 共享聚集关系
C.一般-具体关系 D. 整体-部分关系
18.为了提高软件的可维护性,编程阶段应注意( B )。
A.提高模块的独立性 B.养成良好的程序设计风格
C.文档的副作用 D.保存测试用例和数据
19. 软件生命周期中所花费用最多的阶段是(D)。
A.详细设计 B.软件编码
C.软件测试 D.软件维护
二、简答题
1. 软件生存周期可以分为几个阶段,每个阶段的提交物是什么?
答:
软件生存周期分为六个阶段:
(1)可行性研究和项目开发计划,提交项目开发计划和可行性分析报告。
(2)需求分析,提交软件需求说明书。
(3)概要设计,提交概要设计说明书。
(4)详细设计,提交详细设计说明书。
(5)编码,提交源程序清单。
(6)测试,提交测试报告。
(7)维护,提交维护报告。
2. 简述统一过程模型(UP)及其主要的特点。
答:
统一过程模型是风险驱动的基于用例技术的,以架构为中心的,迭代可配置的软件开发流程。
主要特点:UP是一个通用的过程框架,可以用于各类软件系统和应用领域,并是以用例驱动的,以架构为中心,迭代和增量的过程,是在重复一系列组成系统生命周期的循环。
3. 简述需求分析的任务及其过程步骤。
答:
需求分析的任务是理解客户需要什么,分析需求,评价可行性,协商合理的方案,无歧义地详细说明方案,确认规格说明,管理要求,以至将这些需求转化为可行系统。
过程步骤:(1)初步沟通(2)导出需求(3)分析和精化(4)可行性研究(5)协商与沟通(6)规格说明
4. 什么是黑盒测试技术?并简述有哪些常用黑盒测试方法。
答:
黑盒测试技术是根据程序组件的规格说明测试软件功能的方法。
常用的黑盒测试方法:等价类划分法,边界值分析法和错误推测法,因果
图法等。
5.什么是软件配置管理?配置管理主要有哪些活动?
答:
软件配置管理是对软件变通(或称为进化)过程的管理。
主要活动:(1)配置管理规划(2)变更管理(3)版本和发布管理
6. 原型按其使用方式的不同分为哪几种类型?
答:
根据原型的不同作用,有三类原型模型:
1、探索型原型
这种类型的原型是把原型用于开发的需求分析阶段,目的是要澄清用户的需求,确定所期望的特性,并探索各种方案的可行性。
它主要针对开发目标模糊,用户与开发都对项目都缺乏经验的情况,通过对原型的开发来探明用户的需求。
2、实验型原型
这种原型主要用于设计阶段,考核实现方案是否合适,能否实施。
对于一个大型系统,若对设计方案没有把握时,可通过这种原型来证实设计方案的正确性。
3、演化型原型
这种原型主要用于及早向用户提交一个原型系统,该原型系统或者包含系统的框架,或者包含系统的主要功能,在得到用户的认可后,将原型系统不断扩充演变为最终的软件系统。
它将原型的思想扩展到软件开发的全过程。
7.什么是软件危机?软件危机的表现是什么?其产生的原因是什么?
答:
软件危机是指计算机运行速度,容量,可靠性有显著地提高,生产成本显著下降,这为计算机的广泛应用创造了条件。
一些复杂的,大型的软件开发项目提出来了。
但是软件开发技术的进步一致未能满足发展的需要。
在软件开发中遇到的问题找不到解决办法,使问题积累起来,形成尖锐的矛盾,因而导致了软件危机。
软件危机表现在以下四个方面: 1、经费预算经常突破;2、开发的软件不能满足用户要求;3、开发的软件可维护性差;4、开发的软件可靠性差。
造成软件危机的原因是: 1、软件的规模越来越大,结构越来越复杂;2、软件开发管理困难而复杂;3、软件开发费用不断增加;4、软件开发技术落后;
5、生产方式落后;
6、开发工具落后,生产率提高缓慢。
8. 可行性研究报告的主要内容有哪些?
答:
可行性研究报告主要内容是回答以下三个问题
(1)系统是否符合软件使用单位的总体要求
(2)系统是否可以在现在的技术条件,预算和时间限制内完成
(3)系统能否把已有的其他系统集成
9. 简述软件概要设计的任务。
答:
软件概要设计的主要任务是:将系统划分成模块,决定每个模块的功能,决定模块的调用系统,即模块间传递的数据,决定模块的界面。
10. 什么是白盒测试技术?并简述有哪些常用白盒测试方法。
答:
白盒测试技术是有选择地执行(或覆盖)程序中某些最有代表性路径的测试方法。
常用的白盒测试方法:语句覆盖,判定覆盖,条件覆盖,判定条件覆盖,条件组合覆盖。
11. 什么是软件配置项?
答:
计算机程序(源程序和执行代码),软件(产品)文档(技术文档和用户文档)以及数据(程序内部和程序外部的数据),这些输出信息包含了所有在软件过程中产生的信息,称为软件配置项。
12.原型按其开发方式的不同分为哪几种类型?
答:
由于运用原型的目的和方式不同,在使用原型时也采取不同的策略,有抛弃策略和附加策略。
(1)抛弃策略
抛弃策略是将原型用于开发过程的某个阶段,促使该阶段的开发结果更加完整、准确、一致、可靠,该阶段结束后,原型随之作废。
探索型和实验型就是采用此策略的。
(2)附加策略
附加策略是将原型用于开发的全过程,原型由最基本的核心开始,逐步增加新的功能和新的需求,反复修改反复扩充,最后发展为用户满意的最终系统,演化型快速原型就是采用此策略。
采用何种形式、何种策略运用快速原型主要取决于软件项目的特点、人员素质、可供支持的原型开发工具和技术等,这要根据实际情况的特点来决定。
三、用例建模分析题
1.分析图书管理系统要求,画出该系统的用例图。
管理员:管理员能按系统授权维护和使用系统不同功能,可以创建、修改、删除读者信息和图书信息即读者管理和图书管理,借阅、归还图书以及罚款即借阅管理。
读者:读者能通过互联网或图书馆查询终端,查询图书信息和个人借阅信息,还可以在符合续借的条件下自己办理续借图书。
解答:
由此可见该系统的用例图:
2.分析旅店预定系统要求,画出该系统的用例图。
某公司要开发一个旅店预定系统,该旅店可对外开放豪华双人间、双人间、三人间和单人间,房间费用视情况按季节调整,但周一到周五半价(周末全价)折扣不变。
对于外界请求,该系统应能根据请求入住时间预定指定档次的房间,记录旅客姓名、地址、联系电话、有效证件号、房间类型和预定天数,并计算出总费用。
预定的同时旅客按规定须提交10%定金。
六个小时之内旅店允许旅客取消预定,并退回所有定金,超过六个小时定金不退还。
每周一系统自动打印一周预定情况清单。
采用哪种费用支付方式和何种类型操作界面尚不确定。
解答:
四、 综合分析与设计题
1.某登录用例描述如下:
1.界面对象接受输入的用户名和密码
2.用例控制对象根据用户名和密码进行权限验证
3.用户对象确认用户是合法用户
4.通过用户的用户组对象获得有关权限
5.界面对象显示登录成功
(1)画出该用例分析阶段的顺序图
解答:
(2)给出三层经典架构及其对应的软件设计类的类型解答:
层经典架构:展现层、业务逻辑层、数据层。
对应的软件设计类:边界类、控制类、实体类。
(3)画出该用例软件设计阶段的顺序图
解答:
2. 某登录用例描述如下:
1.界面对象接受输入的用户名和密码
2.用例控制对象根据用户名和密码进行权限验证
3.用户对象确认用户是合法用户
4.通过用户的用户组对象获得有关权限
5.界面对象显示登录成功
1. 识别分析出该用例的类图。
2. 请分析上述用例描述,画出分析阶段的顺序图。
解答:
五、测试用例设计题
1.下面是一段伪码程序(代码前的数字只作标号用,不参与程序执行):START
1:INPUT(A,B,C,D)
2:IF(A>0)AND(B>0)
THEN
3:X=A+B
ELSE
4:X=A-B
5:END
6:IF(C>A)OR(D<B)
THEN
7:Y=C-D
ELSE
8:Y=C+D
9:END
10:PRINT(X,Y)
STOP
根据以上的描述:
(1)画出对应的流程图和程序图。
(2)计算程序图的环形复杂度。
(3)确定该程序的基本路径。
(4)采用基本路径测试方法设计一组测试用例。
解答:
(1)
(2)根据程序图,由V(G)=E-N+2可知:12-9+2=5 (3)共5条基本路径:
1-4-5-8-9;
1-4-5-6-8-9;
1-4-5-6-7-9;
1-2-4- …;
1-2-3-5-
(4)。