结构化设计和结构化分析的关系

来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/22 11:58:15
结构化设计和结构化分析的关系结构化设计和结构化分析的关系结构化设计和结构化分析的关系简单来说,结构化分析是结构化设计的基础.结构化分析:structuredanalysis.使用数据流程图、数据字典、

结构化设计和结构化分析的关系
结构化设计和结构化分析的关系

结构化设计和结构化分析的关系
简单来说,结构化分析是结构化设计的基础.
结构化分析:structured analysis.使用数据流程图、数据字典、结构化语言、判定表和判定树等工具,来建立一种新的、称为结构化说明书的目标文档-需求规格说明书.  结构化体现在将软件系统抽象为一系列的逻辑加工单元,各单元之间以数据流发生关联.  结构化分析是70年代末,由Demarco等人提出的,旨在减少分析活动中的错误,建立满足用户需求的系统逻辑模型.该方法的要点是:面对数据流的分解和抽象;把复杂问题自顶向下逐层分解,经过一系列分解和抽象,到最底层的就都是很容易描述并实现的问题了.
一、软件设计过程
  对程序结构、数据结构、过程细节和接口细节逐步细化、评审和编写文档的过程.从技术角度上,软件设计分成体系结构设计、数据设计、过程设计、接口设计4个方面的工作.从管理角度上讲,软件设计分为概要设计和详细设计两个阶段.
二、软件设计目标
  设计必须实现分析模型中描述的所有显示需求,必须满足用户希望的所有隐式需求;设计必须是可读、可理解的,使得将来易于编程、易于测试、易于维护;设计应从实现角度出发,给出数据、功能、行为相关的软件全貌.
三、基本原理和相关概念
  ⑴抽象化:常用的抽象化手段有过程抽象、数据抽象和控制抽象   ● 任何一个完成明确动能的操作都可被使用者当做单位的实体看待,尽管这个操作时机上可能由一系列更低级的操作来完成.  ● 数据抽象:与过程抽象一样,允许设计人员在不同层次上描述数据对象的细节.  ● 与过程抽象和数据抽象一样,控制抽象可以包含一个程序控制机制而无须规定其内部细节.  ⑵自顶向下,逐步细化:将软件的体系结构按自顶向下方式,对各个层次的过程细节和数据细节逐层细化,知道用程序设计语言的语句能够实现为止,从而最后确立整个的体系结构.  ⑶模块化:将一个待开发的软件分解成若干个小的简单的部分——模块,每个模块可独立地开发、测试,最后组装成完整的程序.这是一种复杂问题的“分而治之”的原则.模块化的目的是使程序结构清晰,容易阅读,容易理解,容易测试,容易修改.  ⑷控制层次:表明了程序构件(模块)的组织情况.控制层次往往用程序的层次结构(树形或网型)来表示.  ● 深度:程序结构的层次数,可以反映程序机构的规模和复杂程度.  ● 宽度:同一层模块的最大模块个数   ● 模块的扇出:一个模块调用(或控制)的其他模块数   ● 模块的扇入:调用(或控制)一个给定模块的模块个数   ⑸信息屏蔽:将每个程序的成分隐蔽或封装在一个单一的设计模块中,定义每一个模块时尽可能少的显露其内部的处理,可以提高软件的可修改性,可测试性和可移植性.  ⑹模块独立:每个模块完成一个相对特定独立的子功能,并且与其他模块之间的联系简单.衡量度量标准有两个:模块间的耦合和模块的内聚.模块独立性强必须做到高内聚低耦合.  ● 耦合:模块之间联系的紧密程度,耦合度越高模块的独立性越差.耦合度从低到高的次序为:非直接耦合、数据耦合、标记耦合、控制耦合、外部耦合、公共耦合、内容耦合.  ● 内聚是指内部各元素之间联系的紧密程度,内聚度越低模块的独立性越差.内聚度从低到高依次是:偶然内聚、逻辑内聚、瞬时内聚、过程内聚、通信内聚、顺序内聚、功能内聚.