第5章系统设计本章教学目标通过本章的学习,在相关案例引导下了解信息系统的结构化系统设计基本概念,熟悉系统总体结构设计、数据库设计、代码设计、输入输出设计、处理过程设计、计算机系统配置等工作流程和任务要求;熟悉面向对象系统设计基本概念,能利用Visio进行系统体系结构、子系统与功能模块、系统界面等设计;能利用MySQL和Access进行数据库设计,熟悉系统概要设计说明书和数据库设计说明书等项目文档的编写要求。实践项目:ERP系统设计推介工具:MicrosoftVisio/Word、MySQL和Access技能训练(以“金蝶KIS专业版”为原型):(1)利用MicrosoftVisio/Word设计MIS项目团队小型ERP系统(MIS知识卡管理系统)的功能控制结构图;(2)以金蝶KIS系统为原型,利用MySQL和Access设计MIS项目团队小型ERP系统(MIS知识卡管理系统)的“采购管理、销售管理、生产管理、库存管理”子功能的业务基础数据表。系统分析阶段,主要解决的是新系统“做什么”的问题。而在系统设计阶段,需要回答的中心问题是“怎么做”,即通过给出新系统物理模型的方式,描述如何实现在系统分析中规定的系统功能。5.1结构化系统设计【本节知识点指引】5.1.1结构化系统设计概述5.1.2系统总体结构设计5.1.3数据库设计5.1.4代码设计5.1.5输入输出设计5.1.6处理过程设计5.1.7计算机系统配置【师生互动】以MIS项目团队开发MIS知识卡管理系统为例,讨论“系统设计报告”的基本内容。结构化设计的基本思想根据数据流程图和数据字典,采用自顶向下、逐层分解的方法,把系统划分为若干子系统,而子系统又划分为若干功能模块,模块又划分为子模块,层层划分直到每一个模块是相对独立、功能单一的独立程序为止。从而把复杂系统的设计转变为多个简单的、相对独立的模块的设计。核心:模块化5.1.1结构化系统概述结构化设计的特点:模块化自顶向下,逐步求精上层模块分解为下层模块,三种不同形式,顺序结构、选择结构、循环结构5.1.1结构化系统概述结构化设计的基本任务:概要设计把总任务分解为许多基本的、具体的任务详细设计为各个具体任务选择适当的技术手段和处理方法,内容包括:数据存储设计、代码设计、输出设计、输入设计、处理过程设计、用户界面设计和安全控制设计等5.1.1结构化系统概述5.1.2系统总体结构设计【关键知识点】1.系统总体结构设计的基本原则2.控制结构图的概念及其绘制【课堂组织】教师引导学生看书,要求学生归纳“基本观点”,提炼出绘制控制结构图的关键画法。【师生互动】以MIS项目团队开发MIS知识卡管理系统为例,讨论“本团队的MIS知识卡管理系统的控制结构图”的4层控制结构的核心模块设计方案。基本原则:分解—协调原则自顶向下原则模块独立性原则(一个模块运行时,与另一个模块存在无关系统容易开发、系统可靠性高、系统容易维护)5.1.2系统总体结构设计模块(Module)一词使用很广泛。通常对应于用一个名字就可以调用的一段程序语句(子程序或函数)模块具有输入和输出、逻辑功能、运行程序、内部数据四种属性。5.1.2系统总体结构设计计算年龄模块的图形表示方法5.1.2系统总体结构设计结构图(StructuredChart)描述系统的模块结构及模块间的联系结构图中的主要成分有:模块:用长方形表示调用:从一个模块指向另一模块的箭头表示前一个模块调用后一个模块。有循环调用和条件调用数据:用带圆圈的小箭头表示从一个模块传递给另一模块的数据(有实义)控制信息:带涂黑圆圈的小箭头表示一个模块传送给另一模块的控制信息功能模块结构图符号计算获得有效数据生成报表打印报表获得编辑数据核对数据打印表头打印表尾读入数据编辑数据显示无效数据打印一行有效数据EOF编辑数据EOF有效数据编辑数据有效数据结果编辑数据数据数据EOFEOF结果日期行行行总计一个完整的结构图模块:凝聚(衡量一个模块内部自身功能的内在联系是否紧密的指标偶然凝聚、逻辑凝聚、时间凝聚、数据凝聚、功能凝聚)耦合(衡量模块间结构性能的重要指标数据耦合、控制耦合、非法耦合)5.1.2系统总体结构设计期末成绩查询Main(){stuNo=读入学号模块调用成绩查询模块调用显示模块}主模块成绩查询模块(){调用查期末成绩模块如果有不及格科目则标志1=True调用不及格处理模块}不及格处理模块(){标志2=确定留退模块()如果标志2!=True则调用查补考安排模块}显示结果模块(){调用显示成绩模块如果标志1==True则调用不及格显示模块}显示不及格处理模块(){如果标志2==True则调用留退通知模块否则调用补考通知模块}子模块学生期末成绩查询读入学号显示成绩查询成绩显示成绩不及格处理确定留退显示补考显示留退改写后的模块图控制结构图的绘制数据流程图有两种典型的结构:变换型结构和事务型结构。这两种结构可以分别通过变换分析和事务分析方法导出标准形式的结构图。区分数据流程图的结构类型不同的类型采用不同的方法数据流图映象成相应模块结构1.数据流程图的结构类型(1)变换型DFD一个数据流程图可以明显地分成输入、处理和输出三部分。(2)事务型DFD事务型数据流程图一般呈束状形。从数据流程图导出初始结构图(1)变换型DFD从数据流程图导出初始结构图输入信息物理输入格式检查处理显示正确信息结果物理输出数据变换中心输出逻辑输入逻辑输出输入(2)事务型DFD从数据流程图导出初始结构图事务中心接受路径动作路径…2.转换策略(1)以变换为中心的设计步骤:找出主处理、逻辑输入和逻辑输出设计模块的顶层和第一层设计中、下层模块从数据流程图导出初始结构图(1)以变换为中心的设计1格式检查3产生收据2计算汇费4记账汇款单合格的汇款单处理后的汇款单收据明细账变换中心输出输入业务数据(1)以变换为中心的设计汇款处理系统取得合格汇款单计算汇费记账输出处理后的汇款单输入汇款单格式检查产生收据打印收据合格的汇款单处理后的汇款单合格的汇款单业务数据处理后的汇款单汇款单合格的汇款单汇款单处理后的汇款单收据收据业务数据(2)以事务为中心的设计步骤:确定事务的来源;确定以事务为中心的系统结构;确定每一种事务以及它所需要的处理动作;合并具有相同处理动作的模块,组成公共处理模块加入系统;为每个事务处理模块设计下面的操作模块,再为操作模块设计细节模块。某些操作模块和细节模块可以被几个上一层模块共用。从数据流程图导出初始结构图以事务分析为中心的设计要求类型处理图书管理要求无效输入1.1新书入库1.2还入库单罚款单1.5注销图书1.3还书1.4目录文件借书单书单注销单借书借书文件罚款单事务中心以事务分析为中心的设计图书处理系统取得图书处理要求修改目录文件操作层细节层新书入库注销图书借书还书打印罚款单修改借书文件………………图书管理要求入库单借书单还书单注销单模块总体设计举例问题描述:病人监护系统中的实时监测模块。–该模块使用病床专用设备测量病人的若干生理参数,如体温、脉搏、血压等等。–每个病人各种指标的安全范围由医生预先指定。–每经过一定的时间间隔,监测模块从监视设备读入这些数据,并存入数据库中。–若发现某个指标超出合理范围,则向维修站发出设备故障通知,报告床号。–若发现某个指标越出安全范围,则向护理站发出通知,报告病人号。分析产生的DFD病人护理站病历合理数据数据不安全因素读取数据存储数据检查数据通报不安全因素维修站不合理数据可以划分哪些模块呢?FS2病人监护采集数据检查数据处理数据获取下一个病人PN,FSEOF,EFEOFFSEFUSF,EFUSFFSPNEF,USFPN,FSPN,FS,EFPN,EFPN,FSFSSR读取数据检查不合理范围查询安全范围判定病人是否安全写数据库通报设备故障通报不安全因素EFBNPN,FSEFPN,BN初始结构图PN—病人号;BN—床位号;SR—安全范围;FS—各指标数据;EF—设备故障标志;EOF——标志已查过最后一个病人;FS2—标志指标是否合理;USF—标志指标不安全对顾客所填写的订货单进行编辑(处理1),不合格的订货单交给业务员,合格的订货单进行确认(处理2),新客户的订货单在查阅顾客资料以后进行新顾客数据的登陆(处理3),确定客户订单后,查阅配件库存情况,若订货可以满足,则开具发货单并修改库存(处理4),将处理结果存储到销售历史中,若订货无法满足,则将订货单暂存并存储,对照暂存订货单(处理5)后,通知采购部门。5.1.3数据库设计【关键知识点】1.数据库设计的基本要求2.数据库设计的基本步骤【课堂组织】教师引导学生看书,要求学生归纳“基本观点”,提炼出绘制E-R图的关键画法。【师生互动】以MIS项目团队开发MIS知识卡管理系统为例,讨论“MIS知识卡管理系统”的数据库概念结构设计、逻辑结构设计和物理结构设计方案。其中的关键实体是“团队”和“MIS知识卡”,“团队”实体的基本属性:团队番号、团队成员名单、团队QQ热线,“MIS知识卡”实体的基本属性:卡号、关键词、问题陈述、解决方案。5.1.3数据库设计数据库设计是信息系统设计阶段的重要组成部分,它是在选定了硬件、操作系统和数据库管理系统(DBMS)环境的情况下,准确地表达用户的需求,并将其转换为有效存储数据模型的过程。数据库设计过程包括:用户需求分析概念结构设计逻辑结构设计物理结构设计数据库的实施数据库运行与维护数据库设计的过程数据字典:简单的情况下直接变为关系数据模型关系数据模型:供方单位(单位号、单位名、地址、联系人、邮政编码)。物资(代码、名称、规格、备注)复杂的情况下用E-R模型表示DS03-01:用户订单DS03-02:订货单标识DS03-03:用户情况DS03-04:配件情况I1:订单编号I1:用户代码I1:配件代码I2:日期I2:用户名称I2:配件规构I3:用户地址I3:订货数据I4:用户姓名I5:电话I6:开户银行I7:帐号1用户需求分析用户需求分析是数据库设计的起点,已经在系统分析和设计中完成了,数据库设计阶段只需要进一步确认以下的需求:数据要求:数据内容、来源去向、性质、取值范围、数据存储等的要求处理要求:处理功能、处理方式、响应时间安全性与完整性要求2概念结构设计在系统分析阶段进行它通过对用户需求进行综合、归纳与抽象,形成了一个独立于具体数据库管理系统的概念模型。用E-R图来描述现实世界中实体与实体之间的关系:先根据系统分析的结果设计各个局部E-R图;再将局部E-R图集成为总体E-R图3逻辑结构设计在概念设计的基础上,将概念结构E-R图转换为某个数据库管理系统所支持的数据模型,并对其进行优化。E-R图转换为关系数据模型一对多联系多对多联系数据模型的规范化:数据库关系模式确定后可借助规范化理论进行规范化,以消除数据表冗余、更新异常等不合理现象,提高数据的可修改性、一致性和完整性。规范化水平由弱到强依次为:数据表中的每一个属性都应是不可分割的数据项,再同一个表中,不能出现重复的数据项每个非主码属性都由主码唯一决定每个非主码属性都不依赖于其它的非主码属性设计数据视图:用户视图是面向用户呈现出的虚表在一个关系的记录中,每一个属性项都是不可再分的数据项。例如,在人事档案的关系:女项又分成两个子项,它不满足1NF的要求。第一范式1NF:职工号姓名子女第一子女第二子女………..………..职工号姓名第一子女第二子女………..………..所谓第二范式,指的是这种关系不仅满足第一范式,而且所有非主属性完全依赖于其主码。例如,下面所示关系虽满足lNF,但不满足2NF,因为它的非主属性不完全依赖于由教师代码和课题代码组成的主关键字。这种关系会引起数据冗余和更新异常,当要插入新的研究课题数据时,往往缺少相应的教师代码,以