不同的分析与设计方法
一、功能分解法(function decomposition)
1.以系统需要提供的功能为中心来组织系统。
2.首先定义各种功能,然后把功能分解为子功能。
3.对较大的子功能进一步分解,知道可给出明确的定义。
4.设计功能/子功能所需要的数据结构
5.定义功能/子功能之间的接口。
6.作为一种早期的建模方法,没有明确地区分分析与设计。
建模过程:
层层进行功能分解
功能分解法得到的系统模型
由模块及其接口构成
优点与缺点:
1.直接地反映用户的需求,所以工作很容易开始。
2.不能直接地映射问题域,很难检验结果的正确性。
3.对需求变化的适应能力很差。
4.局部的错误和修改很容易产生全局性的影响。
二、结构化方法
1.结构化分析(structured analysis , SA),又称数据流法,其基本策略是跟踪数据流,即研究问题域中数据如何流动,以及在各个环节上进行何种处理,从而发现数据流和加工。得到的分析模型是数据流图(DFD),主要模型元素是数据流、加工、文件及端点,外加处理说明和数据字典。
数据流图:
2.结构化设计(structured design , SD),与功能分解法基本相同,基于模块的概念建立设计模型,分为概要设计和详细设计。
a) 概要设计:确定系统中包含哪些模块以及模块之间的调用关系,得到模块结构图(MSD)。
b) 详细设计:描述每个模块内部的数据结构和操作流程。
c) 结构化方法的优缺点
i. 优点:强调研究问题域,并且有严格的法则。
ii. 缺点:仍然是间接映射问题域;分析与设计的概念不一致,从分析到设计的过渡比较困难;数据流和加工的数量太多,引起分析文档的膨胀。
三、信息建模法(inf