大话软工笔记—需求分解
1. 需求工程分解
需求工程的工程分解分为两个阶段,即需求调研阶段和需求分析阶段,如下图所示:
1.1 需求调研阶段
需求调研阶段主要工作为需求调研和资料汇总工作。
需求调研,利用问卷、现状构成图、访谈记录、既存表单的方式收集客户的需求。
资料汇总,将调研过程中收集到的资料进行汇总,形成需求调研资料汇总,作为需求分析阶段的分析依据。
1.2 需求分解阶段
需求分析阶段主要工作为需求分析和资料汇总。
需求分析,基于需求调研资料分析客户的需求,最终确认系统需要实现的功能。
资料汇总,将分析成果资料进行汇总,形成需求规格说明书,作为后续的各个设计阶段的输入。
2. 需求调研与需求分析
2.1 需求调研
目的主要是收集、记录客户对信息化的需求,重点是对内容的“记录”,而不是“分析”或“设计”,避免因为分析与设计融入了需求分析师个人的见解,需求调研阶段的资料一定要保持其“原始性”,可以使用需求模版使记录内容标准化、格式化。
2.2 需求分析
在对需求调研资料的理解基础之上,进行抽提、归类、梳理,同时根据分析补全了调研时的断点,并且采用比较规范的方式进行表述,重要的是:需求分析师通过对目标需求、业务需求等高端需求的分析加入了个人的理解,以及对企业信息化提升有价值的意见,所以需求分析的结果与原始记录之间会发生不同,并以此为基础向客户进行确认,最终就形成了向下一个设计环节的输入资料。
2.3 需求调研与需求分析的关系
两者都采用非技术设计用语描述,需求调研采用“客户用语”进行记录,需求分析采用“业务设计用语”表达分析的结果。
需求分析做的业务流程图必须具有业务的完整性,且符合业务流程的标准表达方式;而需求调研收集到的业务流程图可能是片段的、不连续的流水账。
需求分析对需求实体的内容进行了抽提、分类,建立了需求体系表;而需求调研阶段只是进行原始需求的收集和记录即可(要保留原始状态)。
需求分析成果的作用是向客户确认和输出设计依据;而需求调研的成果是向需求分析提供资料。
3. 工作分解
需求工程的各个阶段的工作分解如下图所示:
3.1 需求调研的工作分解
需求调研并不是按照工作的顺序或者调研内容之间的关系去进行的,因此不存在严格意义上的工作分解,它是按照需求表达形态的不同进行划分的,需求表达的形态分为三个类型:
图形类,表达客户业务现状的图形、用界面表达的需求等。
文字类,通过问卷、访谈记录形式收集的用文字表达的需求。
表单类,客户提供的实际报表、单据形式的需求。
这三种类型的资料互相之间没有必然的关联关系或顺序,可以同时进行收集。
3.2 需求分析的工作分解
需求调研的结果经过梳理,将非功能性需求分离后剩下的都是功能性需求,可以按照功能性需求的定义将它们分为:目标需求、业务需求和功能需求。
第一层:对目标需求的分析,向业务需求的转换。
第二层:对业务需求的分析,向功能需求的转换。
第三层:对功能需求的分析和确定。
4. 需求体系的建立
4.1 需求体系的内容
建立需求体系需要有专业知识的积累、模板的积累和对需求体系的管理三个部分。
4.2 需求体系的价值
需求体系可以带来以下价值:
(1)体系化的知识积累
研究和时间的成果可以有条理地进行积累,包括:理念、方法、标准、规范等。
客户价值的积累,包括不同业务领域、行业、板块、系统、模块、功能等。
(2)商业规模化的需要
提升软件企业的价值,可以为客户提供体系化的解决方案。
抽取、规划、建立新的商业模式,对客户的需求进快速响应。
(3)降低成本提高效率
积累的知识可以得到有效的复用、共享,降低成本。
可以大幅度的缩短开发周期,同时可以帮助减少“需求失真”现象。
(4)规避风险的首要措施
规避人力不足、时间短、事先不知道如何做的问题。
(5)快速培养人才的途径
提供一个可以参考和共享知识库,可以让需求者有序可循,为大家提供经验和知识分享,并由大家共同维护。