资源描述
《软件工程》复习范围
注意事项:
每个学生必须写上本人得学号、任课教师姓名、姓名、班级,另外所有得答案必须全部写在答卷纸上请不要写得试卷上,试题及答卷一同交上。
第一部分: 选择题(请选择最合适得一个答案)。 (1*15 =15 )
1、 从功能角度来定义,软件就是 D 。
a) 为人类提供普适计算得逻辑产品
b) 为人类提供逻辑计算得逻辑产品
c) 为人类提供数值计算得逻辑产品
d) 为人类提供计算服务得逻辑产品
2、 关于软件危机描述不正确得就是 D 。
a) 软件危机就是软件开发与维护过程中所遇到得一系列严重问题
b) 软件危机得表现就是开发成本高、软件质量不高、软件交付经常延期
c) 软件工程就是为了解决软件危机而产生得
d) 软件工程得出现彻底解决了软件危机
3、 下列属于瀑布型方法缺点得就是 A 。
a)将软件过程进行僵化划分、缺少灵活性
b)强调了文档得作用,保护了软件开发商得利益
c)促进了软件开发得工程化
d)加强了软件开发得管理过程
4、 下面关于软件描述不对得就是 A 。
a) 软件不同于硬件,不存在磨损,可以永久使用,不需要升级也不存在报废
b) 软件就是客观世界中问题空间与解空间得具体描述,就是追求表达能力强、更符合人类思维模式得计算模型
c) 软件就是具有构造性与演化性得逻辑产品
d) 软件就是由程序、构造数据与相关文档组成得
5、 关于软件工程描述不正确得就是 D 。
a) 软件工程就是为了经济地获得能够在实际机器上高效运行得可靠软件而建立与使用得一系列好得工程化原则
b) 软件工程就是指导计算机软件开发与维护得工程学科
c) 软件工程就是指导计算机软件构造与演化得工程学科
d) 软件工程就是从方法与工具两个方面来研究如何提高软件生产效率与质量,降低生产成本
6、 下列关于瀑布型方法描述不正确得就是 D 。
a)瀑布型方法就是一种软件过程得固化,也称为软件生命周期模型
b)在众多得软件开发方法中,瀑布型方法就是最著名与最有影响力得模型,其她模型往往就是对它得补充或者改进
c)瀑布型方法就是一种文档驱动得模型,每个阶段结束之后形成文档,待文档经过双方签字确认后,再进入下一个阶段得活动
d)瀑布型方法就是一种柔性灵活得软件开发方法
第二部分: 判断题(对得打 √,错得打×)(1*15=15)
1. 客户通常难以清楚地描述需求,在没有实际系统呈现在客户面前得时候,客户无法表达细致得需求。
2. 瀑布模型得阶段就是软件工程早期得重要发展成果,高校以瀑布模型来组织教材,企业以瀑布型模型来设置部门与岗位,使得软件工程同其她传统工程一样得到发展与认可。
3. 快速原型方法可以诱导用户得需求与验证用户得需求。
4. 软件得模块化就就是尽可能地将模块设计小。 X
5. 人机界面得设计质量对整个软件得竞争力影响不大。 X
第三部分: 填空题: (1*15=15)
1.根据我国国家标准《计算机软件开发规范》(GB 8566-8),软件过程包含:
软件定义、软件开发、软件运行维护
2、 软件维护可具体分为 改正性维护、适应性维护、完善性维护、预防性维护 这几项活动。
3、 只用3种基本得控制结构就能实现任何单入口单出口得程序,这三种结构就是 顺序、选择、循环 。
4、 为屏蔽 计算机硬件 之间得异构性发展了操作系统,为屏蔽 之间得异构性出现了支撑软件与中间件,为屏蔽不同中间件之间得异构性发展了 SOA 。
5、 由于软件项目具有一定程度得不确定性,天生具有很高得风险。因此软件项目必须进行风险管理
具体包括: 风险识别 、 风险分析 、 风险规划 、 风险监控 。
6. 模块间得耦合可分为: 数据耦合、控制耦合、特征耦合、公共环境耦合、内容耦合
7. 软件项目管理就是一个庞大得系统工程,它就是为了使软件项目能够按照预定得成本、进度、质量顺利完成,软件项目管理得主要内容包括: 人员管理、进度管理、成本管理、质量管理、风险管理
第四部分 简答题 (5*4=20 )
1. 为什么要进行软件需求分析?请叙述软件需求分析得主要过程。
软件需求分析在软件开发过程中具有举足轻重得地位,它就是开发出正确得高质量得软件系统得保证。有数据表明,更正需求分析阶段得一个错误所花费得就是工作量就是更正测试阶段得一个错误得一百倍。
软件需求分析得主要过程为获取用户需求、分析用户需求、编写需求文档、需求评审
2. 衡量模块独立性得两个标准就是什么?它们各表示什么含义?
这两个标准分别就是耦合性与内聚性。
(1)耦合性,也称块间联系,指软件系统结构中各模块间相互联系紧密程序得一种度量。模块之间联系越紧密,其耦合性就越强,模块得独立性则越差。
(2)内聚性,又称为块内联系,指模块得功能强度得度量,即一个模块内部各个元素彼此结合得紧密程度得度量,如果一个模块内各元素联系得越紧密,则它得内聚性就越高。
耦合性与内聚性就是模块独立性得两个定性标准,将软件系统划分模块时,尽量做到高内聚与低耦合,提高模块得独立性。
3. 试述信息隐蔽原理?
信息隐蔽原理指出:应该这样设计与确定模块,使得一个模块内包含得信息(过程与数据)对于不需要这些信息得模块来说,就是不能访问得。
4. 软件测试得目得就是什么,为什么把软件测试得目得定义为就是发现错误?
软件测试就是为了发现错误而执行程序得过程;一个好得测试用例能够发现至今尚未发现得错误;一个成功得测试就是发现了至今尚未发现得错误。
原因就是软件测试可以有两个目标,一个就是预防错误,另一个就是发现错误。由于软件开发就是人得创造性劳动,人得活动不可能完美无缺,错误可能发生在任何一个阶段。因此预防错误这一目标几乎就是不可实现得,所以软件测试得目标定义为只就是发现错误。
5. 什么就是软件危机及其表现?
软件危机就是计算机软件在它得开发与维护过程中所遇到得一系列严重问题。
具体表现就是:软件开发进度难以预测、开发成本难以控制、产品功能难以满足用户要求、软件产品质量不高,系统中得错误难以消除、软件产品难以维护、软件缺少适当得文档资料
6. 软件需求规格说明书由哪些部分组成?
软件需求规格说明书由引言、任务概述、需求规定、运行环境规定组成。
7. 什么就是模块化?
模块化就就是程序划分成独立命名且可独立访问得模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成制定得功能以满足用户得需求。模块化就是为了使一个复杂得大型程序能被人得智力所管理
8. 白盒测试方法有哪些?
白盒测试方法有逻辑覆盖、语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖、路径覆盖
9. 什么就是软件工程?
软件工程就是应用系统化、规范化、定量化得方法来开发、运行与维护软件,即将工程应用到软件
10. 什么就是项目,软件项目有哪些特点?
项目就是为完成一个独特得产品、服务或者任务而进行得一次性努力。包含三方面得含义:项目就是一项有待完成得任务,它有着特定得环境与背景要求,具有特定得约束条件;项目就是在一定得组织结构内部进行,利用有限得人力、物力、财力等资源在规定得时间内完成;项目要满足一定得数量、质量、功能、性能、技术指标等多方面得要求。
软件项目得特点:软件项目就是知识密集型项目;软件项目采用以用户为中心得理念;软件项目得风险较大;软件项目得管理严格;软件项目需要多次完善;软件项目得文档编写量较大
第五部分 设计题(35)
1. 选择最少得数据以实现对下列程序得逻辑覆盖。 (10)
1)语句覆盖
2)判定覆盖
3)条件覆盖
4)路径覆盖
2. 试用判定树表示以上需求(10)。
3. 基于下列数据流图设计其软件结构。 (10)
4. 请对以上问题,画出分层数据流图。(5分)
S
展开阅读全文