以下为《软件工程复习题》的无排版文字预览,完整格式请下载
下载前请仔细阅读文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。
1、什么是软件危机?为什么会产生软件危机?
软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
(1)用户对软件需求的描述不精确。(2)软件开发人员对用户需求的理解有偏差。(3)缺乏处理大型软件项目的经验。(4)开发大型软件易产生疏漏和错误。(5)缺乏有力的方法学的指导和有效的开发工具的支持。(6)面对日益增长的软件需求,人们显得力不从心。
2、什么是软件生存周期?把生存周期划分为阶段的目的是什么?
一个软件从开始立项起,到废弃不用止,统称为软件的生存周期。
软件生存周期划分为计划、开发和运行3个时期;把整个生存周期划分为较小的阶段,给每个阶段赋予确定而有限的任务,就能够化简每一步的工作内容,使因为软件规模而增长而大大增加了软件复杂性变得较易控制和管理。
3、传统瀑布模型把生存周期划分为哪些阶段,瀑布模型软件开发有哪些特点?
制定计划、需求分析、软件设计、程序编写、软件测试和运行维护
(1) 阶段间具有顺序性和依赖性
(2) 推迟实现的观点
(3) 质量保证的观点
4、什么是软件需求?可以从哪些方面描述软件需求?
(1)软件需求主要指一个软件系统必须遵循的条件或具备的能力。这里的条件或能力可以从两个方面来理解:一是用户解决问题或达到目标所需的条件或能力,即系统的外部行为;二是系统为了满足合同、规范或其他规定文档所需具有的条件或能力,即系统的内部特性。
(2)软件需求包括3个不同的层次 业务需求、用户需求和功能需求。
a、业务需求 (Business requirement)表示组织或客户高层次的目标。业务需求通常来自项目投资人、购买产品的客户、实际用户的管理者、市场营销部门或产品策划部门。业务需求描述了组织为什么要开发一个系统,即组织希望达到的目标。使用前景和范围文档来记录业务需求,这份文档有时也被称作项目轮廓图或市场需求文档。b、用户需求 (user requirement)描述的是用户的目标,或用户要求系统必须能完成的任务。用例、场景描述和事件 响应表都是表达用户需求的有效途径。也就是说用户需求描述了用户能使用系统来做些什么。c、功能需求 (functional requirement)规定开发人员必须在产品中实现的软件功能,用户利用这些功能来完成任务,满足业务需求。功能需求有时也被称作行为需求,因为习惯上总是用“应该”对其进行描述:“系统应该发送电子邮件来通知用户已接受其预定”。功能需求描述是开发人员需要实现什么。注意:用户需求不总是被转变成功能需求。产品特性,所谓特性,是指一组逻辑上相关的功能需求,它们为用户提供某项功能,使业务目标得以满足。对商业软件而言,特性则是一组能被客户识别,并帮助他决定是否购买的需求,也就是产品说明书中用着重号标明的部分。客户希望得到的产品特性和用户的任务相关的需求不完全是一回事。一项特性可以包括多个用例,每个用例又要求实现多项功能需求,以便用户能够执行某项任务。
5、软件需求的任务是什么?要经过哪些步骤?
(1)需求分析的基本任务是深入描述软件的功能和性能、确定软件设计的约束和软件同其它系统元素的接口细节、定义软件的其它有效性需求,总之,需求分析的任务就是借助于当前系统的逻辑模型导出目标系统的逻辑模型,解决目标系统的?“做什么”?的问题。(2)主要步骤:a、问题识别(1)?功能需求:明确所开发的软件必须具备什么样的功能。(2)?性能需求:明确待开发的软件的技术性能指标。(3)?环境需求:明确软件运行时所需要的软、硬件的要求。(4)?用户界面需求:明确人机交互方式、输 内容过长,仅展示头部和尾部部分文字预览,全文请查看图片预览。 陷涌现。
缺点:最大的缺点就是对中间层的测试不够充分。
面对对象测试策略和传统测试策略有何区别?
单元测试。前者中最小的测试单元是封装起来的类和对象,同时把操作作为类的一部分来测试;后者单元测试与编码在同一阶段进行,测试最小的可编译的程序单元。(2)集成测试。前者主要采用基于线程的测试方法或基于使用的测试方法;后者主要采用渐增式测试方法,即自顶向下集成测试方法或自底向上集成测试方法,同时还采用回归测试。(3)确认测试。两者都是集中检查用户可见的动作和用户可识别的输出,前者为了导出确认测试用例,测试人员应该认真研究动态模型和描述系统行为的脚本;但后者常用Alpha测试和Beta测试。
[文章尾部最后300字内容到此结束,中间部分内容请查看底下的图片预览]
以上为《软件工程复习题》的无排版文字预览,完整格式请下载
下载前请仔细阅读上面文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。