1.26k likes | 1.4k Views
第七章 管理信息系统的系统设计. 第一节 系统设计的任务 第二节 代码设计 第三节 功能结构图设计 第四节 信息系统流程图设计 第五节 系统物理配置方案设计 第六节 输出设计 第七节 输入设计 第八节 数据存储设计 第九节 处理流程图设计 第十节 制定设计规范 第十一节 编写程序设计说明书和系统设计报告. 第一节 系统设计的任务. 系统设计的任务是:在系统分析提出的逻辑模型的基础上,也即根据新系统逻辑功能的要求,考虑实际条件,进行各种具体设计,确定系统的实施方案,科学合理地进行物理模型的设计。
E N D
第七章 管理信息系统的系统设计 • 第一节 系统设计的任务 • 第二节 代码设计 • 第三节 功能结构图设计 • 第四节 信息系统流程图设计 • 第五节 系统物理配置方案设计 • 第六节 输出设计 • 第七节 输入设计 • 第八节 数据存储设计 • 第九节 处理流程图设计 • 第十节 制定设计规范 • 第十一节 编写程序设计说明书和系统设计报告
第一节 系统设计的任务 • 系统设计的任务是:在系统分析提出的逻辑模型的基础上,也即根据新系统逻辑功能的要求,考虑实际条件,进行各种具体设计,确定系统的实施方案,科学合理地进行物理模型的设计。 • 系统模型分为逻辑模型和物理模型。逻辑模型主要确定“系统做什么”的问题;物理模型则主要解决“系统怎样做的问题”,前者是系统分析的主要任务,后者是系统设计的主要任务。
系统设计的主要工作有: • 总体设计。包括信息系统流程图设计、功能结构图设计和功能模块图设计。 • 代码设计和设计规范的制定。 • 系统物理配置方案设计。包括设备配置、通信网络的选择和设计以及数据库管理系统的选择等。 • 数据存储设计。包括数据库设计、数据库的安全保密设计等。 • 计算机处理过程设计。包括输出设计、输入设计、处理流程图设计及编写程序设计说明书等。
到目前为止,系统设计所使用的主要方法还是以自顶向下结构化的设计方法,但是在局部环节上使用原型法和面向对象法。这是目前比较流行的发展趋势。 • 从分析到设计这个过程中有时并没有明确的界限,可能会有反复的过程。 • 系统设计的结果是一系列的系统设计文件,程序设计开发人员依靠它们编制软件程序,硬件安装实施人员依靠它们安装硬件设备。
系统设计,应遵循的原则: • 系统性。即系统设计应从系统全局进行考虑,具体而言,要做到代码统一,标准化的设计规范和传递语言,数据采集要做到数出一处、全局共享。 • 灵活性。即让系统具有较强的适应性与兼容性。具体要求是,在系统设计中,尽量采用模块化结构,提高各模块的独立性,尽可能减少模块耦合程度。 • 可靠性。可靠性是指系统抵御外界干扰的能力及受外界干扰时的恢复能力。如安全保密性、检错及纠错能力、抗病毒能力等。 • 经济性。指在满足系统需求及兼顾未来系统扩大的前提下,尽可能减小系统的软、硬件开销。
第二节 代码设计 • 代码是代表事物名称、属性、状态等的符号。在信息系统中,代码是人和机器的共同语言,是便于进行信息分类、校对、统计和检索的关键,一般用数字、字母或它们的组合来表示。 • 代码设计是实现一个信息系统的前提条件,其目的是要设计出一套为系统各部分所公用的优化的代码系统。
一、代码的功能 • 为事物提供一个标识,便于数据的储存和检索,节省时间和空间。 • 可以提高处理的效率和精度。按代码对事物进行排序、累计或按某种规定算法进行统计分析,可以十分迅速。 • 代码提高了数据的全局一致性。比如:在设计部门成为“新产品设计图”在生产部门可能称为“样品图”。 • 代码是人和计算机的共同语言,是两者交换信息的工具。将实体物质代码化是适应计算机处理的要求。
代码设计应从系统分析阶段就开始,严格地讲,代码设计是从编制数据字典开始的,到系统设计阶段才能最后确定。代码设计应从系统分析阶段就开始,严格地讲,代码设计是从编制数据字典开始的,到系统设计阶段才能最后确定。 • 编码对象主要为数据存储中所包含的数据元素与数据结构,代码设计的结果应形成编码文件,作为系统设计与编程的标准。 • 在代码设计时要认真查阅国家和部门已经颁布的各类标准——如GB2260-80中华人民共和国行政区划代码、GB1988-80信息处理交换的七位编码字符集……。
二、代码的设计原则 • 在代码设计时,应遵守以下设计原则: • 逻辑结构与处理方法的一致性:设计的代码在逻辑上必须能满足用户的需要,在结构上应当与处理的方法相一致。例:考虑到库存盘点时的方便性,原材料代码设计时应便于统计处理,可设计为顺序码,而不是特征码,层次码或随机码等。 • 唯一确定性:每一个代码都仅代表唯一的实体或属性。 • 可扩充性和稳定性:要考虑系统的发展和变化,一般考虑3-5年的使用期限。当增加新的实体或属性时,直接利用原代码加以扩充,而不需要重新变动代码系统。
标准化与通用性:国家有关编码标准是代码设计的重要依据,此外,系统内部使用的同一种代码应做到统一,使代码的使用范围越广泛越好。最好能够与同行业以及上、下游行业兼容。标准化与通用性:国家有关编码标准是代码设计的重要依据,此外,系统内部使用的同一种代码应做到统一,使代码的使用范围越广泛越好。最好能够与同行业以及上、下游行业兼容。 • 便于识别和记忆:为了同时适于计算机和人工处理使用,代码不仅要具有逻辑含义,而且要便于识别和记忆。对于一些易混淆的字母。如O、Z、I、S、V,尽量不用。 • 短小精悍:代码的长度不仅会影响所占据的存储单元和信息处理的速度,而且也会影响代码输入时出错的概率。因此,当代码长于4个字母或5个数字时,应分成小段,这样人们读写时不容易发生错误。
有序码 • 有序码(系列码),是一种用连续数字代表编码对象的码,优点是短而简单,记录的定位方法简单,易于管理。 • 缺点是没有逻辑基础,本身不能说明任何信息的特征。此外,新加的代码只能列在最后,删除则造成空码。 • 通常,顺序码作为其他码分类中细分类的一种补充手段。
区间码 • 区间码把数据分成若干组,每一区间代表一个组,码中数字的值和位置都代表一定意义。 • 例如,会计科目代码,用区间码表示会计科目的性质如下: • 101~199 表示资产类的项目 • 201~299 表示负债类项目 • 301~399 表示所有者权益类项目 • 401~499 表示成本类项目 • 501~599 表示损益类项目 • 区间码的优点:信息处理比较可靠,排序、分类、检索等操作易于进行。 • 区间码的缺点:码的长度与分类属性有关,可能造成很长的码。在许多情况下,码有多余的数,容易造成浪费。同时,这种码的维护也比较困难。
助忆码 • 用文字、数字或文字数字结合起来描述。其优点是,可以通过联想帮助记忆。缺点是,可能引起联想出错,可能会占用过多的计算机容量。 • 助忆码适用于数据项数据较少的情况(一般少于50个)。
四、代码结构中的校验位 • 人们在输入代码的时候,难免会发生错误。为了保证正确的输入,可以在原有代码的基础上,加上校验位,计算机会根据事先规定的数学方法计算出校验位,并将它与输入的校验位进行比较,以证实输入是否有错。 • 校验码可以检查出移位错(1234记录为1243)、双重移位错(1234记录为1432)、抄写错(1234记录为1235)和随机错误(包括以上两种或三种以上综合性错误)。
确定校验位值的方法:1、算术级数法。2、几何级数法。3、质数法。确定校验位值的方法:1、算术级数法。2、几何级数法。3、质数法。 • N位代码:C1C2C3……Cn • 权因子:P1P2P3……Pn • 权因子为自然数时称为算术级数法;为几何级数时称为几何级数法;为质数时称为质数法。 • 加权和:S=C1P1+C2P2+C3P3+……+CnPn • 以模除和得余数: 。其中S为和,M为模,Q为商,R为余数。模可取不同的数,如10、11等。 • 得到校验位:将余数作为校验位,附加在原代码后。 • 确定校验位值的方法:1、算术级数法。2、几何级数法。3、质数法。 • N位代码:C1C2C3……Cn • 权因子:P1P2P3……Pn • 权因子为自然数时称为算术级数法;为几何级数时称为几何级数法;为质数时称为质数法。 • 加权和:S=C1P1+C2P2+C3P3+……+CnPn • 以模除和得余数: 。其中S为和,M为模,Q为商,R为余数。模可取不同的数,如10、11等。 • 得到校验位:将余数作为校验位,附加在原代码后。
例如: • 原代码:4 5 6 7 8 • 权因子:2 4 8 16 32 • 模:11 • 校验码: 456784
第三节 功能结构图设计 • 所谓功能结构图就是按功能从属关系画成的图表,图中每一个框称为一个功能模块。 • 当前的软件开发基本上都是以模块为单位,进行设计。因此,在系统设计阶段,就要求设计人员把一个复杂的系统分解为多个功能较单一的功能模块。这种把一个信息系统设计成若干模块的方法称做模块化。 • 模块化的好处是:第一,这种方法可以把一个复杂的系统分解为一些规模较小、功能较简单的部分、这就使得系统更易于建立和修改;第二,由于各个模块具有相对独立性,因此可以分别加以设计实现,从而提高了软件开发的效率。
实现模块化的工具,可以借助于功能结构图的绘制。下面给出一个例子,说明建立功能结构图的步骤:实现模块化的工具,可以借助于功能结构图的绘制。下面给出一个例子,说明建立功能结构图的步骤: • 第一步,从数据流程图中,选出一个“功能处理”及其该“功能处理”的输入和输出数据流,作为模块划分的对象。 备货单 订单 订单处理 缺货文件 库存文件 已处理订单
第二步,因为任何功能模块都是由输入、处理和输出三个基本部分组成,因此,根据数据流程图,可以把“订单处理”模块分解为输入、处理和输出三个功能模块。第二步,因为任何功能模块都是由输入、处理和输出三个基本部分组成,因此,根据数据流程图,可以把“订单处理”模块分解为输入、处理和输出三个功能模块。 1、确定能否供货 2、处理缺货单 3、处理可供货订单 1、输入订单 2、读库存文件 1、编辑备货单 2、打印备货单
第三步,将各模块逐层进行功能分解,并绘制“订单处理”的功能结构图。第三步,将各模块逐层进行功能分解,并绘制“订单处理”的功能结构图。
练习:做出P114中的“销售处理”的功能结构图练习:做出P114中的“销售处理”的功能结构图 第一步,抽取出各个功能处理
补充内容:模块耦合 • 模块耦合,是衡量一个模块与其他模块在联接形式和接口复杂性方面相互作用关系的指标,标志着系统结构设计的质量。 • 模块耦合程度的高低直接影响了系统的可修改性和可维护性。在一般情况下,耦合程度越低,说明系统各组成模块间联系越简单,则每个模块的独立性就越强,就越容易独立地进行设计、修改和维护。也就是说,其中一个模块的错误就越不容易扩散蔓延而影响其它模块。
模块的耦合程度,一般取决于模块本身的质量和相互联结的类型、模块间接口的复杂程度及模块间传递的信息流类型等。模块的耦合程度,一般取决于模块本身的质量和相互联结的类型、模块间接口的复杂程度及模块间传递的信息流类型等。 • 据此,可以把模块耦合划分为以下三种类型: • 1.数据耦合; • 2.控制耦合; • 3.内容耦合。
1.数据耦合 • 即两个模块之间的联系是通过数据交换实现的,这是一种最理想的偶合,偶合程度最低。一般来说,两个模块之间传递的数据越少,模块间的独立性就越强,因此模块的可修改性和可维护性就越高。 计算 格式化后 的结果 结果 编辑成一定格式
2.控制耦合 • 在两个模块之间,除了传递数据信息外,还传递控制信息。把模块间的这种联接关系称为控制耦合。在系统设计中应尽量避免或减少控制耦合。 A各种业务输入 业务 类型 原始数据 B确定业务类型 C输入业务数据X D输入业务数据Y 模块A的内部处理逻辑,是执行模块C还是模块D, 要根据模块B的结果而定。
3.内容耦合 • 在一个模块的执行过程中,从该模块直接转移到另一个模块中去运行(病态转移),称为内容耦合。 • 如果两个模块是内容耦合,则在修改其中一个模块时,将直接影响到另一个模块,产生波动现象。所谓波动现象是指由于系统中各组成模块的独立性较差,修改其中一个模块,就会影响整个系统。因此,在实际进行系统设计时,应完全避免内容耦合。
模块的控制范围和影响范围 • 在系统结构中,由于存在对不同业务处理功能进行选择的需要,在某个模块中存在判断处理总是难免的。而系统结构某一层次上的模块的判断处理,一般会影响其他层上模块的处理过程或数据的传递。 • 为保证含有判断功能模块的系统设计的质量,引入模块的影响范围和控制范围的概念,以及几个基本原则。
模块的影响范围: • 指由该模块中包含的判断处理所影响到的所有其他模块的集合。 • 模块的控制范围: • 指它可以调用的所有下层模块和其本身所组成的集合。 如上图,A模块的控制范围是A,B,C,D四个模 块。影响范围是B,C模块。
模块的控制范围和影响范围的关系,直接决定了系统模块关系的复杂性及系统的可修改性和可维护性。模块的控制范围和影响范围的关系,直接决定了系统模块关系的复杂性及系统的可修改性和可维护性。 • 因此,在系统结构设计中,应遵循以下基本原则:对于任意具有判断功能的模块,其影响范围都应当是它的控制范围的一个子集。
通常,模块的控制范围和影响范围的关系,可以归结为以下四种基本类型:通常,模块的控制范围和影响范围的关系,可以归结为以下四种基本类型: 模块B的影响范围是A、B1和B2,控制范围是B、 B1和B2。因此,其影响范围超出了控制范围,这种关 系最差。 模块TOP的影响范围在控制范围之内,但判断点 在层次结构中的位置太高。
模块B的影响范围恰好是其直接下层模块,这是一种最理想的关系。模块B的影响范围恰好是其直接下层模块,这是一种最理想的关系。
对于模块的影响范围不在其控制范围之内的情况,可以用以下几种方法加以改进:对于模块的影响范围不在其控制范围之内的情况,可以用以下几种方法加以改进: • (1)在系统结构中向上移动判断点的位置,以扩大模块的控制范围; • (2)将具有判断功能的模块合并到它的上层调用模块中,从而提高判断点位置; • (3)在结构层次中,将受到某判断模块影响的模块下移,使其处于判断模块的控制范围之内。
举例说明如何处理模块的影响范围超出控制范围的情况举例说明如何处理模块的影响范围超出控制范围的情况
在上图中,P2模块的影响范围不仅是P21和P22,而且还包括了P31和P32,因为P2给出了状态控制标志(STATUS),P3模块接到控制信号后,再判断调用P31还是P32。因此,P2的影响范围超出了控制范围。这种情况造成了模块间的控制耦合,并产生双重判断,导致维护工作困难。在上图中,P2模块的影响范围不仅是P21和P22,而且还包括了P31和P32,因为P2给出了状态控制标志(STATUS),P3模块接到控制信号后,再判断调用P31还是P32。因此,P2的影响范围超出了控制范围。这种情况造成了模块间的控制耦合,并产生双重判断,导致维护工作困难。 • 为了改进系统的结构设计,可以将判断点位置提高到“计算处理”模块,使得影响范围落在控制范围之内,这样就不存在控制耦合,并且消除了双重判断,从而显著改善了系统结构的合理性,提高了系统的可修改性和可维护性。
综上所述,为了使模块结构比较合理,具有较高综上所述,为了使模块结构比较合理,具有较高 的独立性,使系统具有良好的可维护性和可修改性, 在系统模块结构设计中,应遵守如下基本准则:即尽 量使模块具有较低的耦合程度,同时,使模块的影响 范围落在控制范围之内。
第四节 信息系统流程图设计 • 信息系统流程图的作用: • 功能结构图主要从功能的角度描述了系统的结构,但并未表达各功能之间的数据传送关系。为了弄清各个功能的数据联系,可以通过信息系统流程图来描述。 • 实际上,信息系统流程图还可以用来说明信息在新系统内部的流动、转换、存储和处理的情况。它是设计者在系统设计过程中,对信息在计算机内部处理过程的大致想法,它不是固定不变的,常常随着后续的设计过程而不断改变。
信息系统流程图的绘制: • 信息系统流程图是以新系统的数据流程图为基础绘制的。可以按下述思路来绘制信息系统流程图: • 第一步,为数据流程图中的处理功能画出数据关系图。如P137,图7.2。 • 第二步,把各个处理功能的数据关系图综合起来,形成整个系统的数据关系图,即信息系统流程图。
实例解析:将P114图6.8转化为信息系统流程图 第一步,分别画出三个处理的数据关系图
应当指出,从数据流程图到信息系统流程图并非单纯的符号改换,从数据流程图到信息系统流程图还应考虑哪些处理功能可以合并,或进一步分解,哪些地方需要增加一个临时用的中间文件,用来进行与其他处理之间的信息联系。应当指出,从数据流程图到信息系统流程图并非单纯的符号改换,从数据流程图到信息系统流程图还应考虑哪些处理功能可以合并,或进一步分解,哪些地方需要增加一个临时用的中间文件,用来进行与其他处理之间的信息联系。 • 中间文件的设置依据:某些文件不宜单独地、长期地占据数据库,且处于两个处理之间,起缓冲作用的,可以作为中间文件处理。
第五节 系统物理配置方案设计 • 一、设计依据 • 1.系统的吞吐量。每秒钟执行的作业数称为系统的吞吐量。系统的吞吐量越大,则说明系统的处理能力越强。系统的吞吐量与系统硬、软件的选择有着直接的关系,如果要求系统具有较大的吞吐量,就应当选择具有较高性能的计算机和网络系统。 • 系统的吞吐量还可区分为内部吞吐量和外部吞吐量,对于内部吞吐量大的系统,应具有较高的计算机性能,对于外部吞吐量大的系统,则应具有性能较高的网络系统。
2.系统的响应时间。从用户向系统发出一个作业请求开始,经系统处理后,再给出应答结果的时间称为系统的响应时间。如果要求一个系统的响应时间快,那么计算机CPU的运算速度就应该快,并且通讯线路的传递速率也应该高,如实时系统就是这样。2.系统的响应时间。从用户向系统发出一个作业请求开始,经系统处理后,再给出应答结果的时间称为系统的响应时间。如果要求一个系统的响应时间快,那么计算机CPU的运算速度就应该快,并且通讯线路的传递速率也应该高,如实时系统就是这样。 • 3.系统的可靠性。系统的可靠性可以用连续工作时间来表示。例如,每天需要24小时连续工作的系统,则系统的可靠性就应该很高,这时可采用双机双工系统结构方式。 • 双机双工系统:两台主机同时运行各自的服务工作,且相互监测对方的情况。当一台主机当机时,另外一台主机立即接管它的工作,保证工作不间断。