`
fangang
  • 浏览: 860276 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
311c4c32-b171-3767-b974-d26acf661fb2
谈谈用例模型的那些事儿
浏览量:37620
767c50c5-189c-3525-a93f-5884d146ee78
一次迭代式开发的研究
浏览量:67633
03a3e133-6080-3bc8-a960-9d915ed9eabc
我们应当怎样做需求分析
浏览量:405587
753f3c56-c831-3add-ba41-b3b70d6d913f
重构,是这样干的
浏览量:85370
社区版块
存档分类
最新评论

一次迭代式开发的研究:功能的优先级评估

阅读更多
前面我们提到,迭代式开发最重要的两项前期分析就是工作量评估和优先级评估。工作量评估不仅能够确定整个项目的开发周期、成本预算,而且能够确定每项工作的开发周期,为工作的时间分配提供了依据。

但是,如此多的工作,谁先做谁后做,如何安排它们的先后顺序,则是由工作优先级来决定的。

迭代式开发的特点就是持续集成,也就是首先开发最重要、最基本的功能,而暂时忽略掉分支的、次要的功能。正因为如此,迭代式开发需求将优先级最高的功能放到前面最先完成,然后安排次优先级的,依此类推。总之,优先级评估决定了迭代式开发的工作安排。

那么,如何决定每个功能,每项工作的优先级呢?其决定因此很多,但通常来说,有两个因素是最基本的:是否靠近主营业务,以及用户使用是否频繁。

一个组织想上线一套管理系统,我们首先要分析它的主营业务。一个医院的主营业务是门诊系统,一个ERP的主营业务是进销存。越靠近这些主营业务的功能优先级越高。

同时,我们在需求分析过程中还应考察用户对各项功能的使用频率。一般来说,一个事物处理系统中,完成各项业务操作的功能必然使用频率最高,对各项业务操作的查询次之,而那些各种各样的统计分析报表则是频率最低的。频率高的功能优先级高,频率低的功能优先级低。

当然,决定优先级的因素还有很多,比如每项功能的成本与收益、紧急程度、战略意义等。我们可以绘制一个优先级表,一边罗列出所有影响因素,一边罗列出所有的功能,一项一项地分析,最终综合评估各项功能的优先级。

优先级评估的最重要的作用就是排列各项功能的开发先后顺序。前面我们提到,迭代式开发的最大特点就是迭代。整个软件开发过程被划分为数个迭代期,每个迭代期结束时应当提交一份可独立运行的程序,向用户演示。按照这样的思路,当软件开发第一个迭代期结束的时候,我们提交的是一套完整的程序,只是不够健壮,操作不方便,没有那些辅助的、次要的功能而已。这些剩余的功能,我们将在之后的迭代期逐渐完成。

根据这样的思路我们就明白了为什么我们需要进行优先级评估。将主营业务的、使用频繁的功能首先开发出来。在开发时,也主要考虑主流程而忽略分支流程。经过第一次迭代,一个可运行的、主要功能都有的软件雏形就出来了。之后,再在此基础上继续丰富、完善,直到整个项目的完成。

一次迭代式开发的研究:软件开发的风险
一次迭代式开发的研究:什么是迭代式开发
一次迭代式开发的研究:怎样进行迭代式开发
一次迭代式开发的研究:迭代开发从这里开始
一次迭代式开发的研究:准确的工作量评估
一次迭代式开发的研究:功能的优先级评估
一次迭代式开发的研究:一个迭代式项目计划
一次迭代式开发的研究:开始真正的工作
一次迭代式开发的研究:从容应对需求变更
一次迭代式开发的研究:需求变更的关键步骤
一次迭代式开发的研究:Where you are
(续)
分享到:
评论

相关推荐

    Scrum Devlopment Process.pdf

    Scrum由Ken Schwaber和 Jeff Sutherland 提出,旨在寻求充分发挥面向对象和构件技术的开发方法,是对迭代式面向对象方法的改进,名称来自英式橄榄球(以英式橄榄球争球队形Scrum为名,在比赛中每个队员都应时刻保持...

    PHP和MySQL Web开发第4版pdf以及源码

    《php和mysql web开发(原书第4版)》:开发人员专业技术丛书。 目录 读者反馈 译者序 前言 作者简介 第一篇 使用PHP 第1章 PHP快速入门教程 1.1 开始之前:了解PHP 1.2 创建一个示例应用:Bob汽车零部件商店 ...

    敏捷估计与规划,完整扫描版

    如何对由多个开发小组合作开发的项目进行评估 《敏捷估计与规划》一书为对敏捷项目进行估计与规划提供了权威实际的指导方针 在本书中 敏捷联盟的共同创始人MikeCohn讨论了敏捷估计与规划的思想 并使用现实的例子与...

    MOFEPSO:多目标可行性增强粒子群matlab.zip

    不可行粒子不需要评估目标函数并且仅基于社会吸引力飞行,这取决于单个违反约束,称为激活约束 (AC),它在每次迭代中根据约束优先级进行选择,并且飞行仅沿搜索维度发生交流敏感的空间。为了确保约束满足的逐步提高...

    测试覆盖率

     Rational Unified Process 以三类形式的报告提供缺陷评估:  • 缺陷分布(密度)报告允许将缺陷计数作为一个或多个缺陷参数的函数来显示。  • 缺陷龄期报告是一种特殊类型的缺陷分布报告。 缺陷龄期报告显示...

    Java范例开发大全 (源程序)

     实例1 开发第一个Java程序 7  第2章 Java基础类型与运算符(教学视频:39分钟) 9  2.1 基础类型 9  实例2 自动提升 9  实例3 自动转换 10  实例4 常用基础类型之强制转换 11  2.2 运算符 12  实例5...

    java范例开发大全

    实例1 开发第一个Java程序 7 第2章 Java基础类型与运算符(教学视频:39分钟) 9 2.1 基础类型 9 实例2 自动提升 9 实例3 自动转换 10 实例4 常用基础类型之强制转换 11 2.2 运算符 12 实例5 算术运算符 12 实例6 ...

    PHP和MySQL WEB开发(第4版)

    1.12 理解操作符的优先级和结合性: 1.13 使用可变函数 1.13.1 测试和设置变量类型 1.13.2 测试变量状态 1.13.3 变量的重解释 1.14 根据条件进行决策 1.14.1 if语句 1.14.2 代码块 1.14.3 else语句 1.14.4 elseif...

    java范例开发大全(pdf&源码)

    实例1 开发第一个Java程序 7 第2章 Java基础类型与运算符(教学视频:39分钟) 9 2.1 基础类型 9 实例2 自动提升 9 实例3 自动转换 10 实例4 常用基础类型之强制转换 11 2.2 运算符 12 实例5 算术运算符 12 实例6 ...

    PHP和MySQL Web开发第4版

    《php和mysql web开发(原书第4版)》:开发人员专业技术丛书。 目录 读者反馈 译者序 前言 作者简介 第一篇 使用PHP 第1章 PHP快速入门教程 1.1 开始之前:了解PHP 1.2 创建一个示例应用:Bob汽车零部件商店 ...

    Java范例开发大全(全书源程序)

    Java范例开发大全(全书源程序),目录如下: 第1篇 Java编程基础 第1章 Java开发环境的搭建(教学视频:9分钟) 2 1.1 理解Java 2 1.2 搭建Java所需环境 3 1.2.1 下载JDK 3 1.2.2 安装JDK 4 1.2.3 配置环境...

    java范例开发大全源代码

     实例1 开发第一个Java程序 7  第2章 Java基础类型与运算符(教学视频:39分钟) 9  2.1 基础类型 9  实例2 自动提升 9  实例3 自动转换 10  实例4 常用基础类型之强制转换 11  2.2 运算符 12 ...

    MOFEPSO:多目标可行性增强粒子群:能够处理高度约束问题的多目标约束优化器。-matlab开发

    不可行粒子不需要评估目标函数,并且仅基于社会吸引力根据单个违反约束(称为激活约束(AC))飞行,该约束在每次迭代中根据约束优先级进行选择,并且飞行仅沿搜索维度发生AC 敏感的空间。 为了确保约束满足的逐步...

    Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐)--随书源代码

    基于集合的思维方式:一个例子 100 4.2 集合运算 102 4.2.1 UNION和UNION ALL 103 4.2.2 MINUS 106 4.2.3 INTERSECT 107 4.3 集合与空值 108 4.3.1 空值与非直观结果 108 4.3.2 集合运算中的空值行为 110 ...

Global site tag (gtag.js) - Google Analytics