当前位置:首页 » 软件设计 » 结构化设计

结构化设计

发布时间: 2020-12-05 11:44:41

『壹』 什么是结构化设计方法

结构化设计方法给出一组帮助设计人员在模块层次上区分设计质量的原理与技术。它通常与结构化分析方法衔接起来使用,以数据流图为基础得到软件的模块结构。SD方法尤其适用于变换型结构和事务型结构的目标系统。在设计过程中,它从整个程序的结构出发,利用模块结构图表述程序模块之间的关系。结构化设计的步骤如下:①评审和细化数据流图;②确定数据流图的类型;③把数据流图映射到软件模块结构,设计出模块结构的上层;④基于数据流图逐步分解高层模块,设计中下层模块;⑤对模块结构进行优化,得到更为合理的软件结构;⑥描述模块接口。 结构化设计方法的设计原则 使每个模块执行一个功能(坚持功能性内聚) 每个模块用过程语句(或函数方式等)调用其他模块 模块间传送的参数作数据用 模块间共用的信息(如参数等)尽量少
编辑本段一、软件设计过程及原则
◆ 软件需求:解决“做什么”。 ◆ 软件设计:解决“怎么做”。 ◆ 软件设计的任务:从软件需求规格说明书出发,形成软件的具体设计方案。(根据需求分析阶段确定的功能确定模块及每个模块算法和编写具体的代码) 1、软件设计内容 (1)软件设计定义 软件设计是把软件需求(定义阶段)转换为软件的具体设计方案,即划分模块结构的过程,是软件开发阶段最重要的步骤。 (2)软件设计划分 划分 名称
按工程管理角度 概要设计
详细设计
按技术观点划分 结构设计
数据设计
接口设计
过程设计
一般过程:是一个迭代过程,先进行高层次结构设计;再进行低层次过程设计;穿插数据设计和接口设计。 (3)软件设计过程 2、软件设计原则 为了开发出高质量低成本的软件,在软件开发过程中必须遵循下列软件工程原则: (1)抽象(abstraction) 抽取事物最基本的特性和行为,忽略非基本的细节。采用分层次抽象的办法可以控制软件开发过程的复杂性,有利于软件的可理解性和开发过程的管理。 (2)信息隐藏(informationhiding) 信息隐蔽:采用封装技术,将程序模块的实现细节(过程或数据)隐藏起来,对于不需要这些信息的其它模块来说是不能访问的,使模块接口尽量简单。 按照信息隐藏的原则,系统中的模块应设计成“黑箱”,模块外部只能使用模块接口说明中给出的信息,如操作、数据类型等等。 (3)模块化(molarity) 使程序有许多个逻辑上相对独立的模块组成。模块(mole)是程序中逻辑上相对独立的单元;模块的大小要适中;高内聚、低耦合。 (4)一致性(consistency) 整个软件系统(包括文档和程序)的各个模块均应使用一致的概念、符号和术语;程序内部接口应保持一致;软件与硬件接口应保持一致;系统规格说明与系统行为应保持一致;实现一致性需要良好的软件设计工具(如数据字典、数据库、文档自动生成与一致性检查工具等等)、设计方法和编码风格的支持。
编辑本段二、结构化设计方法
1、软件设计的方法 开发阶段设计软件时所使用的方法。注意区别:结构化分析方法是定义阶段需求分析过程中所使用的方法。 2、软件设计的方法的种类 结构化设计方法、面向对象的设计方法。 3、结构化设计方法(SD-- Structured Design) 结构化设计方法是基于模块化、自顶向下细化、结构化程序设计等程序设计技术基础发展起来的。 基本思想:将软件设计成由相对独立且具有单一功能的模块组成的结构,分为概要设计和详细设计两个阶段。 ◆ 结构化设计过程的概要设计阶段的描述工具是:结构图(SC- Structure Chart )。 (1)概要设计也称为结构设计或总体设计,主要任务是把系统的功能需求分配给软件结构,形成软件的模块结构图。 (2)概要设计的基本任务。设计软件系统结构:划分功能模块,确定模块间调用关系;数据结构及数据库设计:实现需求定义和规格说明过程中提出的数据对象的逻辑表示;编写概要设计文档: 包括概要设计说明书、数据库设计说明书,集成测试计划等;概要设计文档评审:对设计方案是否完整实现需求分析中规定的功能、性能的要求,设计方案的可行性等进行评审。 (3)结构化设计的目的与任务。结构化设计的目的:使程序的结构尽可能反映要解决的问题的结构。结构化设计的任务:把需求分析得到的数据流图DFD等变换为系统结构图(SC)。 4、概要设计工具——结构图(SC: Structure Chart ) (1)作用 软件结构概要设计阶段的工具。反映系统的功能实现以及模块与模块之间的联系与通信,即反映了系统的总体结构。 ◆ 注意:数据流DFD是软件生命周期的定义阶段中的需求分析方法中结构化分析方法的一种,此外还有数据字典(DD)、判定树和判定表,而SC是开发阶段中概要设计使用的方法。 (2)结构图基本组成成分:模块、数据和调用 (3)结构图基本图符 (4)结构图的基本术语 ◆ 深度:模块结构的层次数(控制的层数)。 ◆ 宽度:同一层模块的最大模块数。 ◆ 扇出:一个模块直接调用的其他模块数目。 ◆ 扇入:调用一个给定模块的模块个数。(被调用的次数) 好的软件结构应该是顶层扇出比较多,中层扇出较少,底层扇入多。 5、概要设计任务的实现--数据流图到结构图的变换 在软件工程的需求分析阶段,信息流是一个关键考虑,通常用数据流图描绘信息在系统中加工和流动的情况,面向数据流的设计方法把信息流映射成软件结构,信息流的类型决定了映射的方法。典型的信息流类型:变换型和事务型。 (1)典型的信息流类型:变换型和事务型 ① 变换型 信息沿输入通路进入系统,同时由外部形式变换成内部形式,进入系统的信息通过变换中心,经加工处理以后再沿输出通路变换成外部形式离开软件系统,当数据流具有这些特征时,这种信息流就叫变换流。 ② 事务型 数据沿输入通路到达一个处理T,这个处理根据输入数据的类型在若干个动作序列中选出一个来执行,当数据流图具有这些特征时,这种信息流称为变换流。 6、详细设计及工具 (1)详细设计的目的 为软件结构图(SC)中的每 一个模块确定采用的算法,模块内数据结构,用某种选定的表达工具(如N-S图等)给出清晰的描述。 (2)详细设计的设计工具种类 ◆ 图形工具:程序流程图(PFD)、N-S图,问题分析图(PAD图)。 ◆ 表格工具:类似于判定表。 ◆ 语言工具:过程设计语言(PDL)。 ①程序流程图(PFD: Program Flow Diagram)) ◆ 流程图:是用一些图框表示各种操作,直观形象,易于理解。 ◆ 特点:直观、清晰、易于掌握。 ② 盒图(N-S图) 为避免流程图在描述程序逻辑时的随意性与灵活性,1973提出用方框代替传统的程序流程图,通常也把这种图称为N-S图,有5种的控制结构。 ◆ 盒图具有以下特点:过程的作用域明确;盒图没有箭头,不能随意转移控制;容易表示嵌套关系和层次关系;强烈的结构化特征。 ③问题分析图(PAD:Problem Analysis Diagram) 是继流程图和方框图之后,又一种描述详细设计的工具,有5种结构。 ④ 过程设计语言(PDL) 过程设计语言(PDL)也称结构化的英语或伪码语言,它是一种混合语言,采用英语的词汇和结构化程序设计语言的语法,它描述处理过程怎么做,类似编程语言。

『贰』 结构化设计和结构化分析的关系

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

『叁』 结构化设计是一种面向   的设计方法。

软件工程书上的原话是这样的:结构化分析(structured
analysis,SA)是面向数据流的需求分析方法。
希望能够帮到你

『肆』 结构化设计方法的结构化设计方法

1、软件设计的方法
开发阶段设计软件时所使用的方法。注意区别:结构化分析方法是定义阶段需求分析过程中所使用的方法。
2、软件设计的方法的种类
结构化设计方法、面向对象的设计方法。
3、结构化设计方法(SD-- Structured Design)
结构化设计方法是基于模块化、自顶向下细化、结构化程序设计等程序设计技术基础发展起来的。
基本思想:将软件设计成由相对独立且具有单一功能的模块组成的结构,分为概要设计和详细设计两个阶段。
◆ 结构化设计过程的概要设计阶段的描述工具是:结构图(SC- Structure Chart )。
(1)概要设计也称为结构设计或总体设计,主要任务是把系统的功能需求分配给软件结构,形成软件的模块结构图。
(2)概要设计的基本任务。设计软件系统结构:划分功能模块,确定模块间调用关系;数据结构及数据库设计:实现需求定义和规格说明过程中提出的数据对象的逻辑表示;编写概要设计文档: 包括概要设计说明书、数据库设计说明书,集成测试计划等;概要设计文档评审:对设计方案是否完整实现需求分析中规定的功能、性能的要求,设计方案的可行性等进行评审。
(3)结构化设计的目的与任务。结构化设计的目的:使程序的结构尽可能反映要解决的问题的结构。结构化设计的任务:把需求分析得到的数据流图DFD等变换为系统结构图(SC)。
4、概要设计工具——结构图(SC: Structure Chart )
(1)作用
软件结构概要设计阶段的工具。反映系统的功能实现以及模块与模块之间的联系与通信,即反映了系统的总体结构。
◆ 注意:数据流DFD是软件生命周期的定义阶段中的需求分析方法中结构化分析方法的一种,此外还有数据字典(DD)、判定树和判定表,而SC是开发阶段中概要设计使用的方法。
(2)结构图基本组成成分:模块、数据和调用
(3)结构图基本图符
(4)结构图的基本术语
◆ 深度:模块结构的层次数(控制的层数)。
◆ 宽度:同一层模块的最大模块数。
◆ 扇出:一个模块直接调用的其他模块数目。
◆ 扇入:调用一个给定模块的模块个数。(被调用的次数)
好的软件结构应该是顶层扇出比较多,中层扇出较少,底层扇入多。
5、概要设计任务的实现--数据流图到结构图的变换
在软件工程的需求分析阶段,信息流是一个关键考虑,通常用数据流图描绘信息在系统中加工和流动的情况,面向数据流的设计方法把信息流映射成软件结构,信息流的类型决定了映射的方法。典型的信息流类型:变换型和事务型。
(1)典型的信息流类型:变换型和事务型
① 变换型
信息沿输入通路进入系统,同时由外部形式变换成内部形式,进入系统的信息通过变换中心,经加工处理以后再沿输出通路变换成外部形式离开软件系统,当数据流具有这些特征时,这种信息流就叫变换流。
② 事务型
数据沿输入通路到达一个处理T,这个处理根据输入数据的类型在若干个动作序列中选出一个来执行,当数据流图具有这些特征时,这种信息流称为事务流。它被用于识别一个系统的事务类型并把这些事务类型用作为设计的组成部分。分析事务流是设计事务处理程序的一种策略,采用这种策略通常有一个在上层事务中心,其下将有多个事务模块,每个模块只负责一个事务类型,转换分析将会分别设计每个事务。
6、详细设计及工具
(1)详细设计的目的
为软件结构图(SC)中的每 一个模块确定采用的算法,模块内数据结构,用某种选定的表达工具(如N-S图等)给出清晰的描述。
(2)详细设计的设计工具种类
◆ 图形工具:程序流程图(PFD)、N-S图,问题分析图(PAD图)。
◆ 表格工具:类似于判定表。
◆ 语言工具:过程设计语言(PDL)。
①程序流程图(PFD: Program Flow Diagram))
◆ 流程图:是用一些图框表示各种操作,直观形象,易于理解。
◆ 特点:直观、清晰、易于掌握。
② 盒图(N-S图)
为避免流程图在描述程序逻辑时的随意性与灵活性,1973提出用方框代替传统的程序流程图,通常也把这种图称为N-S图,有5种的控制结构。
◆ 盒图具有以下特点:过程的作用域明确;盒图没有箭头,不能随意转移控制;容易表示嵌套关系和层次关系;强烈的结构化特征。
③问题分析图(PAD:Problem Analysis Diagram)
是继流程图和方框图之后,又一种描述详细设计的工具,有5种结构。
④ 过程设计语言(PDL)
过程设计语言(PDL)也称结构化的英语或伪码语言,它是一种混合语言,采用英语的词汇和结构化程序设计语言的语法,它描述处理过程怎么做,类似编程语言。

『伍』 结构化设计是一种面向   的设计方法。

1,结构化设计是一种面向数据流的设计方法。
2,结构化设计是数据模型和版过程模型的结合。权在设计过程中,它从整个程序的结构出发,利用模块结构图表述程序模块之间的关系。
3,结构化设计的步骤如下:
(1)评审和细化数据流图;
(2)确定数据流图的类型;
(3)把数据流图映射到软件模块结构,设计出模块结构的上层;
(4)基于数据流图逐步分解高层模块,设计中下层模块;
(5)对模块结构进行优化,得到更为合理的软件结构;
(6)描述模块接口。

『陆』 结构化程序设计包含三种基本控制结构是

顺序结构、选择结构、循环结构。

1. 顺序结构
顺序结构表示程序中的各操作是按内照它们出现的先容后顺序执行的,这种结构的特点是:程序从入口点a开始,按顺序执行所有操作,直到出口点b处,所以称为顺序结构。

2.选择结构
选择结构表示程序的处理步骤出现了分支,它需要根据某一特定的条件选择其中的一个分支执行。选择结构有单选择、双选择和多选择三种形式。

3.循环结构
循环结构表示程序反复执行某个或某些操作,直到某条件为假(或为真)时才可终止循环。在循环结构中最主要的是:什么情况下执行循环?哪些操作需要循环执行?循环结构的基本形式有两种:当型循环和直到型循环,而什么情况下执行循环则要根据条件判断

『柒』 简述结构化设计的特点

一.结构化程序设计的特点和基本结构
结构化程序是从软件工程的观点出发,把软回件的产生看成是系统答工程,有严格的规范,按一定的步骤展开。结构化程序设计的思想是一种面向过程的概念,它是把一个实际问题分成两部分,即数据和过程,通过动态的程序执行过程来对静态的数据进行存储。分析。处理,最后得出正确的结果。
结构化程序设计的特点:
1) 整个程序模块化。
2) 每个模块只有一个入口和一个出口。
3) 每个模块都应能单独执行,且无死循环。
4) 采用自顶向下。逐步求精的方法。
◆三种基本结构
1. 顺序结构
顺序结构是程序设计中最基本的结构。在该结构中,程序的执行是按命令出现的先后顺序依次执行的。
2. 分支结构
分支结构是按给定的选择条件成立与否来确定程序的走向。分支可分为单向选择分支。双向选择分支和多路分支。在任何条件下,无论分支多少,只能选择其一。
3. 循环结构
循环结构是一种重复结构,程序的执行发生了自下而上的往复,某一程序段将重复执行。按循环的嵌套层次,循环可分为单循环结构和多循环结构。按循环体执行的条件性质,循环又可分为记数循环和条件循环。无论何种类型的循环结构,都要确保循环的重复执行能得到终止。

『捌』 名词解释 结构化设计方法

结构化设计方法给出一组帮助设计人员在模块层次上区分设计质量的原理与回技术。它把系统作为答一系列数据流的转换,输入数据被转换为期望的输出值,通过模块化来完成自顶而下实现的文档化,并作为一种评价标准在软件设计中起指导性作用,通常与结构化分析方法衔接起来使用,以数据流图为基础得到软件的模块结构。

『玖』 “结构化设计”是什么意思

可理解为组织架构设计。

『拾』 结构化设计的核心思想是什么

结构化程序设计方法的基本要点是: 1. 采用自顶向下,逐步求精的程序设计方法 在需求分析,概要设计中,都采用了自顶向下,逐层细化的方法。 2. 使用三种基本控制结构构造程序 任何程序都可由顺序、选择、重复三种基本控制结构构造。 (1)用顺序方式对过程分解,确定各部分的执行顺序。 (2)用选择方式对过程分解,确定某个部分的执行条件。 (3)用循环方式对过程分解,确定某个部分进行重复的开始和结束的条件。 (4)对处理过程仍然模糊的部分反复使用以上分解方法,最终可将所有细节确定下来。 3. 主程序员组的组织形式 指开发程序的人员组织方式应采用由一个主程序员(负责全部技术活动)、一个后备程序员(协调、支持主程序员)和一个程序管理员(负责事务性工作,如收集、记录数据,文档资料管理等)三个为核心,再加上一些专家(如通信专家、数据库专家)、其他技术人员组成小组。 详细设计描述法 详细描述处理过程常用三种工具:图形、表格和语言。本节主要介绍结构化程序流程图、盒图和问题分析图三种图形工具。 程序流程图 程序流程图又称为程序框图,它是使用最广泛的一种描述程序逻辑结构的工具。 http://student.zjzk.cn/course_ware/software/pic/5-1.gif PAD图指问题分析图(Problem Analysis Diagram),是日本日立公司于1979年提出的一种算法描述工具,它是一种由左往右展开的二维树型结构。 http://student.zjzk.cn/course_ware/software/pic/5-2.gif PAD图的控制流程为自上而下、从左到右地执行。 过程设计语言 过程设计语言(Problem Design Language,简称PDL),也称程序描述语言(Problem Descripition Language),又称为伪码。它是一种用于描述算法设计和处理细节的语言

热点内容
美发店认证 发布:2021-03-16 21:43:38 浏览:443
物业纠纷原因 发布:2021-03-16 21:42:46 浏览:474
全国著名不孕不育医院 发布:2021-03-16 21:42:24 浏览:679
知名明星确诊 发布:2021-03-16 21:42:04 浏览:14
ipad大专有用吗 发布:2021-03-16 21:40:58 浏览:670
公务员协议班值得吗 发布:2021-03-16 21:40:00 浏览:21
知名书店品牌 发布:2021-03-16 21:39:09 浏览:949
q雷授权码在哪里买 发布:2021-03-16 21:38:44 浏览:852
图书天猫转让 发布:2021-03-16 21:38:26 浏览:707
宝宝水杯品牌 发布:2021-03-16 21:35:56 浏览:837