【教学课件】第八章结构化系统设计(SSD).ppt
《【教学课件】第八章结构化系统设计(SSD).ppt》由会员分享,可在线阅读,更多相关《【教学课件】第八章结构化系统设计(SSD).ppt(187页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第八章第八章 结构化结构化系统设计系统设计(SSD)结构化系统设计(Structured System Design)遵循结构化的思想n自顶向下,逐步求精的策略n目标明确,成果规范的阶段n层次清楚,体系严谨的结构n形象直观,清晰易懂的表达 划分为总体设计和详细设计两个阶段。每个阶段都包括n动态的处理流程设计:处理功能模块化n静态的数据结构设计:数据结构模型化n系统平台的设计:系统平台开放化 MIS的结构化系统设计 总体设计方案是结构化系统分析得到的逻辑模型到结构化系统设计的详细设计中所得到的具体的物理模型中间的一个桥梁。在详细设计中,才完成系统平台的具体软硬件设备的详细结构和具体选型,并在此基
2、础上,具体地完成模块的流程设计,数据结构具体实现的构架设计及其所使用的代码系统设计,得到可以直接安装、建库、编程、调试直至运行的物理模型。这样纵横划分当然是为了问题简化,思路清晰。但在信息系统工程中,结构化系统设计也努力追求动态处理流程的设计与静态数据结构的设计之间的集成融合,追求阶段之间的无缝过渡。基本目的是要得到一个令用户满意的良好的实现方案。用户评价MIS系统的主要性能指标有n适应性:容易理解,容易改正错误,容易改进,容易扩充 n可靠性:检错、纠错、容错和从故障中恢复的能力 n安全性:保密、抗入侵、防病毒、反窃取等能力 n工作质量n效益:直接经济效益、间接经济效益和社会效益 n工作效率
3、系统适应性好,容易理解,就便于与用户交流,有利于用户参与开发与维护,就能提高用户满意度;容易改正错误,就为系统调试与维护提供了便利,从而节省系统开发与维护的人力、物力与时间;容易修改就是为调整其它性能指标创造了有利条件,使其综合性能达到满意点;容易改进和扩充,就能方便地适应环境或目标的变化,不断调整各项性能指标,更好地满足用户需求,有效地延长MIS的生命周期。因此,在系统设计中把系统适应性摆在突出的位置。MIS的总体设计 总体设计总体设计,又称概要设计,是以系统分析中得到的新系统的逻辑模型为依据,着眼于“如何做”,但又不考虑具体的特定系统平台,从全局一般的视野,来设计MIS的总体方案。包括从全
4、局实体联系图(ERD)导出数据的一般关系模型并改进优化之;从数据流图(DFD)及其数据字典(DD)中的加工说明,导出模块结构图(MSD);基于可行性研究的初步方案中系统平台构思,依据组织机构、数据的一般关系模型和MSD设计系统平台总体布局,得到系统平台总体布局图。下面8.18.4节讨论系统的总体设计。这里把教材上的1、2两节对调,因为处理功能设计中要对数据库模型中的一般关系模型中的关系读写数据。8.1 MIS的一般关系模型的设计的一般关系模型的设计 关系模型是由关系数据结构、关系操作集合和关系完整性约束三部分组成。MIS的一般关系模型的设计是指:在不涉及到任何具体的数据库管理系统(DBMS)与
5、不考虑任何具体的系统操作平台与运行环境的情况下,依据结构化系统分析中得到的实体联系图ERD,设计具有一般通用性的关系模型。8.1.1 一般关系模型设计的基本任务一般关系模型设计的基本任务 1.从全局从全局ERER图导出一般关系数据模型(全局一般关系图导出一般关系数据模型(全局一般关系模型)模型):从系统全局ER图构造出各个关系(二维表),以关系框架(表头:描述记录结构,由属性名、外码、主码等三行构成)表示,它们构成了全局数据模型。2.初始一般关系模型的改进与优化初始一般关系模型的改进与优化:n改进:检查关系模式的规范化,不是BCNF或3NF的,要通过分解规范化到BCNF或3NFn优化:通过查询
6、/更新分析,对要频繁多关系查询而又很少更新的关系要适当合并,降低规范化程度而提高查询效率。3.导出用户一般关系数据模型(用户视图)导出用户一般关系数据模型(用户视图):从全局数据模型中,依据各子ER图,抽出一些属性(表栏、数据项)和满足某些条件的元组(行、记录),加上某些导出项构成满足具体子系统或模块需要的数据模型。8.1.2 从从ER图导出一般关系模型的基本原则图导出一般关系模型的基本原则 现以帐务处理(图7.21)和工资核算(图8.16)的ERD为实例,介绍从ER图导出一般关系模型的四个基本原则。“的的”应扣款应扣款奖金奖金变动津贴变动津贴姓名姓名工号工号工龄工资工龄工资职务工资职务工资基
7、本工资基本工资任职日期任职日期员员 工工部门类型部门类型部门名部门名部门号部门号部部 门门所属所属主管主管调来日期调来日期固定补贴固定补贴职务职务固固定定工工资资变变动动工工资资家庭家庭成员成员姓名姓名称谓称谓性别性别生日生日职业职业工作单位工作单位“的的”“的的”图图8.16 8.16 工资核算的工资核算的ERER图图性别性别 生日生日家庭家庭地址地址邮编邮编电话电话原则原则1 1:ER图中的每一个独立实体变换为一个关系,其属性变为关系的属性,其主标识变为关系的主码。例如,图8.16中独立实体“部门”、“职员”分别变为部门关系、员工关系。部门关系部门号部门名部门类型主码员工关系工号姓名性别生
8、日职务家庭地址 邮编 电话主码原则原则2 2:ER图中的从实体及相应的主从联系变换为一个关系,从实体的属性加上主实体关系的主码构成这个关系的属性。如果主从联系是1:1的,则以主实体关系的主码(作为外来码)为这个关系的主码;如果主从联系是1:M的,则以主实体关系的主码加上同一主实体个体联系的不同从实体个体赖以相互区分的属性组,组成该关系的主码。例如,图8.16中主实体“员工”与从实体“固定工资”、“变动工资”的主从联系是1:1的,转换为以“员工工号”为主码的“固定工资”关系、“变动工资”关系;主实体“员工”与从实体”家庭成员“的主从联系是1:M的,而“称谓”可以把同一个员工的不同家庭成员区分开来
9、,可以转换为以“员工工号”与“称谓”为复合主码的“家庭成员”关系。工号基本工资职务工资工龄工资 固定补贴外码主码工号变动津贴奖金应扣款外码主码固定工资关系变动工资关系员工工号称谓姓名性别 生日职业工作单位外码主码(复合)家庭成员关系关系原则原则3 3:1:M联系通过在“多”实体关系中增加相联系的“1”实体关系的主码及联系本身的属性来表达。其中“1”实体主码为外来码。例如,在员工关系中增加“所属部门号”这个外来码反映1:M联系所属职员关系。工号 姓名 性别生日职务家庭地址邮编电话所属部号聘用日期外码主码(属于联系)员工关系注:在1:1联系中,与对方部分个体没有对应个体的实体称为“零”实体。1:1
10、联系应附加到“零”实体关系上,即1:1联系应附加到没造成或少造成外码及联系本身属性空白的实体关系上。例如,把主管工号加到部门关系而不是把所管部门号加到员工关系上来表达“主管”联系。部门号部门名部门类型主管工号任职日期外码主码部门关系(主管联系)原则原则4 4:M:M联系转换成一个独立的关系,被联系实体关系的主码(作为外来码)和联系本身的属性作为该关系的属性,被联系实体关系的主码组成其复合主码。例如,图7.22帐务处理ER图中的分录联系转换为分录关系关系注意:如果要保存时间序列数据,则日期、时间属性往往应加入到主码中。凭证号科目名记帐方向记帐金额外码外码主码(复合主码)分录关系8.1.3 初始一
11、般关系模型的改进与优化初始一般关系模型的改进与优化1.初始一般关系模型的改进关系规范化 逐一分析模型的这些关系模式中,是否存在部分函数依赖、传递函数依赖等。确定每个关系模式是否属于BCNF或3NF,不是则要通过关系模式的分解使之规范化。2.一般关系模型的优化查询/更新分析 规范化程度都属于3NF及其以上的关系组成的关系模型的基本结构,能消除数据冗余和操纵异常,主要是有利于数据更新(插入、删除与修改)。但当一个查询涉及到多个关系中的属性时,必须用到时空开销大且易出错的连接运算,如果只强调提高规范化程度而把关系分解得太小,就会得不偿失。得到规范化程度较高的基本结构后,要进行查询/更新分析。如果是以
12、更新为主,可以直接用基本结构来建库;如果是以查询为主,则应适当合并关系,适当降低规范化程度,而减少查询时的连接运算。案例分析:案例分析:帐务处理案例的基本结构有“经济业务”与“分录”两个关系n查询/更新分析v结帐、制表、查帐等都要多次进行涉及到这两个关系的查询。v按规定,记帐凭证输入并在审核认定正确后,就不能再修改,即使后来发现错误,也只能用反向登记冲平后再将更正的记录重新登入,所以,只有追加,而没有删除与修改。n优化提高查询效率:可以考虑把两者合并为“分录日记帐”或称“记帐凭证关系”(下页表),从而提高查询效率n问题:追加中将必需对“经济业务”信息多次重复输入,既增加了输入量,又可能产生不一
13、致而破坏了数据完整性。n问题的解决办法:设计专门的追加(输入)和修改的应用程序,用“一次输入,多次复制”或“一处修改就同时修改”的策略,来减少重复输入与修改,保证不破坏数据完整性。首先得到规范化程度在3NF及其以上的关系组成的一般关系模型是主要的,这会使开发维护人员和用户都容易理解和把握相同全局的数据结构,做到心中有数,在实现、维护和运行系统时,就不致迷失方向而犯破坏数据完整性等方面的错误。记帐凭证关系记帐凭证关系凭证号凭证号日期日期摘要摘要 业务金额业务金额 附件张数附件张数科目码科目码记帐方向记帐方向 记帐金额记帐金额外码外码复合主码复合主码8.1.4 用户一般关系模型的设计用户一般关系模
14、型的设计 一个数据库应用系统可能涉及到一个组织的许多部门,有许多用户,包含的数据种类和数据量都很大,联系也很复杂。一开始很难用一个总体ER图准确地反映出它们之间错综复杂的联系。一般从设计各部门的分ER图入手,每一个分ER图就是一个用户视图。用户一般关系模型的设计同样遵循上述导出原则,从子ER图导出。但必须指明其字段来自全局一般数据模型的哪个关系,说明记录的选用条件、复合字段与导出字段的来源与使用的方法。8.2 MIS处理功能的总体设计处理功能的总体设计 MIS处理功能的总体设计是要确定,从总体上看,要完成其信息输入、处理、存取、输出的那些任务,MIS应该“如何做”。其基本思路是:以系统的加工任
15、务和数据流程为基础,依据系统的DFD及其DD,借助于一套标准的设计准则与图表工具,通过“自顶向下”的逐层分解和“自底向上”的反复推敲,把系统功能划分为多个层次分明,大小适当,任务单一,相对独立,容易理解和实现的处理单元模块,并组成模块结构图,展现出上层模块对下层模块的调用、模块间的数据交换、数据对系统的输入/输出、模块对数据存储的读/写。8.2.1 8.2.1 模块结构图设计模块结构图设计一、一、处理功能模块化的基本概念处理功能模块化的基本概念模块(模块(ModularModular)可以组合、分解和更换的单元,是组成系统、易可以组合、分解和更换的单元,是组成系统、易于理解的基本单位。于理解的
16、基本单位。在管理信息系统中,任何一个处在管理信息系统中,任何一个处理功能都可以看作是一个模块。理功能都可以看作是一个模块。一个模块具有输入和输出、功能、内部数据、处一个模块具有输入和输出、功能、内部数据、处理过程等四个特性。总体设计的任务就是决定系统中理过程等四个特性。总体设计的任务就是决定系统中模块间的相互关系和各个模块的模块间的相互关系和各个模块的输入、输出和功能输入、输出和功能等等外部特性;详细设计才决定每个模块的外部特性;详细设计才决定每个模块的内部数据和处内部数据和处理过程理过程等等内部特性。内部特性。处理过程可以是程序代码(计算处理过程可以是程序代码(计算机处理)或操作规程(人工处
17、理)机处理)或操作规程(人工处理)。2模块的分层与调用 系统由模块以层次结构组成。n逻辑上,上层模块的任务通过调用其下层模块来共同分担、完成,最下层的是具体工作模块,执行具体任务。n物理上,子模块是其上层父模块的组成部分。n每个模块有自己独立的任务,只有上级模块的调用才能执行。n模块之间的通信只限于直接上下级之间。划分模块的基本要求n模块功能简单明确n模块划分按层次进行n模块尽可能独立n模块之间的关系要明确说明二、模块结构图二、模块结构图(Modular Structure Diagram)模块结构图(Modular Structure Diagram,MSD),也称控制结构图或系统结构图,简
18、称结构图,是HIPO图的进一步发展。它不仅表示了系统功能的层次分解关系,还表示了模块的调用关系及模块之间数据流与控制流信息的传递关系,以及模块对数据存储的读写及外部对象间的输入输出关系,是结构化系统设计的一种重要图表工具。模块的图形表示n一般模块:用矩形表示,模块名写在方框内,如图8.1(a)所示。n叶模块:不再分解、不再调用别的模块的基本模块,必要时表示成下横为双线的矩形,如图8.1b)所示。n预定义模块:作为特殊叶模块的公用模块,例如程序库中的子程序。必要时表示为上下横为双线的矩形,如图8.1 c)所示。a)模块图形 b)叶模块图例 c)预定义模块图例图8.1 模块的图形表示编工资表打印报
19、表开平方模块的调用表示在结构图中,模块间的调用一般有如下三种:n一般调用:用 表示模块间的调用关系,箭尾部分是调用模块,箭头部分是被调用模块。如图8.2 a)所示。n选择调用:用 表示一个模块中包含着选择判断,根据判断结果确定调用模块。如图.b)所示。n循环调用:用 表示一个模块中包含着循环处理功能。如果一个模块中存在着一个主模块,需要循环调用某一个或若干个从属模块,它们的循环调用关系如图.c)所示。不需要特别强调时,通常不画出循环符号。a)一般调用 b)选择调用 c)循环调用 图8.2 模块间的调用 AAA3模块间通信的图形表示 模块间的通信用调用箭头旁边的小箭头表示,说明调用时从一个模块传
20、递给另一模块的信息。小箭头也指出了传递的方向。作为被处理对象的数据和能改变模块内部流程的控制信号则分别用小箭头尾端的空心小圆圈和实心小圆圈来区分。一般情况下也不必特别区分,可保持箭尾为空白。图.表示模块有条件地调用或,并无条件地调用。在调用时将数据、传递给。从返回时将数据、带回给。ABCD图8.3 模块间的通信 为了使结构表达得更清楚,除了上述介绍的几种基本符号外,还可以用一些辅助符号,如选择、循环用()编号,然后列表说明等。4读写数据存储的图形表示图8.4 读写数据存储AB数据存储5与外界通信(输入输出)的表示用从输入对象指向模块的箭头表示读入,用从模块指向输出对象的箭头表示输出。输入对象(
21、键盘)输出对象(打印)(屏幕)也可用 编号(卡片、单据)6转接方法结构图如果在一张纸上表达不下,要转接到另一张纸上,或者在同一张纸上由于地方所限要转换到另一地方,或者是要避免箭头交叉,可以用转接符号。如用带圆圈的小写字母表示调用线转接,用重复的虚线框模块表示模块转接等。转接符号没有统一的规定。7小说明为了清楚表达,必要时可以附加文字小说明,包括:通信说明、选择说明、循环说明、输入/输出对象与存储说明、模块说明。以工资核算系统为实例来说明模块结构图的画法。三、模块结构图的评价指标与设计原则三、模块结构图的评价指标与设计原则 模块结构图设计的合理性直接决定了系统功能设计的质量。模块结构图的评价包括
22、模块内部逻辑构成评价和模块间的相互联结关系的评价。块内联系模块内聚 模块内聚是衡量一个模块内部各组成部分间整体统一性的指标,描述了一个模块功能专一性的程度。根据模块的内部构成情况,内聚可划分为以下七个等级:n偶然内聚:一个模块的构成是由若干个毫无关系的功能偶然地组合在一起,称为偶然内聚模块n逻辑内聚:一个模块的构成是由若干个结构不同、但具有逻辑相似关系的功能组合在一起的,称为逻辑内聚模块。n时间内聚:一个模块是由是在相同阶段内执行的,若干个彼此关系不大的功能放在一起构成的,称为时间内聚模块。n过程内聚:一个模块是由受同一个控制流支配、决定执行次序的若干彼此没有多少关系的功能组合在一起构成的,称
23、为过程内聚模块。n通信内聚:一个模块的内部的各个组成部分的处理功能,其输入或输出都共享相同的数据,称为通信内聚模块。n顺序内聚:一个模块内部的各个处理功能密切相关,顺序执行,前一个功能所产生的输出数据直接作为下一个处理功能的输入数据,称为顺序内聚模块。n功能内聚:一个模块内部的各个组成部分的处理功能全都为了执行同一个功能而存在,并且只执行一个功能,称为功能内聚模块。注意:功能内聚模块与功能模块不是同一个概念,信息系统中所有模块都是功能模块,但只有完成单一功能的模块才是功能内聚模块。通常有接受(有时还判别)输入并反馈非正常输入、完成单一功能和送回结果这三个密不可分的部分组成。作为叶模块的功能内聚
24、模块是基本功能模块,只完成一项基本功能。一个上层调用模块,虽然调用其下层模块可完成具有不同关系的多项功能,因而总体上可有不同的内聚度;但如果具体功能都由其下层模块去完成,它本身只完成接收输入数据并判断之,对非法数据则反馈信息给调用它的程序;对合法数据则通过调用,把数据传送给被调用模块,由下层模块去完成具体功能;接受被调用模块送回的数据,并传送回上层模块。就可称之为纯调用模块。它只完成调用功能,也是功能内聚模块。设计时应该力求做到高内聚。内聚和耦合是密切相关的,模块内的高内聚往往意味着模块间的松偶合。内聚和耦合都是进行模块化设计的有力工具。模块内聚度的判别可用图8.7来示意。完完 成成单单 一一
25、功能功能使几件使几件事相关事相关的因素的因素顺序的顺序的顺序内聚顺序内聚通信内聚通信内聚功能内聚功能内聚在同一控在同一控制结构中制结构中过程内聚过程内聚时间内聚时间内聚动作相似动作相似逻辑内聚逻辑内聚偶然内聚偶然内聚Y YY YY YY YN NN NN N数据流程数据流程共享数据共享数据处理逻辑处理逻辑(控制流控制流)同同一一时时间间段内执行段内执行压缩编码压缩编码或使模块变大或使模块变大图图8.7 8.7 模块内聚评价判别示意图模块内聚评价判别示意图块间联系模块耦合 衡量模块之间联结程度的指标。模块之间除了有调用联系外,还有信息交换联系,模块间的这些关系,称做模块间的耦合。影响模块间耦合程
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教学课件 教学 课件 第八 结构 系统 设计 SSD
限制150内