1、1第七章 管理信息系统的系统设计 在系统分析提出的逻辑模型的基础上,科学合理地进行物理模型的设计。主要是解决“怎样做”的问题。n系统性从整个系统的角度考虑,如系统的代码要统一,设计规范要标准,传递语言要尽可能一致,对系统的数据采集要做到数出一处、全局共享等。n如不要盲目追求技术上的先进,尽量避免不必要的复杂化。二、系统设计的原则n1、系统总体结构设计n 系统总体结构设计包括两方面的内容:系统网络结构设计和系统模块化结构设计。系统分析阶段对新系统计算机资源配置已作了分析,但太笼统,不够清晰。系统网络设计是在此基础上作进一步的详细设计,设计出计算机网络的拓扑结构和计算机资源配置图。系统化分为若干个
2、子系统的工作,在系统分析阶段已经基本完成,但不够详细。系统模块化结构设计工作是在系统分析阶段对子系统划分的基础上,再进一步地换分,将它逐层的分解成多个大小适当、功能单一、具有一定独立性的模块,以便程序设计工作的进行。n2、代码设计n代码设计就是通过设计合适的代码形式,使其作为数据的一个组成部分,用以代表客观存在的实体、实物和属性,以保证它的唯一性便于计算机处理。三、系统设计的主要内容n3、数据库(文件)设计n 根据系统分析得到的数据关系集和数据字典,再结合系统处理流程图,就可以确定出数据文件的结构和进行数据库设计。n4、输入/输出设计n 输入/输出设计主要是对以纪录为单位的各种输入输出报表格式
3、的描述,另外,对人机对话各式的设计和输入输出装置的考虑也在这一步完成。n5、处理流程设计n 处理流程设计是通过系统处理流程图的形式,将系统对数据处理过程和数据在系统存储介质间的转换情况详细地描述出来。在设计中,它要与系统模块化结构设计结合起来,以模块化结构设计为参考。一般来说,每一个功能模块都应设计一个处理流程。系统处理流程设计是系统模型的进一步具体化,使软件设计的初步形式,也是程序设计的主要依据。n6、程序流程设计n 程序流程设计是根据模块的功能和系统处理流程的要求,设计出程序模框图,为程序员进行程序设计提供依据。在这一步中,也可以使用判定表或者程序结构模块突来代替程序框图。n7、系统设计文
4、档代码设计n二、功能结构图设计n三、信息系统流程图设计n四、系统物理配置方案设计n五、输出设计n六、输入设计n七、数据存储设计n八、处理流程图设计n九、制订设计规范n十、编写程序设计说明书和系统设计报告n代码的定义n代码设计的若干原则 代码应唯一标志它所代表的事物或属性;结构应与处理的方法相一致。例如,有时可利用代码的结构直接进行记录的统计;代码设计要预留足够的位置,以适应不断变化的需要。不要使用易于混淆的字符。要注意尽量采用不易出错的代码结构。Piisc1n代码的种类n区间码又可分为以下多种类型材料 螺钉直径螺钉头形状表面处理1-不锈钢1-0.51-圆头1未处理2-黄铜2-1.02-平头2镀
5、铬3-钢3-1.53-六角形状3镀锌 4-方形头4-方形头4上漆n代码结构中的校验位二 功能结构图设计1、模块的定义与属性 模块是可以组合、更换和分解的单元,是组成系统的基本单元。模块的属性属性类属性说明外部属性功能输入输出数据内部属性算法内部变量2、模块化原理 模块化即是将复杂的系统分解成不同粒度的模块的过程,最小的模块完成比较简单的、独立的任务。ABCDIJK将系统的功能进行分解,按功能的从属关系表示的图表。学院综合管理教学教务管理党务管理后勤管理教师管理学生党务管理教师党务管理抽象、复杂抽象、复杂具体、简单具体、简单(一)功能结构图的定义工资处理过程的业务流程图财务科上月发放清单人事科变
6、动表财务科总务科扣款清单本月工资发放清单财务科工资发放清单示例人人事事科科抄写抄写人员工资变动表人员工资变动表上月工资发放清单上月工资发放清单填写扣款填写扣款本月工资本月工资发放清单发放清单总总务务科科扣款清单扣款清单填写计算填写计算应得工资应得工资本月工资本月工资发放清单发放清单工资工资发放员发放员本月工资发放清单本月工资发放清单工资管理信息子系统建立主文件更新主文件建立扣款文件计算和打印数据录入数据维护建立主处理文件数据更新数据录入数据维护工资计算打印工资汇总表打印工资单 功能结构图设计过程就是把一个复杂的系统分解为多个功能较单一的的过程。这种把一个信息系统设计成若干模块的方法称做模块化。
7、模块化是一种重要的设计思想,这种思想把一个复杂的系统分解为一些规模较小、功能较简单的、更易于建立和修改的部分。(二)功能结构图设计过程1、各个模块具有相对的独立性,可以分别加以设计实现;2、模块之间的相互关系(如信息交换、调用关系)则通过一定的方式予以说明。案例:中石化巴陵分公司的功能结构图 中石化巴陵分公司(以下简称巴陵石化)是中国石油化工股份有限公司下属的特大型企业,拥有56套生产装置和32套集中分散控制系统DCS。2001年6月,该公司投资近500万元人民币建设实施“生产综合管理系统”。该系统已于2001年年底投入运行,目前运行状况良好。巴陵石化生产综合管理系统巴陵石化生产综合管理系统
8、实时数据整合子系统实时数据整合子系统 油罐管理子系统油罐管理子系统 仓库管理子系统仓库管理子系统 车间生产子系统车间生产子系统 能源计量统计子系统能源计量统计子系统 物料计量统计子系统物料计量统计子系统 维护管理子系统维护管理子系统 综合查询子系统综合查询子系统 三 信息系统流程图设计 功能结构图主要从功能的角度描述了系统的结构,但并未表达各功能之间的数据传送关系。(一)问题的提出(1)某一功能模块向某一数据文件中存入数据,而另一个功能模块则从该数据文件中取出数据。例1、财务部门更新数据存储“客户信用文件”,发货部门提取该信用信息,以便作出合适的决策。客户信用文件客户信用文件财务财务部门部门发
9、货发货决策决策信用资料处信用资料处理理发货决策发货决策。(2)虽然在数据流程图中的某两个功能模块之间原来并没有通过数据文件发生联系,但为了处理方便,在具体实现中有可能在两个处理功能之间设立一个临时的中间文件以便把它们联系起来。例2、工资发放处理中。抄抄写写填写填写扣款扣款本月工资本月工资发放清单发放清单抄写抄写填写扣款填写扣款本月工本月工资清单资清单建立主文建立主文件件建立扣款文建立扣款文件件工资管理系统工资管理系统1、首先为数据流程图中的处理功能画出数据关系图。处理功能输入数据A输入数据B输入数据C中间文件D输出数据E输出文件F(二)信息系统流程图的绘制n常用的系统流程图符号:脱机操作脱机操
10、作人工操作人工操作手工输入手工输入联机存储器联机存储器(磁带、磁盘磁带、磁盘等等)磁盘磁盘磁带磁带显示器显示器脱机存储脱机存储处理穿孔卡片穿孔卡片通讯连接通讯连接打印报告打印报告人人事事科科抄写抄写人员工资变动表人员工资变动表上月工资发放清单上月工资发放清单填写扣款填写扣款本月工资本月工资发放清单发放清单总总务务科科扣款清单扣款清单填写计算填写计算应得工资应得工资本月工资本月工资发放清单发放清单工资工资发放员发放员本月工资发放清单本月工资发放清单示例(为简略数据流程图中省去部分存储)如何绘制系统流程图?抄写人员工资变动表上月工资清单本月工资清单2、把各个处理功能的数据关系图综合起来,形成整个系
11、统的数据关系图,即信息系统流程图。人事变动通知单房租变动通知单主文件更新模块上月主文件本月主文件电费扣款通知单病事假扣款通知单建立扣款文件模块扣款文件计算机打印模块工资单工资汇总表 1、从数据流程图变换成信息系统流程图并不是单纯的符号改换。信息系统流程图计算机的处理流程数据流程图人工操作(三)绘制中应注意的问题反映反映 2、应考虑哪些处理功能可以合并,或进一步分解,然后把有关的处理看成是系统流程图中的一个处理功能。示例输入1根据此数据流程图,虚线外是人工处理部分,试画出信息系统流程图输入1处理2处理1处理3输出1实体1实体2数据存储1数据存储2某库存信息子系统的部分数据流程图,若其中所有处理均
12、由计算机来实现,请按此画出信息系统流程图出入库处理统计打印库存台账查询查询条件显示结果月报表n 在系统设计中,输出设计是用计算机系统将输入数据进行处理的结果,通过一定的表现形式,提供用户使用。n 输出模块设计包括确定输出内容、确定输出方式(设备与介质)、输出格式设计等。设计人员应该懂得:输出设计既是系统成果的直接反映,又是涉及面很广的处理过程。因此,在设计过程中,必须透彻了解用户的信息需求,与用户充分协商,使输出信息准确、及时且适用。n 从系统开发的角度来看,输出决定输入。输出模块设计一般步骤为:输出信息的媒介设计:根据用户对信息的需求、现有条件(环境)及输出信息的特点,选择合理的输出设备与输
13、出信息的媒体。输出信息的内容设计:根据形式(表格、图形、文字或图像、声音、视频等多媒体),输出项目及其数据结构、数据类型、位数、精度及取值范围,确定输出信息的内容设计。n 对建立一个信息系统来说,选择适当的输出媒介是物理设计过程的一个很重要的步骤。常用的各种输出媒介如下:n 对信息系统处理结果的输出,根据所用媒介、设备的不同,可分为下列几种类型:文件输出系统:所用设备常为磁带、磁盘,并且许多已采用由计算机输出到MIC内存贮。传统的磁带、磁盘、磁卡等既可作为输入也可用来输出,均是可读写的媒介,其好处是易于交换信息,且信息存贮密度和容量都很大。通常用磁盘作为信息系统的外存空间来使用。使用这些媒介时
14、,数据都以文件形式存在,即若干组数据记录编成一个文件记入这些媒介。n 事务处理 原文件键 盘输入媒质输入设备计算机数据采集 数据登录 数据输入(a)使用键盘的输入过程 原文件数据采集和登录 输入设备计算机 数据输入事务处理 (b)用输入媒质直接输入方式原文件数据采集 键 盘计算机 数据登录与输入 (c)从原文件直接由键盘输入方式输入设备计算机数据采集、登录与输入 事务处理 事务处理 (d)用键盘直接输入方式输入设备计算机 数据采集、登录与输入 事务处理 (e)用其他设备直接输入方式 图:数据采集、登录与输入的五种输入方式n 输入方式的设计主要是根据总体设计和DB设计的要求来确定数据输入的具体形
15、式。常用的输入方式为:网络传送数据:即网络输入,它通过计算机网络,以通信方式从另一个工作站或另一个网络系统获取有关数据的方式。这种方式能够及时地索取反映外界情况的数据,是一种较高水平的输入,也是信息系统不断发展的必然结果,网络传送有二种方式:n利用数字网络直接传送数据n利用电话网络(通过MODEM)传送数据。磁盘传送数据:即数据输出和接受双方事先约定好待传送数据文件的标准格式,然后再通过软盘/光盘传送数据文件。这种方式不需要增加任何设备和投入,是一种非常方便的输入数据方式,它常被用在主-子系统之间的数据联接上。n 在实际设计数据输入时,特别是大批量的原始凭证、记帐凭证,各类数据统计报表,常常遇
16、到其数据结构与DB文件结构不完全一致的情况。如有可能,应尽量改变统计报表或DB关系表二者之一的结构,使其一致,降低输入格式设计的难度。n例如,记帐凭证一般分为收款凭证、付款凭证和转帐凭证三种,它们是帐务处理的主要数据来源。这三种凭证格式上有所不同,虽然可以设计成三种不同的屏幕输入格式,使输入格式与原凭证的格式更加接近。但这三种凭证是混合录入的,这就必然要频繁地在三种格式之间进行切换。将三种凭证设计成一个统一的屏幕格式,效果会更好。n 现在,由计算机自动将输入送至不同的表格或不同的格式。:也是一种逻辑校验。它检查某项输入内容是否位于规定范围之内。:这种方法常用在对财务报表和统计报表等这类完全数字
17、型报表的输入校对中,而且特别有效。:重复校验又称两次输入法,即重要数据重复两次输入,由计算机自动校验两次输入是否一致以确定正确性。:即利用设校验位来进行校验的方法。:先由人工汇总某些数据项的总量,然后与计算机累计值进行比较以判定是否正确。如记帐凭证表中对同一凭证号的记录,按借方、贷方分别汇总,用“有借必有贷,借贷必相对”的原则来校验。:将输入的数据与基本文件的数据相核对,校验两者是否一致。:通过计算记录个数来检查数据记录是否有遗漏或重复。:校验数据记录中各数据项的位数和位置是否符合预先规定的格式。n n磁盘文件:在磁盘上存储大量数据集合称为磁盘文件。这种文件可以输入、输出和直接更新(修改、追加
18、、删除)。一般来说,磁盘文件比磁带处理灵活,传输速度快,存储容量也大。目前又有大容量的光盘。按文件的用途分类 n主文件:主文件是在信息系统中发挥核心作用的文件,即系统执行的基本业务处理都是围绕主文件进行的。n临时文件:也叫工作文件,是处理过程中存放中间结果的转储文件。常常为了编程或处理方便而设置,一般是处理前并不存在,在程序运行过程中产生,也可交下一步处理中使用,全部处理完毕即可抛弃,无保存价值。n事务文件:也叫业务文件或细目文件,是在事务处理过程中的临时性文件,临时存储数据用的文件。所谓事务就是有关企业运营的任何一个事件。n表文件:是主文件的特殊类型,在许多系统中用以记录完整的有关参数,供检
19、索查找用。内容比较稳定,不需要经常更新。如会计科目表等。n档案文件:是用来长期存储数据,以备今后使用的文件的一种副本。如需要将重要的会计历史数据存入磁盘、光盘或磁带作为会计档案长期保存。n后备文件:它是主文件、事务文件或表文件的副本,当原始文件发生任何问题时,就可以用后备文件来恢复。n此外,还有用于输入或输出的输入文件、输出文件,报表文件等等。按文件的组织形式分类:流水文件:也称串行文件或无序文件,数据记录一个接着一个依输入次序存放。顺序文件:按照主码值的升序或降序顺序排列记录 确定文件介质、组织方式和存取方法 编写文件设计说明书:包括概念结构基本E-R图一般数据模型(关系模型)特定的DBMS
20、数据模型优化的数据模型转换规则DBMS的特点和限制优化图 数据库逻辑结构设计过程(4)物理结构设计 DB在物理设备上的存储结构与存取方法称为DB的物理结构,它依赖于给定的计算机系统。为一个给定的逻辑数据模型选取一个最适合应用要求的物理结构的过程,就是DB的物理设计。在关系DBMS中通常DBA只需设计索引,其余由选定的RDBMS自动完成。确定DB的存储结构:主要指确定数据的存放位置和存储结构,包括确定关系、索引、聚簇(属性上具有相同值的元组集中存放在连续的物理块称为聚簇)、日志、备份等的存储安排和存储结构;确定系统配置等。存取方法与路径的选择:快速存取DB中数据的技术。RDB中具体路径是由DBM
21、S自动确定的。常用的存取方法有nHASH方法:如果一个关系的属性主要出现在等连接条件中或主要出现在相等比较选择条件中,而且满足下列两个条件之一:a)如果一个关系的大小可预知,而且不变;b)如果关系的大小动态改变;则此关系可以选择HASH存取方法,而且DBMS提供了动态HASH存取方法。n(5)DB安全性设计n DB的安全性是指保护DB以防止不合法的使用所造成的数据泄露,更改或破坏。DB安全性设计应包括如下几方面:存取控制:存取控制机制主要包括两部分 视图机制:进行存取权限控制时可以为不同的用户定义不同的视图(View),把数据对象限制在一定的范围内,即通过视图机制把要保密的数据对无权存取的用户
22、隐藏起来,从而自动地对数据提供一定程度的安全保护。一般设计阶段中有用户视图设计。数据加密:数据加密是防止DB中数据在存储和传输中失密的有效手段。加密方法主要有两种:一种是替换方法,该方法使用密匙(Encryption Key)将明文中的每一个字符转换为密文中的一个字符;另一种是置换方法,该方法仅将明文的字符按不同的顺序重新排列。单独使用这两种方法的任意一种都是不够安全的。但是将这两种方法结合起来就能提供足够好的安全程度。审计(Audit):审计功能把用户对DB的所有操作自动记录下来放入审计日志(Audit Log)中。DBA可以利用审计跟踪的信息,重现导致DB现有状况的一系列事件,找出非法存取
23、数据的人、时间和内容等。n(6)DB完整性设计n DB的完整性是指数据的正确性和相容性。DBMS提供一种机制来检查DB中的数据,看其是否满足语义规定的条件。这些加在DB数据之上的语义约束条件称为DB完整性约束条件,它们作为模式的一部分存入DD中。有一些需要在应用程序中来限制。而DBMS中检查数据是否满足完整性条件的机制称为完整性检查。完整性约束条件包括:同一关系在它的应用领域的约束。如统计约束,在记帐凭证关系中对同一凭证号的记录,“有借必有贷,借贷必相等”这些约束常称为关系级完整性约束关系级完整性约束 不同关系之间的联系是通过外码与主码的值的对应要求来约束的,常称为。要设计数据库表的主码、外码
24、,画出表间通过主码与外码建立的永久关联图,并设计建立在这些永久关联上的参照完整性类型表,参见第11.4中的案例。立即执行完整性约束和延迟执行完整性约束n立即执行约束(Immediate Constraints)是在执行用户事务处理程序时,某一更新语句执行完后马上对此数据所应满足的约束条件进行完整性检查。n延迟执行约束(Deferred Constraints)是指在整个事务处理程序执行完毕后,再对约束条件进行检查,结果正确才能提交出来。银行数据库中“借贷总金额应平衡”的约束 就应该是延迟执行的约束:信息系统流程图描述了系统中各个功能模块以及各个功能模块之间的数据交流关系。在系统流程图中,我们只
25、是给出了每一个处理功能的名称,那么,每一个处理功能具体是怎么实现的呢?处理流程图八 处理流程图设计 总体设计将系统分解为许多模块,并决定了每个模块的外部特征:功能与界面。计算机处理过程的设计则要确定每个模块的内部特征,即内部的执行过程,包括局部的数据组织、控制流、每一步的具体加工要求及种种实施细节。通过这样的设计,为编写程序制定了一个周密的计划。流程图(flow chart),即程序框图,是历史最久、流行最广泛的一种图形表示方法。流程包括三种基本成分:(1)加工步骤,用方框表示。(2)逻辑条件,用菱形表示。(3)控制流,用箭头表示。流程图的标准结构有顺序结构、循环结构、选择结构和条件结构四种。
26、对于计算机处理过程,通过几种标准结构的反复嵌套而绘制的流程图可以清晰表达。1 流程图的基本要素顺序循环选择条件 系统中每一个功能模块都可以作为一个独立子系统分别进行设计。由于每个处理功能都有自己的输入和输出,对处理功能的设计过程也应从输出开始,进而进行输入、数据文件的设计,并画出较详细的处理流程图。2 处理流程图的设计开始开始循环循环显示系统功能显示系统功能功能选功能选择择显示工作显示工作结束结束销售业务销售业务采购业务采购业务会计业务会计业务显示出错显示出错退出系统退出系统NY0123其它其它常用系统主控模块处理流程图IPOn在计算机领域IPO是指结构化设计中变换型结构的输入(Input)、
27、加工(Processing)、输出(Output)。IPO图是对每个模块进行详细设计的工具,它是输入加工输出(INPUT PROCESS OUTPUT)图的简称,它是由美国IBM公司发起并完善起来的一种工具。在系统的模块结构图形成过程中,产生了大量的模块,在进行详细设计时开发者应为每一个模块写一份说明。IPO图就是用来说明每个模块的输入、输出数据和数据加工的重要工具。nIPO图的主体是算法说明部分,该部分可采用结构化语言、判定表、判定树,也可用问题分析图和过程设计语言等工具进行描述,要准确而简明的描述模块执行的细节。n在IPO图中,输入、输出数据来源于数据词典。局部数据项是指个别模块内部使用的
28、数据,与系统的其它部分无关,仅由本模块定义、存贮和使用。注释是对本模块有关问题作必要的说明。n开发人员不仅可以利用IPO图进行模块设计,而且还可以利用它评价总体设计。用户和管理人员可利用IPO图编写、修改和维护程序。因而,IPO图是系统设计阶段的一种重要文档资料。人事变动通知单房租变动通知单上月主文件本月主文件电费扣款通知单病事假扣款通知单扣款文件工资单工资汇总表案例输入处理过程输出十、编写程序设计说明书和系统设计报告上月主文件GZ1.DBFD1主处理文件GZCL.DBFD2程序设计说明书n系统设计报告小结物理配置方案设计 计算机处理过程设计 管理信息系统的系统设计 数据存储设计 合理的代码结构是信息处理系统是否具有生命力的一个重要因素。设计规范是整个系统的“公用标准”。包括数据库设计、数据库的安全保密设计等。数据库设计的步骤是与系统开发的各个阶段相对应的。包括输出设计、输入设计、处理流程图设计及编写程序设计说明书等。包括设备配置、通信网络的选择和设计以及数据库管理系统的选择等。系统设计主要是解决“怎样做”的问题。原则是系统有系统性、灵活性、可靠性和经济性。包括信息系统流程图设计、功能结构图设计等。总体设计 代码设计和设计规范