需求分析 需求分析的几个问题 需求分析的任务 ■与用户沟通获取需求的方法 ■需求工程 ■分析建模 ■软件原型 ■需求管理
◼ 需求分析的几个问题 ◼ 需求分析的任务 ◼ 与用户沟通获取需求的方法 ◼ 需求工程 ◼ 分析建模 ◼ 软件原型 ◼ 需求管理 需求分析
什么是软件需求 EEE软件工程标准词汇表(1997)将需求定 义为: 口(1)用户解决问题或达到目标所需的条件或能力。 口(2)系统或系统部件要满足合同、标准、规范或其它正式规定文档 所需具有的条件或能力。 口(3)种反映上面(1)或(2)所描述的条件或能力的文档说明。 ■其他几种关于“需求”的定义: 口需求是用户所需要的并能触发一个程序或系统开发工作的说明; 口需求是从系统外部能发现系统所具有的满足于用户的特点、功能 及属性等; 口需求是指明必须实现什么的规格说明。它描述了系统的行为、特 性或属性,是在开发过程中对系统的约束
什么是软件需求 ◼ IEEE软件工程标准词汇表(1997)将需求定 义为: (1)用户解决问题或达到目标所需的条件或能力。 (2)系统或系统部件要满足合同、标准、规范或其它正式规定文档 所需具有的条件或能力。 (3)一种反映上面(1)或(2)所描述的条件或能力的文档说明。 ◼ 其他几种关于“需求”的定义: 需求是用户所需要的并能触发一个程序或系统开发工作的说明; 需求是从系统外部能发现系统所具有的满足于用户的特点、功能 及属性等; 需求是指明必须实现什么的规格说明。它描述了系统的行为、特 性或属性,是在开发过程中对系统的约束
有哪些层次的软件需求 业务需求( business requirement):反映了组织机构或 客户对系统或产品高层次的目标要求,它们在项目视图与 范围文档中予以说明。 ■用户需求( user requirement):描述了用户使用产品必 须要完成的任务,可在用例模型或方案脚本中予以说明。 ■功能需求( functional requirement)定义了开发人员必须 实现的软件功能,使得用户能完成他们的任务,从而满足 ■非功能需求( non-functional requirement):是从各个角 度对系统的约束和限制,反映了应用对软件系统质量和特 性的额外要求。 口过程需求:有交付、实现方法和标准等需求; 口产品需求:包含性能、可用性、实用性、可靠性、可移植性、安 全保密性、容错性等方面的需求 口外部需求:有法规、成本、操作性等需求
有哪些层次的软件需求 ◼ 业务需求(business requirement):反映了组织机构或 客户对系统或产品高层次的目标要求,它们在项目视图与 范围文档中予以说明。 ◼ 用户需求(user requirement):描述了用户使用产品必 须要完成的任务,可在用例模型或方案脚本中予以说明。 ◼ 功能需求(functional requirement)定义了开发人员必须 实现的软件功能,使得用户能完成他们的任务,从而满足 了业务需求。 ◼ 非功能需求(non-functional requirement):是从各个角 度对系统的约束和限制,反映了应用对软件系统质量和特 性的额外要求。 过程需求:有交付、实现方法和标准等需求; 产品需求:包含性能、可用性、实用性、可靠性、可移植性、安 全保密性、容错性等方面的需求; 外部需求:有法规、成本、操作性等需求
业务需求 项目视图与范围文档 用户需求 质量属性 「使用实例文档 其他非 功能需求 系统需求 功能需求 约束条件 软件需求规格说明 软件需求各组成部分之间的关系
软件需求各组成部分之间的关系
什么时候进行需求分析 ■项目的早期阶段? 工作量 大 项目 早期 中期 后期 ■贯穿于整个软件开发过程的需求活动
什么时候进行需求分析 ◼ 项目的早期阶段? ◼ 贯穿于整个软件开发过程的需求活动