软件项目需求管理概述

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

需求管理过程域
需求管理的目的是在客户与开发方之间建立对需求 的共同理解,维护需求与其它工作成果的一致性, 并控制需求的变更。
需求确认是指开发方和客户共同对需求文档进行评 审,双方对需求达成共识后作出书面承诺,使需求 文档具有商业合同效果。
需求跟踪是指通过比较需求文档与后续工作成果之 间的对应关系,建立与维护“需求跟踪矩阵”,确 保产品依据需求文档进行开发。
组成
数据项:数据元素 数据流:由数据项组成的数据流 数据文件:表示对数据文件的存储
数据流图需求分析实例
:建立学生管理系统
学管科 体检科 学籍科 学生处
学管科
学生基本信息
学生健康情况表
源自文库
学生成绩单


学生健康信息

查询要求

体检科
学生管理

信息系统
不及格人数
学生成绩
第一步:细化并分析用户需求 第二步:撰写产品需求规格说明书 第三步:进行需求确认
案例
软件需求说明书的参考模板
6. 需求管理:确认、跟踪、变更控制
需求确认(评审和承诺) 需求评审面临的困难 需求承诺 需求跟踪 需求变更控制
三、定义需求规格的方法
需求规格
原型方法 结构化分析法 面向对象的用例分析法
行分析的
技术
数据流图(DFD) 数据字典(DD) 系统流程图
数据流图是一种描述软件系统逻辑模型的图形 符号
表示数据的起始点和终点
表示对数据的加工处理
表示数据流,箭头表示数据的流动方向
表示对数据的存储
数据流图的层次结构
为了表达数据处理过程的数据加工情况,需 要采用层次结构的数据流图。按照系统的层 次结构进行逐步分解,并以分层的数据流图 反映这种结构关系,能清楚地表达和容易理 解整个系统
“建模分析法”比较适合于产品需求定义阶 段。
建模分析法
建模分析方法主要有两大类:
结构化分析法 面向对象分析法
4. 什么是好的需求规格说明书
正确 清楚 无二义性 一致 必要 完备 可实现 可验证 确定优先级 阐述“做什么”而不是“怎么做”
5. 如何定义产品需求
需求开发的目的是通过调查与分析,获取用户需求 并定义产品需求。
需求调查的目的是通过各种途径获取用户的需求信 息(原始材料),产生《用户需求说明书》。
需求分析的目的是对各种需求信息进行分析,消除 错误,刻画细节等。常见的需求分析方法有“问答 分析法”和“建模分析法”两类。
需求定义的目的是根据需求调查和需求分析的结果, 进一步定义准确无误的产品需求,产生《需求规格 说明书》。系统设计人员将依据《需求规格说明书》 开展系统设计工作。
学籍科
人数统计表
数据字典-数据流
学生基本信息:学号十姓名 学生健康信息:学号十健康情况 学生成绩:学号十{课程名+成绩} 查询要求:[健康查询单 |平均成绩查询单 l不及格
1. 原型方法
定义
按照用户的需要,快速形成一个操作流程界 面
可能只是一个框架,具体的功能没有实现, 只是结果
静态的操作流程,以便与用户快速就需求达 成一致
主要考虑系统的功能需求,很少考虑非功能 需求
2.结构化分析方法
20世纪70年发展起来的面向数据流的方 法
是一种自顶向下逐步求精的分析方法 根据软件内部数据传递、变换的关系进
需求是产品的根源,需求工作的优劣对产品影响最 大。就像一条河流,如果源头被污染了,那么整条 河流也就被污染了。
国内软件业的痼疾:人们并不清楚究竟该做什么, 但却一直忙碌不停地开发。
2. 了解客户、最终用户、间接用户
基本概念
“用户”(user)是一种泛称,它可细分为 “客户”(customer)、“最终用户” (the end user)和“间接用户”(或称为 关系人)。
需求变更控制是指依据“变更申请-审批-更改- 重新确认”的流程处理需求的变更,防止需求变更 失去控制而导致项目发生混乱。
二、软件需求开发和管理
1. 需求开发的主要困难与对策
知识技能问题 态度问题 合作关系 用户说不清楚需求 开发人员写不好需求文档 用户经常变更需求
2. 如何开展需求调查
顶层流图仅包含一个加工,它代表被开 发系统。它的输入流是该系统的输入数 据,输出流是系统所输出数据
底层流图是指其加工不需再做分解的数 据流图,它处在最底层
中间层流图则表示对其上层父图的细化。 它的每一加工可能继续细化,形成子图。
数据字典
描述系统中涉及的每个数据,是数据描述的 集合,通常配合数据流图使用,用来描述数据 流图中出现的各种数据和加工.
Frederick Brooks在他1987年经典文章“No Silver Bullet”中阐述了需求的重要性:
开发软件系统最困难的部分就是准确说明开发什么。最困 难的概念性工作是编写出详细的需求,包括所有面向用户、 面向机器和其它软件系统的接口。此工作一旦做错,将会 给系统带来极大的损害,并且以后对它修改也极为困难。
软件项目需求管理
主要内容
软件项目需求概述 软件需求开发和管理 软件需求规格的定义方法
一、软件项目需求概述
1. 什么是需求
需求的基本概念
宽泛地讲,需求来源于用户的一些“需要”, 这些“需要”被分析、确认后形成完整的文 档,该文档详细地说明了产品“必须或应当” 做什么。
需求的重要性
准备调查 执行调查 《用户需求说明书》与《产品需求规格
说明书》的主要区别与联系
3. 如何进行需求分析
基本概念
需求分析是指在需求开发过程中,对所获取 的需求信息进行分析,及时排除错误和弥补 不足,确保需求文档正确地反映用户的真实 意图。
“问答分析法”比较适合于用户需求调查阶 段
掏钱买软件的用户称为客户,而真正操作软 件的用户叫最终用户。客户与最终用户可能 是同一个人也可能不是同一个人。
3. 需求工程基本概念
什么是需求工程
把所有与需求直接相关的活动通称为需求工程。 需求工程中的活动可分为两大类,一类属于需求开发,
另一类属于需求管理。
3. 需求工程基本概念
需求开发过程域
相关文档
最新文档