结构化设计

合集下载

结构化设计的准则

结构化设计的准则

结构化设计的准则结构化设计是指在设计过程中,根据一定的准则和原则,将系统或产品的各个组成部分有机地组合起来,形成一个整体,使其具备良好的结构和功能,并且易于理解、使用和维护。

下面将介绍结构化设计的几个准则。

一、单一责任原则单一责任原则是指一个类或模块应该有且只有一个引起它变化的原因。

即一个类或模块应该只有一个职责,不要承担过多的功能。

这样可以提高代码的可读性和可维护性,减少代码的耦合度。

二、开闭原则开闭原则是指软件实体(类、模块、函数等)应该对扩展开放,对修改关闭。

当需要添加新的功能时,应该尽量通过扩展已有的代码来实现,而不是修改已有的代码。

这样可以保持代码的稳定性,降低引入新问题的风险。

三、里氏替换原则里氏替换原则是指子类应该能够替换掉父类并且功能不受影响。

即子类在扩展父类功能的同时,不能改变父类原有的功能。

这样可以保证代码的一致性和可维护性。

四、依赖倒置原则依赖倒置原则是指高层模块不应该依赖于低层模块,两者都应该依赖于抽象。

抽象不应该依赖于具体实现细节,具体实现细节应该依赖于抽象。

这样可以降低模块之间的耦合度,提高代码的可复用性和可测试性。

五、接口隔离原则接口隔离原则是指一个类对其他类的依赖应该建立在最小的接口上。

一个类不应该依赖于它不需要的接口。

通过细化接口,可以降低类与类之间的耦合度,提高系统的灵活性和可维护性。

六、迪米特法则迪米特法则是指一个对象应该对其他对象有尽可能少的了解。

一个对象只和其直接的朋友通信,不和陌生人通信。

这样可以降低对象之间的依赖关系,提高系统的可扩展性和可维护性。

七、合成复用原则合成复用原则是指尽量使用合成/聚合关系,而不是继承关系来达到代码复用的目的。

通过将已有的对象组合起来,可以灵活地创建新的对象,提高代码的灵活性和可复用性。

以上是结构化设计的几个准则,它们能够指导我们在软件设计过程中做出合理的决策,提高代码的质量和可维护性。

在实际应用中,我们应该根据具体的情况选择和应用这些准则,以达到最优的设计效果。

结构化设计

结构化设计

⑷.按照设计改进原则细化和改进初始的SC图,获得最 终SC图。
⑸.给出模块接口描述。例如,进出模块的参数表,外
界输入输出以及从全程数据(区)得到的信息项等, 此外还要注明它的调用模块和被调用模块。
⑹.复审,如有错误,转⑵修改完善,否则进入详细 设计。
2 SD方法设计步骤
“事务”
区分事务中心和数据接 受通路
(2) 盒图(N—S图)
盒图是为了满足结构化需要,特别 是取消了程序流程图随意跳转规则后而 提出的。
软件工程
5种控制结构N—S图的符号
(2) 盒图(N—S图)
与程序流程图相比较,盒图具有如下明显的优点: l 在盒图中不能任意转移控制。 l 特定控制逻辑的作用范围明确,可以从盒图上一目了然。 l 很容易确定局部和全程数据的作用域。 l 很容易表现嵌套关系,也容易表示模块的层次结构。 l 所有的程序结构均用方框表示。因此程序的结构非常清晰。 l 程序只有一个入口、一个出口,完全能够满足单人口单出口的结 构化程序设计要求。 l 盒图形象直观,具有良好的可视性。循环的范围、条件语句的控 制范围等都是一目了然的。 l 盒图简单,易学易用。 主要缺点是: 当程序内嵌套的层数增多时,内层方框会越来越小,一方 面会增加画图难度,另一方面会影响图形的清晰度。
PDL的缺点:不如图形描述形象直观,很容易使人陷入 程序的具体细节中去,因此人们常常将PDL描述与具体的 图形描述结合起来使用。
软件工程
(5) 判定表
在进行软件设计时如遇到复杂的条件选择,有 必要使用一种描述机制来清晰地表示复杂的条件 组合与动作间的对应关系,判定表就是解决这一 问题的有力工具。
一张判定表由4部分组成。左上部列出所有条 件;左下部列出所有可能做的工作;右上部每一 列表示出各种条件的一种可能组合,填入“T” 表示条件成立,填入“F”表示条件不成立,空 白表示条件成立与否不影响。所以所有列表示条 件组合全部可能情况;右下部的每一列是和每一 种条件组合相对应的工作,填入“×”表示在该 列上部规定的条件下做该行左边列出的那项工作, 空白表示不做该项工作。

结构化设计名词解释

结构化设计名词解释

结构化设计名词解释
结构化设计是一种设计方法,通过将问题或任务拆分为可管理的组成部分,以便更好地理解和解决。

它涉及对系统、产品或项目的元素进行组织和排列,以确保其功能和性能的最佳表现。

结构化设计通常包括制定清晰的目标、定义明确的需求、设计合理的工作流程、确定适当的任务分工和分配资源。

该方法能够提高设计的效率和质量,并减少错误和冲突的发生。

通过结构化设计,设计师可以更好地掌握项目的复杂性,并以系统化的方式进行解决。

结构化设计方法

结构化设计方法

结构化设计方法结构化设计方法是指在设计过程中,通过对系统进行合理的分解和组合,使得系统的结构更加清晰、简单、易于理解和维护的一种设计方法。

结构化设计方法的核心在于对系统进行合理的分析和设计,以及对系统结构进行合理的组织和管理。

下面我们将详细介绍结构化设计方法的相关内容。

首先,结构化设计方法的核心在于对系统进行合理的分析和设计。

在设计过程中,我们需要对系统进行充分的分析,了解系统的功能、性能、接口等方面的要求,然后根据这些要求进行合理的设计。

在设计过程中,我们需要充分考虑系统的模块化、接口设计、数据结构设计等方面,确保系统的结构能够满足系统的要求。

其次,结构化设计方法需要对系统结构进行合理的组织和管理。

在设计过程中,我们需要对系统的结构进行合理的组织和管理,确保系统的结构能够清晰、简单、易于理解和维护。

在组织和管理系统结构时,我们需要充分考虑系统的模块划分、模块之间的接口设计、数据结构设计等方面,确保系统的结构能够满足系统的要求。

最后,结构化设计方法需要充分考虑系统的可扩展性和可维护性。

在设计过程中,我们需要充分考虑系统的可扩展性和可维护性,确保系统的结构能够满足系统的未来发展和维护的需要。

在考虑系统的可扩展性和可维护性时,我们需要充分考虑系统的模块划分、模块之间的接口设计、数据结构设计等方面,确保系统的结构能够满足系统的未来发展和维护的需要。

总之,结构化设计方法是一种通过对系统进行合理的分析和设计,对系统结构进行合理的组织和管理,充分考虑系统的可扩展性和可维护性的设计方法。

通过结构化设计方法,我们能够设计出结构更加清晰、简单、易于理解和维护的系统,满足系统的要求,同时也能够满足系统的未来发展和维护的需要。

结构化设计方法对于提高系统的质量、降低系统的开发和维护成本具有重要的意义。

简述结构化程序设计方法的基本要点

简述结构化程序设计方法的基本要点

结构化程序设计方法的基本要点简介结构化程序设计方法是一种用于构建大型程序的系统性方法。

它通过将程序分解为一系列小的、可管理的模块,以及规定了模块之间的交互方式,从而降低程序的复杂性,提高程序的可维护性和可读性。

本文将从以下几个方面详细介绍结构化程序设计方法的基本要点。

1. 模块化模块化是结构化程序设计方法的核心思想之一。

模块化将程序分解为多个功能相对独立的模块,每个模块负责完成一个特定的任务。

模块化有助于提高程序的可读性,可维护性和可重用性。

1.1 模块划分在进行模块划分时,可以按照功能划分原则,将程序划分为几个不同的功能模块,每个模块负责完成一个特定的功能。

也可以按照数据划分原则,将程序划分为几个处理不同数据的模块。

模块应该具有清晰的职责和界限,不同模块之间的功能和数据交互应该通过接口进行。

1.2 接口设计模块之间的接口设计是模块化的关键。

接口应该明确定义模块之间的输入和输出,以及数据的传递方式。

良好的接口设计可以降低模块之间的耦合度,提高代码的可复用性,使得模块可以独立开发和测试。

1.3 函数与过程模块可以通过函数或过程来实现。

函数是一段可重用的代码,用于执行特定的计算或操作,并返回一个结果。

过程是一段可重用的代码,用于执行一系列操作,不返回结果。

函数和过程有助于将程序划分为更小的单元,提高程序的可读性和可维护性。

2. 控制结构控制结构是结构化程序设计方法的另一个重要要点。

控制结构用于控制程序的执行流程,改变程序的执行顺序或执行条件。

2.1 顺序结构顺序结构是程序从上到下按照顺序执行的控制结构。

顺序结构是程序的基础,所有的程序都是从顺序结构开始进行。

2.2 选择结构选择结构用于根据条件选择执行不同的代码块。

常见的选择结构包括if语句和switch语句。

if语句用于判断一个条件是否成立,如果条件成立,则执行其中的代码块;否则执行其他代码块。

switch语句可以根据一个表达式的值选择执行不同的代码块。

第9章 结构化设计方法

第9章  结构化设计方法

统的过程中由外部形式变换成内部数据形式,这被标 识为输入流。
在软件的核心,输入数据经过一系列加工处理,这被
标识为变换流。
通过变换处理后的输出数据,沿各种路径转换为外部
形式“流”出软件,这被标识为输出流。
整个数据流体现了以输入、变换、输出的顺序方式,
沿一定路径前行的特征,这就是变换型数据流,简称 变换流。
JSD举例分析(Jackson图)
JSD举例分析(Jackson图)
输出数据
输出数据结构
程序结构
程序矛盾
伪码
PROCESS_CUST_DATA seq open PAY_FILE; open CUST_M_FILE; {分别打开支付文件和顾客主文件} PROCESS_CNO_GROUP iter until eof: PAY_FILE; {处理顾客号码组} read PAY_FILE; {读支付文件一个记录} PROCESS_CNO; {读顾客主文件一个记录,找老结余} PROCESS_PAY_RECORD iter until end: CNO_GROUP; {处理顾客号码组中每个支付记录} write report line; {写出报告行} compute total payments; {计算总支付额} read PAY_FILE; {读支付文件下一个记录} PROCESS_PAY_RECORD end; {一位顾客数据处理完} COMPUTE_CUST_TOTAL; {计算顾客总数} COMPUTE_BALANCE seq {计算结余} PROCESS_OLD_BALANCE; {处理老结余} COMPUTE_NEW_BALANCE; {计算新结余) write report line; {写出报告行} COMPUTE_BALANCE end; {计算结余完毕} PROCESS_CNO_GROUP end; {支付文件处理完成} PROCESS_CUST_DATA end ; {Substructure PROCESS_CUST_DATA}

简述结构化设计的准则

简述结构化设计的准则

简述结构化设计的准则
结构化设计是一种创建清晰、有条理和易于理解的设计的方法。

它可以应用于各种设计领域,如建筑、工业设计和图形设计。

下面是一些结构化设计的准则,以帮助设计师更好地实施结构化设计:
1. 清晰和简洁:设计应该尽可能地简洁明了,避免过度复杂或冗余的元素。

清晰的设计可以提供更好的可读性和可理解性。

2. 逻辑一致性:设计的各个部分应该具有一致的逻辑关系。

相似的元素应该采用相似的样式和排列方式,以确保整体设计的连贯性。

3. 分层和组织:设计应该按照逻辑顺序进行分层和组织。

将相关的内容归类和组织在一起,以便用户可以更轻松地找到所需的信息。

4. 合理的结构:设计的结构应该符合正常的阅读或浏览习惯。

重要的信息应该放在显眼且易于访问的位置,以便用户可以快速获取所需的内容。

5. 考虑用户体验:设计应该以用户为中心,考虑到用户的需求和使用环境。

要确保设计易于使用和导航,并提供清晰的指导和反馈。

6. 强调重点:设计中的重点信息应该突出显示,以吸引用户的注意力并引导他们的注意力。

使用颜色、大小、形状或其他视觉元素来强调关键内容。

7. 统一性:设计的各个部分应该保持一致的风格和视觉语言。

统一的设计可以建立品牌形象并提供一致的用户体验。

8. 可扩展性:设计应该具有可扩展性,以便在需要时可以轻松添加或修改内容。

设计应该能够适应不同尺寸的屏幕、不同类型的内容和用户需求的变化。

这些准则可以帮助设计师在实施结构化设计时保持组织和清晰度,确保最终的设计能够有效地传达信息并提供良好的用户体验。

结构化设计

结构化设计
尾部是空心圆表示传递的是数据; 实心圆表示传递的是控制信息。
为了更加形象的表达模块之间的关系,通常还有一些附 加的符号,可以用来表示模块之间的选择调用或者循环 调用。
数据流 控制流
好输入
得到好的输入
产生最佳解
位于结构图上方的方框 所代表的模块意指调用 下方的模块,因此,即 使使用直线也不会在模 块之间调用关系这一问 题上产生二义性
Find a Room
2.0
Delete a Room
3.0
Establish a House 4.0
……
By Room ID 2.1
By Square Footage 2.2
By Type of Floor
2.3
……
Add a Room
4.1
Find a Room
4.2
Delete a Room
4.3
HIPO图实际上由两部分组成,
H图
H图就是上面提到的层次图; 为了能使HIPO图具有可跟踪性; 在H图里除了最顶层的方框之外,每个方框都加了编号;
IPO图
对于H图中的每个模块方框,都应该有一张IPO图描述这个方 框所代表的模块处理逻辑;
User’s Interface
Enter a New Room 1.0
具体.
在总体设计阶段,每个模块还处于黑盒子级, 模块通过外部特征标识自己,比如:
名字、
输入、
输出等。
这样在总体设计阶段就可以避免过早的陷入 模块的逻辑,算法设计,从而能够更好的确 定模块和模块之间的结构与调用关系。
软件总体设计的过程
采用某种设计方法,将系统按功能划 分成模块的层次结构
1对需求规约所产生的dfd进行分类2根据分类的结果用不同的方法将数据流图dfd转换成初始模块结构图msd3再根据基本的模块化设计原则高内聚低耦合精化初始模块结构图使之成为最终可供详细设计所使用的模块结构图变换型数据流图具有较明显的输入变换或称主加工和输出界面的数据流图称为变换型数据流图

结构化设计

结构化设计
息量。
第5章 结构化设计
6) 性能需求
性能需求主要指信息系统对网络的效率、速度、 可靠性、安全性等性能要求。 2. 网络结构设计 网络结构设计的主要任务是根据网络需求分析的
结果,设计出能够满足信息系统需要、结构合理、易
于扩充、性能价格比高的系统网络总体结构。系统网 络总体结构可以采用单级、二级和多级结构。
方面的内容。
第5章 结构化设计
1) 信息系统的特征对网络的需求
网络设计需要考虑信息系统的类型和特征。例如, 办公自动化系统需要提供能够集成办公设备和办公环 境的信息网络,以构成一体化的企业办公系统,这种 系统就不需要与企业生产过程系统、CAD/CAM系统进 行集成。而企业建立的CIMS系统就必须考虑与生产过 程、CAD/CAM的集成。因此,不同类型的信息系统对 网络的结构和布局有不同的要求。
了解信息系统业务所覆盖的地理分布,主要包括: 信息系统用户的数量以及用户的具体位置;子系统之 间的距离和各个用户之间的距离;在一幢楼、一层楼、 一个办公室中的用户组;一些特殊的需求或限制,例 如在网络覆盖的地域范围内是否有道路、山丘、建筑 物等,电缆布线是否有禁区等。
第5章 结构化设计
4) 网络服务需求
3.详细设计
详细设计是对软件结构中确定出的各个子系统内部 的设计,需要分析和确定每一个子系统中的用例设计、 设计类和接口。 4.界面设计 界面设计是对人和外部系统与信息系统之间交互界 面的设计。它包括输入界面、输出界面和混合界面的 设计。
第5章 结构化设计
5.数据库设计
数据库是信息系统存储和管理数据的主要技术手 段,数据库设计的任务是根据给定的信息系统应用需 求和系统环境,设计出合理的数据库结构。数据库设 计需要经过概念设计、逻辑设计和物理设计等步骤。

结构化程序设计的方法

结构化程序设计的方法

结构化程序设计的方法
结构化程序设计是一种将程序分解为更小的、可管理的子问题的方法,这些子问题可以被独立地测试和调试,最后再组合起来形成完整的程序。

以下是常用的结构化程序设计方法:
1. 顺序结构:按照程序的顺序依次执行语句和操作。

2. 选择结构:根据条件的真假选择不同的执行路径。

常用的选择结构有if语句和switch语句。

3. 循环结构:重复执行某一段代码,直到满足特定条件才停止执行。

常用的循环结构有while循环、do-while循环和for循环。

4. 模块化设计:将程序分解为更小的模块,每个模块负责完成特定的任务。

这样可以提高代码的重用性和可维护性。

5. 层次化设计:将程序分解为多个层次,每个层次负责处理不同的功能和抽象层次。

这样可以使程序更加清晰、易于理解和扩展。

6. 分层抽象:将问题分解为多个层次的抽象,每个层次都只关心当前问题的部分,而不需要了解整个系统的细节。

这样可以简化复杂问题的处理。

7. 自顶向下设计:从整体到细节的方式进行设计,先设计出整体的框架和主要功能,再逐步展开细节。

这样可以使设计更加清晰和全面。

8. 自底向上实现:从细节到整体的方式进行实现,先实现最基本的功能和模块,然后逐步组合成更复杂的功能。

这样可以提高代码的可测试性和可维护性。

以上方法可以结合使用,根据具体问题的需求选择合适的方法来进行程序设计。

在设计过程中,还需考虑代码的可读性、可扩展性、性能等因素,以确保最终的程序符合要求。

结构化教案设计模板范文

结构化教案设计模板范文

一、教学目标1. 知识目标:- 学生能够掌握本节课的基本概念、原理和技能。

- 学生能够运用所学知识解决实际问题。

2. 能力目标:- 学生能够提高自主学习、合作探究的能力。

- 学生能够培养批判性思维和问题解决能力。

3. 情感目标:- 学生能够培养对所学知识的兴趣和热爱。

- 学生能够增强自信心和团队协作意识。

二、教学重难点1. 教学重点:- 本节课的核心概念、原理和技能。

2. 教学难点:- 理解并运用所学知识解决实际问题的能力。

三、教学过程1. 导入- 引入新课背景,激发学生学习兴趣。

- 通过提问、故事、实例等方式,引导学生思考。

2. 新课讲授- 讲解本节课的核心概念、原理和技能。

- 结合实例,讲解知识点在实际中的应用。

- 鼓励学生积极参与,提出问题,进行讨论。

3. 练习巩固- 设计练习题,让学生巩固所学知识。

- 分组讨论,培养学生合作探究能力。

- 教师巡视指导,解答学生疑问。

4. 课堂小结- 总结本节课所学内容,梳理知识体系。

- 强调重点、难点,引导学生进行自我检测。

5. 作业布置- 布置课后作业,巩固所学知识。

- 作业内容应具有针对性、层次性。

四、教学评价1. 课堂表现评价:- 观察学生在课堂上的发言、提问、讨论等情况。

- 评价学生的参与度和积极性。

2. 作业评价:- 评价学生完成作业的质量、速度和正确率。

- 分析学生作业中的错误,针对性指导。

3. 期末考试评价:- 评价学生在期末考试中的综合能力。

- 分析学生在考试中的优点和不足,为下一学期教学提供参考。

五、教学反思1. 教学过程中的优点:- 分析教学过程中的亮点,总结经验。

2. 教学过程中的不足:- 分析教学过程中的问题,找出原因。

3. 改进措施:- 针对不足,提出改进措施,提高教学质量。

4. 教学效果:- 分析教学效果,为下一学期教学提供依据。

结构化设计方法2篇

结构化设计方法2篇

结构化设计方法2篇第一篇:结构化设计方法1. 简介结构化设计是一种基于模块化和层次化的系统设计方法,可以将复杂的系统划分成若干个模块,并按照一定规律组合起来,确保系统的可靠性、可维护性和可扩展性等方面的优良特性。

本文将详细介绍结构化设计的方法和步骤。

2. 结构化设计的方法2.1 模块化设计首先,系统设计要划分成若干个模块,每个模块要尽可能独立,只与周围的模块相互通信,而不与其他的模块产生相互的影响。

通常情况下,项目组根据业务需求和技术要求,选择最合适的模块划分方案。

一般来说,划分一个系统成若干个独立的模块是比较容易的,需要在设计开始之前,对系统有一个清晰的概念。

2.2 层次化设计接下来,系统设计应该按层次进行划分,每一层应该有一个特定的作用,只负责该层对上层或者下层的交互。

通常情况下,项目组会根据系统的性质和组织结构,选择最佳的层次划分方式,以此保证系统架构的稳定性和可扩展性。

2.3 组合设计在模块化和层次化设计的基础上,项目组需要通过组合设计,将若干个独立的模块组合成一个完整的系统。

在组合设计中,项目组需要注意一些关键问题,例如,如何识别和管理组件之间的依赖关系,如何处理组件之间的冲突等。

2.4 接口设计在结构化设计过程中,项目组需要关注各个模块之间的接口设计。

良好的接口设计可以有效地防止信息泄露或者组件之间的不协调,确保系统的稳定性和可靠性。

在接口设计中,项目组需要关注数据格式、消息交换方式、处理错误的机制等方面的设计。

3. 结构化设计的步骤3.1 确定设计目标在开始结构化设计之前,首先要确定设计目标。

具体而言,需要定义系统的范围、预期目标、适用的技术和平台等方面的问题。

3.2 分析需求和约束条件分析需求和约束条件是结构化设计的前提。

在这一步骤中,项目组需要使用业务分析工具和技术分析工具,定义系统需要解决的问题,识别约束和限制条件,以此为设计提供方向。

3.3 设计系统框架基于需求分析和约束条件,项目组应该设计系统的框架。

你如何课程设计设计结构化

你如何课程设计设计结构化

你如何课程设计设计结构化一、课程目标知识目标:1. 让学生掌握课程设计的基本概念和结构化设计方法,理解其在教学过程中的应用。

2. 使学生了解并运用课程目标、教学活动、评估方法等关键组成部分,设计符合学科特点的课程。

技能目标:1. 培养学生运用结构化思维进行课程设计,提高教学活动的组织与实施能力。

2. 培养学生分析教材、学情和教学要求,制定具体、可衡量的课程目标。

情感态度价值观目标:1. 培养学生对课程设计的兴趣,激发主动参与教学活动的热情。

2. 培养学生具有合作、探究、创新的精神,树立正确的教育观念。

课程性质分析:本课程旨在帮助学生掌握课程设计的基本原理和方法,培养其教学设计和实施能力。

学生特点分析:学生具备一定的学科知识基础,但可能缺乏课程设计和教学实践经验。

教学要求:1. 结合学科特点,注重实践操作,提高学生的教学设计能力。

2. 注重培养学生的合作、探究、创新能力,提升教育教学质量。

1. 明确课程设计的基本概念、原则和方法。

2. 独立设计符合学科特点、具体、可衡量的课程目标。

3. 运用结构化思维,合理组织教学活动,提高教学效果。

4. 树立正确的教育观念,具备合作、探究、创新的精神。

二、教学内容本课程教学内容分为以下四个部分:1. 课程设计基本概念- 课程定义、课程类型与结构- 课程设计的目标、原则与方法2. 结构化课程设计方法- 课程目标制定:具体、可衡量的目标分解- 教学活动设计:组织、安排与实施- 评估方法:形成性、总结性评估的设计与应用3. 教学大纲制定- 确定课程内容、重点与难点- 制定教学进度、课时分配- 确保教学内容与教材章节的关联性4. 教学实践与案例分析- 结合学科特点,进行课程设计实践操作- 分析优秀教学案例,总结经验与启示- 探讨课程设计在实际教学中的应用教学内容安排与进度:1. 第1-2周:学习课程设计基本概念,理解课程类型与结构2. 第3-4周:掌握结构化课程设计方法,学会制定课程目标、设计教学活动3. 第5-6周:学习教学大纲制定,掌握教学内容、进度安排4. 第7-8周:教学实践与案例分析,提升课程设计实际操作能力教学内容与教材关联:本课程教学内容与教材中课程设计相关章节紧密关联,涵盖课程理论、方法与实践案例,确保学生系统掌握课程设计知识。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

8.1.1 一般关系模型设计的基本任务
1.从全局ER图导出一般关系数据模型(全局一般关系 模型):从系统全局ER图构造出各个关系(二维表), 以关系框架(表头:描述记录结构,由属性名、外码、 主码等三行构成)表示,它们构成了全局数据模型。 2.初始一般关系模型的改进与优化: 改进:检查关系模式的规范化,不是BCNF或3NF的, 要通过分解规范化到BCNF或3NF 优化:通过查询/更新分析,对要频繁多关系查询而 又很少更新的关系要适当合并,降低规范化程度而提 高查询效率。 3.导出用户一般关系数据模型(用户视图):从全局 数据模型中,依据各子ER图,抽出一些属性(表栏、数 据项)和满足某些条件的元组(行、记录),加上某些 导出项构成满足具体子系统或模块需要的设计,是以系统分析中得到的新系 统的逻辑模型为依据,着眼于“如何做”,但又不考虑 具体的特定系统平台,从全局一般的视野,来设计MIS 的总体方案。包括从全局实体联系图(ERD)导出数 据的一般关系模型并改进优化之;从数据流图(DFD)及 其数据字典(DD)中的加工说明,导出模块结构图(MSD); 基于可行性研究的初步方案中系统平台构思,依据组织 机构、数据的一般关系模型和MSD设计系统平台总体布 局,得到系统平台总体布局图。 下面8.1-8.4节讨论系统的总体设计。 这里把教材上的1、2两节对调,因为处理功能设计中 要对数据库模型中的一般关系模型中的关系读写数据。
第八章 结构化 系统设计 (SSD)
MIS的结构化系统设计
结构化系统设计(Structured System Design)遵 循结构化的思想 自顶向下,逐步求精的策略 目标明确,成果规范的阶段 层次清楚,体系严谨的结构 形象直观,清晰易懂的表达 划分为总体设计和详细设计两个阶段。每个阶段都 包括 动态的处理流程设计:处理功能模块化 静态的数据结构设计:数据结构模型化 系统平台的设计:系统平台开放化
二、模块结构图(Modular Structure Diagram) 模块结构图(Modular Structure Diagram, MSD) ,也称控制结构图或系统结构图,简称结构图, 是HIPO图的进一步发展。它不仅表示了系统功能的层次 分解关系,还表示了模块的调用关系及模块之间数据流 与控制流信息的传递关系,以及模块对数据存储的读写 及外部对象间的输入输出关系,是结构化系统设计的一 种重要图表工具。 1.模块的图形表示 一般模块:用矩形表示,模块名写在方框内,如图 8.1(a)所示。 叶模块:不再分解、不再调用别的模块的基本模块, 必要时表示成下横为双线的矩形,如图8.1b)所示。 预定义模块:作为特殊叶模块的公用模块,例如程序 库中的子程序。必要时表示为上下横为双线的矩形, 如图8.1 c)所示。
优化--提高查询效率:可以考虑把两者合并为
“分录日记帐”或称“记帐凭证关系”(下页表), 从而提高查询效率 问题:追加中将必需对“经济业务”信息多次重复 输入,既增加了输入量,又可能产生不一致而破坏了 数据完整性。 问题的解决办法:设计专门的追加(输入)和修改 的应用程序,用“一次输入,多次复制”或“一处修 改就同时修改”的策略,来减少重复输入与修改,保 证不破坏数据完整性。 首先得到规范化程度在3NF及其以上的关系组成的 一般关系模型是主要的,这会使开发维护人员和用户都 容易理解和把握相同全局的数据结构,做到心中有数, 在实现、维护和运行系统时,就不致迷失方向而犯破坏 数据完整性等方面的错误。
固定工资关系 工号 基本工资 职务工资 工龄工资 固定补贴
外码 主码 变动工资关系
工号 外码 主码 变动津贴 奖金 应扣款
家庭成员关系关系
员工工号 称谓 姓名 性别 生日 职业 外码 主码(复合) 工作单位
原则3:1:M联系通过在“多”实体关系中增加相联系的 “1”实体关系的主码及联系本身的属性来表达。其中 “1”实体主码为外来码。 例如,在员工关系中增加“所属部门号”这个外来 码反映1:M联系所属职员关系。 员工关系
部门关系 部门号 主码 员工关系 工号 姓名 性别 生日 职务 家庭地址 邮编 电话 主码 部门名 部门类型
原则2:ER图中的从实体及相应的主从联系变换为一个 关系,从实体的属性加上主实体关系的主码构成这个关 系的属性。如果主从联系是1:1的,则以主实体关系的 主码(作为外来码)为这个关系的主码;如果主从联系 是1:M的,则以主实体关系的主码加上同一主实体个体 联系的不同从实体个体赖以相互区分的属性组,组成该 关系的主码。 例如,图8.16中主实体“员工”与从实体“固定工资”、 “变动工资” 的主从联系是1:1的,转换为以“员工工 号”为主码的“固定工资”关系、“变动工资”关系; 主实体“员工”与从实体”家庭成员“的主从联系是 1:M的,而“称谓”可以把同一个员工的不同家庭成员 区分开来,可以转换为以“员工工号”与“称谓”为复 合主码的“家庭成员”关系。
8.2 MIS处理功能的总体设计
MIS处理功能的总体设计是要确定,从总体上看, 要完成其信息输入、处理、存取、输出的那些任务, MIS应该“如何做”。其基本思路是:以系统的加工任 务和数据流程为基础,依据系统的DFD及其DD,借助于 一套标准的设计准则与图表工具,通过“自顶向下” 的逐层分解和“自底向上”的反复推敲,把系统功能 划分为多个层次分明,大小适当,任务单一,相对独 立,容易理解和实现的处理单元——模块,并组成模 块结构图,展现出上层模块对下层模块的调用、模块 间的数据交换、数据对系统的输入/输出、模块对数据 存储的读/写。
8.1 MIS的一般关系模型的设计
关系模型是由关系数据结构、关系操作集合 和关系完整性约束三部分组成。MIS的一般关系 模型的设计是指:在不涉及到任何具体的数据库 管理系统(DBMS)与不考虑任何具体的系统操作 平台与运行环境的情况下,依据结构化系统分析 中得到的实体联系图ERD,设计具有一般通用性 的关系模型。
(主管联系)
部门号
主码
部门名
部门类型
主管工号
外码
任职日期
原则4:M:M联系转换成一个独立的关系,被联系实体关 系的主码(作为外来码)和联系本身的属性作为该关系 的属性,被联系实体关系的主码组成其复合主码。 例如,图7.22帐务处理ER图中的分录联系转换为分录关 系关系 注意:如果要保存时间序列数据,则日期、时间属性往 往应加入到主码中。 分录关系
记帐凭证关系
凭证号日期 摘要 业务金额 附件张数 科目码 记帐方向 记帐金额 外码
复合主码
8.1.4 用户一般关系模型的设计
一个数据库应用系统可能涉及到一个组织的许多部 门,有许多用户,包含的数据种类和数据量都很大,联 系也很复杂。一开始很难用一个总体E—R图准确地反映 出它们之间错综复杂的联系。一般从设计各部门的分ER 图入手,每一个分E—R图就是一个用户视图。 用户一般关系模型的设计同样遵循上述导出原则, 从子ER图导出。但必须指明其字段来自全局一般数据模 型的哪个关系,说明记录的选用条件、复合字段与导出 字段的来源与使用的方法。
凭证号 外码 科目名 外码 记帐方向 记帐金额
主码(复合主码)
8.1.3 初始一般关系模型的改进与优化
1.初始一般关系模型的改进--关系规范化 逐一分析模型的这些关系模式中,是否存在部分函 数依赖、传递函数依赖等。确定每个关系模式是否属于 BCNF或3NF,不是则要通过关系模式的分解使之规范化。 2. 一般关系模型的优化--查询/更新分析 规范化程度都属于3NF及其以上的关系组成的关系 模型的基本结构,能消除数据冗余和操纵异常,主要是 有利于数据更新(插入、删除与修改)。 但当一个查询涉及到多个关系中的属性时,必须用 到时空开销大且易出错的连接运算,如果只强调提高规 范化程度而把关系分解得太小,就会得不偿失。
用户评价MIS系统的主要性能指标有 适应性:容易理解,容易改正错误,容易改进,容 易扩充 可靠性:检错、纠错、容错和从故障中恢复的能力 安全性:保密、抗入侵、防病毒、反窃取等能力 工作质量 效益:直接经济效益、间接经济效益和社会效益 工作效率 系统适应性好,容易理解,就便于与用户交流,有 利于用户参与开发与维护,就能提高用户满意度;容易 改正错误,就为系统调试与维护提供了便利,从而节省 系统开发与维护的人力、物力与时间;容易修改就是为 调整其它性能指标创造了有利条件,使其综合性能达到 满意点;容易改进和扩充,就能方便地适应环境或目标 的变化,不断调整各项性能指标,更好地满足用户需求, 有效地延长MIS的生命周期。因此,在系统设计中把系 统适应性摆在突出的位臵。
(属于联系) 工号 姓名 性别 生日职务家庭地址 邮编 电话 所属部号 聘用日期 外码 主码
注: 在1:1联系中,与对方部分个体没有对应个体的实 体称为“零”实体。1:1联系应附加到“零”实体关系 上,即1:1联系应附加到没造成或少造成外码及联系本 身属性空白的实体关系上。例如,把主管工号加到部门 关系而不是把所管部门号加到员工关系上来表达“主管” 联系。 部门关系
8.2.1
模块结构图设计
一、 处理功能模块化的基本概念
1.模块(Modular) 可以组合、分解和更换的单元,是组成系统、易 于理解的基本单位。在管理信息系统中,任何一个处 理功能都可以看作是一个模块。 一个模块具有输入和输出、功能、内部数据、处 理过程等四个特性。总体设计的任务就是决定系统中 模块间的相互关系和各个模块的输入、输出和功能等 外部特性;详细设计才决定每个模块的内部数据和处 理过程等内部特性。处理过程可以是程序代码(计算 机处理)或操作规程(人工处理)。
得到规范化程度较高的基本结构后,要进行查询/更新分析。 如果是以更新为主,可以直接用基本结构来建库;如果是以查询 为主,则应适当合并关系,适当降低规范化程度,而减少查询时 的连接运算。
案例分析:帐务处理案例的基本结构有“经济业务” 与“分录”两个关系 查询/更新分析 结帐、制表、查帐等都要多次进行涉及到这两个 关系的查询。 按规定,记帐凭证输入并在审核认定正确后,就 不能再修改,即使后来发现错误,也只能用反向登 记冲平后再将更正的记录重新登入,所以,只有追 加,而没有删除与修改。
相关文档
最新文档