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

本文详细介绍了软件开发过程中的关键阶段,如瀑布模型的六个阶段、瀑布模型与螺旋模型的特点与缺陷,以及快速原型、渐增模型的应用。还涵盖了软件维护的内容和测试步骤,包括单元测试的重要性。
摘要由CSDN通过智能技术生成

1.软件生存周期中的软件开发过程由哪几个阶段组成?各阶段的任务是什么?

答:以瀑布模型为例主要包括六个阶段:

 ①可行性研究,确定系统的目标与规模,分析项目的可行性

 ②需求分析与规格说明,明确系统的规格与要求

 ③设计,包括概要设计与详细设计

 ④编程,用程序语音实现每个模块的功能

 ⑤测试,发现并改正错误  ⑥运行与维护

2.瀑布模型相关概念。

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

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

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

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

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

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

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

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

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

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

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

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

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

5.渐增模型:

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

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

6.螺旋模型:

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

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

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

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

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

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

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

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

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

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

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

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

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

9.单元测试有哪些内容?

单元测试主要针对模块的以下五个基本特征进行测试:

(1)模块接口

(2)局部数据结构

(3)重要的执行路径

(4)错误处理

(5)边界条件

10.什么是软件生存周期模型?有哪些主要模型?

生存周期模型:描述软件开发过程中各种活动如何执行的模型。对软件开发提供强有力的支持,为开发过程中的活动提供统一的政策保证,为参与开发的人员提供帮助和指导,是软件生存周期模型化技术的基础,也是建立软件开发环境的核心。

主要有:瀑布模型,增量模型,螺旋模型,喷泉模型,基于知识的模型,变换模型。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值