软件工程考试复习重点

1.什么是软件危机?那几个方面?
软件危机指的是在软件开发和维护过程中出现的一系列问题。主要包括两个方面,在开发过程中是否满足社会对软件日益增多的需求问题。二是如何维护日益增多的已有软件。
2.简述软件和软件工程的定义。
软件是指在计算机系统中相对于硬件的部分,是由一系列程序,数据,文档的集合。其中程序是按照特定顺序组织的计算机指令的集合,数据指程序能正常执行的数据结构,文档是开发,使用和维护程序的图文资料。
软件工程是应用计算机科学和技术以及工程管理原则和方法,按预算和进度实现满足用户需求的软件产品的定义开发,发布和维护的工程。
3.什么是软件的生存周期?分为几个时期?几个阶段?
生存周期:从产品的构想开始,到软件需求的确定、软件设计、软件实现、软件测试、投入使用、产品的更新,带产品最终被市场所淘汰的全过程。
时期:软件定义、软件开发、软件维护
阶段:问题定义、可行性分析、需求分析、概要设计、详细设计、软件实现、单元测试、整体测试和维护。
4. 什么是软件生存周期模型?有哪些主要软件过程模型?
是软件项目需求定义直至软件运行维护为止,跨越整个生命周期的系统开发、运行和维护所实施的全部过程、活动和任务的结构框架。
主要模型有:瀑布模型,快速原型模型,增量模型,螺旋模型,统一过程,敏捷过程。
5.可行性研究主要研究哪些问题?试说明之。
解:可行性研究的任务是决定软件项目做还是不做。对技术可行性、经济可行性、社会可行性、开发方案的可行性及运行可行性等方面进行分析。
6.需求分析步骤有哪些?
四个步骤分别为需求获取、分析建模、需求描述、需求验证。
需求获取:实质上是一个需求收集的过程,要做好充分的调查研究。
分析建模:把来自用户的需求信息通过分析、提取、归纳、抽象建立起描述目标系统的模型。
需求描述:是指编制需求分析阶段各类文档,一般会产生三个文档即系统定义文档、系统需求规格说明书、软件需求规格说明书。
需求验证:第四步是验证以上的分析结果
7.需求分析的基本任务是什么?
包括6个方面:确定对系统的综合要去;分析系统的数据需求;建立系统的逻辑模型;修订系统开发计划;编写软件需求规格说明书;需求分析评审。
8.什么是结构化分析?
结构化分析方法采用归纳思维和演绎思维的逻辑方法,逐步建立目标系统的逻辑模型,进而描绘出满足用户要求的软件系统。
9.总体设计的目标和任务?
目标:得到良好的软件总体结构,即独立性良好,规模适中的系统结构,深度,宽度,扇入,扇出都应该适中
任务:把分析阶段得到的数据模型映射成数据库设计,把数据流程图映射成软件功能结构。
10.提高内聚性,降低耦合性有哪些准则?
改进软件的独立性,模块规模应该适中,深度,宽度,扇入,扇出都应该适中,模块的作用域应该在控制域内,降低模块化结构的复杂度,设计单入口,单出口的模块,模块功能可以预测。、
11.详细设计的基本任务是什么?有那几种描述方法?
1.为每个模块设计算法
2.确定每个模块的内部数据结构及其数据库的物理结构
3.确定模块接口的细节
4.为每个模块设计出一组测试用例5.编写文档。
描述方法:图形、表格和语言。图形常有结构化程序流程图、盒图、PAD
12.测试要遵循的原则。
① 所有的测试都应追溯到用户需求。
② 应尽早地和不断地进行软件测试。
③ 在有限的时间和资源下进行完全测试,软件测试不能无限进行下去,应适时终止。
④ 测试只能证明软件存在错误,而不能证明软件没有错误。
⑤ 充分关注测试中的集群现象。
⑥ 程序员应避免检查自己的程序。
⑦ 尽量避免测试的随意性。
13. 什么是黑盒测试?有哪些常用的黑盒测试方法?
黑盒测试又称功能测试或数据驱动测试,指通过软件的外部表现来发现缺陷和错误。黑盒测试把测试对象看成一个黑盒子,完全不考虑程序内部结构和处理过程,测试者仅依据程序功能的需求规范考虑,确定测试用例和推断测试结果的正确性
常用的黑盒测试方法有等价类划分、边界值分析、因果图、决策表、错误推测法、场景法等。
14. 什么是白盒测试?有哪些常用的白盒测试方法?
白盒测试又称结构测试或逻辑驱动测试,指通过对程序内部结构的分析、检测来寻找问题。白盒测试把程序看成装在一个透明的白盒子里,也就是清楚了解程序结构和处理过程,检查是否所有的结构及路径都是正确的,检查软件的内部动作是否按照设计说明的规定正常进行。
常用的黑盒测试方法逻辑覆盖、基本路径测试、程序插桩等。
15.对比白盒测试和黑盒测试
黑盒优点:
1)比较简单,不需要了解程序的内部的代码及实现;
2)与软件的内部实现无关;
3)从用户的角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些问题;
4)基于软件开发文档,所以也能知道软件实现了文档中的哪些功能;
5)在做软件自动化测试时较为方便。
白盒测试优点如下:
1) 迫使测试人员去仔细思考软件的实现;
2)可以检测代码中的每条分支和路径;
3)揭示隐藏在代码中的错误;
4)对代码的测试比较彻底。
黑盒测试缺点如下:
1)不可能覆盖所有的代码,覆盖率较低;
2)自动化测试的复用性较低。
白盒测试缺点如下:
1)程序运行会有很多不同的路径,不可能测试所有的运行路径;
2)测试基于代码只能测试开发人员做的对不对,而不能知道设计是否正确,可能会漏掉一些功能需求;
16.请简述静态测试和动态测试的区别。
静态测试不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。
动态测试通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率、正确性和健壮性等性能指标。
17. 传统软件维护分哪几大类?
完善性维护:以满足用户日益增长的需要而进行的工作;
适应性维护:是软件适应新的运行环境而进行的工作;
纠错性维护:在程序使用期间发现的程序错误进行诊断和改正的过程;
预防性维护:为了改善未来的可维护性或可靠性而修改软件的工作。

名词解释:数据流图(DFD)、数据字典(DD)、UML。
数据流图(DFD):是一种图形化建模工具,也是结构化分析的基本工具。描述系统由哪几部分组成,以及各部分之间的联系,以及描绘信息流和数据流从输入移动到输出过程中的变换。
数据字典(DD):是结构化分析 的另一种有力的工具。为数据流图中的每个数据流、数据存储、数据处理以及组成数据流或文件进行说明。
UML:统一建模语言,又称标准建模语言。是用来对软间密集系统进行可视化建模的一种语言。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值