1、结构化的设计方法(SD),朱振华 E_mail:zhenhua_ http:/,第五章,常用的系统设计方法结构化设计(SD)方法:与结构化分析方法相结合,以数据流图为基础。把DFD图表示的系统分析模型转化为软件结构的设计模型。 Jackson方法:以数据结构为基础,用于设计数据处理系统。 SD方法的基本思想:整个系统有相对独立、功能单一的模块构成。模块之间的相对独立性由块间联系或块内块系来衡量。,SD方法的描述方式,常用的描述方式是模块结构图(Module Structure Chart)。主要成分有:,SD方法的描述方式,SD方法的描述方式(举例),调用次序:上层调用下层 同层按照数据上传关
2、系确定;一般从左到右执行。 执行过程:按照数据流向。,SD方法的两个设计阶段,SD方法的数据流图的类型,DFD图,数据流图是描述系统中数据流程的图形工具,它标识了一个系统的 逻辑输入和逻辑输出以及把逻辑输入转化为逻辑输出所需的加工处理。,数据流图的基本符号:,学生,审查开发票1,开领书单2,学生,购书单,发票,领书单,无效书单,各班学生用书表,教材存量表,SD方法的数据流图的类型,从数据流图导出模块结构图的方法,SD方法的数据流图的类型,从数据流图导出模块结构图的方法-变换型结构,主加工:通常位于系统中几股数据流的汇合处。,逻辑输入:离物理输入端最远,仍属于系统输入的数据流。,逻辑输出:离物理
3、输出端最远,仍属于系统输入的数据流。,有些系统没有主加工。,DFDSC(变换分析)原则,顶层:为主加工设计一个主模块,功能是整个系统的功能。 一层:为逻辑输入中的每一个输入数据流设计一个输入模块,其功能是像主模块 提供数据。为逻辑输出中的每一个输入数据流设计一个输出模块,其功能是向主模块 提供输出通道。为主模块设计一个变换模块,功能是将逻辑输入转化为逻辑输出。二层及以下: 为上层的每个输入模块设计两个下层模块:一个输入模块和一个变换模块; 为上层的每个输出模块设计两个下层模块,一个输出模块和一个变换模块,DFDSC(变换分析)说明,下层模块只和上层的调用模块之间传送数据(参数),传递的参数应和
4、数据流图中的描述相对应。上层的变换模块需不需要设计下层模块,根据数据流图中所对应的加工需不需要分解子加工而定。模块的名字要恰当的反应模块的功能。,SD方法的数据流图的类型,变换映射(实例),变换映射的3个步骤:划分DFD图的边界建立初始SC图分解SC图的各个分支,DFDSC(变换分析)技术,(1)确定加工及逻辑输入与输出,主加工:描述了系统的主要功能、特征。由于输入/输出流较多,主加工不止一个。逻辑输入输出:输入输出主加工的数据流。 输入流:把物理输入转化为逻辑输入的数据流。 输出流:将逻辑输出转化为物理输出的数据流。,DFDSC(变换分析)技术,(2)进行一级分解,设计上层模块,为每个输入设
5、计一个输入模块,为每个输出设计一个输出模块,同时为每个主加工设计一个处理模块。,DFDSC(变换分析)技术,(3)进行二级分解,设计中下层模块,自顶向下,逐步细化,为第一层的每个输入模块、输出模块、处理模块设计他们的从属模块,设计下层模块的顺序一般是从设计输入模块的下层开始。,DFDSC(变换分析)技术,(3)进行二级分解,设计中下层模块,事务型系统结构:对应着变换型结构系统主加工的位置,事务型结构由若干平行的加工构成,系统选择执行其中的某些加工。,事务分析,至少由一条接受路径,一个事物中心,若干条动作路径组成。,DFD-SC(事务分析)原则,顶层:为主加工设计一个主模块,功能是整个系统的功能
6、;一层:为逻辑输入中的每一个输入数据流设计一个输入模块, 功能是向主模块提供数据; 为逻辑输出中的每一个输出数据流设计一个输出模块, 功能是为主模块提供输出通道; 为每种类型的事务设计一个事务处理模块(变换模块)。 二层及以下:与变换分析类似。,DFD-SC(事务分析)说明,实际应用中的系统通常是两种类型的混合结构,需要以变换分析为主、事务分析为辅进行设计。在多任务的环境下,将系统中可以并行处理的部分设计成许多任务,彼此间用通讯方式进行联系。 程序结构与问题结构相对应。,DFD-SC(事务分析)技术,例:培训中心管理系统,DFD-SC(事务分析)技术,确定流界首先从数据流图中找出事物流、事务处
7、理中心和事务物路径。事务中心前是接受事物,事务中心后是事物路径。进行一级分析,设计顶层模块。,实例:银行文件管理系统,需求分析(SA)-贷款文件由许多记录组成,每条记录有14个字段(数据项),数 据项的定义见下页,贷款文件按第一个字段(账号)递增排列; - 修改贷款文件记录的信息按规定的格式写在卡片上,修改卡片 也按账号递增顺序排列; - 加工逻辑:系统一次读入设定数目的修改卡片,检查卡片的顺 序和上面的修改信息格式是否正确,然后找到文件中需要修改的记录 进行修改,产生新文件和修改记录。,分析与设计,银行贷款文件记录,分析: 贷款文件的记录格式。 修改记录(卡片)格式要求对贷款文件进行修改,修
8、改信息由卡片输入,卡片上的修改信息格式如下:1-5位 6-9位 10位起 账号 空 xx修改值1* xx修改值2* *3.需求分析结果DFD图,是一种混合的DFD图。,模块的大小适当模块大小指其篇幅,一般模块大小约50-100为宜。 模块的扇入扇出不宜太多一个模块调用其他模块的个数,称为该模块的扇出,模块的出不宜过大,一般认为不要超出7个。一个模块被其他模块调用的个数,称为该模块的扇入,扇越大,除服务性模块外,模块的扇入扇出不宜太多,否则块间联系增加。,结构设计的优化原则,力求提高内聚,降低耦合,简化模块接口。,模块的作用范围与控制,控制范围结构方面的特点,包括模块及下属模块。作用范围判断所涉及到的模块,是从功能特点考虑。SD方法认为:当作用范围为控制范围的子集时,才能获得较低的块间联系,如下图中的设计,判定的作用范围恰好在判定所在模块的下一层。,模块的作用范围与控制,top,模块的作用范围与控制,SD方法设计软件系统的特点:由问题的结构(数据流图)导出软件系统的模块结构图;将系统先分解再组合,有效地控制系统复杂性;提出了一组技巧设计;图形描述直观明了。 2. SD方法设计软件系统的缺点:对数据结构的设计未作考虑;块间联系和块内联系无严格定义;,SD方法小结,