软件支持过程
1.软件过程
定义:软件过程是指软件生命周期(Life Cycle)中的时间序列,有起始点和终止点。
过程与阶段(Phase)有关,阶段与里程碑(Milestone)有关。某些重要里程碑上的文档(通过评审和审计之后)又称为基线(Baseline)。
软件工程的支持过程,由支持软件生命周期各个阶段的生产工具所组成。(包括需求分析工具、概要设计工具、详细设计工具、编程工具、测试工具、维护工具、软件开发环境、软件工程环境)
2.CASE工具
CASE是一组工具和方法的集合,可以辅助软件开发生命周期各阶段。
CASE工具主要包括:画图工具,报告生成工具,数据词典、数据库管理系统和规格说明检查工具,代码生成工具和文档资料生成工具等。
目前CASE的标准是UML。
传统的软件生命周期:可行性研究→需求分析→软件设计→编码→软件测试→软件维护
软件的管理过程
1.
软件中的过程,分为“基本过程、支持过程、组织过程”三种。
基本过程:需求、设计、实现、测试、验收。
支持过程:支持过程开发和过程管理的各种CASE工具。
组织过程:建立有关小组,如软件工程组、质量保证组、测试组、文档组。
2.
软件工程中主要存在的3类过程管理模型:
(1)ISO9000质量管理和质量保证体系
来源于国际标准化组织ISO,按20多个质量要素管理。
(2)CMM过程能力成熟度模型
来源于卡耐基梅隆大学软件工程研究所,按24个过程域PA,分阶段模型和连续模型两种方式管理,属于重载过程管理。
(3)企业文化(微软企业文化、敏捷文化现象、IBM企业文化等)
属于轻载过程管理。
软件生命周期与开发模型
软件的生命周期与选择的开发模型有关,不同的开发模型,对应不同的生命周期。
软件生命周期模型能清晰、直观地表达软件开发全过程,是软件开发过程应遵循的开发路线图。
1.瀑布模型
瀑布模型(Waterfall Model)又称流水式过程模型。
在瀑布模型中,软件开发的各项活动严格按照线性方式进行。当前阶段的活动接受上一阶段活动的工作结果,实施完成所需的工作内容。
适用范围:
早期的面向过程的结构化分析、结构化设计、结构化编程、结构化测试、结构化维护方法,很适合于瀑布模型。或者说,瀑布模型适合于结构化方法,即面向过程的软件开发方法。
特点:
里程碑或基线驱动,或者说文档驱动。
过程逆转性很差或者说不可逆转,逆转将会延误工期,增加成本 ,造