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