需求开发与需求管理过程(ppt)

需求开发与需求管理过程(ppt)

ID:1114313

大小:353.92 KB

页数:50页

时间:2017-11-07

上传者:U-2916
需求开发与需求管理过程(ppt)_第1页
需求开发与需求管理过程(ppt)_第2页
需求开发与需求管理过程(ppt)_第3页
需求开发与需求管理过程(ppt)_第4页
需求开发与需求管理过程(ppt)_第5页
资源描述:

《需求开发与需求管理过程(ppt)》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

需求开发与需求管理JackyyiLeadconsultantShare-WinTechnologyShare-WinCMMITrainingC-C 需求工程基本概念Share-WinCMMITrainingC-C 需求开发与需求管理的关系给客户看的用户需求调研用户需求说明书需求分析给工程人员看的产品需求定义产品需求规格说明书需求开发部分需求管理部分需求确认需求变更需求跟踪控制Share-WinCMMITrainingC-C 需求的重要性•开发软件系统最为困难的部分就是准确说明开发什么。最为困难的概念性工作就是编写出详细技术需求,这包括所有面向用户、面向机器和其它软件系统的接口。同时这也是一旦做错,将最终会给系统带来极大损害的部分,并且以后再对它进行修改也极为困难。Thehardestsinglepartofbuildingasoftwaresystemisdecidingpreciselywhattobuild.Nootherpartoftheconceptualworkisasdifficultasestablishingthedetailedtechnicalrequirements,includingalltheinterfacestopeople,tomachines,andtoothersoftwaresystems.Nootherpartoftheworksocripplestheresultingsystemifdonewrong.Nootherpartismoredifficulttorectifylater—FrederickBrooks,NoSilverBullet:EssenceandAccidentsofSoftwareEngineering,1987.Share-WinCMMITrainingC-C 需求问题—软件开发中的问题1.客户表面上同意需求,但完成的产品并不能满足需求2.需求总是变化,无法稳定3.需求太多,无法在给定的时间完成4.设计人员抱怨测试人员没有拿最新的需求版本来设计测试5.项目经理发觉开发人员独自增加了新的功能,新的功能用了很长的时间进行开发,但客户认为价值不大6.客户总是不想对项目进行验收,他们担心系统无法最终满足需要Share-WinCMMITrainingC-C 需求问题分析•需求管理¢对需求文档的一致性进行管理,保证相关的小组基于共同的需求工作¢需求的变化必须得到客户和开发组的共识,包括需求的价值、验收的标准¢需要有效的机制来管理需求的变化•需求开发¢要有效的获取用户的需求,挖掘用户的潜在需求和真正需要,并准确、清晰的描述¢对需求的优先级进行分配,保证及时满足用户真正的需要Share-WinCMMITrainingC-C 需求活动的目的•定义系统的边界和功能、非功能需求,以便涉众(客户、最终用户)和项目组对所开发的内容达成一致。•使项目组能够更好的理解需求,并达成一致。•建立软件需求基线供软件工程和管理使用。•软件计划、产品和活动同软件需求保持一致。•为其它软件工程活动提供基础(如管理活动、测试活动)。Share-WinCMMITrainingC-C RequirementDevelopment需求开发Share-WinCMMITrainingC-C 需求开发的目的•需求开发的目的在于:¢定义系统的边界和功能、非功能需求,以便涉众(客户、最终用户)和项目组对所开发的内容达成一致。¢使项目组能够更好的理解需求,并达成一致。¢为其它软件工程活动提供基础(如管理活动)。Share-WinCMMITrainingC-C 需求问题–回顾•需求问题¢客户表面上同意需求,但完成的产品并不能满足需求•问题产生的原因¢需求没有真实、完整地反映用户的需要,或者模棱两可的需求说明导致双方对需求理解的误差¢可能过分简略的需求说明以致遗漏某些关键需求•问题在于:需求开发¢要有效的获取用户的需求,挖掘用户的潜在需求和真正需要,并准确、清晰的描述¢对需求的优先级进行分配,保证及时满足用户真正的需要Share-WinCMMITrainingC-C 优秀需求的特征•完整性•正确性•可行性•必要性•划分优先级•无二义性•可验证性—Wiegers,K.E.SoftwareRequirements,Share-WinCMMITrainingC-C 需求开发¢《用户需求说明书》与《产品需求规格说明书》的主要区别与联系:•前者主要采用自然语言(和应用域术语)来表达用户需求,其内容相对于后者而言比较粗略,不够详细。•后者是前者的细化,更多地采用计算机语言和图形符号来刻画需求,产品需求是软件系统设计的直接依据。•两者之间可能并不存在一一影射关系,因为软件开发商会根据产品发展战略、企业当前状况适当地调整产品需求,例如用户需求可能被分配到软件的数个版本中。软件开发人员应当依据《产品需求规格说明书》来开发当前产品。Share-WinCMMITrainingC-C 需求开发•需求开发可分为两个阶段:“用户需求调查阶段”和“产品需求定义阶段”。•“需求分析”则贯穿于上述两个阶段。•需求调查阶段和需求定义阶段在逻辑上存在先后关系,实际工作中二者通常是迭代进行的。•我们把从事需求开发工作的人员称为需求分析员(也叫系统分析员),避免与其它开发人员混淆。需求开发三步骤:¢1、需求调查:需求调查的目的是通过各种途径获取用户的需求信息(原始材料),产生《用户需求说明书》。¢2、需求分析:需求分析的目的是对各种需求信息进行分析,消除错误,刻画细节等。常用的需求分析方法有“问答分析法”、“结构化分析法”和“面向对象分析法”。¢3、需求定义:需求定义的目的是根据需求调查和需求分析的结果,进一步定义准确无误的产品需求,产生《产品需求规格说明书》。系统设计人员将依据《产品需求规格说明书》开展系统设计工作。Share-WinCMMITrainingC-C 需求开发•需求开发步骤¢需求调研(获取)¢需求分析并形成《需求规格说明书》Share-WinCMMITrainingC-C 需求开发——需求调研(获取)Share-WinCMMITrainingC-C 需求开发•需求调查¢需求调查的目的:•是通过各种途径获取用户的需求信息(原始材料),产生《用户需求说明书》¢用户需求调查的角色与指责:•需求分析员调查、分析用户的需求。•客户与最终用户提供必要的需求信息。¢用户需求调查的启动准则•需求分析员已经确定。¢需求调研的输入•任何与用户需求相关的材料¢需求调研的输出•需求调研记录Share-WinCMMITrainingC-C 需求开发的具体步骤•Step1:准备•需求分析员确定需求调查的方式,例如:¢与用户交谈,向用户提问题。¢参观用户的工作流程,观察用户的操作。¢向用户群体发调查问卷。¢与同行、专家交谈,听取他们的意见。¢分析已经存在的同类软件产品,提取需求。¢从行业标准、规则中提取需求。¢从Internet上搜查相关资料。•需求分析员准备调查问卷(问题表)。•需求分析员与被调查者建立联系,确定调查的时间、地点、人员等Share-WinCMMITrainingC-C 需求开发的具体步骤•Step2:调查与记录¢需求分析员调查用户需求,随时记录调查过程中所获取的需求信息。Share-WinCMMITrainingC-C 需求开发——需求分析Share-WinCMMITrainingC-C 需求分析方法概述•很多时候用户说不清楚需求、会说错需求或者提出一些无法实现的需求。•需求分析是指在需求开发过程中,对所获取的需求信息进行分析,及时排除错误、弥补不足,确保需求文档正确地反映用户的真实意图。•需求分析是需求开发过程中“最费脑子”的工作。•分析方法大体有两类:“问答分析法”和“建模分析法”。后者技术性比较强,大多数软件工程书籍都有论述。前者就是一些常识而已,虽然写不成文章,但是简单易用,很有实用价值。Share-WinCMMITrainingC-C 需求分析方法概述•问答分析法•问答分析方法很简单:刨根究底地问,如果解答了这些问题,那么需求也就分析清楚了。一个人可以“自问自答”地分析需求,几个人分析需求则称为“研讨”。•问答分析最重要的问题是:“是什么”和“为什么”。•每个需求都应当用陈述句说明“是什么”,如果“是什么”的内涵不够清晰,则应补充说明“不是什么”。如果“是什么”和“不是什么”并不是“理所当然”的,那么应当解释“为什么”,以便加深读者的理解。追究“是什么”和“为什么”的目的是获得正确、清楚的需求。¢其它常见的问题有:¢需求存在二义性吗?¢需求文档的上下文有矛盾吗?¢需求完备吗?¢需求是必要的吗?¢需求可实现吗?¢需求可验证吗?¢需求的优先级确定了吗?Share-WinCMMITrainingC-C 需求分析方法概述•建模分析法¢人们都有这样地感受:有些时候用语言描述某个问题特别费劲,而采用图形则使人一目了然,所谓“一图抵千言”就是这个道理。¢在需求开发过程中,对于某些类型的信息,用图形表示要比文本表示更加有效。所以将图形与文本结合起来描述需求是很自然的方法。需求建模就是指用图形符号来表示、刻画需求。¢建模分析方法主要有两大类:“结构化分析法”和“面向对象分析法”。Share-WinCMMITrainingC-C 需求分析方法概述•结构化分析法¢对结构化分析方法作了高度概括(如下图所示),我们不妨称之为“一个中心三种图”:•“数据字典”是中心,它包含了软件中所有数据对象的描述。•“实体-关系图”是用图形符号来标识数据对象以及它们之间的关系。•“数据流图”指明了数据在系统中移动时如何被变换。•“状态-变迁图”表示了系统存在的各种状态以及它们之间的变迁方式。Share-WinCMMITrainingC-C 需求分析方法概述•结构化分析法数据实体—关系图数据流图字典状态—变迁图结构化分析方法示意图Share-WinCMMITrainingC-C 需求分析方法概述•面向对象分析法¢UML吸取了各种OOAD方法的精髓,对于OOAD中的语义、图形表示法和使用规则作了完整而详细的定义。UML的建模能力超过了以往任何一种OOAD方法,当然其复杂性也随之膨胀。真正使UML流行的是Rational公司基于UML的建模工具Rose。Rose易学易用,它能交互式地构建类图、用例图、构件图、部署图、状态图、活动图、顺序图、协作图等等,深得开发人员的喜爱。¢介绍UML和Rose的书籍非常多,读者自己选择、学习,这里不再论述Share-WinCMMITrainingC-C 需求分析•需求分析并形成需求规格说明书¢需求开发的目的:•定义准确无误的产品需求,产生《产品需求规格说明书》¢需求开发的角色与职责:•需求分析员定义产品需求。•客户与最终用户提供必要的需求信息,并确认产品需求。¢进入准则:•《用户需求说明书》已经撰写完成。¢输入:•《用户需求说明书》¢输出:•《产品需求规格说明书》Share-WinCMMITrainingC-C 需求分析的具体步骤•Step1:分析需求信息¢需求分析员分析已经获取的需求信息,消除错误,归纳与总结共性的用户需求。Share-WinCMMITrainingC-C 需求分析的具体步骤•Step2:撰写用户需求说明书¢需求分析员按照指定的文档模板撰写《用户需求说明书》,主要内容包括:¢产品介绍;¢描述用户群体的特征;¢产品应当遵循的标准或规范;¢描述产品的功能性需求;¢描述产品的非功能性需求,如用户界面、软硬件环境、质量等需求。¢补充说明:调查过程中获取的需求信息可以作为《用户需求说明书》的附件。Share-WinCMMITrainingC-C 需求分析的具体步骤•Step1:细化并分析用户需求¢需求分析员对《用户需求说明书》进行细化,以便产生详细的产品需求。¢需求分析员对比较复杂的用户需求进行建模分析,以帮助软件开发人员更好地理解需求。建议采用Rational的Rose工具进行需求的建模分析,建模分析产生的文档可以作为《产品需求规格说明书》的附件。¢补充说明:建模分析的技术难度比较高,需求分析员应当根据自身水平进行取舍。Share-WinCMMITrainingC-C 需求分析的具体步骤•Step2:撰写产品需求规格说明书¢需求分析员按照指定的文档模板撰写《产品需求规格说明书》。如果待开发的产品分为软件和硬件两部分的话,则应当分别撰写《软件需求规格说明书》和《硬件需求规格说明书》。¢《产品需求规格说明书》的主要内容包括:•产品介绍;•描述用户群体的特征;•定义产品的范围;•阐述产品应当遵循的标准或规范;•定义产品中的角色;•定义产品的功能性需求;•定义产品的非功能性需求,如用户界面、软硬件环境、质量等需求;Share-WinCMMITrainingC-C 需求分析的具体步骤•Step3:需求确认(需求管理)¢项目经理邀请同行专家和用户(包括客户和最终用户)一起评审《产品需求规格说明书》,尽最大努力使《产品需求规格说明书》能够正确无误地反映用户的真实意愿。¢需求评审之后,开发方和客户方的责任人对《产品需求规格说明书》作书面承诺。¢补充说明:“需求确认”活动属于需求管理范畴Share-WinCMMITrainingC-C 需求开发•需求开发结束准则¢《产品需求规格说明书》已经撰写完成。¢已经对产品需求进行了评审,并且获得了开发方和客户方对需求的承诺。Share-WinCMMITrainingC-C 需求开发•度量¢项目经理统计工作量和上述文档的规模。Share-WinCMMITrainingC-C RequirementManagement需求管理Share-WinCMMITrainingC-C 需求管理的目的•需求管理的目的是在客户和软件项目之间就需要满足的需求建立和维护一致的约定:¢建立软件需求基线供软件工程和管理使用。¢软件计划、产品和活动同软件需求保持一致。Share-WinCMMITrainingC-C 需求管理活动制定需求管理计划提取业务需求12•制定需求管理计需求开发划3•提取业务需求需求批准•需求开发4•需求批准基线化需求5•基线化需求•需求变更控制需求变更控制6•需求状态评审需求状态评审7Share-WinCMMITrainingC-C 时机•项目已立项•已批准的业务需求¢业务需求(BusinessRequirements):从客户角度提出的对系统的要求,一般也称为初始需求。Share-WinCMMITrainingC-C RM1-制定需求管理计划制定需求管理计划提取业务需求12编写用于需求管理活动需求开发3的计划。需求批准4•定义角色和职责基线化需求5•建立跟踪机制需求变更控制6•选择需求属性需求状态评审7•定义需求管理机制制定需求管理计划制定需求管理计划•编写需求管理计划系统分析员需求管理计划Share-WinCMMITrainingC-C RM2-提取业务需求制定需求管理计划获取业务需求12获得项目的初始需求。需求开发3需求批准4•收集用户初始需求(业基线化需求5务需求)需求变更控制6•标识需求项需求状态评审7提取业务需求提取业务需求系统分析员Share-WinCMMITrainingC-C RM3-需求开发制定需求管理计划提取业务需求12需求开发对客户的需要进需求开发3行分析,并用清晰合理的需求批准4方式进行描述,使客户方基线化需求和开发方对开发的内容达5需求变更控制成一致。6需求状态评审7需求开发需求开发系统分析员需求分析、跟踪工件Share-WinCMMITrainingC-C RM4-需求批准制定需求管理计划提取业务需求12确认需求正式作为项目管需求开发3理和其它工程活动的基需求批准4础,并作为客户之间承诺基线化需求对系统进行验收的基准。5需求变更控制6•需求批准是一种正式的管理需求状态评审7过程,代表相关各方达成一致的承诺需求批准需求批准•经过需求评审的需求工件作为批准的内容CCB、客户、高级管理者Share-WinCMMITrainingC-C RM5-基线化需求制定需求管理计划提取业务需求12此活动的目的是在经过客需求开发3户和项目组的授权下,将需求批准4批准的正式的软件需求工基线化需求件放入配置管理系统。5需求变更控制6•基线化正式的需求工件需求状态评审7¢正式的软件需求工件、需求跟踪工件进入配置库,基线化需求基线化需求作为其它相关活动(管理、设计、测试等)的基础。配置经理Share-WinCMMITrainingC-C RM5-需求变更控制制定需求管理计划提取业务需求•需求一旦建立基线后,需要12需求开发通过控制流程来改变3•需求的变更需要经过CCB的需求批准4批准基线化需求5•变更后的需求需要经过客户、需求变更控制用户和相关组的评审,并经6过CCB审核后进入配置管需求状态评审7理,作为工作基线需求变更控制需求变更控制配置经理Share-WinCMMITrainingC-C 需求变更控制•需求变更控制的目的:如果需求变更带来的好处大于坏处,那么允许变更,但必须按照已定义的变更规程执行,以免变更失去控制。如果需求变更带来的坏处大于好处,那么拒绝变更。•需求变更控制过程中最难办的事情是莫过于“拒绝客户提出的需求变更请求”。解决这个问题最好的办法是事先建立“游戏规则”:¢如果开发方要求变更,则客户方应补偿开发方的损失。•如果事先没有“游戏规则”的话,开发方需要一些社交技巧来减缓矛盾。例如建议在开发该产品新版本时修改需求。Share-WinCMMITrainingC-C RM6-需求状态评审制定需求管理计划提取业务需求12高级管理者和项目经理需求开发3通过需求状态评审监控需求批准需求管理的状态。项目4基线化需求组通过需求状态评审对5需求变更控制需求状况达成一致6需求状态评审•报告需求状态—生成需求7管理状态报告需求状态评审需求状态评审•举行评审会议—举行需求状态评审会议,对需求的状需求状态评审人员态进行评估需求管理状态报告Share-WinCMMITrainingC-C 需求跟踪•需求跟踪的目的是建立与维护“需求-设计-编程-测试”之间的一致性,确保所有的工作成果符合用户需求。•需求跟踪有两种方式:¢正向跟踪。检查《产品需求规格说明书》中的每个需求是否都能在后继工作成果中找到对应点。¢逆向跟踪。检查设计文档、代码、测试用例等工作成果是否都能在《产品需求规格说明书》中找到出处。•正向跟踪和逆向跟踪合称为“双向跟踪”。不论采用何种跟踪方式,都要建立与维护需求跟踪矩阵(RTM即表格)。需求跟踪矩阵保存了需求与后继工作成果的对应关系。Share-WinCMMITrainingC-C 实施建议•先对需求分析员进行培训,让他们掌握必要的需求开发技能。•对需求开发过程域产生的所有有价值的文档进行配置管理。•对于非合同项目,本规范中有关客户的活动可以简化。•需求的建模分析有较高的技术难度,需求分析员应当根据自身水平进行取舍。建议企业购买RationalRose作为需求建模分析的工具。•需求分析员根据产品的特征,适当地修改《用户需求说明书》和《需求规格说明书》的模板。Share-WinCMMITrainingC-C 问题与回答Share-WinCMMITrainingC-C 谢谢Share-WinCMMITrainingC-C 义杰(义杰(JackyJacky))Jacky.yi@share-winning.com.cn上海徐汇区钦州南路81号2楼201室Tel:021-61255466Mobile:13916230329MSN:jacky51888@msn.comhttp://www.share-winning.com.cnShare-WinCMMITrainingC-C

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭