软件需求管理过程
软件需求管理过程
软件需求管理的过程
- 需求确认(确认需求规格)
需求获取–>需求分析–>需求规格编写–>需求验证 - 需求变更(开发过程中的需求管理)
需求获取,需求分析,需求规格编写,需求验证,需求变更 
需求获取: 将用户脑子中的东西抓取过来
 方式: 问卷,讨论会,情景展示,面谈(最有效)等
需求分析: 是为最终用户所看到的系统建立一个概念模型,是对需求的抽象描述
需求分析模型
 
 需求规格编写
 需求分析工作完成的一个基本标志是形成了一份完整的,规范的需求规格说明书。
需求验证
 对需求规格进行评审,例如评审需求的正确性,一致性,可行性,可验证性等。
需求变更管理: 核心是制定一个变更控制系统,需求变更控制系统可以避免频繁变更需求的混乱局面。
- 确定需求变更控制过程
 - 确立变更控制委员会(SCCB)
 - 进行需求变更影响分析
 - 跟踪所有受需求变更影响的工作产品
 - 建立需求基准版本和需求控制版本文档
 - 维护需求变量的历史记录
 - 跟踪每项需求的状态
 - 衡量需求稳定性
 
4.2、传统需求建模方法
1.原型方法(通过不断评价原型来确定需求的方法) 建模工具:axure等
 
 2.基于数据流建模(是结构化分析方法的主要方法)
基于数据流----结构化分析方法
- 20世纪70年代发展起来的面向数据流方法
 - 是一种自顶向下逐步求精的分析方法
 - 根据软件内部数据传递,变换的关系进行分析的
 
基于数据流的技术
- 数据流图(DFD)
 - 数据字典(DD)
 - 系统流程图
 
3.基于UML建模
基于UML方法
- 基于面向对象的情景分析方法
 - 从用户角度出发考虑的功能需求
 - 用例是系统向用户提供一个有价值的结果的某项功能
 
UML需求视图
- 用例视图(Use Case Diagram)
 - 顺序图(Sequence Diagram)
 - 状态图(State Diagram)
 - 活动图(Activity Diagram)
 
基于UML方法综述
- 识别出系统的角色(Actor)
 - 描述需要的Use Case
 - 实现用例视图
 - 实现顺序视图,活动视图,状态视图等
 
敏捷需求建模方法
敏捷思维认为项目需求是慢慢清楚的过程,对于需求,可以采用渐进明晰的分析方法。
Product Backlog: 产品待办事项列表
- 包含产品想法的一个有序列表
 - 需求的来源
 - 一个长短不定的列表
 - 可以是模糊的或是不具体的
 - 逐渐完善,越来越明确
 
Sprint Backlog: 待办事项列表的细化
- 按照迭代计划,逐步细化需求,形成story(故事)
 - 鼓励开发人员,测试人员,业务分析人员和产品负责人合作编写故事
 - 确保所有的故事都足够小,可以持续交付工作
 
从用户故事开始(User Stories)
- 作为某类型的用户(As a < type of user >)
 - 希望达到什么目的(I want < some goa >)
 - 原因如何(So that < some reason >)
 
如何评价用户故事(Good User Story?)
- Independent(独立性)
 - Negotiable(清楚描述)
 - Valuable(业务价值)
 - Small And Estimatable(小到可估算)
 - Testable(可测试的)
 
故事优先级(Prioritisation of Stories)
用户故事需要被标注优先级
- 基于商业价值
 - 价值还必须得到正的投资回报的支持
 - 考虑它的风险
 
客户选择要包含在下一个故事中的故事,根据他们的优先级和进度估计发布。
根据一些规则来对故事排序
1.MosCow
- Must have(必须实现的功能)
 - Should have(虽重要,但是可以省略的功能)
 - Could have(扩展性功能,要求不急)
 - Want to have(一部分用户的想法)
 













