软件需求管理PPT课件
- 格式:ppt
- 大小:2.84 MB
- 文档页数:32


1.需求工作涉及到哪些内容
首先需求包括了产品需求,用户需求,软件需求。产品需求关注的是产品的标准化和通用化,会对收集到的用户需求进行分类和优化,结合业界标准系统模型进行抽象并通用化。用户需求反映的是用户面临的问题域,根据问题域用户期望的能够达到的解决效果;而对于软件需求则是用软件工程的语言结构化和文档化的对用户需求和产品需求的描述。
需求工作涉及到需求开发和需求管理。需求开发涉及到需求调研,需求收集,需求分析,需求开发等工作,其中的重点有业务流程,数据字典,业务规则,界面原型。对于基于面向对象的开发方法则涉及到业务用例,系统用例(涉众,基本流,扩展流,业务规则,界面,操作)等诸多内容。需求管理工作涉及到需求的状态管理,变更管理,需求的跟踪,需求的验证和确认等重要内容。
在我们需求分析和开发中,最容易忽视的主要有两点,一个就是缺乏需求分析和开发的过程,把用户需求直接作为了软件需求,没有需求建模和抽象的过程。另外一点就是对于性能,安全,易用性,可维护性和扩展性等非功能性需求没有考虑,导致开发出来的系统是一个不好用的半成品。CMMI把需求管理放到2级,需求开发放到3级,实际上真正的提高需求人员的需求分析和开发能力才是解决需求问题之道。需求分析开发做不好,需求变更或追踪管的再好也没有用处,在这点上一定不能本末倒置。
2.做好需求分析需要具备哪些知识
需求分析岗位主要承担的是系统分析员的工作,做需求分析的人员要有软件工程基础知识的积累,而且最好有一定的软件开发经验积累。自己做过设计开发工作的才能够体会到如何才能够把系统做好,如何更好的把软件需求和后续实现更好的衔接起来。有一本《软件需求》的书讲的很系统,从事需求工作的都值得仔细阅读。对于采用面向对象的需求开发和分析方法的,一定要熟悉RUP统一过程和用例分析和建模。
对于管理软件都离不开其涉及到的业务领域,因此要做好需求分析工作必须要熟悉管理软件所涉及到的业务领域,对业务领域相关的标准模型进行分析和研究,对业界的一些标准和最佳实践进行熟悉。比如做供应链管理系统和软件应该熟悉业界标准的SCOR模型,做ERP的应该结合现在的业界比较大的厂商的ERP产品进行学习,对于研发管理系统可以结合PACE和IPD等等。只有熟悉了业务领域才可能在需求调研和分析的时候提供很多有建设性的意见,或者说需求分析人员不是被用户牵着走,而是真正的可以引导用户。
软件项目需求管理简述
需求的概念
从根本上说,需求来源于用户的“需要”和“要求”,这些“需要”和“要求”被分析、整理、确认后形成完整的文档,该文档详细地说明了产品“应当”实现的功能。
需求的重要性
需求是整个产品链的源头,需求工作的优劣将直接影响到产品的设计,生产,销售和维护的全过程。就像一条河流,如果源头被污染了,那么整条河流也就被污染了。目前国内很多软件业普遍存在这样一个现象:人们并不真正清楚到底该做什么,却一直忙碌不停地开发。
Frederick Brooks在他的经典文章“No Silver Bullet”是这样描述需求的重要性的:
开发软件系统最困难的部分就是准确说明开发什么。最困难的概念性工作是编写出详细的需求,包括所有面向用户、面向机器和其它软件系统的接口。此工作一旦做错,将会给系统带来极大的损害,并且以后对它修改也极为困难。
什么是需求管理
把所有与需求直接相关的活动通称为需求管理。
需求管理中的活动可分为两大类,
需求分析:对用户的需求进行整理、分析和完善,形成文档
需求维护:需求确认,需求跟踪和需求变更
需求工程贯穿产品生命周期的全过程。
需求管理的主要内容
需求分析流程
需求调查
首先需求分析员起草需求调查问题表,将调查重点锁定在该问题表内,否则调查工作将变得漫无边际。问题表可以是层次化的,随着调查的深入,问题表将不断地被细化。问题表应当以“选择题”和“是非题”为主。 其次,需求分析员应当确定需求调查的方式,例如: 与用户交谈,向用户提问题。向用户群体发调查问卷等。
还可以从用户的工作流程,相关文档以及行业标准、规则中提取需求。分析已经存在的同类软件产品,提取需求。
最后,需求分析员与被调查者建立联系,确定调查的时间、地点、人员等,进行需求调查。
细化用户需求
根据用户需求调查,对用户的需求进行细化,对比较复杂的用户需求进行建模分析,以帮助软件开发人员更好地理解需求。例如采用Rational 的Rose工具进行需求的建模分析。
软件产品经理之需求管理
需求分析是通过需求收集获取的用户需求,选择一种业务导向的线索将零散的需求串联起来,进行业务分析、消除矛盾,并在业务分析基础上结合系统现状进行系统分析并最终形成方案和系统需求说明书的过程。
需求分析总体分为8个步骤,按照顺序依次为:需求识别、业务流程/统计查询/接口分析、数据实体分析、角色及使用场景分析、系统功能分析、数据割接分析、用户体验分析、非功能需求分析。
一、需求识别
需求人员在此步骤应该分析需求类别、需求复杂度和需求价值用来确定需求实施的优先级。
1.需求类别确认:需求类别包含流程类需求、统计分析类需求、接口类需求,一个需求可能为某一类型需求,也可能包含多类需求。确认需求类别后应对每类需求的数量进行初步分析(比如流程类需求包含几个流程、统计分析类需求包含几个报表、接口类需求包含几个接口);
2.需求复杂度分析:一般需求受理工作量在1-5人天的需求复杂度低,工作量在5-15人天的需求复杂度中,工作量在15人天以上需求复杂度高。(工作量表示需求受理全过程需求人员需要付出的工作量)。
3.价值分析:需求人员收到需求后应根据收集需求内容初步分析需求痛点/目标、需求复杂度、业务重要程度确定需求价值,需求价值分析可参考如下模型:
二、业务流程/统计查询/接口分析
针对流程类需求必须进行业务流程分析,统计查询和接口类需求可不进行详细的流程分析。
1.业务流程分为组织级、部门级和岗位级,部门级流程关注脉络需要分析涉及哪些具体岗位、执行活动、每个活动之间的关联关系,它是需求分析的主线条,也是流程分析的主要产物;组织级流程关注宏观一般不会直接绘制,是对部门级流程的概括和抽象,岗位级流程关注每个业务活动的执行步骤属需求细节范畴,在流程分析阶段不要过度进入细节。
2.需求识别阶段确认的流程均为部门级流程,需求人员在进行流程分析应遵循如下方法:
第11卷第4期 2012年4月 软件导刊 Software Guide v01.11 No.4 ADr.2Ol2
软件需求管理方法研究
金铁,张 勇,杨 涛
(军事经济学院襄阳士官学校计算机教研室,湖北襄阳441118)
摘 要:软件需求是软件项目开发的基础和起点,软件管理的好坏也会引领软件开发向着不同的方向发展,需求管理
对软件开发的后续工作具有规划意义和先导作用。因此,不仅要重视软件需求管理,更要有一套行之有效的管理方 法。 关键词:软件需求;软件工程;项目管理
中图分类号:TP301 文献标识码:A 文章编号:1672—78O0(2012)O04—0013—02
0 引言
软件需求是软件项目启动的原动力,虽然用户对软件
产品的需求会发生一些变化,但是只要需求存在,项目就
有开发的价值,只要项目能够最终满足用户的需求,软件
开发的投入就会得到回报。在开发中,无论采用何种软件
生命周期模型,良好的开端是成功的一半,软件需求管理
仍是开发过程的基础,软件需求分析与管理为后续开发工
作起到了引领作用,不可小视。软件需求管理是软件项目
开发的起点,是项目成功的关键。据统计,软件开发中返 工开销会占到总开发成本的4O ,而其中7O ~8O 是
需求分析错误而导致的后期开发工作作废。许多开发者
都能意识到这一点,但是在软件开发实践中,由于没有好
的管理方法,这一重要环节又往往流于形式,直至开发过
程陷入困境,回过头来会发现需求管理上存在许多问题。
开发者面对实际开发工作时,需将需求管理与开发过程的
各个具体环节紧密结合起来,达到管理的目标。
1软件需求管理内涵
1.1软件需求管理 需求是指和客户一起建立并不断更新的对各项软件
工作所达成的协议。需求作为软件开发的初始输入,需要
进行精确的描述和优化等过程,即需求分析。需求分析是
软件开发行为关键的第一步,而需求管理就是为了管理和
控制需求分析的结果,并确保软件项目的开发活动始终与