1.软件发展有几个阶段?各有何特征?
①程序设计阶段
硬件特征:价格贵、存储容量小、运行可靠性差。
软件特征:只有程序、程序设计概念,不重视程序设计方法。
②程序系统阶段。
硬件特征:速度、容量及工作可靠性有明显提高,价格降低,销售有爆炸性增长。
软件特征:程序员数量猛增,开发人员素质低。
③软件工程阶段。
硬件特征:向超高速、大容量、微型化及网络化方向发展。
软件特征:开发技术有很大进步,但未获得突破性进展,软件价格不断上升,未完全摆脱软件危机。
2.软件生存周期中的软件开发过程由哪几个阶段组成?各阶段的任务是什么?
答:以瀑布模型为例主要包括六个阶段:
①可行性研究,确定系统的目标与规模,分析项目的可行性
②需求分析与规格说明,明确系统的规格与要求
③设计,包括概要设计与详细设计
④编程,用程序语音实现每个模块的功能
⑤测试,发现并改正错误 ⑥运行与维护
3.为何螺旋模型主要适合开发人员和用户为同一个组织机构成员的软件项目的开发?
因为如果开发人员和用户属于不同的组织机构,则一般在正式的软件开发之前均需要签订合同,所有的风险分析均必须在签订合同之前完成。但螺旋模型需要在软件开发的每一个阶段都进行风险分析,当重要风险不能解决时,项目应该终止。由此螺旋模型可能因为风险使得合同在完成之前就终止,从而导致法律诉讼。故螺旋模型不适合开发人员和用户属于不同组织机构的情况。
4.渐增模型:
优点:每一轮都可以向用户分发布一个高质量的可操作的版本,用户不需要等到最终软件产品被开发出来就可以使用软件的部分功能。由于软件产品不是突然一次性提交给用户使用的,用户可以比较容易接受,并且容易提出中肯的意见。这种方式不要求非常大的初始资金投入。
缺点:要求下一轮新增的功能应能够无缝地集成到下一轮系统中去,可能这一点并不容易做到。如果整体结构设计不当,可能会导致整个软件的结构变坏。
5.螺旋模型:
优点:它强调可替换性和强约束性,使得螺旋模型支持对现有软件的复用,并且支持始终把软件质量看作一个目标。开发和维护被视为同样的方式。
缺点:主要适合于内部开发。只适合于规模比较大的系统的开发。它是风险驱动的,只有当项目组的成员擅长于进行风险分析时,才有理由采用螺旋模型。
6.什么是软件概要设计?该阶段的基本任务是什么?
把一个软件需求转换为软件表示时,首先设计出软件总的体系结构。称为概要设计或结构设计。
基本任务:
⑴设计软件系统结构
⑵进行数据结构及数据库的设计
⑶编写概要设计的文档
⑷评审
7.软件测试要经过哪些步骤?这些测试与软件开发各阶段之间有什么关系?
软件测试要经过的步骤是:单元测试→集成测试→确认测试→系统测试。
单元测试对源程序中每一个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误。该阶段涉及编码和详细设计文档。
集成测试是为了检查与设计相关的软件体系结构的有关问题,也就是检查概要设计是否合理有效。
确认测试主要是检查已实现的软件是否满足需求规格说明书中确定了的各种需求。
系统测试是把已确认的软件与其他系统元素(如硬件、其他支持软件、数据、人工等)结合在一起进行测试。以确定软件是否可以支付使用。
8.螺旋模型相关概念。
(1)简述螺旋模型的基本开发过程。螺旋模型哪些优点?
螺旋模型的基本思想是使用原型及其他方法来尽量降低风险。可以理解为在快速原型模型的每个阶段之前都增加了风险分析。
基本开发过程:(1)需求定义。利用前面介绍的需求分析技术理解应用领域,获取初步的用户需求,制定项目开发计划。(2)风险分析。根据初始需求或改进意见评审可选用的方案,给出消除或减少风险的途径。 (3)工程实现。利用前一节介绍的快速原型构造方法针对已知的用户需求生成快速原型。(4)评审。将原型提交用户使用并征询用户改进意见。上述过程将不断迭代,直至给出用户满意的目标软件产品。聊城大学软工:【七七久三七零伍叭叭】
优点:(1)螺旋模型支持用户需求的动态变化。(2)螺旋模型中,需求分析和软件实现是互相依赖、紧密联系的软件开发活动。(3)原型作为形式的可执行的需求规格说明,既易于为用户和开发人员共同理解,又可作为后续开发的基础。(4)为用户参与软件开发的所有关键决策提供了方便。(5)有助于提高目标软件的适应能力(6)为项目管理人员及时调整管理决策提供了便利,从而降低了软件开发风险。
9.什么样是”事物流”?什么是”变换流”?
数据流图(DFD)一般可分为”变换流”,”事物流”两种。
“变换流”:由输入﹑输出﹑变换(或称处理)三部分组成,是一顺序结构。
“事物流”:它的某个加工,分离成许多发散的数据流,形成许多加工路径,并且根据输入值选择其中一个路径来执行。(这人加工称为事务处理中心)
10.单元测试有哪些内容?
单元测试主要针对模块的以下五个基本特征进行测试:
(1)模块接口
(2)局部数据结构
(3)重要的执行路径
(4)错误处理
(5)边界条件