定义软件过程模型的小秘密

建立软件过程模型遵循的原则

软件过程模型应符合软件工程的基本要求

软件过程模型是为组织推进软件工程服务的,它当然要符合软件工程的基本要求。一个软件过程模型必然包括一个或多个“需求分析-设计-实现-测试”这样的循环。

软件过程模型应从组织的实际项目中提取出来

即使能够找到再多再详细的现成的软件过程模型,你也不能直接拿来在自己的组织应用。软件过程模型一定要进行本地化,适合组织的实际项目,才能发挥出作用。否则,只能徒增一些形式化的规范动作,并不会对软件工程能力的提高有什么帮助。

软件过程模型应能解决组织项目中存在的一个或多个问题

软件过程模型不仅要适应组织项目的共同特点,更进一步,还要能够对具体的项目问题有针对性地定义流程。比如,通过对评审数据的分析,发现通过评审的工作产品仍然存在很多遗留的缺陷在内,要解决这一问题,可以考虑增加走查的流程。如果一个复杂的工作产品,可以考虑按模块进行走查的流程。

软件过程模型的3个层次

软件开发过程模型有3个层次,U级、W级、A级。

U级是宏观级,提供一个高层概要;W级是世界级,提供实际工作指导;A级是原子级,提供更加详细的求精。

组织要定义一个适合组织项目的可操作性高的软件过程模型,这3个层次的模型缺一不可。而且,通过都是由宏观级逐步细化到原子级。

软件过程模型的基本元素

软件过程模型的基本元素是一个基本个体单元(见下图),每个单元都有要求的输入数据,并在满足进入条件后启动本单元的任务,在满足退出条件后输出结果。同时,每个单元都有单元反馈,或者向前一单元输出反馈,或者接收其它单元反馈。另外,还有必要的度量。

软件过程模型就是由这样的一个个基本个体单元相互连接而成。定义一个软件过程模型,就是依据项目的需要,从事先建立好的设计单元、测试单元、审核单元等选取合适的单元,以恰当的方式将它组合起来。

建立软件过程模型的方法

在软件工程实施初期,组织可以使用已定义的通用的过程模型,如瀑布模型、迭代模型、增量模型等这些U级模型。组织应该根据自己项目的特点对选用的模型进行细化,形成W级模型、A级模型,以指导项目的进行。并且,针对在实施过程中收集到的各类问题,对定义的W级、A级模型进行改进,形成一个全新的适合组织的模型。

举个例子。一个U级的瀑布过程模型像下面这个样子:

如果对这个U级模型进行细化,就形成一个W级模型,比如对测试部分可以拆分为测试计划、测试设计、测试执行、测试结果发布、回归测试等。但是这种粒度的可操作性依然不够。因此,还要进一步细化到A级模型。比如对回归测试细化到下面这个样子:

再进一步细化:

当细化的粒度足够时,可以对过程实现自动化带来帮助。而且,

如果模型不能细化到编写程序的级别,那么使用任何模型都开发不出软件。

参考书目:《软件过程管理》

微信号:IdeaofSE

建立软件过程模型遵循的原则

软件过程模型应符合软件工程的基本要求

软件过程模型是为组织推进软件工程服务的,它当然要符合软件工程的基本要求。一个软件过程模型必然包括一个或多个“需求分析-设计-实现-测试”这样的循环。

软件过程模型应从组织的实际项目中提取出来

即使能够找到再多再详细的现成的软件过程模型,你也不能直接拿来在自己的组织应用。软件过程模型一定要进行本地化,适合组织的实际项目,才能发挥出作用。否则,只能徒增一些形式化的规范动作,并不会对软件工程能力的提高有什么帮助。

软件过程模型应能解决组织项目中存在的一个或多个问题

软件过程模型不仅要适应组织项目的共同特点,更进一步,还要能够对具体的项目问题有针对性地定义流程。比如,通过对评审数据的分析,发现通过评审的工作产品仍然存在很多遗留的缺陷在内,要解决这一问题,可以考虑增加走查的流程。如果一个复杂的工作产品,可以考虑按模块进行走查的流程。

软件过程模型的3个层次

软件开发过程模型有3个层次,U级、W级、A级。

U级是宏观级,提供一个高层概要;W级是世界级,提供实际工作指导;A级是原子级,提供更加详细的求精。

组织要定义一个适合组织项目的可操作性高的软件过程模型,这3个层次的模型缺一不可。而且,通过都是由宏观级逐步细化到原子级。

软件过程模型的基本元素

软件过程模型的基本元素是一个基本个体单元(见下图),每个单元都有要求的输入数据,并在满足进入条件后启动本单元的任务,在满足退出条件后输出结果。同时,每个单元都有单元反馈,或者向前一单元输出反馈,或者接收其它单元反馈。另外,还有必要的度量。

软件过程模型就是由这样的一个个基本个体单元相互连接而成。定义一个软件过程模型,就是依据项目的需要,从事先建立好的设计单元、测试单元、审核单元等选取合适的单元,以恰当的方式将它组合起来。

建立软件过程模型的方法

在软件工程实施初期,组织可以使用已定义的通用的过程模型,如瀑布模型、迭代模型、增量模型等这些U级模型。组织应该根据自己项目的特点对选用的模型进行细化,形成W级模型、A级模型,以指导项目的进行。并且,针对在实施过程中收集到的各类问题,对定义的W级、A级模型进行改进,形成一个全新的适合组织的模型。

举个例子。一个U级的瀑布过程模型像下面这个样子:

如果对这个U级模型进行细化,就形成一个W级模型,比如对测试部分可以拆分为测试计划、测试设计、测试执行、测试结果发布、回归测试等。但是这种粒度的可操作性依然不够。因此,还要进一步细化到A级模型。比如对回归测试细化到下面这个样子:

再进一步细化:

当细化的粒度足够时,可以对过程实现自动化带来帮助。而且,

如果模型不能细化到编写程序的级别,那么使用任何模型都开发不出软件。

参考书目:《软件过程管理》

微信号:IdeaofSE


相关内容

  • 中国信息安全评测中心CISM认证模拟试题库-答案
  • 中国信息安全测评中心CISM 认证 模拟试题 中电运行信息安全网络技术测评中心  编辑 1.信息安全保障要素不包括以下哪一项? A .技术 B .工程 C .组织 D .管理 2.以下对信息安全问题产生的根源描述最准确的是: A .信息安全问题是由于信息技术的不断发展造成的 B .信息安全问题是由于 ...

  • 2012软件设计师大纲
  • 考试科目1:计算机与软件工程知识 1. 计算机科学基础知识 1.1数制及其转换  二进制.八进制.十进制和十六进制等常用数制及其相互转换 (Ⅱ) 1.2 计算机内数据的表示  数的表示  带符号定点数据(纯整数和纯小数)的原码.反码.补码和移码表示 (Ⅱ)  浮点数(实数)的表示(Ⅱ)  ...

  • 初级-网络-[网络管理员教程]目录
  • 计 算 机 网 络 管 理 员 培 训 计 划 额敏县浩远职业技能培训学校 培训计划 一.培训特点 根据信息技术装备工作的要求,结合学校硬件装备的特点,重点解决网络管理人员对硬件设备知识缺乏问题,提高他们对设备的调控和维护能力. 二.培训目的 普及网管人员的网络硬件基础知识 提高网管人员网络设备的认 ...

  • 企业网络安全建议书
  • 企业网络安全体系于规划 随着互联网的飞速发展,网络的结构变的也越来越复杂,各种操作系统及应用系统也越来越庞大,相对应的问题也就日益增多,而互联网的许多协议在设计当初并没有过多的考虑后期的安全性,因此企业网络安全防护体系设计显的更为重要.对您耐心浏览此文,表示感谢. 通过对网络结构的了解,网络也会面临 ...

  • 简述网络安全与管理
  • 许昌职业技术学院 毕业论文 题 目: 简析网络安全与管理 姓 名: 班 级:专 业: 指导教师: 完成时间: 目 录 一.绪论 .......................................................................... 错误!未定义书签. 二 ...

  • 计算机安全技术.
  • 计算机安全技术(201104) 1.2003年上半年发生的较有影响的计算机及网络病毒是(SQL 杀手蠕虫) 2.网络安全在多网合一时代的脆弱性体现在(管理的脆弱性) 3.计算机信息系统安全管理不包括(事前检查) 4.以下技术用在局域网中的是SDH 5.负责发布Internet 的标准的组织是(IET ...

  • 2017信息科技中级资格考试题库
  • 一.判断题: 1.网点通用终端j2sdk-l_4_2-Windows-i586.exe程序安装完成后,jre 工作路径默认为C:\j2sdkl .4.2 jdk工作路径默认 为 C:\Program Ffle\java\j2rel.4.2. (错) 2.计算机手动加入域时使用管理员用户,不需要知道域 ...

  • 数据挖掘与统计学应用
  • 数据挖掘与统计学应用 一.关键词和摘要 关键词:统计学 数据挖掘 知识发现 摘要: 1.数据挖掘与统计应用之间关系 统计学和数据挖掘有很多共同点,但与此同时它们也有很多差异.本文讨论了两门学科的性质,重点论述它们的异同. 数据挖掘,顾名思义就是从大量的数据中挖掘出有用的信息.DM(数据挖掘)是揭示存 ...

  • 国际技术许可贸易(二)
  • 第五章 国际技术许可贸易 第一节 计算机软件许可贸易 一.计算机软件的含义  世界知识产权组织<保护计算机软件示范条例>规定: 计算机软件包括程序.程序说明和程序使用指导三项内容.  我国<计算机软件保护条例>规定: 计算机软件是指计算机程序及其有关文档. 计算机程序包括 ...