大话软件工程:需求分析与软件设计(二十二)
第22章 规格书与模板
将前述所有章节的交付物成果进行汇总,形成一套包括各个阶段的分析与设计资料的规格书,建立起软件工程的各个阶段与交付物的关联关系。
22.1 需求调研
22.1.1 交付资料说明
需求调研阶段的成果汇总为需求调研资料汇总,也就是将所有的调研成果汇总成册,主要内容如下(不限于此)。
(1)背景资料:通过从客户的网站、印刷资料、人员交流等方式获得的客户相关资料。
(2)问卷资料:调研前向客户发出的问卷。
(3)现状构成图:客户提供的或是根据客户现状绘制的业务框架图、流程图等。
(4)访谈记录:用文字记录的客户需求(目标/业务/功能需求、难度、痛点等)。
(5)既存表单:收集客户日常用各类报表、单据以及分析资料等(电子、纸质)。
(6)需求4件套:针对部分已知的功能需求做的详细记录。其中,(3)~(6)项为需求分析阶段的正式输入资料。
22.1.2 图——现状构成图
现状构成图包括业务和管理两个方面的内容
1.现状构成图
记录客户现状的模型主要有两类,即:
(1)业务类(业务架构模型):框架图、分解图和流程图;
(2)管理类(管理架构图)
2.现状构成图一览
对于收集和绘制的现状构成进行整理,形成现状构成图一览
22.1.3 文——访谈记录
文字记录的资料重点有调研前的问卷和访谈记录两类。
1.需求调研问卷(模板)问卷模板可以采用两种形式,一种是以填写为主,另外一种是以选择为主。根据内容判断采用哪一种
2.访谈记录一览(模板)访谈记录用的模板与记录一览可合为一体,形成访谈记录一览。
22.1.4 表——既存表单
1.资料收集
将收集到的原始资料在现场进行分析,并给出关系分析图。
2.既存表单一览
将收集到的既存表单汇总成一览
22.1.5 需求4件套
在现场对既存表单等进行详细记录(采用需求4件套的形式)
22.2 需求分析
22.2.1 交付资料说明
需求调研阶段的交付物是需求规格说明书,也就是将所有的调研成果汇总成册,主要的内容如下(不限于此)。
(1)需求规格说明书/解决方案。
(2)功能需求一览。
(3)需求调研资料汇总:需求调研的阶段成果。
(4)需求分析过程资料:目标需求→业务需求→功能需求的转换过程记录。
其中,(1)~(3)项为概要设计阶段的正式输入资料;(4)为参考资料,它的转换结果已经归入到功能需求一览中。
22.2.2 需求规格说明书
需求工程的结束是以完成需求规格说明书为标志的。需求规格说明书是基于需求调研和分析的成果汇总而成的,它是客户和软件开发者双方之间关于待开发系统的共同认知,它是后续系统的设计、开发以及验收的依据。一般来说,需求规格说明书中要包含对软件和硬件两方面的要求,由于本书的主题是分析与设计,因此只涉及在需求工程中讲到的内容和成果。另外,需求规格说明书对于不同的软件企业有不同形式的模板,但不论是什么样的模板,处于模板核心位置的都是需求工程中介绍到的内容。这部分内容是客户投资信息化系统的核心需求,也是后续设计工程中主要的设计对象,是带来最大客户价值的部分。以下需求规格说明书的框架中主要包括与软件的业务设计、应用设计相关的需求。这个框架仅作为参考,实际使用时需要另行加入其他部分(包括:技术、硬件)的内容。需求规格说明书至少要包含4个核心部分,各部分的重点如下。
第一部分 引言:所有需要在事前声明的内容,如前言、原则、定义、范围等信息。
第二部分 背景:直接来源于客户的主观信息,如背景、现状、目标、期望等信息。
第三部分 需求:对需求的综合描述,这些内容是设计工程的辅助参考信息。
第四部分 功能:对需求分析成果的罗列,它们是设计工程的主要依据信息。
注:需求规格说明书与设计规格书的区别
需求规格说明书是需求工程完成时的交付物,这个阶段只是对需求进行了梳理、汇集、分析,但是并未对需求按照软件设计的标准进行设计。它是设计规格书的输入。设计工程的设计规格书是对需求规格说明书的内容按照软件设计标准进行的设计成果。它是对后续技术设计、开发的输入。
22.2.3 解决方案
解决方案,重点是针对有“定制”的需求做出的特殊说明,项目整体是定制的对象,也可以是项目中某个部分内容的是定制的。解决方案的重点在于说明:
(1)客户最为关心的内容,如创新、难点、痛点、高价值的功能等。
(2)开发者比其他同行的优越之处。
(3)对客户需求的解决思路、对客户价值的认知、设计思路/理念等。
解决方案与需求规格说明书两者的区别如下。
(1)需求规格说明书是对需求的“规格”级说明,而且是全面详细的。而解决方案是针对咨询结果做出的“概要”级说明,只对客户关心的重点进行说明。
(2)两者形成的时间顺序,通常是先有解决方案(作为原则性的粗稿),在获得客户认可后,再进行深入调研之后,再继续做出需求规格说明书。特殊情况下,也可以是在有了需求规格说明书后,从中抽取部分内容形成解决方案,向客户介绍他们特别关心的内容。
22.2.4 功能需求一览
需求分析完成后,最重要的输出之一就是功能需求一览,这个表给出了需要开发的功能需求参考,也是后期在设计、开发时判断工作量、难度、资源以及进度计划的主要参考依据。
22.3 概要设计
22.3.1 交付资料说明
进入设计工程后,第一阶段的设计就是概要设计,概要设计阶段的交付物概要设计规格书中包括三层的内容:架构、功能和数据,主要内容包括以下三种。
(1)架构概要规格书:业务架构图(拓扑图、分层图、框架图、分解图、流程图)。
(2)功能概要规格书:功能的分类与分类图、功能的规划与关联图、业务功能一览等。
(3)数据概要规格书:数据规划、编号标准、数据标准、主数据。
22.3.2 架构概要规格书
1.理念、主线与标准
架构的概要设计包括整体设计的理念、主线,以及各类交付物的标准和规范。理念:设计师对系统的顶层设计的构想、方向。主线:以价值为目标,串联起达成目标的功能。标准:架构模型在架构设计中需要遵循的要求。
2.业务架构图
架构图主要采用5种模型。
3.业务架构图一览
将完成的业务架构图汇总成业务架构图一览
22.3.3 功能概要规格书
功能概要规格书主要包括两个资料:一是功能关联图,二是业务功能一览。
1.功能关联图
按区、线、点等进行功能规则,绘制功能关联图。
2.业务功能一览
业务功能一览可以根据内容的多少和复杂度,将业务功能全部归为一个表(包括:活动、字典、看板和表单),也可以按照不同的业务功能各成一表。
1)业务功能一览(合成)
合成的业务功能一览
2)业务功能一览(业务功能类别)
按不同业务功能划分的业务功能一览
活动功能一览活动功能一览
字典功能一览字典功能一览
看板功能一览看板功能一览
表单功能一览表单功能一览
22.3.4 数据概要规格书
1.数据规划图
数据规划主要分为三个粒度:整体、领域和模块
2.数据标准
(1)业务编号的标准:用文字说明编制标准。
(2)业务数据的标准:用文字说明编制标准。
(3)主数据的选择:用文字或表说明选择标准和结果。
22.4 详细设计
22.4.1 交付资料说明
详细设计阶段的交付物详细设计规格书的内容包括三层的内容:架构、功能和数据,以及业务用例。
(1)业务流程规格书:业务流程的详细设计(流程5件套)。
(2)业务功能规格书:业务功能的详细设计(业务4件套)。
(3)业务数据规格书:包括数据关系表、数据模型(关联图、勾稽图、数据线)等。
(4)业务用例:对概要、详细和管理设计成果的验证用例。
22.4.2 流程详细规格书
业务流程的详细设计成果是业务流程规格书(流程5件套)
22.4.3 功能详细规格书
对于业务功能(活动、字典、看板和表单)的描述是基于需求工程的“需求4件套”进行的详细设计,形成“业务4件套”。
22.4.4 数据详细规格书
数据的详细设计成果主要有两个:一是数据表关系图,二是数据模型。
1.数据表关系图
2.数据模型
22.4.5 业务用例
对概要设计、详细设计以及管理设计的成果,用业务用例的方式进行验证。主要模板有两个,一是用例导图,二是用例数据推演表
22.5 应用设计
22.5.1 交付资料说明
应用设计阶段的交付物应用设计规格书的内容包括三层的内容:架构、功能和数据,以及应用用例。
(1)架构应用规格书:业务流程机制、业务架构的转换等。
(2)功能应用规格书:对业务组件的设计(组件4件套),业务组件一览。
(3)数据应用规格书:数据复用、数据共享、数据格式转换(文字→数字)。
(4)应用用例:对应用设计成果的验证用例。
22.5.2 架构应用规格书
架构的应用设计的成果主要分为两类:一是对业务架构图的转换,二是架构层面的各类“机制”图设计。
1.业务架构图的转换
2.架构的机制设计图
架构的机制设计图根据项目的复杂度而定,不是必做的内容
22.5.3 功能应用规格书
对于业务组件的描述是基于功能的详细设计“业务4件套”进行的应用设计,形成“组件业务4件套”。
22.5.4 数据应用规格书
数据的应用设计的成果主要根据系统的内容而定,不是必需的,例如可以设计数据的复用机制、数据的共享机制,以及数据的转换机制等内容
22.5.5 应用用例
对应用设计以及管理设计的成果,用应用用例的方式进行验证。主要模板有两个,一是应用用例导图,二是数据关系图