软件需求分析
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件需求分析
二.分析系统的数据要求
任何软件系统的本质都是信息处理系统。信息很大程度 上决定了系统概貌。
描绘数据结构: ✓ 数据字典:不够直观; ✓ 层次方框图; ✓ Warnier 图;
数据结构规范化:范式(Normal Forms) 消除数据冗余的程度。
软件需求分析
三.导出系统的逻辑模型
导出详细的系统逻辑模型。
2、性能需求 系统必须满足的时间、空间约束,通常包括响应时间、 信息量速率、容量、安全性等;
软件需求分析
3、可靠性需求 定量指出系统的故障率和使用程度,一个衡量可靠性的 参数是平均失效前时间 (MTTF, Mean Time To Failure),定义为随机变量、出错时间等的"期望值"。
4、出错处理需求 系统对环境错误如何处理,这类错误并不是由系统本身 造成的。仅限于关键部分,尽可能少;
5、接口需求 系统与环境通信的格式:用户接口、硬件接口、软件接 口、通信接口等;
软件需求分析
6、约束 在设计或实现系统时应遵守的条件:精度、工具和语言 约束、设计约束、标准、硬件平台;
7、逆向需求 系统不应该做什么,选取澄清真实需求且可消除误解的 逆向需求,且不需定量分析;
8、将来可能出现的要求 明确列出当前不属于系统开发范畴,将来很可能会提出 的要求。
9、做业务访谈实录有利于提高访谈能力
有必要回去做一番总结,不仅要总结出提炼的需求结论,更重要 的是要回忆还原出整个访谈过程。
软件需求分析
二.结构化分析方法
可行性分析忽略 了细节
信息系统的本质决定数据是需求分析的起点。 结构化分析方法:面向数据流自顶向下逐步求精进行 需求分析的方法。 分析的对象:可行性分析中得到的数据流图决最定。基了本系组统成必元须素的 主要目标:把数据流和数据存储定义到元素级别。
需求分析由软件分析人员与用户共同完成。
需求获取面临的挑战
客户说不清楚需求; 需求易变性; 问题的复杂性; 对问题空间理解的不完备性与不一致性。
软件需求分析
优秀需求具有的特性
1. 正确性:需求描述必须与用户对系统的期望相符; 2. 无歧义性 :对用户、软件工程师而言,任何术语只
能有惟一的语义解释; 3. 完整性 :不能遗漏任何用户要求; 4. 一致性 :需求的各个部分不能相互矛盾; 5. 可理解性:需求描述不应该使用太多专业化词汇; 6. 可修改性:应该保证能够比较容易接纳修改; 7. 可追踪性:将分析后的需求与原始需求联系起来。
数据流图 数据字典 实体-联系图 状态转换图 主要的处理算法
四.修正系统的开发计划
姓名
性别
编号
教师
1 教
N
课程
课程名
学时
学分
修正在可行性分析阶段制定的初步的开发计划。
软件需求分析
3.3 获取需求的方法
软件需求分析
一.访谈
正式的访谈:具体问题的问答形式; 非正式的访谈:开放式、交互性的问答。 书面调查:调查大量人员意见; 情景分析技术:对用户将来使用目标系统解决某个具体 问题的方法和结果进行分析。
6、业务需求访谈要深入调查细节
层层发问法也是深入调查而经常采用到的方法。
7、学会提问的技巧,先以对方的角度想想问题的答案
提问的问题最好比较具体,可回答性强。
软件需求分析
8、时刻要记得的四个字"胆大心细"
胆大:是指你在访谈过程中不要顾虑太多,应该放开心态,最大 化的放大访谈效果。 心细:是指你在访谈过程中观察到的访谈对象的业务操作动作细 节,以仔细分辨、总结、归纳背景原因所在。
1)能在某种程度上演示目标系统的行为,便于理解; 2)用户在需求分析过程中始终扮演积极主动的角色。
软件需求分析
访谈遵守的法则:
1、需求访谈前要从目标和内容上做好精心准备;
确定访谈对象,访谈时间及准备好具体问题。
2、选择访谈对象须由线及点,由点入线;
对业务主线上的每个角色进行逐个访谈。
3、访谈过程中坚持以我为主, 善于引导访谈对象;
软件需求分析
需求分析的任务
1. 通过对目标问题、用户要求和目标环境的研究、分 析和综合,建立抽象级的分析模型 (Analysis Model);
2. 准确地、完整地体现用户需要的功能、性能及其他 要求,规范地通过“软件需求规格说明书” (SRS, Software Requirement Specification) 表达出来。
软件需求分析
3.2 需求分析的步骤
1. 确定系统的综合要求 2. 分析系统的数据要求 3. 建立系统的逻辑模型 4. 修正系统开发计划 5. 复审、验证需求分析 6. 编写软件需求规格说明书
软件需求分析
一.确定系统的综合要求
1、功能需求 系统必须完成的所有功能 ( 输入、输出、加工 ); 1)强制的需求; 2)希望的需求; 3)可选的需求。
从数据流图的输出端数据流开始分析: 确定数据元素的来源,初步定义有关的算法; 确定数据元素的新的信息。
在复查的过程中进行数据流图的细化。
软件需求分析
面向数据流方法的分析过程
1. 沿数据流图回溯 2. 用户复查 3. 细化数据流图 4. 修正开发计划 5. 书写文档 6. 审查和复审
软件需求分析
1、沿数据流图回溯 ① 依次确定每个数据元素的来源; ② 把数据元素的信息记录到数据字典中; ③ 在 IPO 图中记录算法的简明描述; ④ 在数据流图适当位置上补充数据流、数据存储和处理
2、用户复查 ① 分析员向用户解释数据的来源; ② 用户要及时纠正和补充分析员的认识; ③ 它验证了已知的元素,补充了未知的元素; ④ 分析员对系统的认识是一个螺旋式上升的过程。
有耐心和韧性,很有主见,有理性,能够引导对方。
如果不是这样,
4、访谈过程中要善于寻求异常和错误你情怎么况办。?
客观理性的态度,不管用户说什么,首先分析,然后置疑。
软件需求分析
5、需求访谈要搞Байду номын сангаас“4W1H”
What:业务内容是什么; Who:业务过程会有哪些相关者; When:业务过程什么时候发生,周期有多长; Why:为什么会出现这样的问题; How:为完成业务目标所采用的方法;
第 3 章 需求分析
知识点 ❖ 需求分析概述 ❖ 需求分析的步骤 ❖ 获取需求的方法 ❖ 分析建模与工具 ❖ 验证软件需求
软件需求分析
3.1 需求分析概述
可行性研究从概念上定义软件的总体目标,粗略地了解 了用户的需求。需求分析进一步精化软件的作用范围, 明确系统必须完成的功能,对目标系统提出完整、准确、 清晰、具体的要求。
二.分析系统的数据要求
任何软件系统的本质都是信息处理系统。信息很大程度 上决定了系统概貌。
描绘数据结构: ✓ 数据字典:不够直观; ✓ 层次方框图; ✓ Warnier 图;
数据结构规范化:范式(Normal Forms) 消除数据冗余的程度。
软件需求分析
三.导出系统的逻辑模型
导出详细的系统逻辑模型。
2、性能需求 系统必须满足的时间、空间约束,通常包括响应时间、 信息量速率、容量、安全性等;
软件需求分析
3、可靠性需求 定量指出系统的故障率和使用程度,一个衡量可靠性的 参数是平均失效前时间 (MTTF, Mean Time To Failure),定义为随机变量、出错时间等的"期望值"。
4、出错处理需求 系统对环境错误如何处理,这类错误并不是由系统本身 造成的。仅限于关键部分,尽可能少;
5、接口需求 系统与环境通信的格式:用户接口、硬件接口、软件接 口、通信接口等;
软件需求分析
6、约束 在设计或实现系统时应遵守的条件:精度、工具和语言 约束、设计约束、标准、硬件平台;
7、逆向需求 系统不应该做什么,选取澄清真实需求且可消除误解的 逆向需求,且不需定量分析;
8、将来可能出现的要求 明确列出当前不属于系统开发范畴,将来很可能会提出 的要求。
9、做业务访谈实录有利于提高访谈能力
有必要回去做一番总结,不仅要总结出提炼的需求结论,更重要 的是要回忆还原出整个访谈过程。
软件需求分析
二.结构化分析方法
可行性分析忽略 了细节
信息系统的本质决定数据是需求分析的起点。 结构化分析方法:面向数据流自顶向下逐步求精进行 需求分析的方法。 分析的对象:可行性分析中得到的数据流图决最定。基了本系组统成必元须素的 主要目标:把数据流和数据存储定义到元素级别。
需求分析由软件分析人员与用户共同完成。
需求获取面临的挑战
客户说不清楚需求; 需求易变性; 问题的复杂性; 对问题空间理解的不完备性与不一致性。
软件需求分析
优秀需求具有的特性
1. 正确性:需求描述必须与用户对系统的期望相符; 2. 无歧义性 :对用户、软件工程师而言,任何术语只
能有惟一的语义解释; 3. 完整性 :不能遗漏任何用户要求; 4. 一致性 :需求的各个部分不能相互矛盾; 5. 可理解性:需求描述不应该使用太多专业化词汇; 6. 可修改性:应该保证能够比较容易接纳修改; 7. 可追踪性:将分析后的需求与原始需求联系起来。
数据流图 数据字典 实体-联系图 状态转换图 主要的处理算法
四.修正系统的开发计划
姓名
性别
编号
教师
1 教
N
课程
课程名
学时
学分
修正在可行性分析阶段制定的初步的开发计划。
软件需求分析
3.3 获取需求的方法
软件需求分析
一.访谈
正式的访谈:具体问题的问答形式; 非正式的访谈:开放式、交互性的问答。 书面调查:调查大量人员意见; 情景分析技术:对用户将来使用目标系统解决某个具体 问题的方法和结果进行分析。
6、业务需求访谈要深入调查细节
层层发问法也是深入调查而经常采用到的方法。
7、学会提问的技巧,先以对方的角度想想问题的答案
提问的问题最好比较具体,可回答性强。
软件需求分析
8、时刻要记得的四个字"胆大心细"
胆大:是指你在访谈过程中不要顾虑太多,应该放开心态,最大 化的放大访谈效果。 心细:是指你在访谈过程中观察到的访谈对象的业务操作动作细 节,以仔细分辨、总结、归纳背景原因所在。
1)能在某种程度上演示目标系统的行为,便于理解; 2)用户在需求分析过程中始终扮演积极主动的角色。
软件需求分析
访谈遵守的法则:
1、需求访谈前要从目标和内容上做好精心准备;
确定访谈对象,访谈时间及准备好具体问题。
2、选择访谈对象须由线及点,由点入线;
对业务主线上的每个角色进行逐个访谈。
3、访谈过程中坚持以我为主, 善于引导访谈对象;
软件需求分析
需求分析的任务
1. 通过对目标问题、用户要求和目标环境的研究、分 析和综合,建立抽象级的分析模型 (Analysis Model);
2. 准确地、完整地体现用户需要的功能、性能及其他 要求,规范地通过“软件需求规格说明书” (SRS, Software Requirement Specification) 表达出来。
软件需求分析
3.2 需求分析的步骤
1. 确定系统的综合要求 2. 分析系统的数据要求 3. 建立系统的逻辑模型 4. 修正系统开发计划 5. 复审、验证需求分析 6. 编写软件需求规格说明书
软件需求分析
一.确定系统的综合要求
1、功能需求 系统必须完成的所有功能 ( 输入、输出、加工 ); 1)强制的需求; 2)希望的需求; 3)可选的需求。
从数据流图的输出端数据流开始分析: 确定数据元素的来源,初步定义有关的算法; 确定数据元素的新的信息。
在复查的过程中进行数据流图的细化。
软件需求分析
面向数据流方法的分析过程
1. 沿数据流图回溯 2. 用户复查 3. 细化数据流图 4. 修正开发计划 5. 书写文档 6. 审查和复审
软件需求分析
1、沿数据流图回溯 ① 依次确定每个数据元素的来源; ② 把数据元素的信息记录到数据字典中; ③ 在 IPO 图中记录算法的简明描述; ④ 在数据流图适当位置上补充数据流、数据存储和处理
2、用户复查 ① 分析员向用户解释数据的来源; ② 用户要及时纠正和补充分析员的认识; ③ 它验证了已知的元素,补充了未知的元素; ④ 分析员对系统的认识是一个螺旋式上升的过程。
有耐心和韧性,很有主见,有理性,能够引导对方。
如果不是这样,
4、访谈过程中要善于寻求异常和错误你情怎么况办。?
客观理性的态度,不管用户说什么,首先分析,然后置疑。
软件需求分析
5、需求访谈要搞Байду номын сангаас“4W1H”
What:业务内容是什么; Who:业务过程会有哪些相关者; When:业务过程什么时候发生,周期有多长; Why:为什么会出现这样的问题; How:为完成业务目标所采用的方法;
第 3 章 需求分析
知识点 ❖ 需求分析概述 ❖ 需求分析的步骤 ❖ 获取需求的方法 ❖ 分析建模与工具 ❖ 验证软件需求
软件需求分析
3.1 需求分析概述
可行性研究从概念上定义软件的总体目标,粗略地了解 了用户的需求。需求分析进一步精化软件的作用范围, 明确系统必须完成的功能,对目标系统提出完整、准确、 清晰、具体的要求。