第8章:系统设计_第1页
第8章:系统设计_第2页
第8章:系统设计_第3页
第8章:系统设计_第4页
第8章:系统设计_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、系统设计概述2、系统总体结构设计3、代码设计4、数据结构与数据库设计5、输入输出设计6、模块功能与处理过程设计第八章系统设计第一节系统设计概述系统设计的任务在系统分析提出的逻辑模型的基础上,科学合理地进行物理模型的设计。主要是解决“怎样做”的问题。系统设计的具体工作确定系统输出确定系统输入确定数据的组织方法代码设计绘制各处理功能的数据关系图绘制系统流程图选择计算机系统系统模型的评价编写系统说明书一、系统设计的任务二、系统设计的依据系统设计主要是依据系统分析阶段生成的系统分析报告和开发者的知识与经验。系统设计也是一个建模的活动,它使用分析阶段得出的逻辑模型转化为物理模型。三、系统设计的步骤四、系统设计的方法系统设计阶段的工作步骤:根据系统设计的内容,将系统设计分为两个阶段:总体设计阶段和详细设计阶段。系统设计方法主要有结构化设计方法(以数据流程图为基础构成系统的模块结构)、Jackson方法(以数据结构为基础建立系统模块结构)、面向对象的设计方法(以对象行为封装、继承性、多形性为基础建立系统模块结构)。总体设计阶段决定系统的模块结构,而详细设计阶段是具体考虑每一模块内部采用什么算法。具体来说,在总体设计中,根据系统分析的成果进行系统总体结构设计,包括网络结构设计、硬件结构设计、软件结构设计、数据库存储和处理方式设计等。详细设计阶段包括具体的代码设计、输入输出设计、信息分类和数据库设计、功能模块设计,详细设计是对上述总体设计的结果进行进一步细化,直至符合小组编程的要求。第二节系统总体结构设计一、选取合适的系统体系(一)层次体系层次体系就是利用分层的方式来处理复杂的功能,屡次系统要求上层子系统可以使用下层子系统的功能,而下层子系统不能够使用上层子系统的功能。(二)客户机/服务器结构(三)浏览器/服务器结构(四)三层客户机/服务器结构二、系统物理配置方案设计(一)硬件结构的设计(二)软件结构的设计三、系统功能模块设计系统的功能分解的过程就是一个从抽象到具体的、由复杂到简单的过程。所谓功能结构图就是按功能从属关系画成的图表,图中每一个框成为一个功能模块。从管理职能的角度,把MIS看作是由不同职能的一系列子系统构成,这些子系统可以再分解成更小的子系统和模块,整个信息系统就是由这些功能模块构成的。整个企业管理信息系统是相应的子系统的有机结合,每个子系统都有为完成有关的各种信息处理工作的专用或公用的计算机程序。在每个职能子系统内部都包含用于事务处理、作业控制、管理控制和战略计划的具体应用。功能模块设计的流程是先完成处理流程图,再生成功能模块结构图,最后根据功能模块结构图细化功能模块。一般企业管理信息系统的系统功能模块,如下图所示:企业管理信息系统物资供应子系统生产管理子系统市场销售子系统财务会计子系统人力资源子系统工资管理子系统信息子系统工资管理子系统建立主文件建立扣款文件计算和打印数据录入数据维护数据录入数据维护计算打印工资条打印工资汇总表四、系统数据处理的总体结构设计(一)集中式数据处理(二)协作式数据处理(三)分布式数据处理第三节代码设计代码的定义代码是代表事物名称、属性、状态等的符号。代码的功能为事物提供一个概要而不含糊的认定,便于数据的存贮和检索。使用代码可以提高处理的效率和精度。提高数据的全局一致性。代码是人和计算机的共同语言,如零件号、图号等早已使用代码。一、代码的定义与功能二、代码设计的原则1.惟一性每个代码应惟一地表示一个实体或属性。2.规范性

代码要遵循一定的规则,这些规则包括:代码的位数、代码的分段、每段代码的类型和含义。3.可识别性

代码的可识别性要求的目的是,通过代码能够比较容易地识别被编码对象。

4.可扩展性

是保证系统对企业管理业务变化的适应性,即要求代码规则对已有编码对象留有足够的余量。5.标准化与通用性

代码设计要向国际、国家或部门及行业的标准靠拢。同一种类编码对象的代码应统一,如会计科目编码、生产物资编码等。

6、实用性尽量使用原业务处理上已使用的且行之有效的代码。

7、简明性在不影响代码系统的容量和扩充性的前提下,代码尽可能简单、统一。三、代码的种类(一)顺序码顺序码适宜中最简单、最常用的代码。这种代码是将顺序的自然数或字母赋予分类对象。例如:按照GB2261-80规定:1为男性,2为女性优点:短而简单,记录的定位方法简单,易于管理;缺点:代码本身没有给出对象的任何其它信息。(二)区间码区间码把数据项分成若干组,每一区间代表一个组,码中数字的值和位置都代表一定意义。区间码又可分为以下多种类型多面码。例如,对于机制螺钉,可作如下表那样的规定。代码2342表示材料为黄铜的φ1.5mm方形头镀铬螺钉。上下关联区间码。例如,会计核算方面,用最左位代表核算种类,下一位代表会计核算项目。十进位码。例如,图书分类中的十进位分类码。材料螺钉直径螺钉头形状表面处理1-不锈钢1-Φ0.51-圆头1未处理2-黄铜2-Φ1.02-平头2镀铬3-钢3-Φ1.53-六角形状3镀锌4-方形头4-方形头4上漆区间码的优点是:信息处理比较可靠,排序、分类、检索等操作易于进行。但这种码的长度与它分类属性的数量有关,有时可能造成很长的码。在许多情况下,码有多余的数。同时,这种码的维修也比较困难。(三)助忆码助忆码用文字、数字或文字数字结合起来描述,其特点是,可以通过联想帮助记忆。例如,用W-B-l2代表12英寸黑白电视机,用W-C-20代表20英寸彩色电视机。助忆码适用于数据项数目较少的情况(一般少于50个),否则可能引起联想出错。此外,太长的助忆码占用计算机容量太多,也不宜采用。为了保证正确输入,在原有代码的基础上,另加一个校验位,作为代码的一个组成部分。校验位通过事先规定的数学方法计算出来。代码一旦输入,计算机会用同样的数学运算方法按输入的代码数字计算出校验位,并将它与输入的校验位进行比较,以证实输入是否有错。@抄写错误12341235@易位错误12341243@隔位易位错误12341432四、代码结构中的校验位XXXXXXX校验位代码本体校验码是根据事先规定好的数学方法及代码本体计算出来的。校验位生成方式1、对代码的本体的每一位加权求和C1C2C3….Cn代码本体P1P2P3….Pn加权因子加权因子可以为:@自然数1,2,3,……@几何级数2,4,8,16……@质数3,5,7,13,172、以模除和得到余数,将余数作为检验位C1C2C3….CnR校验位代码本体示例1、算术级数法12345代码本体65432加权因子123456校验位代码本体2、几何级数法12345代码本体3216842加权因子123454校验位代码本体3、质数法12345代码本体1713753加权因子123450校验位代码本体4、身份证校验码的生成权数:7、9、10、5、8、4、2、1、6、3、7、9、10、5、8、4、2模数:11可能出现的余数:012345678910其对应的校验码:10X98765432文件设计文件设计就是根据文件的使用要求、处理方式、存储量、数据的活动性以及硬件设备的条件等,合理地确定文件类别,选择文件介质,决定文件的组织方式和存取方法。文件按用途可分为:主文件处理文件工作文件周转文件其它文件(如后备文件)文件设计通常从设计共享文件开始。文件由记录组成,所以设计文件主要是设计文件记录的格式,详见文件记录的格式实例。一、文件的分类记录文件名:主文件应用:工资子系统序号123456数据项名职工代码职工姓名部门基本工资附加工资扣房费变量名DMXMBMJBGZFJGZFF类型CCCNNN宽度482777小数位数222输入到:输出自:设计人员签名

设计日期

文件记录的格式实例二、文件设计数据厍设计是在选定的数据库管理系统基础上建立数据库的过程。数据库设计的步骤与系统开发的各个阶段相对应,详见下图。三、数据库设计的步骤(一)需求分析阶段需求分析是整个数据库设计过程中的第一步,也是最重要一步,进行数据库设计首先必须准确了解与分析用户需求。需求分析是作为基本的需求分析是否做得充分与准确,决定了在其上构建数据库的速度与质量。需求分析的任务是通过详细调查现实世界要处理的对象,充分了解原系统工作概况,明确各用户的各种需求,然后在此基础上确定新系统的功能。新系统必须充分考虑今后可能的扩充和改变,不能仅仅按当前应用需求来设计数据库。需求分析阶段的主要工作具体如下:(1)收集资料。(2)分析整理。(3)数据流程图。(4)数据字典。(5)用户确认。(二)概念结构设计如前所述,概念结构设计应在系统分析阶段进行。任务是根据用户需求设计数据库的概念数据模型(简称概念模型)。概念模型是从用户角度看到的数据库,它可用前面介绍的E-R模型表示,也可以用3NF关系群来表示。逻辑结构设计是将概念结构设计阶段完成的概念模型转换成能被选定的数据库管理系统(DBMS)支持的数据模型。数据模型可以由实体联系模型转换而来,也可以用基于第三范式(3NF)的方法来设计。接着是用DBMS提供的数据描述语言DDL定义数据模型。(三)逻辑结构设计内容包括:选用库文件的组织形式、存储介质的分配和存取路径的选择等。(四)物理结构设计第五节输入输出设计1、有关输出信息使用方面的内容2、输出信息的内容3、输出格式,如表格、图形或文件;4、输出设备5、输出介质1、确定输出内容⑴确定用户在使用信息方面的需求:使用目的、输出速度、频率、数量、安全性要求等。⑵设计输出信息的内容,包括:信息的形式(表格、图形、文字)、输出的项目、数据结构、数据类型、位数及取值范围等。一、系统输出设计(一)系统输出设计的内容(二)输出内容的设计2、选择输出设备与介质3、确定输出格式提供给用户的信息要进行格式设计。输出格式要满足使用者的要求和习惯,达到格式清晰、美观、易于阅读和理解的要求。(三)输出设计示例中国长江三峡开发总公司设备调拨单请购单位:工程建设部:右岸工程部1997年5月21日97调字第设备名称棒磨机型号规格

数量计划1账面价格单价180,200.00总价180,200.00单位设备编号15073001-001实收数1结算价款单价180,200.00总价180,200.0000台合同号10号仓库发货仓库中国建设银行开户银行32100876543账号备注总计金额其他有关费用运输费管理费保险费包装费610.45保险费包装费(大写)壹拾捌万贰佰元整180,200.00□存根□财务会计□请购单位□发货仓库□财务稽查□业务单位主管:收款:提货:发货:制单:打印输出的设备调拨单000016号接收用户输出格式定义的输入画面二、系统输入设计(一)输入方式设计1、键盘输入键盘输入方式(key-in)包括联机键盘输入和脱机键盘输入两种方式。它们主要适用于常规、少量的数据和控制信息的输入以及原始数据的录入。这种方式不大适合大批中间处理性质的数据的输入。2、数模/模数转换方式数模/模数转换方式(A/D,D/A)的输入是目前比较流行的基础数据输入方式。这是一种直接通过光电设备对实际数据进行采集并将其转换成数字信息的方法,是一种既省事,又安全可靠的数据输入方式。这种方法最常见的有如下几种:⑴条码(棒码)输入;⑵扫描仪输入;⑶传感器输入。3、网络传送数据网络传送有两种方式,第一种利用数字网络直接传送数据,第二种利用电话网络(通过modem)传送数据。设计原则便于填写便于归档单据的格式应能保证输入精度实例见下表人事变动通知单______年______月_____日1002周英杰01400.0040.0090.0001004吴关兴02350.0035.0050.0021005赵子英01450.0045.0090.0021007马凌云02600.0060.00120.001科长签字_____________备注栏:0──调离1──新进2──修改数据人员代码姓名部门基本工资附加工资房费备注(二)输入格式设计4、磁盘传送数据即数据输出和接收双方事先约定好待传送数据文件的标准格式然后再通过软盘/光盘传送数据文件。这种方式不需要增加任何设备和投入,是一种非常方便的输人数据方式,它常被用在主、子系统之间的数据连接上。(三)输入数据的校验方法1、重复校验将同一数据先后输入两次,然后由计算机程序自动进行对比校验,如果两次输入不一直,计算机显示或打印出错信息。2、视觉校验3、校验位校验输入的同时,由计算机打印或显示输入数据,然后与原始单据进行比较,找出差错。视觉校验不可能查出所有的差错,其查错率为75%—85%。4、控制总数校验6、格式校验5、数据类型校验

采用控制总数校验时,工作人员先用手工求出数据的总值,然后在数据的输入过程中由计算机程序累计总值,将两者对比校验。校验数据是数字型还是字母型的。即校验数据记录中各数据项的位数和位置是否符合预先规定的格式。7、逻辑校验即根据业务上各种数据的逻辑性,检查有无矛盾。8、界限校验即检查某项输入数据的内容是否位于规定范围之内。9、顺序校验即检查记录的顺序,例如,要求输入数据无缺号时,通过顺序校验,可以发现被遗漏的记录。又如,要求记录的序号不得重复时,即可查出有无重复的记录。10、记录计数校验11、平衡校验12、对照校验这种方法通过计算记录个数来检查记录有否遗漏和重复。不仅对输人数据,而且对处理数据、输出数据及出错数据的个数等均可进行计数校验。平衡校验的目的在于检查相反项目间是否平衡。对照校验就是将输入的数据与基本文件的数据相核对,检查两者是否一致。例如,为了检查销售数据中的用户代码是否正确,可以将输入的用户代码与计算机中存放的用户代码总表相核对。常用的界面设计包括:菜单方式绘画方式提示操作方式操作权限管理方式详见三峡工程开发总公司设备调拨单的录入屏幕设计示例。(四)用户界面设计三峡工程开发总公司设备调拨单的录入屏幕设计示例第六节模块功能与处理过程设计一、IPO图与HIPO图IPO图主要是配合层次化模块结构图详细说明每个模块内部功能的一种工具。IPO图的设计包括输入(I)、处理(P)、输出(O),以及与之相应的数据库/文件、在总体结构中的位置等信息。IPO图设计和处理最关键的是内部处理过程的描述。目前用于描述模块内部处理过程的主要有如下几种方法:结构化英语方法、决策树方法、判定表方法和算法描述语言方法。HIPO图(HierarchyplusInput-Process-Output)是IBM公司于70年代中期在层次结构图(structurechart)的基础上推出的一种描述系统结构和模块内部处理功能的工具(技术)。HIPO图由层次结构图和IPO图两部分构成,前者描述了整个系统的设计结构以及各类模块之间的关系,后者描述了某个特定模块内部的处理过程和输入/输出关系。(一)IPO图(二)HIPO图HIPO图方法的模块层次功能分解正是以模块的这一特性以及模块分解的层次性为基础,将一个大的功能模块逐层分解,得到系统的模块层次结构,而后再进一步把每个模块分解为输入、处理和输出的具体执行模块。通常,HIPO图方法由三个基本图表组成:1.总体IPO图实际上是数据流程图的初步分层细化结果,对最高层模块进行功能分解,并为其提供输入变量表、处理功能和输出变量表。2.HIPO图对顶层模块进行重复逐层分解,而得到的关于组成顶层模块的所有功能模块的层次结构关系图。3.低层主要模块的详细IPO图由于HIPO图仅仅表示了一个系统功能模块的层次分解关系,还没有充分说明各模块间的调用关系和模块间的数据流及信息流的传递关系。因此,对某些较低层上的重要工作模块,还必须根据数据字典和HIPO图,绘制其IPO图,用来描述模块的输入、处理和输出细节,以及与其他模块间的调用和被调用关系。举一个对销售系统中“订单处理”模块进行层次功能分解的例子,说明HIPO图方法。第1步,如下图所示,给出销售系统中“订单处理”部分的数据流程图。订单处理订单备货单缺货文件库存文件已处理订单第2步,根据数据流程图,把“订单处理”模块分解为输入、处理和输出三个功能模块,从而得到总体IPO图。1、输入订单2、读库存文件1、确定能否供货2、处理缺货单3、处理订货单1、编辑备货单2、打印备货单I-输入P-处理O-输出第3步,根据总体IP0图,将各模块逐层进行功能分解,并绘制“订单处理”的HIPO图。画HIPO图的过程实际上是一个从上到下的反复调整过程。在HIP0图中,模块的执行顺序一般是从上到下、由左向右。订单处理输入处理输出确定能否供货处理缺货订单处理供货单读库存文件输入订单编辑备货单打印备货单输入订单项目订单校验记录缺货项目存储缺货项目修改库存量记录可供货项目第4步,在HIPO图的基础上,根据数据字典,绘制低层主要模块的IP0图,作为程序模块结构设计的依据。图4是图3上“确定能否供货”模块的IPO图。系统名称:订单处理模块名称:确定能否供货设计者:王言文日期:2007.12.26上层调用模块:处理模块可调用的下层模块:无输入:订单订货量X库存信息Y输出:供货类型标志I缺货信息Z处理:IFY-X>0I=1(可供货)ELSEI=2(缺货)ENDIF备注:订二、层次模块结构图层次模块结构图或称结构图(structurechart)是1974年由W.Steven等人从结构化设计(structuredesign)的角度提出的一种工具。它的基本做法是将,系统划分为若干子系统,子系统下再划分为若干的模块,大模块内再分小模块,而模块是指具备有输入输出、逻辑功能、运行程序和内部数据四种属性的一组程序。层次模块结构图主要关心的是模块的外部属性,即上下级模块、同级模块之间的数据传递和调用关系,而并不关心模块的内部。(一)模块结构的图形表示结构图给出了5个图例:模块和模块之间的联系(二)结构设计1、结构设计的原则⑴所划分的模块其内部的凝聚性要好,即模块具有独立性,模块之间的联系要少;⑵模块之间的耦合只能存在上下级之间的调用关系,不能有同级之间的横向联系;⑶整个系统呈树状结构,不允许有网状结构或交叉调用关系;⑷所有模块都必须严格地分类编码并建立归档文件。2、模块的耦合模块耦合,是衡量一个模块与其他模块在联接形式和接口复杂性方面相互作用关系的指标,标志着系统结构设计的质量。模块耦合程度的高低直接影响了系统的可修改性和可维护性。在一般情况下,耦合程度越低,说明系统各组成模块间联系越简单,则每个模块的独立性就越强,就越容易独立地进行设计、修改和维护。模块的耦合程度,一般主要取决于模块本身的质量和相互联结的类型、模块间接口的复杂程度及模块间传递的信息流类型等。据此,可以把模块耦合划分为以下三种类型:⑴数据耦合如果一个模块与其他模块之间的联系全部是数据联系,那么,这个模块就是一个“黑箱”。一般来说,两个模块之间传递的数据越少,模块间的独立性就越强,因此模块的可修改性和可维护性就越高。⑵控制耦合如果两个模块之间,除了传递数据信息外,还传递控制信息,把模块间的这种联接关系称为控制耦合。通常,控制标志来自下层模块,因此,调用模块不是“黑箱”,它将根据不同的控制标志执行不同的处理功能,即它的输入信息不是固定的。由于较多的控制标志影响了模块的独立性,使系统维护工作更加复杂化。所以,在系统设计中,应该尽量避免或减少控制耦合。⑶内容耦合一个模块直接与另一个模块的内容发生联系,即在一个模块的执行过程中,从该模块直接转移到另一个模块中去运行(病态转移)。这种耦合程度最高,是最差的一种。如果两个模块是内容耦合,则在修改其中一个模块时,将直接影响到另一个模块,产生波动现象。所谓波动现象是指由于系统中各组成模块的独立性较差,修改其中一个模块,就会像往平静的池塘中扔下一块石头一样,影响整个系统。内容耦合使模块的独立性、系统的可修改性和可维护性最差。2、模块的聚合模块聚合是衡量一个模块内部各组成部分间整体统一性的指标,描述了一个模块功能专一性的程度。模块聚合是指一个模块内部各软件要素(如语句或语句段)之间的联系,模块聚合度越高则模块独立性越大。⑴偶然聚合如果一个模块是由若干个毫无关系的功能偶然地组合在一起构成的,把这种模块称为偶然聚合模块。这种模块内部组织结构的规律性最差,无法确定其功能,因此聚合程度最低。⑵逻辑聚合如果一个模块是由若干个结构不同、但具有逻辑相似关系的功能组合在一起构成的,把这种模块称为逻辑聚合模块。对逻辑聚合模块的调用,常常需要有一个功能控制开关,由上层的调用模块向它发出一个控制信号,在其多个关连性的功能中选择执行某一个功能,其聚合程度为较差。⑶时间聚合如果若干个关系不大的功能,由于它们是几乎在相同的时间内执行的,因此把它们放在一起构成一个模块,这种模块称为时间聚合模块。在调用这种模块时,一般是在特定的时间限制内完成各个处理功能的执行,其聚合程度为中等偏差。⑷过程聚合如果一个模块是由若干个为实现某项业务处理、执行次序受同一个控制流支配的功能组合在一起构成的,那么把这种模块称为过程聚合模块。过程聚合模块的各组成功能由控制流联结在一起,实际上是若干个处理功能的公共过程单元,其聚合程度为中等。⑸数据聚合如果一个模块的内部各组成部分的处理功能是对相同的输入数据进行处理或产生相同的输出数据,则把这种模块称作数据聚合模块。它能更合理地定义模块功能,结构比较清楚,聚合程度为中上。⑹顺序聚合如果一个模块内部的各个处理功能密切相关,顺序执行,一个处理的输出直接作为下一个处理的输入,各处理功能处在同一线性链上,则把这种模块称为顺序聚合模块,其聚合程度为较好。⑺功能聚合如果一个模块是由一个单独的能够确切定义的处理功能组成,那么把这种模块称为功能聚合模块,一般地,功能聚合模块可以用一个动词和一个简单的接受词表示,例如“读凭证文件”、“打印发货单”等,它对确定的输入进行一定的处理,并输出可以预期的结果。这是一种最理想的聚合方式,独立性最强,具有“黑箱”特征,使得模块便于修改,系统便于分块设计。(三)应用举例下面举例来说明层次化模块结构图的画法。某公司销售采购处理系统的数据处理子系统(简称GETSOL)的处理过程是:公司营业部对每天的顾客订货单形成一个订货单文件,它记录了订货项目的数量、货号、型号等详细数据。然后在这个文件的基础上对顾客订货情况进行分类统计、汇总等项处理操作。该子系统的层次化模型结构,如下图所示:示例(1)年交易额在5万或5万以下,则不给予折扣;(2)对于年交易额在5万以上时:如果无欠款,则给予15%的折扣;如果有欠款,而且与本公司的交易关系在20年以上,则折扣为10%;如果有欠款,而且与本公司交易关系在20年以下,则折扣为5%。订货折扣政策如下:IF购货金额在5万以上

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论