24聊城大学823软件工程考研

1.软件发展有几个阶段?各有何特征?

①程序设计阶段

  硬件特征:价格贵、存储容量小、运行可靠性差。

  软件特征:只有程序、程序设计概念,不重视程序设计方法。

②程序系统阶段。

  硬件特征:速度、容量及工作可靠性有明显提高,价格降低,销售有爆炸性增长。

  软件特征:程序员数量猛增,开发人员素质低。

③软件工程阶段。

  硬件特征:向超高速、大容量、微型化及网络化方向发展。

  软件特征:开发技术有很大进步,但未获得突破性进展,软件价格不断上升,未完全摆脱软件危机。

2.为何螺旋模型主要适合开发人员和用户为同一个组织机构成员的软件项目的开发?

因为如果开发人员和用户属于不同的组织机构,则一般在正式的软件开发之前均需要签订合同,所有的风险分析均必须在签订合同之前完成。但螺旋模型需要在软件开发的每一个阶段都进行风险分析,当重要风险不能解决时,项目应该终止。由此螺旋模型可能因为风险使得合同在完成之前就终止,从而导致法律诉讼。故螺旋模型不适合开发人员和用户属于不同组织机构的情况。

3.快速原型模型相关概念。

1)快速原型技术的基本思想是什么?快速原型模型有几种?各有何特点?

基本思想:花费少量代价建立一个可运行的系统,使用户及早获得学习的机会,最终提高软件质量。

根据原型的不同作用,有三类原型模型:

⑴探索型原型。这种类型的原型模型是把原型用于开发的需求分析阶段,目的是要弄清用户的需求,确定所期望的特性,并探索各种方案的可行性。它主要针对开发目标模糊,用户与开发着对项目都缺乏经验的情况,通过对原型的开发来明确用户的需求。

⑵实验型原型。这种原型主要用于设计阶段,考核实现方案是否合适,能否实现,对于一个大型系统,若对设计方案心中没有把握时,可通过这种原型来证实设计方案的正确性。

⑶演化型原型。这种原型主要用于及早向用户提交一个原型系统,该原型系统或者包含系统的框或者包含系统的主要功能。在得到用户的认可后,将原型系统不断扩充演变为最终的软件系统,它将原型的思路扩展到软件开发的全过程。

4.快速开发原型的途径有哪些?

废弃型:快速建立需求规格原型;

追加型:快速建立渐进原型法采用循环渐进;

步骤:快速分析、构造原型、运行和评价原型、修改与改进

5.渐增模型:

优点:每一轮都可以向用户分发布一个高质量的可操作的版本,用户不需要等到最终软件产品被开发出来就可以使用软件的部分功能。由于软件产品不是突然一次性提交给用户使用的,用户可以比较容易接受,并且容易提出中肯的意见。这种方式不要求非常大的初始资金投入。

缺点:要求下一轮新增的功能应能够无缝地集成到下一轮系统中去,可能这一点并不容易做到。如果整体结构设计不当,可能会导致整个软件的结构变坏。

6.螺旋模型:

优点:它强调可替换性和强约束性,使得螺旋模型支持对现有软件的复用,并且支持始终把软件质量看作一个目标。开发和维护被视为同样的方式。

缺点:主要适合于内部开发。只适合于规模比较大的系统的开发。它是风险驱动的,只有当项目组的成员擅长于进行风险分析时,才有理由采用螺旋模型。

7.瀑布模型相关概念。

瀑布模型的基本概念以及特点。瀑布模型的缺陷有哪些?

瀑布模型规定了各项软件工程活动,包括需求分析、规格说明、设计、编码、测试和维护,并规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级而下。

瀑布模型的特点是:阶段间具有顺序性和依赖性;清楚区分逻辑设计和物理设计,尽可能推迟程序的物理实现;每个阶段都必须完成规定的文档,且每阶段结束前需要对完成的文档进行评审。

缺陷:(1)完全地、精确地刻画复杂应用问题的用户需求是不可能的。(2)需求分析和软件实现是不可分割的。(3)用户和开发人员都难于理解形式的、不可执行的需求规格说明。(4)传统的开发策略没有为用户参与关键的开发决策提供便利。(5)目标软件的适应能力不强(6)瀑布模型并不适合于软件项目管理

8.螺旋模型相关概念。

(1)简述螺旋模型的基本开发过程。螺旋模型哪些优点?

螺旋模型的基本思想是使用原型及其他方法来尽量降低风险。可以理解为在快速原型模型的每个阶段之前都增加了风险分析。

基本开发过程:(1)需求定义。利用前面介绍的需求分析技术理解应用领域,获取初步的用户需求,制定项目开发计划。(2)风险分析。根据初始需求或改进意见评审可选用的方案,给出消除或减少风险的途径。 (3)工程实现。利用前一节介绍的快速原型构造方法针对已知的用户需求生成快速原型。(4)评审。将原型提交用户使用并征询用户改进意见。上述过程将不断迭代,直至给出用户满意的目标软件产品。聊城大学软工:【七七久三七零伍叭叭】

优点:(1)螺旋模型支持用户需求的动态变化。(2)螺旋模型中,需求分析和软件实现是互相依赖、紧密联系的软件开发活动。(3)原型作为形式的可执行的需求规格说明,既易于为用户和开发人员共同理解,又可作为后续开发的基础。(4)为用户参与软件开发的所有关键决策提供了方便。(5)有助于提高目标软件的适应能力(6)为项目管理人员及时调整管理决策提供了便利,从而降低了软件开发风险。

9.软件维护有哪些内容?

(1)校正性维护。在软件交付使用后,一些隐含的错误在某些特定的使用环境下会暴露出来。为了识别和纠正错误,修改软件性能上的缺陷,应进行确定和修改错误的过程,这个过程就称为校正性维护。

(2)适应性维护。为了使应用软件适应计算机硬件、软件环境及数据环境的不断发生的变化而修改软件的过程称为适应性维护。

(3)完善性维护。为增加软件功能、增强软件性能、提高软件运行效率而进行的维护活动称为完善性维护。

(4)预防性维护。为了提高软件的可维护性和可靠性而对软件进行的修改称为预防性维护。

10.软件测试要经过哪些步骤?这些测试与软件开发各阶段之间有什么关系?

软件测试要经过的步骤是:单元测试→集成测试→确认测试→系统测试。

单元测试对源程序中每一个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误。该阶段涉及编码和详细设计文档。

集成测试是为了检查与设计相关的软件体系结构的有关问题,也就是检查概要设计是否合理有效。

确认测试主要是检查已实现的软件是否满足需求规格说明书中确定了的各种需求。

系统测试是把已确认的软件与其他系统元素(如硬件、其他支持软件、数据、人工等)结合在一起进行测试。以确定软件是否可以支付使用。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值