SPM04
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
需求管理中的问题举例
z需求的隐含错误
z需求不明确、含糊
z用户刁难、用户不断增加需求
z需求变更
z开发人员的镀金
本章要点
软件需求定义
软件需求开发过程定义需求规格的方法案例分析
软件需求的类型
z 从项目管理的角度
功能需求 性能需求 环境需求 用户界面需求 资源使用需求 成本消耗需求 开发进度需求 预先估计以后系统
可能达到的目标
z 从项目开发的角度
功能需求
系统必须执行的功能 非功能需求
一些限制性要求
需求管理的重要性
需求管理与项目管理的关系
z项目需求是制定项目计划,开发项目产品和从事项目活动的依据
z项目的计划、项目的开发活动及开发的产品应与项目需求保持一致,随需求的变化而调整
需求获取图示
需求获取需要执行的活动
z了解客户方的所有用户类型以及潜在的类型,然后根据他们的要求来确定系统的整体目标和系统的工作范围
z对用户进行访谈和调研
z需求分析人员对收集到的用户需求做进一步的分析和整理
对于用户提出的每个需求都要知道”为什么”,并判断用户提出的需求是否有充足的理由
将那种以“如何实现”的表述方式转换为“实现什么”的方式(需求分析阶段关注的目标是“做什么”,而不是“怎么做”
分析由用户需求衍生出的隐含寻求,并识别用户没有明确提出来的隐含需求(经常会因为对隐含需求考虑得不够充分日引起需求变更)
z需求分析人员将调研的用户需求以适当的方式呈交给用户方和开发方的相关人员
明确标识未确定的需求项
使需求符合系统的整体目标
保证需求项之间的一致性,解决需求项之间可能存在的冲突
获取需求的注意事项
z识别真正的客户
z正确理解客户的需求
z具备较强的忍耐力和清晰的思维z说服和教育客户
需求分析
需求分析是为最终用户所看到的系统建立一个概念模型,是对需求的抽象描述
需求分析应该执行的活动
z以图形表示的方式描述系统的整体结构(包括系统的边界与接口)
z通过原型、页面流或其他方式向用户提供可视化的界面,用户可以对需求做出自己的评价
z以模型描述系统的功能项、数据实体、外部实体、实体之间的关系、实体之间的状态转换等方面的内容
需求分析的时间
z设计方案的时候
z项目开始的时候
z接管一个项目的时候z需求变更的时候
需求分析的难点
z问题的复杂性
z交流的障碍
z不完备性和不一致性z需求的易变性
编写需求规格
z需求分析工作完成的一个基本标志是形成了一份完整的、规范的需求规格说明书
z需求规格说明书的编制是为了使用户和软件开发者双方对该软件的初始规定有一个共同的理解,使之成为整个开发工作的基础
软件需求规格说明的原则
z从现实中分离功能,即描述要“做什么”而不是“怎样实现”z要求使用面向处理的规格说明语言(或称系统定义语言)z如果被开发软件只是一个大系统中的一个元素,那么整个大系统也包括在规格说明的描述之中
z规格说明必须包括系统运行环境
z规格说明必须是一个认识模型
z规格说明必须是可操作的
z规格说明必须容许不完备性并允许扩充
规格文档参考
引言
系统定义
应用环境
功能规格
性能需求
产品提交
实现约束
质量描述
其它
签字认证
需求验证
z需求是正确的吗?
z需求是一致的吗?
z需求是完全的吗?
z需求是实际可行的吗?z需求是客户需要的吗?z需求是可检验的吗?
z需求是可跟踪的吗?
z最后的签字
需求变更
需求总在变化
需求变更管理
管理和控制需求基线的过程
需求变更控制系统
z一个正式的文档,说明如何控制需求变更z建立变更审批系统
申请人项目名称
4.3 需求建模的方法
z原型方法
z结构化分析法
z面向对象的用例分析法
z关键功能列表法
原型方法的类型
z进化型
开发出来用于了解问题,并形成被交付软件的部分或全部的基础
z抛弃型
开发出来以便更多地了解问题或探究可能的方案的灵活性或者合理性,是尝试性软件,
不用于被交付软件的实际部分
4.3.2 结构化分析方法
(SA,Structured Analysis)
z20世纪70年发展起来的面向数据流的方法
z是一种自顶向下逐步求精的分析方法
z根据软件内部数据传递、变换的关系进行分析
结构化分析方法-技术
数据流图(DFD)
数据字典(DD)
系统流程图
数据流图的层次结构
为了表达数据处理过程的数据加工情况,需要采用层次结构的数据流图
按照系统的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系,能清楚地表达和容易理解整个系统
顶层流图仅包含一个加工,它代表被开发系统。
它的输入流是该系统的输入数据,输出流是系统所有输出数据
底层流图是指其加工不需再做分解的数据流图,它处在最底层
中间层流图则表示对其上层父图的细化。
它的每一加工可能继续细化,形成子图
数据字典
z描述系统中涉及的每个数据,是数据描述的集合,通常配合数据流图使用,用来描述数据流图中出现的各种数据和加工
z组成
数据项:数据元素
数据流:由数据项组成的数据流
数据文件:表示对数据文件的存储
数据字典-关系符号
注释符,表示两个*之间的内容为对条目的注释*……*可选符,表示对( )中的内容可由设计员决定取舍( )
重复符,表示对{ }中的内容可视需要重复使用{ }
选择符,表示对[ ]列举的值可以任取其一[ ]
加+
等于,定义为=
含义
符号
数据流图需求分析实例
建立学生管理系统
z学管科
z体检科
z学籍科
z学生处
数据流图-0层
数据流图-1层
数据流图-1层
数据字典-数据流
学生基本信息:学号十姓名
学生健康信息:学号十健康情况
学生成绩:学号十{课程名+成绩}
查询要求:[健康查询单|平均成绩查询单l不及格人数查询]学生健康情况表:优%十良%十一般%十差%
学生成绩单:学号十姓名十{课程名+成绩}+总成绩
不及格人数统计表:学号十成绩十不及格总人数
数据字典-数据文件
文件名:基本信息
z组成:{学号十姓名十入学成绩十生源}
z组织:按学号递增顺序排列
文件名:健康文件
z组成:{学号+姓名+健康情况}
z组织:按照健康情况为优、良、一般、差顺序排列文件名:成绩文件
z组成:{学号+姓名+平均成绩}
z组织:按照评剧成绩递增顺序排列
加工说明
加工编号 2.1
加工名称:学生基本信息处理
输入流:合法的学生信息
输出流:录入单,修改单,删除单
加工逻辑:根据输入的要求,对学生基本信息进行录入、修改或删除
系统流程图
z是描述物理系统的工具
z用图形符号表示系统中的元素
z表达了系统中各个元素之间的信息流动情况
系统流程图符号
出访计划表
4.3.3 面向对象的用例分析法
用例需求(Use case)分析
z用例需求分析方法采用的是一种面向对象的情景分析方法
z用例是系统向用户提供一个有价值的结果的某项功能
z所有的用例结合起来就构成了用例模型
z从用户角度出发考虑的功能需求
UML
z Unified Modeling Language统一建模语言,是一种通用的模拟语言
z1997年11月国际对象管理组织OMG批准将UML作为基于面向对象技术的标准建模语言
z UML制定了一整套完整的面向对象的标记和处理方法。