计算机考研复试-软件工程整理

计算机考研复试-软件工程整理

一.软件生命周期
问题定义
弄清“用户需要计算机解决什么样的问题”,提出“系统目标和范围的说明”,提交用户审查和确认。

可行性分析
把待开发系统的目标以明确的语言描述出来,并从经济、技术、法律等多个方面进行可行性分析。

需求分析
弄清用户对软件系统的全部需求,编写需求规格说明书和初步的用户手册,提交评审。

总体设计

详细设计

开发阶段
设计、实现(完成源程序的编码)、测试

维护
改正性维护(由于开发测试的不彻底、不完全),适应性维护(适应环境变化),完善性维护(使用过程中提出的一些建设性意见),预防性维护(改善软件系统的可维护性和可靠性)

二.软件工程模型
1瀑布模型
将软件生命周期中的各个活动规定为线性连接的模型,包括需求分析、设计、编码、测试、运行与维护,由前至后、相互衔接的固定顺序,如同瀑布流水逐级下落。瀑布模型是以文档作为驱动、适合于软件需求很明确的软件项目的模型。
瀑布模型的优点:
1)容易理解,管理成本低;
2)强调开发的阶段性早期计划及需求调查和产品测试。
瀑布模型的缺点:
1)客户必须能够完整、正确和清晰地表达他们的需要;
2)开始2个或3个阶段,很难评估真正的进度;
3)项目结束时,出现大量的集成和测试工作;
4)需求或设计中的错误往往只有到了项目后期才能够被发现,对于项目风险的控制能力较弱,从而导致项目常常延期完成,开发费用超出预算。

2V模型
瀑布模型的一个变体,提供了一种验证确认活动应用于早期软件工程工作中的方法。

3增量模型
融合了瀑布模型的基本成分和原型实现的迭代特征,它假设可以将需求分段为一系列增量产品,每一增量可以分别开发。使用增量模型,第1个增量往往是核心的产品。客户对每个增量的使用和评估都作为下一个增量发布的新特征和功能,这个过程在每一个增量发布后不断重复,直到产生了最终的完善产品。增量模型强调每一个增量均发布一个可操作的产品。
增量模型的优点:
1)容易理解,管理成本低;
2)强调开发的阶段性早期计划及需求调查和产品测试;
3)第一个可交付版本所需要的成本和时间很少;
4)开发由增量表示的小系统所承担的风险不大;
5)减少用户需求的变更;
6)运行增量投资,即在项目开始时,可以仅对一个或两个增量投资。

增量模型的缺点:
1)如果没有对用户的变更需求进行规划,那么产生的初始增量可能会造成后来增量的不稳定;
2)如果需求不想早期思考的那样稳定和完整,那么一些增量就可能需要重新开发,重新发布;
3)管理发生的成本、进度和配置的复杂性可能会超出组织的能力。
4)演化模型:是迭代的过程,软件开发人员能逐步开发出更完整的软件版本,适用于软件需求缺乏准确认识的情况,典型的演化模型有原型模型和螺旋模型。

4.演化模型之原型模型
是预期系统的一个可执行版本,反映了系统性的一个选定的子集,一个原型不必满足目标软件的所有约束,目的是能快速、低成本地构建原型。
原型模型开始于沟通,其目的是定义软件的总体目标,标识需求,然后快速制定原型开发的计划,确定原型的目标和范围,采用快速射击的方式对其进行建模,并构建原型。
根据原型的目的,可分为三种:
1)探索型原型:目的是弄清目标的要求,确定所希望的特性,并探讨多种方案的可行性;
2)实验型原型:目的是验证方案或算法的合理性,是在大规模开发和实现前,用于考查方案是否合适、规格说明是否可靠等;
3)演化型原型:目的是将原型作为目标系统的一部分,通过对原型的多次改进,逐步将原型演化成最终的目标系统。

5. 演化型模型之螺旋模型
将瀑布模型与演化模型结合起来,加入了两种模型均忽略的风险分析,弥补了这两种模型的不足。螺旋模型将开发过程分为几个螺旋周期,每个螺旋周期大致和瀑布模型相符合:
螺旋模型强调风险分析,使得开发人员和用户对每个演化层出现的风险有所了解,从而做出应有的反应。因此,该模型特别适用于庞大、复杂并且具有高风险的系统。

6 . 喷泉模型
一种以用户需求为动力,以对象作为驱动的模型,适合于面向对象的开发方法。它克服了瀑布模型不支持软件重用和多项开发活动集成的局限性,喷泉模型使开发过程具有迭代性和无间隙性。
优点:提高软件项目的开发效率,节省开发时间。
缺点:开发阶段是重叠的,开发过程中需要大量的开发人员,不利于项目的管理。需要严格的管理文档,使得审核的难度加大。

三、软件测试的目标是什么,有哪几种主要有测试方法?软件测试的目标:
(1) 测试是为了发现程序中的错误而执行程序的过程;

(2) 好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案;(3)成功的测试是发现了至今为止尚未发现的错误的测试。

软件测试的方法有动态测试、静态测试和正确性证明。

黑盒测试:黑盒测试是将被测软件看出一个黑盒子,只考虑系统的输入和输出,完全不考虑程序内部的逻辑结构和处理过程。黑盒测试的依据是开发各阶段的需求规格说明。
白盒测试:白盒测试是将黑盒子打开,研究源代码和程序内部的逻辑结构;

5、简述提高软件质量的主要措施
复审:是在软件生命周期每个阶段结束之前,都采用一定的标准对该段产生的软件配置成分进行严格的正式或非正式的检测。

复查:是检查已有的材料,以断定在软件生命周期某个阶段的工作是否能够开始或继续。

管理复审:是向开发组织或使用部门的管理人员提供有关项目的总体状况、成本和进度等方面的情况,以便他们从管理角度对开发工作进行审查。

测试:包括测试计划、测试过程和测试结果3个阶段。

6、软件系统的三个测试阶段
开发测试:在开发过程中对系统进行测试以发现bug和缺陷。
发布测试:在系统发布给用户之前,单独的测试团队测试系统的完整版本。
用户测试:其中系统的用户或潜在用户在自己的环境中测试系统。

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值