收集到了客户的需求后,下一步就到了对需求进行分析的阶段,在这个阶段就要理解需求、分析需求、最后确定系统需要实现的功能需求。这一阶段非常重要,因为前期收集到的需求表达形式各种各样,不一定都是用“软件功能”的形式表达的(很多需求是用客户用语表达的),需要对这些原始需求进行分析、去伪存真、最终将全部的客户需求转换为清晰、明确的软件功能需求表达形式。最终交付的【需求规格说明书】就是基于这个阶段的工作成果编制而成的。【需求规格说明书】完成表明需求工程的结束,它是后续设计工程的输入。
这是需求工程的第三个阶段,介绍:需求分析的作用和方法。


需求分析,是对收集到的需求进行细致的分析、研判,准确地理解客户的目标、业务等对信息化的需求,最终将这些需求转换为准确的功能需求定义。需求分析阶段的主要工作有三个

1)对收到的需求根据内容进行分层梳理,以利于进行分析;
2)对分层的需求进行转换,以确定系统要实现的功能需求;
3)将分析成果汇总成为【需求规格说明书】,该资料的用途有两个

  • □对客户:确定了系统需要开发的全部内容,是客户验收系统的依据;
    □对软件商:是系统的规划、设计,开发、测试、交付等全实施流程的依据;

一、需求的分层与作用

对收集到的需求按照不同的层次进行归集、划分:

1. 第一层:目标需求
□提出者:项目投资人、产品购买者、实际用户的管理者、信息中心负责人等;
□需求内容:企业导入系统的目的,信息化目标、企业战略、理念、希望、价值等;
□需求作用:用于指导系统的顶层设计,对业务需求转换的指导等;

2. 第二层:业务需求
□提出者:包括企业的经营者、部门管理者及员工,从业务管理层面提出的需求;
□需求内容:对系统对应的业务范围、流程,规则、标准、规范等提出的需求等;
□需求作用:用于指导对企业的业务架构、操作功能规划、业务流程的优化等;

3. 第三层:功能需求
□提出者:包括所有未来的系统用户;
□需求内容:给出系统必须提供的功能需求、以及对该功能需求的具体描述。
□需求作用:它是后续进行系统设计、系统开发、测试验证的具体依据;

二、需求的转换

需求调研收集的需求采用的是图形、文字和表单的形式,要分别从这三种形式中识别出最终要的“功能需求”,由于目标需求、业务需求直接看不出来是需要什么系统功能,因此要将它们按照“目标需求 → 业务需求 → 功能需求”的顺序进行转换,最终识别出全部的功能需求,这个功能需求就是后续要进行设计的系统功能依据。

1.目标需求
目标需求不能直接给出对应的功能需求,因为目标需求是用目标、理念、思想、价值等抽象化的形式表达的,因此针对目标需求必须首先找到其对应的业务场景,也就是要先将目标需求转换到业务需求上。

2.目标需求向业务需求转换
在调研时会发现客户熟悉自己的业务,但是并不清楚自己的需求对应的是什么样的软件功能,所以他们通常采用描述业务处理过程的形式说明自己想要完成什么任务,然后再通过与需求分析师的沟通、分析,最后转换成为功能需求。

3.业务需求向功能需求转换
进入了功能需求阶段,就没有转换作业了。由于客户不一定理解信息系统的设计与开发工作,因此要对由他们提出来的功能需求进行甄别:是否是真实的需求?该需求的可行性?提出的功能需求是否有重叠?在“人-人”环境中需要的功能在进入到“人-机-人”环境中是否还需要?等等。

三、需求规格说明书

需求规格说明书是对前述的所有需求准备、调研和分析成果的总结。主要包括有

  • □引言:包括项目目的、背景、用语等基础信息;
    □项目概述:对项目自身的说明、包括范围、主要处理对象、与其他系统的关系等;
    □功能需求:本项目具体的规划、架构层、功能层、数据层需求的详细说明等;
    □非功能需求:对未来系统的性能、安全、扩展等的需求等;
    □技术需求:接口、架构、硬件、网络、部署等;
    □各类措施:质量保证、验收标准等;

附:解决方案
对需求调研和分析的成果还有另外一种使用形式,即:解决方案。解决方案的目的是对客户进行概要说明,相对于需求规格说明书来说,解决方案包含的范围更加广泛、深度浅一些。解决方案也有其重点强调的内容,例如:

□项目的目的、基本功能展示、导入信息化系统的价值、既有问题的改善、未来规划等内容;
□项目周期、里程碑计划、项目执行计划、项目开发金额等;
□项目组织、资源构成、管理方法等;
□质量保证措施、风险控制措施;等等。

其他

□高层领导的需求如何转换为具体的功能需求
□管理层领导的业务需求如何转换为具体的功能需求
□如何识别用户提出需求的真伪
□需求规格说明书的编写方法
□需求功能一览表模板
□功能需求的规格书记录表(4件套)模板; …等

详细说明和模板,请参看《大话软件工程—需求分析与软件设计》一书。

需求获取的三阶段:需求背景、需求调研、需求分析 (3)相关推荐

  1. 需求获取的三阶段:需求背景、需求调研、需求分析 (2)

    完成了客户背景的调研准备后,就进入到了与客户面对面进行需求调研的阶段,事前要搞清楚:调研什么.怎么调研.向谁调研.调研成果如何收集.如何记录,还有调研中采用什么样的流程.方法,还要搞清楚:调研到什么程 ...

  2. 需求获取的三阶段:需求背景、需求调研、需求分析(1)

    软件需求的获取是软件开发过程的第一步,需求质量是决定软件成功与否的重要前提,如果获取的需求有了偏差或是遗漏,其结果可能导致后续的分析.设计与开发都出现问题:反之,如果获得了全面.严谨.逻辑表达清晰的需 ...

  3. 需求处理的三个步骤:需求梳理、需求分析、需求放大

    明确细准的需求是做好产品的前提. 需求要根据实际情况,进行侧重点的划分.我平时遇到是将重点放在当需求出现时,如何更好的梳理需求,并正确的分析需求.首先我们应该将需求从"确认出现", ...

  4. 论软件需求获取技术及应用

      声明:本文为本人在软考系统架构设计师备考期间的练手写作,不保证内容的原创性与正确性,仅供参考,请勿照抄和用于学术论文等正规场合,因不当使用产生后果一律自负. 摘要   2019年3月,我单位联合某 ...

  5. [架构之路-202]- 常见的需求获取技术=》输出=》用户需求、客户需求(As...., I want.....)、用例图

    目录 前言: 11.2.1 直接的用户访谈 1 . 准备访谈 2 . 访谈过程 3 . 访谈的后续工作 4 . 用户访谈的优缺点 11.2.2 问卷调查 1 . 调查表的制作 2 . 问卷调查的优缺点 ...

  6. 软件需求管理(二) 需求获取

    一. 需求获取概述 1.1相关概述 软件需求获取是软件工程的主体. 主要表现为: 发现问题->分析问题->解决问题 的过程. 需求获取阶段主要产生的文档:1.前景和范围文档 2.用例说明文 ...

  7. java头像交互式差分演变_一种基于交互式差分进化计算的用户知识需求获取方法与流程...

    本发明属于知识服务领域,具体涉及一种基于交互式差分进化计算的用户知识需求获取方法. 背景技术: 在多数企业拥有庞大的知识数量和优质的知识资源的情况下,如何利用推送系统将知识主动推送给设计人员以提高企业 ...

  8. 【产品经理学习笔记 | 巨详细】2.规划阶段——2.1需求收集:用户访谈和问卷调查方式

    (从规划阶段的需求收集开始,一般不会接触到市场调研) 2 规划阶段 2.1 需求收集 什么是需求? 需求和需要的区别: 需求:某方面未被满足而引发的感受指向具体的事物 需要:指向具体的事物 例: 我需 ...

  9. Lab 5:面对面需求获取与原型设计

    1. 实验要求 练习面对面交流的方式进行需求获取,澄清用户需求 根据用户需求建立用户故事清单,使用敏捷开发方法为用户故事建模卡片,规划优先级,估计工作量,构思迭代计划 练习使用VersionOne或其 ...

最新文章

  1. 目标检测数据集The Object Detection Dataset
  2. 运行里用\\加IP地址访问远程主机和用mstsc登录远程主机有什么区别??
  3. 一起学nRF51xx 10 -  rng
  4. DL之DNN优化技术:DNN中参数初始化【Lecun参数初始化、He参数初始化和Xavier参数初始化】的简介、使用方法详细攻略
  5. 2009年9月三级网络技术考前预测_填空题部分
  6. linux安装mysql的分支mariadb
  7. python sort 多级排序_为什么在python中使用排序功能进行多级排序...
  8. matlab两张图片合成一张_11. 图像合成与图像融合
  9. python如何搜索关键字_Python遍历目录和搜索文件中的关键字
  10. mysql使用已有的数据库_使用SQL操作MySQL数据库
  11. linux系统资源管理系统,linux基础4系统资源管理
  12. 1036: [ZJOI2008]树的统计Count(树链剖分)
  13. eset nod32 v11无限试用补丁
  14. Unity3D渲染系列之SkyBox天空盒
  15. 骇客基础知识:第3部分
  16. linux7 域名解析,CentOS 7之DNS域名解析
  17. 德国GMX Email免费邮箱服务65GB超大邮件存储空间
  18. B站国外大学公开课(持续更新)
  19. drive登录不上 华为电脑one_Win10电脑中OneDrive无法登录如何解决
  20. 具有超能力的对话式机器人性能如何? #Chatsonic AI

热门文章

  1. mac 系统安装 eclipse 方法
  2. ASP.NET MVC5使用Area区域
  3. 在ubuntu上搭建开发环境9---Ubuntu删除ibus出现的问题及解决
  4. VB.NET Visual Basic
  5. Silverlight与Asp.net之间的调用及参数传递
  6. 清空文件夹里面的所有文件和文件夹
  7. 文件名(后缀名)修改
  8. 转同事博客一则,随感
  9. 与非CCR代码互操作
  10. PhpWord的autoload.php文件及目录的生成方式