软件需求开发

1.     概述

需求在IEEE中的定如下:

1)用解决问题或达到目所需的条件或能力。

2)系或系部件要足合同、准、范或其他正式定文档所需具有的条件或能力。

3)一反映上述1)或2)所描述的条件或能力的文档。

开发软件系统最为困难的部分就是准确说明开发什么。最为困难的概念性工作便是编写出详细技术需求,这包括所有面向用户、面向机器和其它软件系统的接口。同时这也是一旦做错,将最终会给系统带来极大损害的部分,并且以后再对它进行修改也极为困难。

本文主要内容就是我们如何正确地获取客户需求。但是需求本身是一个“商务问题”,本文是提供一个获取需求的方法,但是不可能消除需求的变化。要解决需求变化和需求管理的问题建议从商务层面上去解决。

2.     需求的分类

在需求开发中我一般会需求行分些分的目的就是更深刻地理解和分析需求,下面使我一般采用的需求分方法,以及各分系。

Ø         需求层次分类(需求的层析分类是需求调研的顺序,我们可以简单把需求的层次理解为需求的继承的关系)

l         需求:一般是来自客层经理求,是客户对公司体的业务规划。

l         业务需求:一般是来自客层经理,是客户对具体业务业务流程。

l         需求:一般是来自最,是客户员工的工作流程。

Ø         需求的型分

l         功能需求

l         非功能需求

Ø         需求的必要性分

l         必须(必须满足、不能裁剪)

l         期望(可以进行适当裁剪)

Ø         需求的影响范

l         全局的

l         局部的

客户需求

业务需求

用户需求

功能需求

非功能需求

必须的

期望的

需求的分类及分类之间的关系

全局的

局部的

 

3.     需求开发计划

要是根据目特征来确定的需求开发步骤,然后为每个任安排源确定时间,并建立展需求开发的各管理划。需求开发计划的主要目的是明确需求开发时间计划,列出需求开发的任、需要的源,定需求开发过程中各的管理方式,识别需求开发风险

n         由于型不一,我依据客状况型确定了目的生命周期。一般采用的生命周期模型以“原型+瀑布”和“迭代”多。下面是依据目特征选择生命周期模型的准

Ø         瀑布模型

l         适用于新的有多用品、平台/开发项目,或者是用户对开发过程有格要求的工程定制目 。

l         充分理解用需求,且需求是确定不的。

l         有一定的能力,需求的表述是确切的 。

l         所有程工作品的控制基线,需要有可度和可靠性 。

Ø         原型+瀑布模型

l         新领域的应用项目的开发:如企业应用系统开发项目等。

l         项目包含一种新技术,例:新硬件、新的系统架构等。

l         需求不很清楚。

l         存在关于性能、可靠性和可行性的主要的、未解决的问题。

l         用户界面对系统成功是很关键的,但不很清楚。

Ø         迭代模型

l         新领域、新技术的研发项目 。

l         规模较大的项目或产品 。

l         需求的清晰度低,且需要进一步的调查。

l         技术或体系结构方面的知识匮乏

n         依据需求的次和已选择的需求开发过程制定需求的段或步骤的概要时间计划、源、人职责识别需求开发风险。要点包括:

Ø         划需求开发时间

Ø         划需求开发需要的

Ø         划需求准

Ø         划需求研活

Ø         划需求分析活

Ø         划需求开发需要的参与人,并分配任职责

Ø         划需求评审和确

Ø         划需求开发干系人管理,并识别出需求开发的干系人

Ø         划需求开发的内部、外部沟通方式

Ø         识别并分析需求开发风险

n         需求开发计划的评审

评审员一般有:客、商、同行家、后续阶段的开发等。

4.     需求调研准备

n         收集客户资的目的是需求研做准主要手段是从外围获取客的信息,使需求开发了解客特点。我们收集的资料一般有:

Ø         收集客户资

Ø         的招文件。

Ø         收集客产业结构、行、地域分布、部门设置、模、生产规模、经营规模等信息。

Ø         收集客所在行的行业标准,并从中提取需求。

Ø         收集客所在行似信息系的状况,并从中提取需求。

Ø         其他途径了解客业务特点,如:行家学者、互网等。

n         需求研人的行,使需求开发了解客特点。

5.     获取调研

5.1.   需求调研的准则

取需求是需求开发过程的主体活,在实际工作中取需求、分析需求、描述需求和需求的确不是按序排列的活,他应该是一个迭代的程。取需求活中我们应该遵循下列3个原

Ø         深入浅出

l         全面、深入的了解需求

l         简单、概括的抽象需求

Ø         站在用户的角度获取需求

l         业务是如何流转的?

l         是如何使用系统的?

Ø         业务流程线,采用入、理、出的思想取需求

l         同整个系统为一个盒子

l         视同整个业务为一个盒子

l         视同某个用户为一个盒子

 

输入什么

输出什么

系统、业务、用户。如何处理

谁输入

输出给谁

Ø         要从系的全生命周期程来考需求,下列是考的要素:

l         如何使用?

l         如何生产?

l         如何安装?

l         如何培训?

l         如何维护?

l         如何报废?

l         在每个生命周期的阶段涉及到的人、设备或系统?他们会有哪些需求?

5.2.   获取并确认项目的目的、目标和范围

目的目的、目和范一般需要商理去与客明确了目的目的、目和范才能有效地控制算、有利于需求研的展、能够对需求行平衡和的判断。我一般用幻灯片的方式去与客

n         取客户组织结构。通与客接触取客组织结

董事长

总经理

副总经理

……

……

……

……

……

n         取客业务规划。业务规划可能是客整体的业务规划,我需要找出我们项目要解决客的哪些划,划是我们项目的出点。

n         目的目的目目的就是系要解决的核心问题是什解决该问题束是什目的目的必在需求研前明确,行需求研的基

n         目目目目需要是可度量的、可以达到的,目的范围应能确保目的目可以达到。

n         目范目的范一般从广度和深度来分析,广度就是系覆盖的业务、部、功能,深度就是我做到什程度。

n         与客一起确目目的目和范”。

n         对需求调研人员与客户参与需求访谈的人员进行目目的目和范”的宣灌。确后的“目目的目和范”需在客方“目启”上行宣,使所有目干系人了解目的目的和范这样才有利于需求研的展

5.3.   制定需求访谈详细时间计划

需求划必与用一起制定,这样才能确保需求研的工作利展然有划,但是实际是否有时间参与访谈是不受控制的。我制定时应该标识出任的依赖关系,当化后我可以及划。并且访谈最好能列出一些备选的用代表。

n         依据组织结构,与各个部来确定及的位,并对这职责进行描述。出“位定”。

n         识别所有可能的需求提供者。识别需求提供者的要点如下:

Ø         使用?

Ø         谁维护该?

Ø         需要从系取数据?

Ø         的运行会影响到?

Ø         来推广?

Ø         谁测试该?

Ø         产该?

Ø         谁购买该?

Ø         研客户现有信息系

Ø         该项目的替代的系

Ø         该项目有数据接口、业务接口的系

Ø         户拥有的其他系

n         制定需求访谈详细时间计划。划要点如下:

Ø         划需要客参与制定

Ø         研客户现有信息系的使用状况

Ø         划需求研的问题的沟通及协调方法和流程

Ø         研的方式、时间、地点、内容、需求分析、用代表及备选代表等

Ø         识别需求研的关键路径

Ø         识别需求研的风险

Ø         与客需求划。

Ø         需求研准

Ø         依据需求划,需求研准备问题

n         “需求调查”,“需求调查”一般包含下列内容:

Ø         有系是如何运作的?

Ø         有系存在什么问题

Ø         希望新系解决什么问题

Ø         (用)希望如何解决问题

Ø         希望交付哪些工作品?

Ø         的背景如何?

Ø         的速度、可靠性、安全性、数据容量的要求?

Ø         的运行境是什

Ø         最重要的3需求是什

Ø         业务流程的启条件、止条件、正常事件流、异常事件流、数据、规则出数据。

Ø         数据的名称、来源、算方法、型、位、精度、取、去向、生成时间生的度、高峰期的度、存方式、保密要求。

5.4.   需求访谈

一般取需求是开发中最困、最关键、最容易出和最需要交流的方面。需求开发需要透提出的表面需求理解他的真正需求。一般通过访谈为主,以原型来取客需求。需求访谈要点如下:

Ø         访谈前我需要详细的准为每个不同的访谈“需求调查”。

Ø         需求分析研前要了解的身份、背景。

Ø         限制面谈时间

Ø         研前和用户讲清楚研的意程、以及需要注意的问题

Ø         时应该一个人发问,其他人记录

Ø         需求调查应先了解宏观问题,再了解细节问题

Ø         使用需求调查研,并做好详细记录

Ø         业务流程为总体的主线

Ø         在用户讲,不要中断用,使方有充分的演机会。

Ø         注意找异常和错误情况。

Ø         注意交的技巧,并尽可能多的住用的姓名、职务好等。

Ø         详细记录访谈时间、地点、被访谈的人、角色、持时间、参与的人、需求、需要?

Ø         指出并记录没有未回答条目和待解决问题

Ø         从不同的渠道行需求的验证,如要验证已有的业务流程,原有的部业务接口理方式等

Ø         当需求出不一致,由客户进行决策。

5.5.   调研业务需求

业务需求一般是与部的主管取,主要的目的取出各个部业务接口以及部业务操作流程。实际过程中很多客并不能清晰地表达出他业务操作和业务接口,我需要与各部业务操作者(用访谈取到的需求分析和梳理,把各个部内的业务操作拼接起来,才能得一个完整的业务流程。所以业务需求取的往往是与用需求一起行的。

n         过访谈获业务需求。业务需求中我们应该是把部一个盒子,个部如何与外部交互,在取的程中要明确个操作及的角色。

n         整理业务流程图。取的业务需求描述为业务流程(按角色和部的泳道),对关键业务处理要使用文字描述的方法明。

n         取客户对的非功能需求。非功能需求的数据一定要量化,不能使用好、快等形容来描述性能需求,当客不能提出非功能需求的候,我要从系的基本特征提出非功能需求指,并得到客的确认。我们记住这个原则就是能量化则量化,不能量化那么我们就原形化。

n         取的功能需求和非功能需求整理到“需求一”中。

n         与客主管及客方各分管领导认业务需求。

5.6.   调研用户需求

把具体业务操作者的工作方式工作内容我功能需求些功能需求是业务流程步骤细节描述,是系构建的基石。这类应该做充分的准,特“需求调查”,并通方法去验证这些功能需求的正确和合理性。同研功能需求的候我也要对业务流程验证取。

n         访谈“需求调查表”个操作的功能需求(包含非功能需求)。

n         整理取的需求

n         复查调记录的准确性、完整性和可理解性

n         整理业务流程要描述正常的业务流程,要描述异常的业务操作的描述,业务流程的个正常和异常的操作流程就是一个操作

n         明确业务流程的前置条件、后置条件。

n         确定需要进一步调研的问题。

n         完善组织结构图与岗位定义文档。

n         将获取的功能需求和非功能需求整理到“需求一览表”中。

5.7.   原型来需求

在需求取中往往会存在着理解不一致或表达不清晰的问题了解决问题可以通原型来些需求。一般界面原型来取需求、通过设计原型来验证线、通功能原型来关键需求。原型展示消除需求分析和用户对需求理解的不一致。使用原型的基本原如下:

Ø         复杂业务流程的需求,尽量采用界面原型来抽取客的需求

Ø         当一些性能需求不能量化可以使用设计原型验证和确,以减少系架构的风险

Ø         复杂功能或特殊算法的需求,我使用功能原型来抽取客的需求,功能原型必易于升维护

5.8.   分析需求

分析需求的目的是消除原始需求中存在的冲突、重叠、漏、不一致、不切实际问题一般采用下列准去分析需求:

Ø         正确性:所有需求必是正确的、合理的、目目的要求。

Ø         必要性:所有需求必完成指定任所必需的。

Ø         可行性:在指定的境和条件下,所有的需求必是可行的。

Ø         性:完成指定任些需求是完的、无漏的。

Ø         一致性:所有需求相互之没有矛盾,是一致的。

Ø         非退化:任一需求的引入都不会件性能的退化。

Ø         无歧:任一需求的述都是确定的、不会致多性的。

Ø         验证:任一需求都是可以测试、可以验证的。

5.9.   列举需求

需求,消除需求存在的问题,使得需求具正确性、必要性、完性、一致性等特征。

n         确定条需求的来源和最使用者检查需求的正确性。

n         识别每条需求的最

n         消除用需求中的矛盾和不一致

n         漏的用需求

n         除不必要的需求

n         非功能需求

n         外部接口需求

n         需求的其他

n         过业务流程、需求原型等方式化需求

5.10.        整理需求

整理需求,我们对需求分析、识别出各逻辑或功能部分,根据相似性、偶合度及性能原,将需求分,推并建立出件,将需求分配到各件上,同,确定出与外部系以及各件之的接口

n         的非功能需求

n         统设计

n         功能需求

n         识别用的需求

n         功能需求行分

n         建立件(系子系或模

n         为产件分配需求

n         内部和外部接口需求

n         检查需求的可测试

n         价需求的可行性,必要与客户协商一些实现的需求,平衡需求以及量、度和成本。

n         划分需求的

n         识别关键需求

n         标识出待确定的需求

n         识别需求的相关风险

5.11.        描述需求

n         “用需求”,该步骤步骤5.9一起行。行需求开发时往往忽略了“需求”,但是告是很重要的,是与客需求和系统验收的主要依据。“用需求”可以依据客要求行裁剪,并采用不同的形式去展,内容和方式如下:

内容

方式

工具

是否裁剪

基本信息

文字

word

不可裁剪

目的目和范

幻灯片、文字

PPTword

不可裁剪

组织结职责描述

Visioexcelword

不可裁剪

有系(或管理方法)及存在的问题

文字

word

 

业务流程

Visioexcelword

不可裁剪

可能存在的

表格

excelword

 

数据模型(据、表、台等)

Visioexcel

不可裁剪

功能需求(包含限制条件、规则、外部接口需求等)

表格

excelword

不可裁剪

非功能需求

表格

excelword

不可裁剪

其他

、文字

Visioexcelword

不可裁剪

待确定需求列表

表格

excelword

不可裁剪

需求原型

html

 

 

“用需求”是从用角度来描述需求,是直接述客原始需求的文档。需求告也可以根据客要求合并到“需求”,但是不可裁剪的内容必“需求”中体

n         “需求”,该步骤步骤5.10一起行。“需求”是从开发的角度来描述需求,是一个基于系统设计方案(不是技方案)的文档

5.12.        需求的验证和确认

n         验证需求,一般我从以下几个方面去验证需求“用需求”、“需求”:

Ø         组织和完整性

l         所有其它需求的内部交叉引用是否正确?

l         所有需求的写在细节上是否都一致或者合适?

l         需求是否能为设计提供足的基

l         是否包括了个需求的实现优

l         是否识别关键需求?

l         是否定了所有外部接口?

l         是否定了功能需求内在的算法?

l         是否在需求中漏了必要的信息?如果有的,就把它们标记为待确定的问题

l         是否记录了所有可能的错误条件所生的系

Ø         正确性

l         是否有需求与其它需求相冲突或重复?

l         是否简明、简洁、无二义性地表达每个需求的?

l         是否每个需求都能通过测试、演示、审查得以验证或分析?

l         是否每个需求都在项目的范围内?

l         是否每个需求都没有内容上和语法上的错误?

l         在现有的资源限制内,是否能实现所有的需求?

l         是否任一个特定的错误信息都具有唯一性和明确的意义?

Ø         量属性

l         是否合理地确定了性能目标?

l         是否合理地确定了安全与保密方面的考虑?

l         在确定了合理的折衷情况下,是否详实地记录了其它相关的质量属性?

l         可跟踪性

l         是否每个需求都具有唯一性并且可以正确地识别它?

Ø         特殊的问题

l         是否确定了对时间要求很高的功能并且定义了它们的时间标准?

l         是否对需求开发前和需求开发后进行的项目规模偏差的计算?

5.13.        确认需求

一般采用需求原型、“用需求”、“需求”与客户进行需求确在确中我最好取客面确当需求确后我向客明确需求更流程更原

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值