(仅供参考)10-- 软件项目需求管理
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
组成
数据项:数据元素 数据流:由数据项组成的数据流 数据文件:表示对数据文件的存储
数据流图需求分析实例
:建立学生管理系统
学管科 体检科 学籍科 学生处
学管科
学生基本信息
学生健康情况表
学生成绩单
学 生
处
学生健康信息
领
查询要求
导
体检科
学生管理
信息系统
不及格人数
学生成绩
学籍科
人数统计表
顶层流图仅包含一个加工,它代表被开 发系统。它的输入流是该系统的输入数 据,输出流是系统所输出数据
底层流图是指其加工不需再做分解的数 据流图,它处在最底层
中间层流图则表示对其上层父图的细化。 它的每一加工可能继续细化,形成子图。
数据字典
描述系统中涉及的每个数据,是数据描述的 集合,通常配合数据流图使用,用来描述数据 流图中出现的各种数据和加工.
建模分析法
建模分析方法主要有两大类:
结构化分析法 面向对象分析法
4. 什么是好的需求规格说明书
正确 清楚 无二义性 一致 必要 完备 可实现 可验证 确定优先级 阐述“做什么”而不是“怎么做”
5. 如何定义产品需求
第一步:细化并分析用户需求 第二步:撰写产品需求规格说明书 第三步:进行需求确认
数据流图是一种描述软件系统逻辑模型的图形 符号
表示数据的起始点和终点
表示对数据的加工处理
表示数据流,箭头表示数据的流动方向
表示对数据的存储
数据流图的层次结构
为了表达数据处理过程的数据加工情况,需 要采用层次结构的数据流图。按照系统的层 次结构进行逐步分解,并以分层的数据流图 反映这种结构关系,能清楚地表达和容易理 解整个系统
需求变更控制是指依据“变更申请-审批-更改- 重新确认”的流程处理需求的变更,防止需求变更 失去控制而导致项目发生混乱。
二、软件需求开发和管理
1. 需求开发的主要困难与对策
知识技能问题 态度问题 合作关系 用户说不清楚需求 开发人员写不好需求文档 用户经常变更需求
2. 如何开展需求调查
可能只是一个框架,具体的功能没有实现, 只是结果
静态的操作流程,以便与用户快速就需求达 成一致
主要考虑系统的功能需求,很少考虑非功能 需求
2.结构化分析方法
20世纪70年发展起来的面向数据流的方 法
是一种自顶向下逐步求精的分析方法 根据软件内部数据传递、变换的关系进
行分析的
技术
数据流图(DFD) 数据字典(DD) 系统流程图
国内软件业的痼疾:人们并不清楚究竟该做什么, 但却一直忙碌不停地开发。
2. 了解客户、最终用户、间接用户
基本概念
“用户”(user)是一种泛称,它可细分为 “客户”(customer)、“最终用户” (the end user)和“间接用户”(或称为 关系人)。
掏钱买软件的用户称为客户,而真正操作软 件的用户叫最终用户。客户与最终用户可能 是同一个人也可能不是同一个人。
3. 需求工程基本概念
什么是需求工程
把所有与需求直接相关的活动通称为需求工程。 需求工程中的活动可分为两大类,一类属于需求开发,
另一类属于需求管理。
3. 需求工程基本概念
需求开发过程域
需求开发的目的是通过调查与分析,获取用户需求 并定义产品需求。
需求调查的目的是通过各种途径获取用户的需求信 息(原始材料),产生《用户需求说明书》。
UML需求视图
用例视图(Use case Diagram) 顺序图(Sequence Diagram) 状态图(State Diagram) 活动图(Activity Diagram)
用例视图
用例视图主要是展示了外部行为者所观察到 的系统将提交的功能.即:各类外部行为者与 系统所提供的用例的连接
需求分析的目的是对各种需求信息进行分析,消除 错误,刻画细节等。常见的需求分析方法有“问答 分析法”和“建模分析法”两类。
需求定义的目的是根据需求调查和需求分析的结果, 进一步定义准确无误的产品需求,产生《需求规格 说明书》。系统设计人员将依据《需求规格说明书》 开展系统设计工作。
需求管理过程域
准备调查 执行调查 《用户需求说明书》与《产品需求规格
说明书》的主要区别与联系
3. 如何进行需求分析
基本概念
需求分析是指在需求开发过程中,对所获取 的需求信息进行分析,及时排除错误和弥补 不足,确保需求文档正确地反映用户的真实 意图。
“问答分析法”比较适合于用户需求调查阶 段
“建模分析法”比较适合于产品需求定义阶 段。
Use Case需求分析方法综述
识别出系统的Actor 描述主要的Use case 实现用例视图 实现顺序视图、活动视图、状态视图等
需求追踪的意义
问题举例: 忘记实现子需求 变更时不清楚要变动的地方 搞不清改动的影响面有多大 取消需求,设计仍然在进行
作用 追踪信息是项目管理的重要依据 追踪信息是变更的重要参考
加工编号 2.1 加工名称:学生基本信息处理 输入流:合法的学生信息 输出流:录入单,修改单,删除单 加工逻辑:根据输入的要求,对学生基本信息
进行录入、修改或删除
高检院外事局出访业务流程图
开始
出访计划表
制定出访计划
临时出访计划表
计划是否落实 是
出访组团登记
否
结束
出访团组基本情况 登记表
否 否
护照登记表
用例(Use case):系统所提供的功能描述 角色(Actor):可能使用用例的人或者外
部系统
UML图符
用例实例
用例实例
顺序图示
顺序图展示了几个对象之间的动态协作关系, 主要用来显示对象之间发送消息的顺序,还 显示对象之间的交互,即系统执行某一特定 时间点所发生的事。
活动视图
活动图用来描述执行工作流程中涉及的活动, 展示了连续的活动流。
开发软件系统最困难的部分就是准确说明开发什么。最困 难的概念性工作是编写出详细的需求,包括所有面向用户、 面向机器和其它软件系统的接口。此工作一旦做错,将会 给系统带来极大的损害,并且以后对它修改也极为困难。
需求是产品的根源,需求工作的优劣对产品影响最 大。就像一条河流,如果源头被污染了,那么整条 河流也就被污染了。
数据字典-文件
文件文件名:基本信息
组成:{学号十姓名十入学成绩十生源} 组织:按学号递增顺序排列
文件名:健康文件
组成:{学号+姓名+健康情况} 组织:按照健康情况为优、良、一般、差顺序排列
文件名:成绩文件
组成:{学号+姓名+平均成绩} 组织:按照评剧成绩递增顺序排列
加工说明
是否本Biblioteka Baidu位人员 是
是否需要 办理护照
是 申请护照
护照管理
签证管理 结束
申请出国 护照事项表
护照卡
申请出国 签证事项表
3. 用例需求(use case)分析
用例需求分析方法采用一种面向对象的 情景分析方法
用例是系统向用户提供一个有价值的结 果的某项功能
所有的用例结合起来就构成了用例模型 从用户角度出发考虑的功能需求
案例
软件需求说明书的参考模板
6. 需求管理:确认、跟踪、变更控制
需求确认(评审和承诺) 需求评审面临的困难 需求承诺 需求跟踪 需求变更控制
三、定义需求规格的方法
需求规格
原型方法 结构化分析法 面向对象的用例分析法
1. 原型方法
定义
按照用户的需要,快速形成一个操作流程界 面
UML
Unified Modeling Language统一建模语言, 是一种通用的模拟语言。
Booch,Rumbaugh 和Jocobson 基础上发展 起来的。
1997年11月国际对象管理组织OMG批准将 UML作为基于面向对象技术的标准建模语言。
UML制定了一整套完整的面向对象的标记和 处理方法。
编号 HD2.1 HD2.1.1 HD2.2 HD2.3
追踪表(概要设计) 描述
网络图形显示 绘制网元 鼠标点击位置判断 网元属性编辑界面
追踪到 LD2.1,IT2.1 LD2.1.1 LD2.2,IT2.2 LD2.3
追踪注意事项
显示追踪和隐式追踪 父子关系 间接追踪关系 冲突关系
尽量使用专用工具 信息访问权限 注意审核 及时维护
数据字典-数据流
学生基本信息:学号十姓名 学生健康信息:学号十健康情况 学生成绩:学号十{课程名+成绩} 查询要求:[健康查询单 |平均成绩查询单 l不及格
人数查询] 学生健康情况表:优%十良%十一般%十差% 学生成绩单:学号十姓名十{课程名+成绩}+总成绩 不及格人数统计表:学号十成绩十不及格总人数
地位 是可靠过程的重要标志
定义追踪关系(Links)
前向追踪
业务需求 系统需求
直接追踪
软件需求
硬件需求
体系结构 单元设计
原理图 PCB图
集成测例
单元测例
系统测试 后向追踪
实现举例:追踪表
追踪表(需求)
编号
描述
追踪到
FR1.1
应用图形显示网络拓扑结构
HD2.1
FR1.2 应能使用户在图形中选择并编辑特定网元 HD2.1,HD2.3
软件项目需求管理
主要内容
软件项目需求概述 软件需求开发和管理 软件需求规格的定义方法
一、软件项目需求概述
1. 什么是需求
需求的基本概念
宽泛地讲,需求来源于用户的一些“需要”, 这些“需要”被分析、确认后形成完整的文 档,该文档详细地说明了产品“必须或应当” 做什么。
需求的重要性
Frederick Brooks在他1987年经典文章“No Silver Bullet”中阐述了需求的重要性:
需求管理的目的是在客户与开发方之间建立对需求 的共同理解,维护需求与其它工作成果的一致性, 并控制需求的变更。
需求确认是指开发方和客户共同对需求文档进行评 审,双方对需求达成共识后作出书面承诺,使需求 文档具有商业合同效果。
需求跟踪是指通过比较需求文档与后续工作成果之 间的对应关系,建立与维护“需求跟踪矩阵”,确 保产品依据需求文档进行开发。
数据项:数据元素 数据流:由数据项组成的数据流 数据文件:表示对数据文件的存储
数据流图需求分析实例
:建立学生管理系统
学管科 体检科 学籍科 学生处
学管科
学生基本信息
学生健康情况表
学生成绩单
学 生
处
学生健康信息
领
查询要求
导
体检科
学生管理
信息系统
不及格人数
学生成绩
学籍科
人数统计表
顶层流图仅包含一个加工,它代表被开 发系统。它的输入流是该系统的输入数 据,输出流是系统所输出数据
底层流图是指其加工不需再做分解的数 据流图,它处在最底层
中间层流图则表示对其上层父图的细化。 它的每一加工可能继续细化,形成子图。
数据字典
描述系统中涉及的每个数据,是数据描述的 集合,通常配合数据流图使用,用来描述数据 流图中出现的各种数据和加工.
建模分析法
建模分析方法主要有两大类:
结构化分析法 面向对象分析法
4. 什么是好的需求规格说明书
正确 清楚 无二义性 一致 必要 完备 可实现 可验证 确定优先级 阐述“做什么”而不是“怎么做”
5. 如何定义产品需求
第一步:细化并分析用户需求 第二步:撰写产品需求规格说明书 第三步:进行需求确认
数据流图是一种描述软件系统逻辑模型的图形 符号
表示数据的起始点和终点
表示对数据的加工处理
表示数据流,箭头表示数据的流动方向
表示对数据的存储
数据流图的层次结构
为了表达数据处理过程的数据加工情况,需 要采用层次结构的数据流图。按照系统的层 次结构进行逐步分解,并以分层的数据流图 反映这种结构关系,能清楚地表达和容易理 解整个系统
需求变更控制是指依据“变更申请-审批-更改- 重新确认”的流程处理需求的变更,防止需求变更 失去控制而导致项目发生混乱。
二、软件需求开发和管理
1. 需求开发的主要困难与对策
知识技能问题 态度问题 合作关系 用户说不清楚需求 开发人员写不好需求文档 用户经常变更需求
2. 如何开展需求调查
可能只是一个框架,具体的功能没有实现, 只是结果
静态的操作流程,以便与用户快速就需求达 成一致
主要考虑系统的功能需求,很少考虑非功能 需求
2.结构化分析方法
20世纪70年发展起来的面向数据流的方 法
是一种自顶向下逐步求精的分析方法 根据软件内部数据传递、变换的关系进
行分析的
技术
数据流图(DFD) 数据字典(DD) 系统流程图
国内软件业的痼疾:人们并不清楚究竟该做什么, 但却一直忙碌不停地开发。
2. 了解客户、最终用户、间接用户
基本概念
“用户”(user)是一种泛称,它可细分为 “客户”(customer)、“最终用户” (the end user)和“间接用户”(或称为 关系人)。
掏钱买软件的用户称为客户,而真正操作软 件的用户叫最终用户。客户与最终用户可能 是同一个人也可能不是同一个人。
3. 需求工程基本概念
什么是需求工程
把所有与需求直接相关的活动通称为需求工程。 需求工程中的活动可分为两大类,一类属于需求开发,
另一类属于需求管理。
3. 需求工程基本概念
需求开发过程域
需求开发的目的是通过调查与分析,获取用户需求 并定义产品需求。
需求调查的目的是通过各种途径获取用户的需求信 息(原始材料),产生《用户需求说明书》。
UML需求视图
用例视图(Use case Diagram) 顺序图(Sequence Diagram) 状态图(State Diagram) 活动图(Activity Diagram)
用例视图
用例视图主要是展示了外部行为者所观察到 的系统将提交的功能.即:各类外部行为者与 系统所提供的用例的连接
需求分析的目的是对各种需求信息进行分析,消除 错误,刻画细节等。常见的需求分析方法有“问答 分析法”和“建模分析法”两类。
需求定义的目的是根据需求调查和需求分析的结果, 进一步定义准确无误的产品需求,产生《需求规格 说明书》。系统设计人员将依据《需求规格说明书》 开展系统设计工作。
需求管理过程域
准备调查 执行调查 《用户需求说明书》与《产品需求规格
说明书》的主要区别与联系
3. 如何进行需求分析
基本概念
需求分析是指在需求开发过程中,对所获取 的需求信息进行分析,及时排除错误和弥补 不足,确保需求文档正确地反映用户的真实 意图。
“问答分析法”比较适合于用户需求调查阶 段
“建模分析法”比较适合于产品需求定义阶 段。
Use Case需求分析方法综述
识别出系统的Actor 描述主要的Use case 实现用例视图 实现顺序视图、活动视图、状态视图等
需求追踪的意义
问题举例: 忘记实现子需求 变更时不清楚要变动的地方 搞不清改动的影响面有多大 取消需求,设计仍然在进行
作用 追踪信息是项目管理的重要依据 追踪信息是变更的重要参考
加工编号 2.1 加工名称:学生基本信息处理 输入流:合法的学生信息 输出流:录入单,修改单,删除单 加工逻辑:根据输入的要求,对学生基本信息
进行录入、修改或删除
高检院外事局出访业务流程图
开始
出访计划表
制定出访计划
临时出访计划表
计划是否落实 是
出访组团登记
否
结束
出访团组基本情况 登记表
否 否
护照登记表
用例(Use case):系统所提供的功能描述 角色(Actor):可能使用用例的人或者外
部系统
UML图符
用例实例
用例实例
顺序图示
顺序图展示了几个对象之间的动态协作关系, 主要用来显示对象之间发送消息的顺序,还 显示对象之间的交互,即系统执行某一特定 时间点所发生的事。
活动视图
活动图用来描述执行工作流程中涉及的活动, 展示了连续的活动流。
开发软件系统最困难的部分就是准确说明开发什么。最困 难的概念性工作是编写出详细的需求,包括所有面向用户、 面向机器和其它软件系统的接口。此工作一旦做错,将会 给系统带来极大的损害,并且以后对它修改也极为困难。
需求是产品的根源,需求工作的优劣对产品影响最 大。就像一条河流,如果源头被污染了,那么整条 河流也就被污染了。
数据字典-文件
文件文件名:基本信息
组成:{学号十姓名十入学成绩十生源} 组织:按学号递增顺序排列
文件名:健康文件
组成:{学号+姓名+健康情况} 组织:按照健康情况为优、良、一般、差顺序排列
文件名:成绩文件
组成:{学号+姓名+平均成绩} 组织:按照评剧成绩递增顺序排列
加工说明
是否本Biblioteka Baidu位人员 是
是否需要 办理护照
是 申请护照
护照管理
签证管理 结束
申请出国 护照事项表
护照卡
申请出国 签证事项表
3. 用例需求(use case)分析
用例需求分析方法采用一种面向对象的 情景分析方法
用例是系统向用户提供一个有价值的结 果的某项功能
所有的用例结合起来就构成了用例模型 从用户角度出发考虑的功能需求
案例
软件需求说明书的参考模板
6. 需求管理:确认、跟踪、变更控制
需求确认(评审和承诺) 需求评审面临的困难 需求承诺 需求跟踪 需求变更控制
三、定义需求规格的方法
需求规格
原型方法 结构化分析法 面向对象的用例分析法
1. 原型方法
定义
按照用户的需要,快速形成一个操作流程界 面
UML
Unified Modeling Language统一建模语言, 是一种通用的模拟语言。
Booch,Rumbaugh 和Jocobson 基础上发展 起来的。
1997年11月国际对象管理组织OMG批准将 UML作为基于面向对象技术的标准建模语言。
UML制定了一整套完整的面向对象的标记和 处理方法。
编号 HD2.1 HD2.1.1 HD2.2 HD2.3
追踪表(概要设计) 描述
网络图形显示 绘制网元 鼠标点击位置判断 网元属性编辑界面
追踪到 LD2.1,IT2.1 LD2.1.1 LD2.2,IT2.2 LD2.3
追踪注意事项
显示追踪和隐式追踪 父子关系 间接追踪关系 冲突关系
尽量使用专用工具 信息访问权限 注意审核 及时维护
数据字典-数据流
学生基本信息:学号十姓名 学生健康信息:学号十健康情况 学生成绩:学号十{课程名+成绩} 查询要求:[健康查询单 |平均成绩查询单 l不及格
人数查询] 学生健康情况表:优%十良%十一般%十差% 学生成绩单:学号十姓名十{课程名+成绩}+总成绩 不及格人数统计表:学号十成绩十不及格总人数
地位 是可靠过程的重要标志
定义追踪关系(Links)
前向追踪
业务需求 系统需求
直接追踪
软件需求
硬件需求
体系结构 单元设计
原理图 PCB图
集成测例
单元测例
系统测试 后向追踪
实现举例:追踪表
追踪表(需求)
编号
描述
追踪到
FR1.1
应用图形显示网络拓扑结构
HD2.1
FR1.2 应能使用户在图形中选择并编辑特定网元 HD2.1,HD2.3
软件项目需求管理
主要内容
软件项目需求概述 软件需求开发和管理 软件需求规格的定义方法
一、软件项目需求概述
1. 什么是需求
需求的基本概念
宽泛地讲,需求来源于用户的一些“需要”, 这些“需要”被分析、确认后形成完整的文 档,该文档详细地说明了产品“必须或应当” 做什么。
需求的重要性
Frederick Brooks在他1987年经典文章“No Silver Bullet”中阐述了需求的重要性:
需求管理的目的是在客户与开发方之间建立对需求 的共同理解,维护需求与其它工作成果的一致性, 并控制需求的变更。
需求确认是指开发方和客户共同对需求文档进行评 审,双方对需求达成共识后作出书面承诺,使需求 文档具有商业合同效果。
需求跟踪是指通过比较需求文档与后续工作成果之 间的对应关系,建立与维护“需求跟踪矩阵”,确 保产品依据需求文档进行开发。