第6章 IT项目需求分析与管理
第6章 IT项目需求分析与管理 6.1 需求与需求过程 6.2 需求分析的任务与步骤 6.3 需求分析原则 6.4 需求分析方法 6.5 需求规格说明与评审 6.6 IT项目需求管理
6.1 需求与需求过程 6.1.1需求 6.1.2 需求过程
6.1 需求与需求过程 需求与其他项目过程的关系,如图所示:
6.1.1 需求 需求的概念: 需求的层次: 需求包括以下4个不同的层次,分别是: 业务需求 用户需求 功能需求 非功能需求 6.1.1 需求 需求的概念: “需求”也就是用户的需要,它包括用户要解决的问题、达到的目标以及实现这些目标所需要的条件,它是一个程序或系统开发工作的说明,表现形式一般为文档形式。 需求的层次: 需求包括以下4个不同的层次,分别是: 业务需求 用户需求 功能需求 非功能需求
6.1.1 需求 需求的不同层次,用图来表示,如下:
6.1.2 需求过程 需求过程包括2个部分:需求开发和需求管理 需求开发可以分为4个阶段:需求获取、需求分析、编写需求和需求验证。 6.1.2 需求过程 需求过程包括2个部分:需求开发和需求管理 需求开发可以分为4个阶段:需求获取、需求分析、编写需求和需求验证。 需求管理:就是软件项目开发过程中控制和维持需求约定的活动。包括:变更控制、版本控制、需求跟踪、需求状态跟踪 在需求开发阶段,需要分析的需求包括: (1)功能需求 (2)性能需求 (3)环境需求 (4)可靠性需求 (5)安全保密性 (6)用户界面需求 (7)资源使用需求 (8)系统成本消耗与开发进度需求 (9)预先估计以后系统可能达到的目标
6.1.2 需求过程 在列举软件系统需求分析时,应该重视考虑非功能需求,如下表:
6. 2 需求分析的任务及步骤 6.2.1 需求分析的主要任务 6.2.2 需求分析步骤
6. 2.1 需求分析的主要任务 需求分析的任务:是借助于当前系统的逻辑模型导出目标系统的逻辑模型,解决目标系统“做什么”的问题,结束的标志是写出软件需求规格说明书。 需求分析的具体任务包括: 1 确定对系统的综合需求(功能、性能、运行、扩充需求) 2 分析系统的数据需求(概念模型、数据字典、规范化) 3导出目标系统的详细的逻辑模型(数据流图、数据字典、主要功能描述) 4 开发原形系统 5 编制软件需求规格说明书(SRS)
6. 2.2 需求分析步骤 需求分析的实现步骤有以下几点: (1)获得当前系统的物理模型 (2)抽象出当前系统的逻辑模型 6. 2.2 需求分析步骤 需求分析的实现步骤有以下几点: (1)获得当前系统的物理模型 (2)抽象出当前系统的逻辑模型 (3)导出目标系统的逻辑模型 (4)补充目标系统的逻辑模型 (5)编制软件需求规格说明书(SRS) (6)需求分析评审
6. 2.2 需求分析步骤 需求分析的具体实现步骤如下图:
6.3 需求分析原则 需求分析的基本原则: (1)需要能够表达和理解问题的信息域和功能域 (2)以层次化的方式对问题进行分解和不断细化 6.3 需求分析原则 需求分析的基本原则: (1)需要能够表达和理解问题的信息域和功能域 (2)以层次化的方式对问题进行分解和不断细化 (3)要给出系统的逻辑视图和物理视图
6.3 需求分析原则 信息域包括信息流、信息内容和信息结构。 信息流:是数据和控制通过一个系统时的变化方式,如下图所示,
6.3 需求分析原则 纵向分解:就是在横向分解的基础上继续分解,把某些子功能又分解为小的子功能,某个小的子功能又分解为更小的子功能。如下图所示:
6.4 需求分析方法 6.4.1 结构化分析方法 6.4.2 Jackson方法 6.4.3 结构化数据系统开发方法 6.4.1 结构化分析方法 6.4.2 Jackson方法 6.4.3 结构化数据系统开发方法 6.4.4 面向对象的分析方法
6.4 需求分析方法 需求分析方法具有以下的性质: (1)支持数据域分析的机制 (2)功能表示的方法 (3)接口的定义 (4)问题分解的机制 (5)逻辑视图和物理视图 (6)系统抽象模型
6.4.1 结构化分析方法 结构化分析方法:是一种面向数据流的需求分析方法,它适用于分析大型数据处理系统。 结构化分析方法常使用的工具有: 6.4.1 结构化分析方法 结构化分析方法:是一种面向数据流的需求分析方法,它适用于分析大型数据处理系统。 结构化分析方法常使用的工具有: 数据流程图和数据字典
6.4.2 Jackson方法 Jackson方法: 就是一种典型的面向数据结构的分析和设计方法。它是把数据结构的描述映射成程序结构描述,设计出反映数据结构的程序结构。 使用JSD方法的步骤如下: 1、分析阶段 2、设计阶段
6.4.3 结构化数据系统开发方法 结构化数据系统开发方法(DSSD):是分别站在信息的产生者和接受者的角度观察信息如何在产生者和接受者之间的流动。 用Warnier图描绘一类软件产品的例子,它说明了这种图形工具的用法,如下图:
6.4.4 面向对象的分析方法 面向对象的分析方法:把分析建立在系统对象以及对象间交互的基础之上,能够以3个最基本的方法框架——对象及其属性、分类结构和集合结构来定义和沟通需求。 面向对象的分析方法一般用如下5个基本模型来描述软件需求: (1)整体—部分模型 (2)分类模型 (3)类—对象模型 (4)对象交互模型 (5)状态模型
6.5 需求规格说明与评审 6.5.1 软件需求规格说明书 6.5.2 需求分析的评审 6.5.3 需求分析评审的方法
6.5.1 软件需求规格说明书 软件需求规格说明书:就是描述需求的说明书。 软件需求规格说明书的功能需求充分描述了软件系统所应具有的外部行为。 软件需求规格说明书的模板有如下几部分: 引言 、综合描述、外部接口需求、系统特性、其他非功能需求、其他需求
6.5.2 需求分析的评审 需求分析的评审的必要性:据统计表明,软件系统中15%的错误来源于错误的需求,所以,在软件需求说明书完成以后,需要认真进行技术评审和修改。 需求分析的评审是需求分析阶段的复查手段。 需求分析的评审的主要内容从以下4个方面进行验证: (1)一致性 (2)完整性 (3)现实性 (4)有效性
6.5.3需求分析评审的方法 需求分析评审的方法: 1、 验证需求的一致性 2、验证需求的现实性 3、验证需求的完整性和有效性
6.6 IT项目需求管理 需求管理:是软件项目开发过程中控制和维持需求约定的活动,它包括变更控制、版本控制、需求跟踪、需求状态跟踪等工作。 项目需求管理包括的基本活动: 1、确定需求变更控制过程 2、建立变更控制委员会 3、进行需求变更影响分析 4、跟踪所有受需求变更影响的工作产品
6.6 IT项目需求管理 5、建立需求基准版本和需求控制版本文档 6、维护需求变更的历史记录 7、跟踪每项需求的状态建立一个数据库 8、衡量需求稳定性 9、使用需求管理工具