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

链接地址:https://www.31ppt.com/p-2444642.html