第十六章 系统设计
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(2)模块聚合。聚合(Cohesion)即模块内部各组成部 分的紧凑性标志,体现整体的统一性和模块功能专一性的 程度。模块内部的聚合程度在一定程度上决定了它和其它 模块之间的耦合程度。
(3)模块设计的原则: ①系统中每一个模块内部有高度的聚合性,各个组成部分 彼此密切相关,为完成一个共同的功能组合在一起。 ②模块之间的连接只能存在上下级之间的调用关系,不能 有同组之间的横向联系。
联系的类型可以是1∶1,1∶n,m∶n。
实体(Entity)是现实世界的主要对象,是人所关心的事物,它可以 是人、物或概念性的东西,或者是“事物”与“事物”之间的联系。属 性(Attribute)是事物的某一方面的特性。因此,我们可以由若干属性 值来表示一个实体。 通过E-R图可以把各部门对信息的要求全部汇总到组织模式中。 23
系统模型分为逻辑模型和物理模型。逻辑模型主要确定“系统做什么” 的问题;物理模型则主要解决“系统怎样做的问题”,前者是系统分 析的主要任务,后者是系统设计的主要任务。
2
系统设计的主要工作有:
总体设计。包括信息系统流程图设计、功能结构图设 计和功能模块图设计。
代码设计和设计规范的制定。 系统物理配置方案设计。包括设备配置、通信网络的 选择和设计以及数据库管理系统的选择等。
数据存储设计。包括数据库设计、数据库的安全保密
设计等。
计算机处理过程设计。包括输出设计、输入设计、处 理流程图设计及编写程序设计说明书等。
3
到目前为止,系统设计所使用的主要方法还是以自顶向下结构化的设
计方法,但是在局部环节上使用原型法和面向对象法。这是目前比较
流行的发展趋势。
从分析到设计这个过程中有时并没有明确的界限,可能会有反复的过
段划分的子系统进行校核,使其界面更加清楚和明确,并在此
基础上,将子系统进一步逐层分解,直至划分到模块。
结构化系统设计方法:是在结构化程序设计思想的基础上发展 起来的,用于复杂系统结构设计的技术。它运用一整套标准的 准则和工具,帮助设计人员确定组成系统的模块及相互关系, 自顶向下逐步求精,先全局后局部、先总体后细节、先抽象后 具体,进行整个系统的开发。 6
19
代码的类型:
1、顺序码
2、数字码 3、字符码
4、混合码
20
第三节
一、三种范式
数据结构与数据库设计
二、数据库设计的步骤:数据库设计主要分以下四个阶段:需求 分析;概念结构设计;逻辑结构设计;物理结构设计。 1.需求分析:指对收集到的用户的要求进行分析的过程。需 求分析是数据库设计的重要步骤之一,它也是整个设计步骤的 基础,其目的是根据用户要求决定管理的目标、范围及应用性 质。
22
实体——联系方法(Entity—Relationship Approach),简称E-R方 法:是概念模型设计的典型代表。E-R方法使用E-R图来描述现实世界 (即通过E-R图形表示现实世界中的实体、属性、关系的模型)。 E-R数据模型有三种基本成分:实体、关系和属性 实体(Entity)是信息世界的主要对象,是人所关心的事物,它可以 是人、物或概念性的东西,或者是“事物”与“事物”之间的联系。实 体用方框表示,框内填入实体名。 属性(Attribute)是事物的某一方面的特性。可以由若干属性值来 表示一个实体。属性用椭圆框表示,框内填入属性名。
3、计算机设备选择的指标
17
第二节
代码设计
代码是由数字、字母或它们的组合来表示处理对象的一组符号。 在信息系统中,作为人和机器的共同语言,代码的使用使信息 的检索、校对、分类、汇总变得很方便。
(一)代码的作用 代码的使用,除了用它表示要处理的对象外,更重要的是机 器进行信息处理时,使用代码可使整个过程更为方便。代码的 具体作用是: 1.数据输入简单方便。 2.数据定义的唯一性。 3.便于计算机检索与处理。
由于在系统设计过程中经常是用户事先以选定机器系统设备设计人员没有选择的余地同时各个系统提供的环境和工具又是不一样的还能有各种不同的限制因此模型的转换过程只能分两步走可能有各种不同的限制因此模型的转换过程只能分两Baidu Nhomakorabea走
第十六章 系统设计
青岛大学
王周明
第一节 系统设计的任务
系统设计的任务是:在系统分析提出的逻辑模型的基础上,也即根据 新系统逻辑功能的要求,考虑实际条件,进行各种具体设计,确定系 统的实施方案,科学合理地进行物理模型的设计。
层次模块结构图
模块的结构设计 :
系统结构设计和程序结构设计,最终都归结为模块的分 解和设计。即把系统划分为若干个模块,每个模块完成一个 特定的功能,所有模块汇集起来成为一个整体(系统),满 足问题的要求,完成指定的功能。 模块的分解设计包括内部设计和外部设计两个方面,即 解决模块内部的逻辑构成的同时要处理好模块间的联接关系。 要求每个模块独立性好,模块间的接口比较简单,保证整个 系统的设计简单可靠,结构清晰,可读性和可维护性好。为 了解模块分解设计的合理性和模块的独立性要求,应该先了 解模块耦合和模块聚合的概念。
(一)子系统的划分原则是:
(1)各子系统相对独立完成部分管理功能。
(2)子系统按业务信息逻辑方式划分。 (3)子系统划分从管理科学化出发,不受管理体制可能变化的影响。
(4)子系统间边界清晰,系统内业务和数据联系紧密。
7
二、模块设计
模块(module)是组成系统的基本单位,它是能完 成某项动作的一组程序语句(或描述),具有输入和输 出、逻辑功能、运行环境、内部数据四种属性。
一对一:班级和班号,学生姓名和学号 一对多:班级和学生,学校和学校中的院系 多对多:学生和课程,教师和学生
24
3.逻辑结构设计。逻辑结构设计的任务是设计数据的结构,把 概念结构转换成为选用的DBMS所支持的数据模型。
由于在系统设计过程中,经常是用户事先以选定机器系统设备,设计 人员没有选择的余地,同时各个系统提供的环境和工具又是不一样的,还 可能有各种不同的限制,因此模型的转换过程只能分两步走。首先把概念 模型向一般的数据模型转换,然后再向具体的系统给定的DBMS支持下的 数据模型转换。
5
第一节 系统总体结构设计
一、子系统划分
系统总体结构设计是根据系统分析的要求和组织的实际情况对
新系统的总体结构形式和可利用的资源进行大致设计,它是一 种宏观、总体上的设计和规划。
系统总体结构设计的主要内容有子系统的划分、网络和设备的
配置、设备选型、新系统计算机处理流程图。 系统总体结构设计是从计算机实现的角度出发,对系统分析阶
③整个系统呈树状结构。
④所有模块(包括IPO)都必须严格地分类编码并建立归档文件。
13
结构图又称系统结构图或控制结构图,是用来描述系统层次结 构和相互关系的图图表表工具。它表示了系统构成的模块以及 模块间的调用关系。
层次模块结构图主要关心的是模块外部属性,而不关心模块的 内部(由IPO图解决)。
10
(1)模块耦合(Coupling)。耦合是指一个系统内两个模 块之间的相互依赖关系。我们把模块耦合作为衡量不同模块 间彼此依赖的紧密程度的指标,耦合程度越低,模块间联系 越简单,接口越简单,每个模块的独立性越强;耦合程度高 则模块间联接形式和接口复杂程度越高,模块独立性差,模 块的设计、修改和维护复杂,模块间相互影响大,当一个模 块出错时容易扩散蔓延影响其它模块,致使系统的可靠性差。 模块间的联接形式是影响模块耦合的主要因素。两个模 块间的主要联结形式有四种:数据耦合、控制耦合、公共耦 合和内容耦合。
11
①数据耦合。如果两个模块间不仅存在调用和被调用关系,而且彼此间的联系通 过数据传递,或者说由参数交换信息,称之为数据耦合。
数据耦合是最理想的耦合,耦合程度最低,但要把模块间传递的数据量控制在最 少,既降低了信息通讯的复杂程度,又增强了模块的独立性。
②控制耦合。两个模块A、B之间,除了传递数据信息外,还传递控制信息。控制 信息形式上是数据,但实质上是一个“标志”或一个“状态”。接收控制信息的 模块A根据控制信息的状态做出判断,执行不同的处理功能。我们称这种耦合为控 制耦合。控制耦合是中等的耦合程度, ③公共耦合。两个模块彼此间通过一个公共的数据区传递信息,则模块间出现较 强的耦合程度。
21
2.概念结构设计
概念结构设计的主要工作是设计概念性数据模型。它与数据库的逻 辑结构无关,与特定的数据库管理系统无关,仅仅用它来明确表达用户 的数据要求。 概念性数据模型是一个面向问题的模型,它与将来数据库如何实现 也无关,要使概念性模型既能反映用户的需求,又能作为设计数据库结 构的基础模型。概念结构设计是数据库设计的关键。 概念模型设计一般采用绘制E-R图的方法来完成。P.P.Chen于1976年提 出的。
输入来源和输出去向在一般情况下都是同一调用者, 即模块从调用者处获得输入,经模块处理后产生的输出 返回给调用者;模块的逻辑功能即描述模块内部如何实 现要求的功能;运行环境指模块的使用环境和模块间的 相互关系;内部数据是指属于模块自己的数据。 由于模块功能明确,具有一定的独立性,因此模块 的组合可以使系统具有良好的可修改性和可维护性。在 一个系统中,模块以层次结构组成,上层模块包含下层 模块,最下层的模块是工作模块,完成具体的任务。上 下结合构成一个完成一定功能的系统。
目前主要的数据模型是关系模型。如:库存(入库号、日期、货位、 数量)
25
4.数据库的物理设计。数据库的物理设计,首先对给定的逻辑数据模型选取一个适合于 应用环境的物理结构,如存储结构和读取方法等。然后对物理结构进行评价,如果设计结 果在时间和空间效率上满足设计要求则转向物理实施,否则重新设计或修改物理结构。如 有必要则重新回到逻辑结构设计阶段,对数据模型进行修改。 物理设计的主要内容为: (1)存储结构的确定。根据处理的需要及系统提供的方法选择存储结构。确定时考虑的 因素为存取时间、存储空间利用率和维护代价三个方面。 (2)确定数据存放位置。根据数据的应用情况将数据划分为不同的组,如把数据的易变 部分和稳定部分分开,经常存取与否分开,可以把经常存取或存取要求快的数据存放在高 速存储器上,把互相间有联系,常常同时存取的记录存放在同一磁盘的同一柱面或相邻柱 面上等等。 (3)存取路径的确定。数据库支持多用户数据共享,应提供对数据库的多个存取入口, 也就是提供多条存取路径。设计者要根据实际需要进行定量分析,然后根据计算结果确定 存取路径。
14
模块结构的图形表示
5个图例: 4个基本关系:
15
(二)通信网络与计算机资源配置
通信网络设计是解决各个子系统用内部局域网连接起来,以及 今后系统如何与外部系统相连接的问题。 网络设计的要求见课本P374
16
资源(设备)配置
1、设备选配的依据:
(1)应完全根据系统调查和系统的结果来考虑硬件 配置和系统结构; (2)要考虑到实现上的可能性和技术上的可靠性。 2、网络选择的指标
8
模块的层次功能分解图——HIPO图
HIPO图是指用图形方法表示一个系统的输入和输出 功能,以及模块的层次关系,将系统的逻辑模型转换为 物理模型。
由模块的基本属性可知,任何功能模块都是由输入、 处理、输出三个基本部分组成。HIPO图以这三个基本部 分和模块分解的层次性为基础,将一个大的功能模块自 顶向下逐层分解得到系统的模块层次结构,对于每一个 模块则可分解为输入、处理和输出的具体执行模块。 HIPO图由层次结构图和IPO两部分构成,前者描述 了整个系统的设计结构以及各类模块之间的关系,后者 描述了某个特定模块内部的处理过程和输入/输出关系。 HIPO图一般由一第总的层次化模块结构图和若干 张具体模块内部展开的IPO图组成。 9
④内容耦合。一个模块与另一个模块的内容发生联系(如要使用该模块的内部数 据或控制信息)称这种耦合为内容耦合。内容耦合的耦合程度最高。
在进行模块设计时,应使模块的耦合程度尽可能低。数据耦合最理想,最好 少用控制耦合,必要时可考虑使用公共耦合但是应尽量少用。为保证模块的独立 性,绝对不能采用内容耦合。
12
18
(二)代码设计时应遵循的原则 第一,要考虑的是编码的标准化,尽量按照有关的国际标准、 国家标准、部门或行业的标准进行设计。 第二,要考虑容易修改,当某个代码在特点、条件或代表的 实体关系改变时,容易进行变更。 第三,要考虑结构简洁,代码的长度涉及到存储空间的占用 和信息处理的速度。而且影响代码输入的出错率,所以,在满 足当前需要和扩充性要求的前提下应尽量结构简单,长度要短。
程。
系统设计的结果是一系列的系统设计文件,程序设计开发人员依靠它 们编制软件程序,硬件安装实施人员依靠它们安装硬件设备。
4
系统设计,应遵循的原则:
系统性。即系统设计应从系统全局进行考虑,具体而言,要做到代码统 一,标准化的设计规范和传递语言,数据采集要做到数出一处、全局共 享。 灵活性。即让系统具有较强的适应性与兼容性。具体要求是,在系统设 计中,尽量采用模块化结构,提高各模块的独立性,尽可能减少模块耦 合程度。 可靠性。可靠性是指系统抵御外界干扰的能力及受外界干扰时的恢复能 力。如安全保密性、检错及纠错能力、抗病毒能力等。 经济性。指在满足系统需求及兼顾未来系统扩大的前提下,尽可能减小 系统的软、硬件开销。