《管理信息系统:5第五章 管理信息系统的设计》由会员分享,可在线阅读,更多相关《管理信息系统:5第五章 管理信息系统的设计(38页珍藏版)》请在金锄头文库上搜索。
1、第第 五五 章章 管理信息系统的设计管理信息系统的设计1本章内容本章内容n5.1系统设计概述n5.2系统总体设计n5.3面向对象的设计n5.4设计模式n5.5设计软件类n5.6系统结构设计n5.7代码设计n5.8对象持久化与数据库n5.9 系统程序设计规范n5.10输入/输出设计25.1 5.1 系统设计概述系统设计概述 35.1.1 5.1.1 系统设计的原则系统设计的原则n1)系统性原则n2)层次性原则n3)灵活性原则n4)安全可靠性原则n5)经济性原则n6)实用性原则n7)管理的可接受性原则45.1.25.1.2系统设计的任务系统设计的任务n系统设计工作应该自顶向下地进行。首先设计总体结
2、构,然后再逐层深入,直至进行每一个模块的设计。n总体设计主要是指在系统分析的基础上,对整个系统的划分(子系统)、机器设备(包括软、硬设备)的配置、数据的存贮规律以及整个系统实现规划等方面进行合理的安排。n系统设计的主要任务是进行总体设计和详细设计。5n(1)总体设计,总体设计包括系统模块结构设计和计算机物理系统的配置方案设计。系统模块结构设计的任务是划分子系统,然后确定子系统的模块结构,并画出模块结构图。n在这个过程中必须考虑以下几个问题:首先如何将一个系统划分成多个子系统;其次每个子系统如何划分成多个模块;同时还需注意如何确定子系统之间、模块之间传送的数据及其调用关系;最后如何评价并改进模块
3、结构的质量。6n(1)总体设计1)系统总体布局方案的确定2)系统总体结构的设计3)数据存储的总体设计4)系统物理配置方案设计n(2)详细设计1)代码设计;2)人机交互设计(用户界面设计);3)文件和数据库设计;4)模块处理过程设计(模块详细设计);包括输入设计、输出设计、处理流程图设计、模块内部的算法设计等5)网络设计;6)制订系统实施进度与计划;7)编写系统设计报告;71 1、系统设计的任务、系统设计的任务n系统设计的任务就是要依据这些文档资料,采用正确的方法来确定系统各功能模块在计算机内应该由哪些程序组成,它们之间用什么方式联结在一起以构成一个最好的系统机内结构,同时还要使用一定的工具将所
4、设计的成果表达出来,另外考虑到实现系统功能的需要,还要进行数据库的详细设计、编码设计、输入/输出界面(人机界面)设计等等 2 2、系统设计步骤、系统设计步骤n第一步进行数据库的物理设计。根据总体方案及系统分析的实际需求,考虑数据库的存储方式(集中式或分布式);考虑物理库的数量及每一个物理库所包含的数据库表的内容;从查询处理效率等方面考虑数据库表的索引问题等等。n第二步进行编码设计。编码是系统的重要组成部分,与数据的规范性和交换性密切相关,编码一旦被设计处理将会永久使用并常驻于数据库中,因此需要在系统设计阶段给出具有永久性、稳定性的编码设计方案。n第三步进行界面设计。构造良好的界面是未来系统能够
5、顺利运行的重要前提,要使信息系统使用起来更加舒适、更加高效就需要在界面设计方面具有一个全新的设计策略,这个设计策略要在程序设计之前完成。n第四步进行系统功能设计。功能设计是在前面所有工作基础上进行的,它主要是采用“自顶向下”的原则考虑模块的划分与设计,使模块内部以及模块与模块之间的连接具有合理的结构。功能设计结果的表达方式可以有两种:一种是利用“结构图”来描述模块的功能和模块之间的信息交换;另一种是用Rational Rose工具来描述。功能设计中通常有一组评价标准来对设计结果进行评价,同时使用一组设计原则对系统模块进行优化设计 3 3、系统设计评价标准、系统设计评价标准n一般来说,评价系统方
6、案主要从六个方面来进行,其中前三项是最重要的评价标准运行效率可靠性可修改性可扩充性可移植性灵活性通用性实用性1 1)运行效率)运行效率n一个计算机信息的资源主要包括中央处理机、内存、外存、输入/输出设备等,另外还包括时间,主要是指处理机的运行时间、外部设备运行时间和信息传输时间等等 n评价系统运行效率可以从处理能力、运行时间、响应时间三个方面来进行 处理能力是指在单位时间里能够处理多少事务;运行时间是指在处理状态下,系统运行一次所需要的时间;响应时间是指在联机处理状态下,从向系统发出一项请求到系统给出回答所用的时间 1 1)运行效率)运行效率n对建立在数据库基础上的信息系统而言,系统的运行时间
7、主要用在与数据库中数据打交道方面,如数据的操纵、分类、检索等等。影响系统处理能力的因素大致有五种 (1 1)系统中间文件数量)系统中间文件数量n系统中间文件用来暂时保存程序运行过程中的一些中间数据,这些数据并不具有长期保存价值。中间文件由某一段程序产生,被下一段程序所使用,使用完后便可以将它抛弃。建立不必要的中间文件或重读这些文件必然会占据较大的存储容量,降低系统的运行效率。因此在系统设计过程中要尽量减少中间文件的数量以提高系统运行效率 (2 2)数据文件的检索次数)数据文件的检索次数n假设一个数据库表中包含有三种类型的记录:A、B、C,对这三种类型记录的检索可以有两种方案:第一种方案是先从头
8、到尾把文件中A类型的记录检索出来进行处理,再从头到尾把文件中B类型的记录检索出来,最后再用同样的方法把C类型的记录检索出来。第二种方案是对文件只检索一次,遇到哪种类型就相应地进行哪种处理。因为在数据库文件中往往存储了大量的各类数据,对它们的检索要花很长的时间,所以第一种方案的系统效率将低于第二种方案。 (3 3)外存访问次数)外存访问次数n外存访问次数是指对磁盘文件的访问次数。n计算机在访问外存设备读或写一条记录的过程首先要确定记录在磁盘上的位置其次引导读写磁头移动到相应的位置上最后再将所读到的记录传输到指定的位置或完成写的操作n由此可见文件的访问时间主要用在定位和传输上,这属于磁盘操作系统的
9、一部分,系统设计员无法对其进行控制,他们所能够做的重要事情就是建立一个外存访问次数最少的信息系统 (4 4)程序的调用和其他的系统开销所花费的时间)程序的调用和其他的系统开销所花费的时间n一个系统是由一系列程序模块组成的,每个程序可能又需要调用其它程序,出现A模块调用B模块,而B模块在运行过程中又需要调用C模块的现象,每一次的调用都要占用一定的时间,并且要消耗一定的系统资源,从而影响系统运行效率。因此程序的调用和其它系统开销要被考虑到提高运行效率的因素中 (5 5)程序和执行时间)程序和执行时间n程序的执行时间和程序的质量有关。同一个功能可能有几种程序设计方法,每种方法的执行时间是有差异的衡量
10、程序质量的标准之一是在同一台计算机上、运用同一个操作系统来运行这些程序,所占用的中央处理机和主存的时间最少的程序为最好。但是当操作系统很好,且计算机速度也很快时,程序的执行时间对运行效率的影响并不显著 2 2)可靠性)可靠性n系统的可靠性包括软件和硬件可靠性两种,它取决于系统本身的性质 校验码 批量控制 建立运行日志和信息追踪 文件的存取限制 可靠性指标 可靠性指标可靠性指标n衡量可靠性的指标是“平均故障间隔时间”(Mean_Time_Between_Failures,MTBF)。这是指平均发生前后两次故障的间隔时间,显然故障间隔时间越长,则系统的可靠性越高 n与可靠性密切相关的是系统的可维护
11、性。这是指排除故障的难易程度,衡量的指标是“平均修复时间”(Mean_Time_To_Repairs,MTTR)。它的含义是在系统发生故障以后,平均每次所用的修理时间,也称为排除故障时间。显然平均修复时间越短,则系统的可维护性越高。 n系统的有效性=MTBF/(MTBF+MTTR)它是一个大于零小于1的实数。这项指标越接近1,则系统的有效性越高 3 3)可修改性)可修改性n系统不断变化引发不断修改的原因:由于系统是在一个实际的客观环境中运行,它的数据来自于客观现实,而客观世界是在不断地变化的,它导致客观数据的变化和功能需求的变化,为了适应这种不断变化需求,必然要求信息系统也随之而变化,即对信息
12、系统做相应的修改。由于计算机技术在不断地发展,硬件价格越来越便宜,新的操作系统和程序语言在不断地出现或升级,计算机网络技术和通讯技术也在不断地发展,这些必然对信息系统产生影响,迫使用户考虑使用新的技术、更新设备、提高系统运行效率、完善系统功能等等。无论是在系统分析、系统设计、程序设计及调试阶段,都可能会发现一些问题导致对前一阶段的工作进行修正,到了系统测试阶段也必然会发现一些问题和故障需要给予解决,这些都意味着对系统的修改。对于一个复杂的系统来说,不可能在系统测试阶段就能够完全彻底地把故障全部排除,有的错误可能会在系统运行阶段才能暴露出来,要把这些错误纠正过来称为运行纠错,这同样意味着对系统进
13、行修改和维护。 5.2 5.2 系统总体设计系统总体设计21结构化方法的总体设计结构化方法的总体设计n1)将系统划分成程序模块(包括子系统和底层函数,不同粒度);n2)决定每个模块的功能;n3)决定模块的调用关系;n4)决定模块的接口,即模块间信息的传递。22面向对象方法的总体设计面向对象方法的总体设计n1)确定子系统的构成关系;n2)识别系统中的对象,设计类;n3)决定每个类的属性和操作(功能);n4)决定对象之间的协作关系;n5)将类划分为组件,决定组件的依赖关系。235.2.15.2.1总体设计的目标与要求总体设计的目标与要求n总体设计的目标:旨在依据系统分析报告,建立系统的总体结构和它
14、的各子系统之间(或各子系统与其各模块之间)的关系,定义各子系统或各功能模块之间的接口,设计总体数据存储结构,规定设计限制,制定组装测试计划。n总体设计的要求包括:各功能模块间应满足低耦合度,而各功能模块内应满足高内聚度。功能模块的作用范围应在其控制范围之内。降低模块接口的复杂性,提高系统的可移植性。245.2.25.2.2总体设计的步骤总体设计的步骤n1)建立系统的总体结构;n2)给出各功能模块的描述;n3)设计总体数据存储结构;n4)设计系统物理配置方案;n5)制定组装测试计划;n6)评审。255.7 5.7 代码设计代码设计26代码设计的原则代码设计的原则n1)唯一性代码的唯一性表示每一个
15、代码只能唯一地表示某个实体或属性,不能有二重性,这是最重要的特性。n2)标准化代码的设计要适应并符合国家、部门及行业的标准,同一类型对象的编码应该统一。n3)扩展性代码结构必须能适应实体或属性集合体不断扩充的需要,即要留出足够的备用代码位。n4)简便性在不影响系统容量和扩展性的情况下,代码的设计越短越好,这样既便于人们的识别与记忆,又可减少输入操作时的错误。27代码设计时应注意的问题代码设计时应注意的问题n(1)设计代码时,要预留足够的位置,以适应不断变化的需要。n(2)设计的代码在逻辑上必须能满足用户的需要,在结构上应当与处理的方法相一致。n(3)一个代码应该唯一表示它所代表的事物或属性。n
16、(4)要注意避免引起误解,不要使用易于混淆的字符,不要把空格作为代码;要使用24小时制表示时间等。n(5)代码要系统化,代码的编制应尽量标准化,尽量使代码结构对事物的表示具有实际意义,以便于理解及交流。n(6)当代码长于4个字母或5个数字字符时,应分成小段,这样人们读写时不易发生错误。n(7)要注意尽量采用不易出错的代码结构,例如,字母字母数字的结构比字母数字字母的结构发生错误的机会要少一些。n(8)若已知代码的位数为P,每一位上可用的字符数为Si,则可以组成的码的总数为:n例如,有一个三位代码,对应字符为09,那么它共可以组成C101010=1000种码,如果对应的字符为07,那么它共可以组
17、成C=888=512种码。2829校验码校验码为了保证正确输入,有意识地在编码设计结构中原有代码的基础上,另外加上一个校验位,使它事实上变成代码的一个组成部分。这个校验位依据事先规定的数学方法计算,将它与输入的校验位进行比较,以证实输入是否有错。 抄写错误,如:1写成7;易位错误,如:1234写成1324;双易位错误,如:26913写成21963;随机错误,如:包括以上两种或三种综合性错误或其他错误。5.9 5.9 系统程序设计规范系统程序设计规范305.9.1 5.9.1 源程序的设计规范源程序的设计规范n包结构及路径设计规范n程序文件的命名规范n编码规范n程序Bug预防31/* * 取得监
18、测站数据(描述方法的用途)* * param strLTime String 本地数据时间戳* param strMSId String 监测站ID* return byte 监测数据(zip压缩包)* throws SynDatasException 取得数据失败时(抛出例外的时机/场景)* since ver 1.15 2006/01/15*/public byte getMonitorStationData(String strLTime, String strMSId) throws SynDatasException / 1. 取得处理要求的所有数据/检查数据的有效性 / 2. 处理
19、本体 / 3. 返回/保存结果5.9.2 5.9.2 页面的设计规范页面的设计规范32text text 5.105.10输入输入/ /输出设计输出设计33n输入输出设计对于系统开发人员并不重要,但对用户来说,却显得尤为重要(1)它能够为用户建立良好的工作环境,激发用户努力学习、主动工作的热情;(2)它是一个组织系统形象(Cooperation Identify System, CIS)的具体体现;(3)符合用户习惯,方便用户操作,使目标系统易于为用户所接受。(4)为用户提供易读易懂的信息形态。345.10.1 5.10.1 输入设计输入设计n输入设计的目的是提高输入效率,减少输入错误。n输入
20、设计的设计原则包括:控制输入量,尽可能利用已知数据计算;减少输入延迟,批量输入、周转文件输入;减少输入错误,采用多种校验方法和验证技术;避免额外步骤;简化输入过程。n输入设计的内容一般包括:输入界面设计;输入设备选择;输入设计首先要确定输入设备的类型和输入介质。n目前常用的输入设备大致包括以下几种:光电阅读器;键盘-磁盘输入装置;终端输入。355.10.2 5.10.2 输出设计输出设计n输出设计的目的是为了正确及时反映和组成用于管理各部门需要的信息。信息是否能够满足用户需要,直接关系到系统的使用效果和系统的成功与否。n输出设计的主要内容包括:输出信息使用情况;信息的使用者、使用目的、信息量、
21、输出周期、有效期、保管方法和输出份数;输出信息内容;输出项目、精度、信息形式(文字、数字);输出格式,表格、报告、图形等;输出设备和介质,如:打印机、显示器等;介质如:磁盘、磁带、纸张(普通、专用)等。365.10.3 5.10.3 用户界面原型用户界面原型n界面原型不描述太多细节,通常包含以下内容:n1)需要由用户输入到系统中的数据窗口或表格;n2)需要由系统执行的操作按钮;n3)系统3应及时做出回应的事件;n4)需要由系统输出给用户的数据窗口或消息。37思考题思考题n1. 列出系统设计的原则及任务。n2. 阐述总体设计的目标及要求。n3. 列出系统总体设计的步骤。n4. 理解程序的设计规范。n5. 解释输入/输出设计。38