软件支持过程
1.软件过程
定义:软件过程是指软件生命周期(Life Cycle)中的时间序列,有起始点和终止点。
过程与阶段(Phase)有关,阶段与里程碑(Milestone)有关。某些重要里程碑上的文档(通过评审和审计之后)又称为基线(Baseline)。
软件工程的支持过程,由支持软件生命周期各个阶段的生产工具所组成。(包括需求分析工具、概要设计工具、详细设计工具、编程工具、测试工具、维护工具、软件开发环境、软件工程环境)
2.CASE工具
CASE是一组工具和方法的集合,可以辅助软件开发生命周期各阶段。
CASE工具主要包括:画图工具, 告生成工具,数据词典、数据库管理系统和规格说明检查工具,代码生成工具和文档资料生成工具等。
目前CASE的标准是UML。
传统的软件生命周期:可行性研究→需求分析→软件设计→编码→软件测试→软件维护
软件的管理过程
1.
软件中的过程,分为“基本过程、支持过程、组织过程”三种。
基本过程:需求、设计、实现、测试、验收。
支持过程:支持过程开发和过程管理的各种CASE工具。
组织过程:建立有关小组,如软件工程组、质量保证组、测试组、文档组。
2.
软件工程中主要存在的3类过程管理模型:
(1)ISO9000质量管理和质量保证体系
(2)CMM过程能力成熟度模型
(3)企业文化(微软企业文化、敏捷文化现象、IBM企业文化等)
属于轻载过程管理。
软件生命周期与开发模型
软件的生命周期与选择的开发模型有关,不同的开发模型,对应不同的生命周期。
软件生命周期模型能清晰、直观地表达软件开发全过程,是软件开发过程应遵循的开发路线图。
1.瀑布模型
瀑布模型(Waterfall Model)又称流水式过程模型。
螺旋模型沿着螺线顺时针方向进行若干次迭代,图中的四个象限代表了以下迭代活动:
(1)制定计划:确定软件目标,选定实施方案,弄清项目开发的限制条件;
(2)风险分析:分析评估所选方案,考虑如何识别和消除风险;
(3)实施开发:实施软件开发和验证;
(4)客户评估:评价开发工作,提出修正建议
模型的特点:
(1)把软件开发过程组成为一个逐步细化的螺旋周期,每经历一个周期,系统就得到进 一步的细化和完善;
(2)整个模型紧密围绕开发中的风险分析,推动软件设计向深层扩展和求精;
(3)强调持续的判断、确定和修改用户的任务目标,并按成本、效益来分析候选的软件产品对任务目标的贡献。
选择模型的条件:
螺旋模型强调风险分析,使得开发人员和用户对每个演化层出现的风险有所了解,继而做出应有的反应,因此特别适用于庞大、复杂并具有高风险的系统。
对于这些系统,风险是软件开发不可忽视且潜在的不利因素,它可能在不同程度上损害软件开发过程,影响软件产品的质量。
减小软件风险的目标是在造成危害之前,及时对风险进行识别及分析,决定采取何种对策,进而消除或减少风险的损害。 模型的优点:
(1)与瀑布模型相比,螺旋模型支持用户需求的动态变化,为用户参与软件开发的所有关键决策提供了方便,从而降低了软件开发风险。
(2)螺旋模型对可选方案和约束条件的强调,有利于已有软件的重用,也有助于把软件质量作为软件开发的一个重要目标。
(3)减少了过多测试(浪费资金)或测试不足(产品故障多)所带来的风险。
(4)螺旋模型中维护只是模型的另一个周期,在维护和开发之间并没有本质区别。
模型的缺点:
(1)很难让用户确信这种演化方法的结果是可以控制的。由于建设周期长,而软件技术发展比较快,所以经常出现软件开发完毕后,和当前的技术水平有了较大的差距,无法满足当前用户需求。
(2)采用螺旋模型需要具有相当丰富的风险评估经验和专门知识,在风险较大的项目开发中,如果未能够及时标识风险,势必造成重大损失。
(3)过多的迭代次数会增加开发成本,延迟提交时间
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!