需求分析和规格说明书
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第06章需求分析和规格说明书
一、概念
(1)需求分析是面向问题的,通过对用户的业务流程进行分析。明确用户业务中,系统应该做什么。然后通过规格说明书把它表达出来。
定义问题,即系统做什么。
目的:澄清用户的各种需求。
基本任务:用户和开发人员共同来理解用户的需求,并把双方的理解表达出一份书面文档----需求说明书。
(2)用户要求:功能要求(数据要求和加工要求)、性能要求、安全要求、可靠性、开发费用、开发周期、软硬资源的使用。
(3)需求说明书的作用:
1)为用户和软件人员相互了解提供基础。
2)反映出问题的结构,为软件人员进行设计和编码的基础。
3)作为验收的依据,可为选取用例和验收提供依据。
需求说明书应该完整、一致、精确、无二义性、简单、易懂、易维护的特点。
(4)分析员
具有的能力:
1)熟悉计算机技术
2)了解用户业务领域的相关知识。
3)能在用户和软件人员之间借助数据处理的概念进行交流。
责任:做为用户的翻译,但不能代表用户提出要求。
二、结构化分析方法(SA)
1、思想:由顶向下逐层分解。把大问题分解成许多小问题,然后逐个解决。
分为三层
顶层图:只有一个,用来抽象的描述整个系统。定义系统的边界。
中间层:从抽象到具体的逐步过渡。描述了加工的分解。从0开始编号。
底层:具体画出系统的每个细节。由一些不必再分解的加工组成,这些加工比较简单,叫基本加工。
优点:
2、描述方式
SA方法用介于形式语言和自然语言的描述。
包含三部分:
1)分层的数据流图:描述系统的分解,系统由哪几个部分组成,各部分之间有什么联系。
2)数据字典:描述系统中的每一个数据。
3)小说明。描述系统中的每一个加工。
3、数据流图
1)组成
数据流:由一组固定成分的数据组成。在数据字典中包含数据项条目和
数据流条目。
流向:原点---加工,加工----终点,加工----文件,文件---加工,加工---加工。
注描述的是数据流而不是控制流。
加工:对数据进行操作。在数据字典中包含基本加工条目。
每个加工有一个编号,这个编号表示在层次分解中的位置。
文件:暂时存储的数据。在数据字典中包含文件条目。
源点和终点:数据的来源和去向。通常存在于系统之外的人员和组织。
外部实体加工数据流文件
2)由外向里画数据流图
画法:
画出系统的输入输出数据流:即确定系统的范围,然后考虑系统内部。
画系统内部:逐步将系统的输入输出数据流用一连串的加工连接起来。在数据流的组成或值发生改变变化的地方应画一个加工,它的作用就是实现这种变化的。
画加工的内部:如果加工内部还有一些数据流,则可以将这些加工用几个子加工代替,并在子加工之间画出这些数据流。
编号规则:
子图的编号就是父图中相应加工的编号。
子图中的加工编号由子图号、小数点局部号连接而成。
父图与子图的平衡:子图的所有数据输入流必须是父图中相应加工的输入,子图的所有数据输出流必须是父图中相应加工的输出。
局部文件:在画父图时,只需画出加工和加工之间的联系,而不必画出加工内部的细节。
分解的程度:一个加工最多分解成7个子加工。
4、数据字典
(1)数据流图中的条目
1)数据项条目
所谓数据项是指不可再分解的数据单位,数据项条目给出某个数据项的定义。数据项条目包含数据项标识和数据项属性描述两部分。
名称:
别名:
简述:
数据组成:
数据类型:
长度:
取值范围:00.00~99.99
备注:
2)数据流条目
数据流条目给出数据流程图中某个数据流的定义。它通常包括:
数据流标识(名字)、数据流的数据组成和它的流动属性描述三
部分。
名称:
简述:
数据流来源:
数据流去向:
数据流量:
高峰期流量:
组成:
备注:
3)文件条目
文件条目是对某个文件的定义,文件条目包含文件标识、文件的记录组成。
名称:
简述:
输入:
输出:
组成:
备注:
4)加工条目
加工条目给出数据流程图中所有基本加工的说明,内容包括:加工的标识、处理逻辑、激发条件、执行频率、出错处理等。
名称:
编号:
输入:
输出:
激发条件:
执行频率:
处理逻辑:
备注:
(2) 数据组成的定义方法
定义任何复杂的事物都是用该事物的基本成分的某种组合来表示。在数据定义中把这样的基本成分称为数据元素。
1)由数据元素组合成数据的方式有三种基本类型:
顺序:以确定的次序连接两个或多个数据分量。
选择:从两个或多个可能的分量中选取一个。
重复:重复指定的分量零次或多次。
2)在数据词典中通常采用下面的几种符号来描述数据的组成:
=:表示定义为。
+:表示顺序连接。
[分量1|分量2|…|分量n]:表示选择其中某个分量。
{分量}:表示重复花括号内的分量若干次,重复次数的上下限可在花括号边上标出。当上下限相同时表示重复固定的次数。
重复次数的上下限分别为1和0时,表示该数据分量可有可无,可使用一种简单的符号来表示,该符号为:(分量)
(3)处理逻辑的描述方法
1)结构化语言
结构化语言是一种介于自然语言和形式语言之间的一种语言。之所以称为结构化语言,是因为它是受结构化程序设计思想的启发而发展的。采用结构化语言既避免了形式语言(如程序设计语言)无法被普通用户理解的问题,又避免了自然语言不严格、具有二义性等缺点。
三种基本控制结构来描述处理逻辑:即顺序结构、选择结构和重复结构。它不同于程序设计语言之处在于它没有严格的语法限制。
结构化语言的结构可分为外层结构和内层结构,外层语言构成了描述处理逻辑的框架,由上述三种基本结构构成,可以相互嵌套。内层使用灵活的、有限的自然语言词汇。
(1) 顺序语句:它是一组祈使语句(内层语句)、选择语句和重复语句的顺序排列。
(2) 选择语句:它的一般形式为
如果条件
那么动作1
否则动作2