第七章系统设计与实施维护7.1系统设计系统设计是新系统的物理设计阶段,根据系统分析阶段所确定的新系统的逻辑模型,综合考虑各种约束,利用一切可用的技术手段和方法,进行各种具体设计,提出一个能在计算机上实现的新系统的实施方案,解决“系统怎样做”的问题。•目标和任务•系统设计模型•设计方法•主要内容解决系统“怎样做(Howtodo)”的问题。7.1.1系统设计概述1系统设计的目标系统分析:解决“做什么”系统设计:解决“怎么做”一、系统设计的目标和任务2系统设计的任务问题结构(系统需求)系统结构从系统分析说明书出发,形成系统的具体设计方案。一、系统设计的目标和任务(续)映射分析模型设计模型二、系统设计模型数据字典数据流图E-R图加工小说明流程描述处理描述数据对描述象数据设计模块结构设计接口设计过程设计平台设计三系统设计方法•结构化设计方法(SD)•面向数据结构的设计方法(JSD方法)•面向对象的设计方法(OOD)四系统设计主要内容•系统总体设计•系统详细设计‒系统平台设计‒代码设计‒输入输出设计‒对话设计‒数据库或数据文件设计‒模块内部的算法设计•写出系统设计报告7.1.2系统总体设计(主要内容)•系统的分解方法•模块结构图•基本设计原则(模块耦合度与内聚度)•设计策略(变换型、事务型)•设计优化技巧7.1.2系统总体结构设计•一、子系统划分原则:1)相互间相对独立;2)减少数据依赖性和数据冗余3)考虑扩展能力、实现的便利、资源利用方法:1)从方法分类上可分为功能划分、顺序划分、数据拟合划分、过程划分等2)一般以功能/数据分析结果为主,兼顾组织实际情况的划分方法。二模块结构图结构化设计方法的基本思想就是模块化。即对每一个系统按功能逐步由顶向下,由抽象到具体的逐层分解,将系统分解成为多层次的独立功能模块,一直分解到能简单地用程序实现为止。模块功能与处理过程设计主要任务:在概要设计基础上,对总体结构设计中产生的功能模块进行过程描述,设计功能模块的内部细节,解决如何实现各个模块的内部功能。即为设计模块内详细算法、内部数据结构和程序逻辑结构。逻辑实现(描述)物理实现(编程)(一)模块•模块的定义:模块是可以组成、分解、更换的系统,是易于处理的基本单位,具有四种属性的一组程序语句称为一个模块,这四种属性分别是输入输出、逻辑功能;(外部特性)内部数据、程序代码。(内部特性)(二)模块结构图MSC1.结构图的产生程序流程图系统流程图和功能图HIPO技术(功能图和IPO图)结构图(StructureChart)。HIPO图检索1ISBN号检索2题名检索3著者检索1ISBN号检索命令ISBN号打开ISBN号索引有效性检查读ISBN号索引取检索结果关闭ISBN号索引检查结果是否命中检查结果结果信息输入处理输出3结构图的基本符号模块名称表示一个功能模块表示模块与模块之间的调用关系表示模块与模块之间的数据传递关系表示模块与模块之间的控制信息传递关系表示判断关系表示循环关系•模块调用的例子:intmax(intx,inty){intz;z=xy?x:y;return(z);}Main(){::max(3,4):}Main()求最大值ZxyMSC中的简单调用BACx,yzzA调用B和CMSC中的选择调用ACBDA根据内部判断决定是否调用BA按另一判定结果选择调用C或DMSC中的循环调用ABCA根据循环条件重复调用B、C等模块•选择调用的例子:A(){:if(条件..)B()elseC():}ABC•循环调用的例子:A(){:while(条件..){B();:;}:}AB(三)模块设计的原则系统的可维护性是系统评价的一个重要因素可维护性局部修改模块间的联系尽可能的少(耦合)而模块内的联系尽可能多(内聚)三数据流图导出初始结构图从数据流程图导出系统的初始结构图,首先要区分数据流程图的结构类型,然后根据不同的类型采用不同的方法把数据流图映象成相应的模块结构。(一)数据流程图DFD的结构类型1.变换型DFD一个数据流程图可以明显地分成输入、处理和输出三部分。2.事务型DFD事务型数据流程图一般呈束状形。(1)变换型结构由输入、变换中心(或称主加工)和输出三部分组成。基本模型:变换中心输入路径输出路径变换流示意图信息时间信息流输入流输出流变换流外部表示内部表示变换型数据流图输入信息物理输入格式检查处理显示正确信息结果物理输出数据变换中心输出逻辑输入逻辑输出输入(2)事务型结构特征:具有在多种事物中选择执行某类事物的能力基本模型:事务中心接受路径动作路径(二)DFD导出初始MSC的过程•两种转换策略/技术变换分析事务分析•一般过程先设计模块结构顶端的主模块然后“由顶向下逐步细化”最后得到一个与数据流图相对应的程序结构变换分析可将数据流程图中的处理功能分解成具有输入、中心变换、输出功能的简单模块•变换分析用于将低层数据流程图转换成结构图•低层数据流程图的转换也可以采用以事务为中心的设计策略变换分析举例-DFD1格式检查3产生收据2计算汇费4记账汇款单合格的汇款单处理后的汇款单收据明细账变换中心输出输入业务数据变换分析举例-转换后的MSC汇款处理系统取得合格汇款单计算汇费记账输出处理后的汇款单输入汇款单格式检查产生收据打印收据合格的汇款单处理后的汇款单合格的汇款单业务数据处理后的汇款单汇款单合格的汇款单汇款单处理后的汇款单收据收据业务数据•事务分析用于高层数据流程图转换成结构图能够把一个大的、复杂的系统分解成若干个较小的、简单的系统要求类型处理图书管理要求无效输入1.1新书入库1.2还入库单罚款单1.5注销图书1.3还书1.4目录文件借书单书单注销单借书借书文件罚款单事务分析举例-DFD事务中心事务分析举例-转换后的MSC图书处理系统取得图书处理要求修改目录文件操作层细节层新书入库注销图书借书还书打印罚款单修改借书文件………………图书管理要求入库单借书单还书单注销单收据顾客订货单配件库存供应商应收应付款帐1销售管理3会计帐务发货单付款2采购管理电力配件公司信息系统数据流程图顾客订货单顾客信息采购员暂存订货单1.1.1编辑订货单1.1.3确定顾客订货发货单付款不合格订单1.1.2登录新顾客1.1.5产生暂存订货单1.1.6对照暂存订货单1.1.4开发货单修改库存1.1.7编制销售和库存报表1.1.8检索库存合格订单业务员配件配件库存不满足的订货单销售历史应收款明细配件库存经理发货单现货销售顾客订货单顾客采购员暂存订货单1.1.1编辑订货单1.1.3确定顾客订货发货单付款不合格订单1.1.2登录新顾客1.1.5产生暂存订货单1.1.6对照暂存订货单1.1.4开发货单修改库存1.1.7编制销售和库存报表1.1.8检索库存合格订单业务员配件配件库存不满足的订货单销售历史应收款明细配件库存经理发货单现货销售期货销售查询销售和库存信息编制营业报表1.1.8检索库存1.1.7编制销售和库存报表订货单1.1.1编辑订货单1.1.3确定顾客订货发货单付款单不合格订单1.1.2登录新顾客1.1.5产生暂存订货单1.1.6对照暂存订货单1.1.4开发货单修改库存1.1.7编制销售和库存报表1.1.8检索库存合格订单不满足的订货单发货单现货销售配件库存顾客顾客采购员暂存订货单业务员配件库存销售历史应收款明细配件库存经理7.1.3物流管理信息系统的详细设计物流管理信息系统详细设计的任务是设计每个模块的实现细节和局部数据结构。详细设计的内容:系统输入输出(I/0)设计、数据库设计、代码模型设计、安全设计及相关文档和报告的编写。一、代码设计1代码:代表事物名称、属性、状态等的符号,一般用数字、字母或它们的组合来表示。代码设计是科学管理的体现。2代码功能(目的)唯一性规范化系统化为事物提供一个概要而不含糊的认定,便于数据的存储和检索。(标志作用)即编码要有规律,符合某一类事物的聚集,提高处理的效率和精度。也即标准化,符合国家或行业标准,提高数据全局一致性。3代码的设计1、分类明确,系统化和标准化、唯一性2、容量适宜:既不太长,又考虑未来发展需要3、逻辑上满足用户需要,结构上应与处理的方法相一致4、编码方法合理,不用易混淆的字符,采用合适的代码分段结构,便于记忆。4代码的种类顺序码数字码以某种顺序形式编码。简单,易管理,但可识别性差以纯数字形式编码。易于校对,处理,但不便记忆。字符码以纯字符形式编码。易记忆,但不易校对,不易反映分类的结构混合码以数字和字符混合形式编码。比较常用,易记忆,易管理,但不易校对。区间码以多区间代表多组,位置代表含意。可靠且易操作5代码的应用1、检索图书情报检索大型零售商业企业的结算2、统计统计指标的统一经济效益统计等3、统一信息体系行业信息代码规划二、数据库设计–数据厍设计是在选定的数据库管理系统基础上建立数据库的过程。–数据库设计的步骤与系统开发的各个阶段相对应,详见下图。用户要求分析概念结构设计逻辑结构设计物理结构设计系统分析详细调查系统分析逻辑设计系统设计系统设计数据库设计步骤系统开发步骤1需求分析的任务详细调查现实世界要处理的对象了解原系统工作概况明确用户的各种需求确定新系统的功能调查的重点是数据和处理2概念结构设计(1)数据抽象与局部视图设计(2)视图集成将需求分析得到的用户需求抽象为信息结构设计的关键合并分E-R图,生成初步E-R图;消除不必要的冗余,设计基本的E-R图ER模型概述•ER模型的基本元素–实体–联系–属性存放位置供应商物资供应mn类别名称价格库存量地址名称编码供应数量出库领用单位联系人单位名称编码mn领用数量属性的分类•单值属性和多值属性(对一个实体对象是否只能取一个值)•多值属性的处理–将原来的多值属性用几个新的单值属性来表示。–将原来的多值属性用一个新的实体类型表示地址属性的层次结构邮政编码省(市)名地址区名街道家庭地址门牌号码多值属性的表示零件编码零件零件名供应商规格进货价格销售价格价格导出属性的表示工号职工姓名基本工资奖金房租实发工资多值属性的变换(1)零件编码零件零件名供应商规格进货价格经销价格代销价格批发价格零售价格多值属性的变换(2)零件编码零件零件名供应商规格进货价格销售性质价格售货价格存在销售价格1N零件编码ER模型的操作包括实体类型、联系类型和属性的分裂、合并、增删等等教师号姓名出生日期职务工资奖金教师(a)教师号姓名出生日期教师不变信息职务工资奖金教师号教师变动信息(b)实体类型的垂直分裂教师课程主讲辅导1MNN联系类型的分裂教师课程主讲MN(a)(b)不合法的合并B(a)ACA-CB-CACA-B-C(b)B局部模式现有的教学管理系统初步分析系统的对象根据服务种类分析教师子模块……局部ER图其他局部模式现有的教学管理系统初步分析系统的对象根据服务种类分析学生子模块……图5.21学籍管理局部应用的分E-R图导师班级学生组成管理班主任档案材料宿舍住宿归档指导系有参加学会1N111NNN11NMN1具有社会关系1N局部ER图其它局部模式现有的教学管理系统初步分析系统的对象根据服务种类分析课程子模块……局部ER图图5.22课程管理局部应用分E-R图1教室M1教科书教师担任课程系开设N1学生选修NMN上课PN例子:三个局部ER图合并成一个ER图1合并后的教学管理E-R图1N1P1N1N1N1MMNNNN社会关系具有1NNM1系聘用承接项目参加设置院长学院主管NN111教师评定职称分配工作量111N档案材料归档参加学会1宿舍住宿教科书担任指导课程选修教室上课有1班级学生组成N开设N管理11教师管理113逻辑结构的设计概念结构基本E-R图一般数据模型关系/网状/层次特定的DBMS支持下的数据模型优化的数据模型转换规则DBMS的特点和限制优化方法3数据库的逻辑结构设计•将概念结构设计完成的概念模型转换成能被选定的数据库管理系统支持的数据模型•数据模型可由E-R模型转换而成可由3NF关系群转换而成(1)ER模型到关系模型的转换一对一关系(1:1)的转换转换方式一:转换为一个独立的关系模型。联系名为关系模型名,与该联系相连的