本章小节
从商业管理系统调查、系统分析到系统设计是信息系统开发的主要工作,这三个阶段的工作量几乎占到了总开发工作量的70%。而且这三个阶段所用的工作图表较多,涉及面广,较为繁杂。商业管理系统设计是管理信息系统开发的重要阶段,主要目的是在系统分析阶段提出的反映用户需求的逻辑方案的基础上,科学合理地将逻辑方案转换成可以实施的物理(技术)方案。
商业管理系统设计阶段包括总体结构设计和详细设计两个步骤。总体结构设计阶段的主要任务是确定系统的硬件结构、软件结构、网络结构设计及模块的划分等,详细设计阶段包括代码设计、数据库设计、输入输出设计、处理流程设计等内容。
按照结构化系统分析与设计的基本思想,自顶向下地把整个系统划分为若干个大小适当、功能明确、具有相对独立性并容易实现的子系统,然后再自下而上地逐步设计。功能模块的划分应注意高内聚、低耦合的原则,系统划分为功能模块可增大系统的可维护性,并提高系统开发工作的效率。
代码设计涉及科学管理的问题,好的代码方案有利于系统的开发工作。
数据库设计是系统设计的重要部分,数据库设计的好坏决定着整个系统开发的优劣,具有集中统一规划的数据库是管理信息系统成熟的重要标志,信息集中成为资源,为各种用户所共享。在数据库系统的分析和设计阶段,大的步骤包括:需求分析;概念结构设计(设计局部E—R图、综合成初步E—R图、E—R图的优化);逻辑结构设计(导出初始关系模式、规范化处理);物理设计。完成数据库的逻辑结构设计之后,便可着手进行应用程序的设计,设计阶段的最后一步是系统性能测试与确认。数据库系统实现和运行阶段包括数据库的实施、数据库运行与维护,必要时需要进行数据库的重组。
一个好的输入系统设计可以为用户和系统双方带来良好的工作环境,一个好的输出设计可以为管理者提供简洁、明了、有效、实用的管理和控制信息。处理流程设计是系统设计的最后一步,也是最详细地涉及具体业务处理过程的一步。它是下一步编程实现系统的基础。
系统设计的最终结果是系统设计说明书,这些说明书包括技术方面的描述,详细说明系统的输出、输入和用户接VI,以及所有的硬件、软件、数据、远程通信、人员和过程的组成部分及这些组成部分涉及的方法。这些说明书是设计报告的一部分,而设计报告是系统设计的主要结果。
【学习目的和要求】
●掌握系统设计的一般步骤及系统设计的一般原则
●了解系统总体设计的内容及设计方法
●掌握系统详细设计的内容及设计方法
●了解设计报告的规范
系统设计阶段的主要任务是,在系统分析阶段提出的新系统逻辑模型的基础上,科学合理地进行物理模型的设计,包括总体结构设计和详细设
计,即确定具体的实施方案,解决怎么做的问题。
第一节系统设计概述
系统设计作为信息系统开发过程中的重要一环,所使用的方法还是:先以自顶向下结构化的设计方法完成系统的总体设计,包括子系统的划分
、网络设计和配置、设备选型、运行环境的设计和数据库管理系统的选择等;然后是详细设计,包括代码设计、数据库设计、输入输出设计、
人机界面设计等。这一阶段的成果是系统设计报告,是下一阶段系统实施的主要依据。
系统设计主要依据系统分析阶段生成的系统分析报告和开发者的知识与经验,系统设计时应尽量遵守以下原则:
(1)简单性。在达到预定目标、具备所需要功能的前提下,系统应尽量简单,这样可减少处理费用,提高系统效益,便于实现和管理。
(2)系统性。系统是作为统一整体而存在的,因此,在系统设计中,要从整个系统的角度进行考虑,系统的代码要统一,设计规范要标准,传递
语言要尽可能一致,对系统的数据采集要做到数出一处、全局共享,使一次输入得到多次利用。
(3)灵活性。为保持系统的长久生命力,要求系统具有很强的环境适应性,一个可变性好的系统,各个部分独立性强,容易进行变动,从而可提
高系统的性能,不断满足对系统目标的变化要求,为此,系统应尽量采用模块化结构,提高各模块的独立性,尽可能减少模块间的数据耦合,
使各子系统间的数据依赖减至最低限度。这样,既便于模块的修改,又便于增加新的内容,提高系统适应环境变化的能力。
(4)可靠性。可靠性是指系统抵御外界干扰的能力及受外界干扰时的恢复能力。一个成功的管理信息系统必须具有较高的可靠性,如安全保密性
、检错及纠错能力、抗病毒能力等。
(5)经济性。经济性是指在满足系统需求的前提下,尽可能减小系统的开销。一方面,在硬件投资上不能盲目追求技术上的先进,而应以满足应
用需要为前提;另一方面,系统设计中应尽量避免不必要的复杂化,各模块应尽量简洁,以便缩短处理流程、减少处理费用。
第二节系统总体设计
管理信息系统的设计多采用结构化设计方法(StructureDesign,SD)。结构化系统设计的基本思想是以系统逻辑模型为基础,依据数据流程图和
数据字典,运用一套标准的工具和准则,把系统划分为功能明确、大小适当、有一定独立性且易于实现的子系统或模块。这样就可以把一个复
杂系统的设计转变为对多个简单模块的设计。
管理信息系统的总体设计包括根据系统分析阶段确定的新系统的目标、功能和逻辑模型,把整个系统按功能划分成若干子系统,明确各子系统
的目标和功能,然后按层次结构划分功能模块,画出系统结构图;还包括系统处理方式的选择和设计、计算机网络结构的设计、数据库管理系
统的选择、软硬件的选择与设计等。
一、子系统的划分及模块设计
(一)子系统划分及模块设计的原则
系统的功能分解的过程就是一个从抽象到具体、由复杂到简单的过程。在前面我们强调过结构化系统分析与设计的基本思想就是自顶向下地将
整个系统划分为若干个子系统,子系统再分子系统(或模块),层层划分,然后自上而下地逐步设计。子系统划分的一般原则如下:
1.子系统或模块要具有相对独立性子系统的划分必须使得子系统的内部功能、信息等各方面的凝聚性较好。在实际中我们都希望每个子系统或
模块相对独立,尽量减少各种不必要的数据、调用和控制联系。并将联系比较密切、功能近似的模块相对集中,这样对于以后的搜索、查询、
调试、调用都比较方便。
2.要使子系统或模块之间数据的依赖性尽量小
子系统之问的联系要尽量减少,接口简单、明确。一个内部联系强的子系统对外部的联系必然相对很少。所以划分时应将联系较多的都划人子
系统内部。这样划分的子系统,将来调试、维护、运行都是非常方便的。
3.子系统或模块划分的结果应使数据冗余最小
如果我们忽视这个问题,则可能引起相关的功能数据分布在各个不同的子系统中,大量的原始数据需要调用,大量的中间结果需要保存和传递
,大量计算工作将要重复进行。从而使得程序结构紊乱、数据冗余,这不但给软件编制工作带来很大的困难,而且系统的工作效率也大大降低
了。
4.子系统或模块的设置应考虑今后管理发展的需要
子系统的设置光靠上述系统分析的结果是不够的,因为现存的系统由于这样或那样的原因,很可能都没有考虑到一些高层次管理决策的要求。
为了适应现代管理的发展,对于老系统的这些缺陷,在新系统的研制过程中应设法将它补上。只有这样才能使系统以后不但能够更准确、更合
理地完成现存系统的业务,而且可以支持更高层次、更深一步的管理决策。
5.子系统或模块的划分应便于系统分阶段实现
信息系统的开发是一项较大的工程,它的实现一般要分期分步地进行。所以子系统的划分应该考虑到这种要求,适应这种分期分步的实施。另
外,子系统的划分还必须兼顾组织机构的要求(但又不能完全依赖于组织,因为目前正在进行体制改革,组织结构相对来说是不稳定的),以便
系统实现后能够符合现有的情况和人们的习惯,从而更好地运行。
(二)子系统划分或模块设计的方法
人们在长期的实践中摸索出了一套子系统的划分方法,虽然它们还不太成熟,但已为广大实际工作者自觉或不自觉地采用了。划分子系统的方
法常用的主要有以下四种:
(1)按功能划分。这是目前用的最多的一种方式。
(2)按业务处理顺序划分。划分的依据是业务流程分析的结果。在一些时间和处理过程顺序特别强的系统中,这种划分方法常常被采用。(3)按
数据拟合程度来划分。由于每个子系统内部的数据相对集中,这种划分方法的子系统内部聚合力强,外部通信压力小。
(4)按业务处理过程划分。当整个系统要分段实现开发时,常常采用这种方法。
从管理职能的角度,按功能划分子系统的方法,可以把管理信息系统看作由不同职能的一系列子系统构成,这些子系统可以再分解成更小的子
系统和模块,整个信息系统就是由这些功能模块构成的。
(三)子系统划分或模块设计的结果
模块是可以组合、更换和分解的单元,是组成系统、便于处理的基本单位。在信息处理中,任何一个处理功能都可以认为是一个模块,并且具
有层次性。因此,一个复杂的系统可由几个大的模块组成,每个大模块又可分解为不同层次的多个模块。
一个模块应具有三种基本属性:一是功能,说明该模块完成什么任务;二是逻辑,描述该模块内部如何实现所要求的功能;三是状态,描述该
模块的运行环境和模块间的相互关系。实际上,定义模块就是确定模块内部逻辑构成和设计模块与模块之间的连接关系。模块分解与组合的合
理性将直接影响系统设计的质量。
子系统划分或模块设计后,会产生系统(模块)结构图以及处理逻辑说明。图6—1给出了库存管理系统的模块结构示意图,图6--2给出了相应的
处理逻辑说明示意图。
二、处理方式的选择和设计
可以根据系统功能、业务处理特点、性能/价格比等因素,选择集中式处理方式或分布式处理方式。在一个管理信息系统中,也可以混合使用
多种方式。
(一)集中式系统
集中式系统是集设备、软件和数据于一体的工作模式,可分为单机模式和主机/终端模式①。单机模式仅适用于个人信息处理系统。主机/终
端模式是指系统安装在大型主机上,用户可以同时在本地或远程连接的多个终端上运行信息系统。主机/终端模式适用于某些特定的应用领域
,如订票系统、银行储蓄系统等。
(二)分布式系统
分布式系统的工作模式是将整个系统分成若干个地理上分散的设置,业务可以独立处理,但系统在统一的工作规范和技术要求下运行。
1.文件服务器/工作站模式(W/S)
这种模式一般用于由PC组成的局域网。数据库管理系统安装在文件服务器上,而数据处理和应用程序分布在工作站上,文件服务器仅提供对数
据的共享访问和文件管理,没有协同处理能力。
2.客户机/N务器模式(c/s)
客户机只执行本地前端应用,而将数据库的操作交由服务器负责,以合理均衡的事务处理充分保证数据的完整性和一致性。这种结构可以将应
用逻辑分布在客户工作站和服务器之间,以提供更快、更有效的应用程序。
3.浏览器/服务器模式(B/S)
客户端利用浏览器,通过Web服务器访问数据库,以获取需要的信息。Web服务器与特定的数据库系统的连接可以通过专用的软件来实现。客户
通过统一的浏览器方式运行系统,而不需要安装特定的应用程序。
在设计系统的运行模式时,应考虑系统的类型、处理方式、数据存储要求、软硬件的配置情况,还应照顾到系统使用的方便程度、维护和扩展
的性能、安全性、可靠性、经济实用性等。例如,对于工资管理系统,如果企业是小型的地域型企业,人员比较集中,可以采用客户机/Hi务
器(c/s)模式开发系统;如果企业是一个跨国公司,业务和人员分布广,浏览器/服务器(B/S)模式应作为首选方案。
三、计算机网络系统的设计:
计算机网络系统的设计主要包括中、小型机方案与微机网络方案的选取,网络互联结构及通信介质的选择,局域网拓扑结构的设计,网络应用
模式及网络操作系统的选型,网络协议的选择,网络管理,远程用户等工作。
(一)网络拓扑结构的设计
当选定系统的工作模式之后,我们就可以确定系统的网络拓扑结构,并根据系统的逻辑功能划分(如有多少子系统)确定网络的逻辑结构(子网或
网段的划分),这实际上也就决定了网络的主要连接设备及服务器等重要部分的构成,此时应遵循的重要原则就是应尽量使信息交换量大的应用
放在同一网段内。
目前网络使用的拓扑结构主要有三种:星型拓扑结构、环型拓扑结构和总线型拓扑结构。星型结构的可扩展性好,适合发展较快的系统的设计
;环型结构在局域网中使用较多;总线型结构通常只适合较小的系统,对于数据量大的系统容易发生错误,且网速较慢。
(二)服务器选择
服务器是指在网络环境下运行相应的应用软件,为网上用户提供共享信息资源和各种服务的一种高性能计算机,英文名称为Server。在管理信
息系统中,服务器为网络环境中的客户端提供各种信息服务。
服务器既然是一种高性能的计算机,它的构成肯定就与我们平常所用的电脑(PC)有很多相似之处,如CPU(中央处理器)、内存、硬盘、各种总线
等,只不过它是能够提供各种共享服务(网络、Web应用、数据库、文件、打印等)以及其他方面的高性能应用的电脑,它的高性能主要体现在高
速度的运算能力、长时间的可靠运行、强大的外部数据吞吐能力等方面,是网络的中枢和信息化的核心。
服务器可采用性能一般的小型机或性能高的微机。计算机及网络的各项技术参数的选择可依据系统要处理的数据量及数据处理的功能要求来决
定。
四、数据库管理系统的选择
管理信息系统中,数据库服务器是必不可少的网络组成部分,运行在数据库服务器上的大型软件称为数据库管理系统。数据库管理系统
(DatabaseManagementSystem,DBMS)是一种操纵和管理数据库的大型软件,可用于建立、使用和维护数据库。它对数据库进行统一的管理和控
制,以保证数据库的安全性和完整性。用户通过DBMS访问数据库中的数据,数据库管理员也通过DBMS进行数据库的维护工作。它提供多种功能
,可使多个应用程序和用户用不同的方法同时或在不同时刻去建立、修改和查询数据库。
在数据库管理系统的选择上,应充分考虑以下三个方面的因素:
(1)明确系统的需求。通过系统分析,应基本掌握新系统的目标和需求、数据量的大小、数据产生的方式等要素,明确对数据库的基本需求和对
数据的处理方式。
(2)了解各种主要数据库管理系统的性能。了解各种数据库管理系统适用的对象和范围,充分考虑性能价格比、厂家的技术支持、今后服务等因
素。
(3)适应总体应用环境。应考虑信息系统采用的数据库管理系统与相关的外部环境之间的关系,如企业的客户和供应商所采用的数据库管理系统
,这样会有利于数据的传递和共享;如果在某一行业中,企业采用Sybase的比例很高,那么同一行业中的其他企业建立管理信息系统时一般也
应采用相应的数据库管理系统软件,这样有利于相互的数据交换。另外,开发技术人员对数据库管理系统的熟悉程度也是不容忽视的因素。
目前市场上流行的数据库管理系统如Oracle、Sybase、SQLServer、Informix等是开发大、中型管理信息系统时数据库系统软件的首选,而
VisualFoxpro、MicrosoftAccess在小型管理信息系统建设中选用较多。
五、软、硬件的选择
计算机软、硬件的选择,对于管理信息系统的功能有很大的影响。大型管理信息系统的软、硬件的采购可采用招标等方式进行。
(一)系统硬件的选择硬件系统选择时应考虑如下因素:
(1)中央处理机(CPU)的速度和性能;
(2)内、外存容量及可扩充量;
(3)外部设备的配置,主要考虑输入及输出设备、通信接口设备等;
(4)该硬件系统支持软件的能力,主要考虑硬件系统可支持本厂家生产的软件系统的能力,以及支持其他厂家软件的能力。
(二)系统软件的选择
系统软件的选择工作,实际上是对确定的硬件结构中的每台计算机指定相应的计算机软件,包括操作系统、数据库管理系统、应用服务器系统
、开发工具软件等。
1.操作系统的选择操作系统是最靠近硬件的低层软件。操作系统是控制并管理计算机硬件和软件资源、合理地组织计算机工作流程并方便用户
使用的程序集合,它是计算机和用户之间的接口。客户机上的操作系统一般是采用易于操作的图形界面的操作系统,现在多数选择Windows系列
,如WindowsXP、Windows2000等。
网络操作系统是网络用户和计算机网络的接口,它管理网络上的计算机硬件和软件资源,如网卡、网络打印机、大容量外存等,为用户提供文
件共享、打印共享等各种网络服务以及电子邮件、WwW等专项服务。服务器上的操作系统一般选择多用户网络操作系统,如Unix、Netware、
WindowsNT等。其中,Unix的特点是稳定性及可靠性非常高,但缺点是系统维护困难、系统命令枯燥。Netware适用于文件服务器/工作站工作
模式,在五年前市场占有率很高,但现在应用的较少。WindowsNT安装、维护方便,具有很强的软硬件兼容能力,并且与Windows系列软件的集
成能力也很强,一般认为是最有前途的网络操作系统。
2.应用服务器系统软件及开发工具的选择管理信息系统的工作模式在很大程度上决定了系统的应用服务器软件及其开发工具。若系统确定开发
的应用为B/S模式,就应选择支持B/S模式的应用服务器软件及开发工具。例如,如果你的网络操作系统选择的是WindowsNT,则微软公司的
InternetInformationServer(IIS)是建立支持Web应用的首选应用服务器软件。目前B/S模式应用的开发工具很多,如JSP、ASP、PowerBuilder
的较高版本都支持B/S模式应用的开发。当然,若管理信息系统采用B/S模式,则客户端计算机上还需安装浏览器软件,现在Windows操作系统
一般都安装有IE浏览器。如果系统确定的应用为c/s模式,则开发工具及运行环境需要安装在客户端计算机上,服务器端只需要安装数据库管
理系统。用于c/s模式应用开发的系统工具软件用得较多的有PowerBuilder、VisualBasic、VC++等。第三节代码设计代码是以数字或字符来代
表各种客观实体,代码设计问题是一个科学管理的问题。设计出一个好的代码方案对于系统的开发工作是一件极为有利的事情。它可以使很多
机器处理(如某些统计、查询等)变得十分方便,另外还把一些现阶段计算机很难处理的工作变成很简单的处理。简单地说,代码有如下作用:
(1)识别。识别是代码的通用特征,一个代码能也只能唯一地表示一个分类对象,任何代码都必须具备这种基本特性。
(2)分类。有些代码是具有分类作用的,比如为学生的专业设计代码,那么此代码就可以将学生按专业分类。
(3)排序与索引。代码有时可以设计成具有排序和检索的特点,方便对对象的查询。
(4)专用含义。当客观上需要采用一些专用符号时,代码可设计成能提供一定的专门含义,如数学运算的程序、分类对象的技术参数及性能指标
等。
一、代码设计的原则合理的代码结构是决定信息处理系统有无生命力的重要因素之一,代码设计应遵循以下基本原则。
(1)选择最小值代码:随着信息量的迅速增长,代码长度日趋加长,在不影响代码系统的容量和扩充性的前提下,代码应尽可能简短、统一。
(2)唯一性:代码的唯一性要求保证,通过代码可唯一地确定编码对象,这是代码在数据管理中最基本的作用。
(3)规范性:代码要遵循一定的规则,这些规则包括代码的位数、代码的分段、每段的类型和含义等。例如,我国公民身份证代码共有18位,全
部采用数字编码,各位数字的含义参见图6—3中的说明。在该编码中,第17位数字是表示在前16位数字完全相同时某个公民的顺序号,并且单
数用于男性,双数用于女性。如果前16位数字均相同的同性别的公民超过5人,则可以“进位”到第16位。比如:有6位女性公民前16位数字均
相同,并假设第16位数是7,则这些女性公民的末两位编号分别为72、74、76、78、80、82。另外,还特殊规定,最后三位数为996、997、998
、999这4个号码为百岁老人的代码,这4个号码将不再分配给任何派出所。
(4)可扩展性:是保证系统对企业管理业务变化的适应性,即要求代码规则对已有编码对象留有足够的余量。例如,在产品代码已经按其代码规
则被全部占用的情况下,若企业再开发出新产品,系统就无法对其编码并进行管理了。
(5)标准化与通用性:考虑企业信息系统与主管部门通信及联网的需要,尽可能利用国际、国内、部门的标准代码。
(6)满足用户需要:尽量使用原业务处理上已使用的行之有效的代码,方便用户使用。
二、代码的种类
代码的种类有很多,这里介绍几种常用的编码方式。
1.顺序码
顺序码可分为数字顺序码和字母顺序码。顺序码是最简单的代码形式,一般适用于编码对象数目较少的情况。例如,某企业管理信息系统中,
对5个产品仓库的代码可采用如下的数字顺序码,如表6—1所示。
2.区间码
区间码把数据项分成若干组,每个区间代表~个组。码中的数字和位置都代表一定的意义。区间码又分为层次码(如表6—2所示)、十进制码(如
表6—3所示)和特征码(如表6—4所示)三种。
3.助忆码
为了容易识别和记忆,可采用字符助忆代码,如我们可对企业的仓库采用如表6—5所示的字符代码。使用仓库汉语名称的拼音字头形成了相应
仓库的字符代码,既容易识别,也容易记忆。
4.混合码
当编码采用上述方法中的两种或以上方式时,称为混合编码方式,所编代码为混合码。
三、代码中的校验位
代码是计算机的重要输入内容之一,其正确与否直接影响到整个处理工作的质量,特别是通过手工输入时,发生错误的可能性更大。为了保证
正确输入,在代码设计结构中原有代码的基础上,另外加上一个校验位,使它成为代码的一个组成部分。校验位通过事先规定的数学方法计算
出来,输入时,计算机用同样的方法按代码数字计算出校验位,与输入的校验位进行比较,以确保输入正确。
校验位可以发现的错误有:抄写错误(1写成7)、易位错误(1234写成1243)、双易位错误(4321写成3412)以及随机错误。
计算校验位的方法很多,这里举出几种。
1.算术级数法
原代码12345
各乘以权65432
乘积求和6+10+12+12+10=50
以11为模去除乘积之和,取余数作为校验码:50/11—4余6。
由此得出代码为:123456,其中6为校验码。
2.几何级数法
原代码12345
各乘以权3216842
乘积求和32+32+24+16-Fi0:114
以1l为模去除乘积之和,取余数作为校验码:114/II:10余4。
由此得出代码为:123454。
3.质数法
原代码12345
各乘以权1713753
乘积求和17+26+21+20+15—99
以11为模去除乘积之和,取余数作为校验码:99/11—9余0。
由此得出代码为:123450。
计算校验码时,由于权与模的取值不同,检测效率也不同。一般来说,校验码是对数字代码进行检查。但是,对于字母或字母数字组成的代码
,也可以用校验码进行检查,但这时校验位必须是两位,在计算时要将A—Z跟随。一9的顺序变为:A一10、B一11、……、Z一35。
四、代码设计步骤
(1)确定代码对象:
(2)考察是否已有标准代码;
(3)根据代码的使用范围、使用时间和实际情况选择代码的种类与类型;
(4)考虑检错功能;
(5)编写代码表。
五、代码设计书
确定了代码的类型及校验方法后,需要编写代码设计书,如图6--4所示。
第四节数据库设计
管理信息系统要开展各种管理业务,实现各种管理功能,需要在数据库中存储大量的管理数据,数据是企业最重要的资源之一,开发数据资源
既是企业信息化的出发点,又是企业信息化的目标。因此,数据库设计对于管理信息系统是至关重要的。
数据库设计是指对于给定的应用环境,提供一个确定最优数据模型与处理模式的逻辑设计,以及一个确定数据库存储结构和存取方法的物理设
计,建立起既能反映现实世界信息和信息联系,满足用户数据要求和加工要求,又能被某个数据库管理系统所接受,同时能实现系统目标,并
有效存取数据的数据库。数据库设计是建立数据库及其应用系统的技术,是信息系统开发和建设中的核心技术。
按照软件工程的观点,数据库系统的生命周期可以划分为数据库设计、数据库实施和数据库使用三个阶段,而每个阶段又可划分为不同的步骤
。这个过程实质是信息从现实世界经过人为加工和计算机处理后又回到现实世界中去的过程。数据库设计阶段主要包括四个步骤:用户需求分
析、概念结构设计、逻辑结构设计和物理结构设计。在数据库设计完成后的数据库实施阶段,设计人员要运用DBMS提供的数据语言、工具等,
根据逻辑设计和物理设计的结果建立数据库、编制和调试应用程序、组织数据入库,并进行试运行。经过试运行后的数据库系统即可投入正式
运行,进入数据库生命周期的最后一个阶段——使用阶段,在这个阶段,必须不断地对数据库系统进行评价、调整与修改,直至系统消亡。
在这一节里,主要讨论数据库设计阶段的四个步骤所涉及的有关问题,即从用户需求分析开始,进入概念结构设计、逻辑结构设计和物理结构
设计。实际上,用户需求分析和概念结构设计解决的是数据库系统“做什么”,而逻辑结构设计和物理结构设计解决的是数据库系统“如何做
”的问题。
一、用户需求分析
进行数据库设计首先必须准确了解与分析用户需求,它是整个数据库设计过程的基础。用户需求分析的目的是获得用户对要建立的数据库系统
的信息需求的全面描述,通常使用数据流程图(DFD)和数据字典(DD)来表示。用户需求分析实际上在系统分析阶段已经完成了,在数据库设计阶
段只需进一步确认用户对数据内容、数据来源去向、取值范围、处理方式,以及对数据的安全性和完整性等方面的要求。
二、概念结构设计
概念结构设计是通过对用户需求进行综合、归纳和抽象,形成一个独立于具体数据库管理系统的概念模型。概念模型是建立数据库逻辑模型的
基础,它描述了从用户角度看到的数据库的内容及联系,纯粹是对现实的反映,而与数据的存储结构、存取方式以及具体实现等无关。
概念模型的表示方法很多,最为常用的是实体一联系的方法,该方法用E—R(Entity—Relationship)模型来描述概念模型。E—R模型直接面向
现实世界,不必考虑给定的DBMS所作的种种限制,它容易被管理人员和业务人员及计算机专业人员所接受,目前正在被广泛应用于数据库设计
之中。有关E—R模型的相关知识,请读者参考本教材第二章数据描述及层次组织一节的相关内容,本节主要就E—R模型的绘制进行讲解。
构造E—R模型实质上就是根据现实世界客观存在的“事物”及其关系所给出的语义要求,首先抽象出实体,并一一命名,再根据实体的属性描
述其间的各种联系。一般来说,它包括如下几步:(1)标识实体;(2)识别实体之间的联系;(3)识别属性;(4)标识关键字;(5)构造E—R模型。
应当指出的是,如果所处理的对象是一个比较大的系统,则应先画出各部门的子E—R模型,然后再将各子E—R模型经过合并,消除同类实体,
消除冗余,汇总为整个E—R模型。下面结合一个具体的例子,对E—R模型的绘制进行讲解。
在某高校学生选课管理系统中,教务处规定每个学生可选修若干门课程,每门课程都可被不同的学生选修,同时,每门课程有唯一指定的教师
,但每位教师可教授多门不同的课程。根据以上描述,该如何绘制该系统的E—R模型呢?
第一步,标识实体。在上例中包括三个实体:学生、课程和教师。第二步,识别实体之间的联系。学生和课程之间存在多对多的选修关系;教
师和课程之间存在一对多的教授关系。第三步及第四步,识别属性并标识关键字,学生实体应该包括学号、姓名、性别、年龄、籍贯、专业班
级等屙陛,其中学号为其关键字;课程实体应该包括课程编号、课程名称、学时、学分、课程性质等屙陛,其中课程编号为其关键字;教师实
体应包括教师编号、姓名、性别、年龄、籍贯、所属院系等属性,其中教师编号为其关键字。第五步,构造E—R模型。
根据上面的分析,我们绘制该系统的E—R模型,如图6—5所示。
三、逻辑结构设计逻辑结构设计的任务是,把概念结构中的E—R模型转换成数据库管理系统所支持的数据模型。
在数据库管理系统中,采用数据模型(DataModel)来对现实世界进行抽象,反映数据本身及其数据之间的联系。有关数据模型的相关知识,请读
者参考本教材第二章数据库技术一节的相关知识。数据模型按照计算机系统的观点来组织数据。为了将现实世界中的事物抽象为数据库管理系
统支持的数据模型,通常需要一个不依赖于计算机系统的中间层次,即首先将现实世界中的事物及其联系抽象为概念模型(概念结构设计),再
由概念模型转化为数据模型,最常用的是关系数据模型。
将E—R模型转换为关系模型,一般遵循如下原则:
(1)一个实体转换为一个关系,实体的属性就是关系的属性,实体的关键字就是关系的关键字。
(2)一个1:1的联系有两种方式向关系模式转换:一种方式是将联系转换为一个独立的关系,关系的属性包括该联系所关联的两个实体的码及联
系本身的属性,关系的码取自任一方实体的码;另一种方式是将联系归并到关联的两个实体的任一方,给待归并的一方实体属性集中增加另一
方实体的码和该联系的属性即可,归并后的实体码保持不变。
(3)一个1:n的联系有两种方式向关系模式转换:一种方式是将联系转换成一个独立的关系,关系的属性包括该联系所关联的两个实体的码及联
系本身的属性,关系的码是多方实体的码;另一种方式是将联系归并到关联的两个实体的多方,给待归并的多方实体的属性集中增加一方实体
的码和该联系的属性即可,归并后多方实体的码保持不变。
(4)一个n:m的联系转换为一个关系,联系中各实体关键字的组合组成关系的关键字(组合关键字)。
通过以上方法,就可以将全局E—R模型中的实体、属性、联系全部转换为关系模型,建立初步的关系模型。但是,关系模型的好坏对数据的存
储、操作有很大影响。因此,一般基于规范化理论进行关系模型的设计,要将前面得到的初步的关系模型进行规范化。规范化理论是科德(E.F
.Codd)在1971年提出的,研究关系模型中各属性之间的关系,探讨关系模型应具备的性质和设计方法。
在数据的规范化表达中,一般将一组相互关联的数据称为一种关系,这种关系落实到具体数据库上就是基本表,在规范化理论中该表是二维的
,它具有以下性质:
(1)列是同质的,即每一列中的分量是同一类型的数据,属于同一个域;
(2)列的顺序无所谓,即列的次序可以任意交换;
(3)任意两个元组不能完全相同,即行不能重复;
(4)行的顺序无所谓,即行的次序可以任意交换。
规范化体系中通过多层范式(NormalForm)结构表示关系模型的规范化程度,其结构如图6—6所示。在规范化体系中,如果满足最低要求,则称
为第一范式(FirstNormalForm,1NF),在1NF的基础上进一步满足一定的条件则为第二范式(2NF),以此类推。数据库是关系模式的集合,模式
设计三个方面的内容包括数据依赖、范式、模式设计方法,范式是经过规范的关系模式。关系可以分为静态关系和动态关系。静态关系是指一
旦数据已加载,用户只能在这个关系上进行查询操作,不再进行插入、删除、更新操作,静态关系一般规范到1NF就可以满足需要。动态关系是
指要对该关系中的数据经常进行更新、插入、删除操作,一般要规范到BCNF或3NF。
所谓第一范式,即关系模式中属性的值域中每一个值都是不可再分解的值。如果某个数据库模式都是第一范式的,则称该数据库模式是属于第
一范式的数据库模式。
比如有一个学习关系(学号,课程),若有如表6—6所示的几行记录,这时的第三条记录就表示本关系模式不是1NF的,因为课程中的值域还是可
以分解的,它包括两门课程。
如果改为如表6—7所示的记录,则成为1NF的关系。1NF的关系应满足的基本条件是,元组中每个分量都必须是不可分割的数据项。
2.第二范式(2NF)如果关系模式R为第一范式,并且R中每一个非主属性都完全依赖于R的主键,则称为第二范式模式。表6—8的关系模式满足
1NF的要求,但不满足2NF的要求。
在此关系模式中,“学号”和“课程号”共同构成此关系模式中的主码。“所在系”、“系主任”和“成绩”是非主属性。在这里“所在系”
只是部分依赖于码(即只依赖于主码的第一个分量“学号”),“系主任”也是部分依赖于码,因此该关系模式不属于第二范式。经过规范化分
解,可得如下两个满足第二范式的关系:
学生和系(学号,姓名,所在系,系主任)
成绩表(学号,课程号,成绩)
3.第三范式如果关系模式R是第二范式,且每个非主属性都不传递依赖于R的主键,则称R为第三范式模式。如表6--9所示的关系模式属于第二
范式,但不满足第三范式。
在该关系中,主码为“学号”。“所在系”这个非主属性依赖于主码“学号”,而“系主任”又依赖于“所在系”,因此,“系主任”的传递
依赖于主码“学号”。这样的关系存在着高度冗余和更新问题。消除传递依赖关系的办法是将上述关系分解为如下几个满足第三范式的关系:
学生(学号,姓名,所在系)院系(所在系,系主任)3NF消除了插入、删除异常及数据冗余等问题,已经是比较规范的关系了。
四、物理结构设计
物理结构设计是指对于一个给定的数据库逻辑结构,权衡各种利弊因素,研究并确定一种高效的物理存储结构,以达到既能节省存储空间,又
能提高存储速度的目的。需要指出的是,随着数据库技术的快速发展,数据库管理系统已能自行处理大多数物理细节,开发人员不必过多考虑
。
在逻辑设计和物理设计结束后,就要在计算机上建立起实际数据库结构、导人数据、测试和运行数据库了。数据库投入正式运行,标志着数据
库设计与应用开发工作的结束和运行维护阶段的开始。本阶段主要工作包括维护数据库的代表性和完整性、监测并改善数据库的性能等。五、
数据库设计案例按照规范设计的方法,考虑数据库及其应用系统开发的全过程,数据库设计分为以下四个阶段:用户需求分析、概念结构设计
、逻辑结构设计、物理结构设计,然后进行数据库的实施、运行和维护。
1.用户需求分析
某企业的物资管理系统,主要包括物资的采购、入库、出库、日常管理等活动。实体有物资、供应商和合同。物资实体可以通过物资代码、物
资名称、型号、规格、计量单位、物资类别、存放仓库等属性来进行描述;供应商的属性有供应商编号、供应商名称、供应商地址、联系人和
供应商账号;合同的属性有合同编号、合同日期和交货日期等。订货联系涉及的实体有物资、供应商和合同。一种物资可以由多家供应商供应
,签订多笔合同;一家供应商可以供应多种物资,也可能签订多笔合同,这种联系在图中用L:M:N来表示。在订货联系中的属性有订货数量和
订货价格。
2.概念结构设计
根据该企业物资管理中的实体和实体间联系,构建概念模型如图6—7所示。这里只给出了局部的E—R图,读者可以根据具体企业的实际情况和
相关章节的内容,自己补充其他实体,建成一个综合的物资管理的E—R图,实现企业物资管理的整体概念结构的设计。
公司管辖若干商店,每个商店有编号、店名、店址、店经理等属性(提示:“店经理”只作为“商店”的属性处理);每家商店有若干职工工作
,但每个职工只能服务于一家商店;每个职工有工号、姓名、性别、年龄、政治面貌等属性;商店都记录有每个职工参加工作的开始时问;每
家商店销售若干商品,同时商店记录商品的销售量;商品有商品号、商品名、单价、产地等属性。请根据以上文字正确画出实体一联系图,并
将E—R图转换为关系逻辑模型。
3.逻辑结构设计
根据数据库设计的原则,将E—R模型转换为关系数据模型:
物资(物资代码,物资名称,型号,规格,计量单位,物资类别)供应商(供应商代码,供应商名称,地址,联系人,供应商账号)合同(合同编号
,合同日期,交货日期)订货(物资代码,供应商代码,合同编号,订货数量,订货价格)每个关系都经过规范化分析,符合BCNF。
4.物理结构设计
数据库的物理设计通常分为两步:确定数据库的物理结构,在关系数据库中主要指存取方法和存储结构;对物理结构进行评价,评价的重点是
时间和空间效率。
不同的数据库产品所提供的物理环境、存取方法和存储结构有很大差别,能供设计人员使用的设计变量、参数范围也很不相同,因此没有通用
的物理设计方法可遵循,只能给出一般的设计内容和原则。希望设计优化的物理数据库结构,使得在数据库上运行的各种事务响应时间少、存
储空间利用率高、事务吞吐率大。为此,首先对要运行的事务进行详细分析,获得选取物理数据库设计所需要的参数;其次要充分了解所用的
RDBMS的内部特征,特别是系统提供的存取方法和存储结构。
5.数据库实施和维护
完成数据库的物理设计之后,设计人员就要用关系数据库管理系统提供的数据定义语言和其他实用程序,将数据库逻辑设计和物理设计结果严
格描述出来,成为数据库管理系统可以接受的源代码,再经过调试产生目标模式。
第五节输入/输出设计
信息系统输入输出(I/O)设计是一个在系统设计中很容易被忽视的环节,又是一个十分重要的环节,它对于用户使用系统的方便性和安全可靠
性来说都是十分重要的。一个好的输入系统设计可以为用户和系统双方带来良好的工作环境,一个好的输出设计可以为管理者提供简明、有效
、实用的管理和控制信息。
一、系统输入设计在实现系统开发过程中输入设计所占的比重较大。以某企业开发的管理信息系统为例,在涉及全厂生产、经营、财务、销售
、物资供应5个子系统中,与输入输出界面相关的程序占总程序量的60%左右。从这一比率足以看出在一个处理管理领域的信息系统中输入输出
界面的重要性,一个好的输入设计能为今后系统运行带来很多方便。
输入设计的工作是依据功能模块的具体要求给出数据输入的方式、用户界面和输入校验方式等。
(一)输入设计应遵循的基本原则
(1)输入量应保持在能满足处理要求的最低限度。应明白这样一个道理,输入的数据越多,则可能产生的错误也越多。
(2)杜绝重复输入,特别是数据能共享的大系统、多子系统一定要避免重复输入。
(3)输入数据的汇集和输入操作应尽可能简便易行,从而减少错误的发生。
(4)输人数据应尽早地用其处理所需的形式进行记录,以便减少或避免数据由一种介质转换到另一种介质时可能产生的错误。
(二)输入数据的获得
在管理信息系统中,最主要的输入是向计算机输送原始数据,如仓库入库单、领料单、财务记账凭证等。因此在输入的前期,应详细了解这些
数据的产生部门、输入周期、输入信息的平均发生量和最大量,并研究、计划今后这些数据的收集时间和收集方法等。
原始数据通常通过人机交互方式进行输入,为了提高输入速度并减少出错,可设计专门供输人数据用的记录单,在输入数据时,屏幕上画面格
式与输入记录单保持一致。输入记录单的设计原则是:易使用,减少填写量,便于阅读,易于分类、整理、装订和保存。有时也可以不专门填
写输人记录单,而只在原始票据上框出一个区域,用来填写需特别指明的向计算机输入的数据。此方法容易为业务人员所接受,因为他们可减
少填写记录单的工作量,但对输入操作不一定有利。
对于某些数据,最好的方法是结合计算机处理和人工处理的特点,重新设计一种新的人一机共用的格式。例如,入库单和领料单,可在原有人
工使用的单据格式上增加材料代码、经手人员的职工号等栏目。业务部门和计算机操作员都可直接使用该单据,这样既可减少填写输入记录单
的工作量,又方便了输入操作。当然,对于单据中的代码填写,业务人员仍需经过一段时间的使用才能适应。
(三)输入格式的设计输入格式应该针对输入设备的特点进行设计。若选用键盘方式人机交互输入数据,则输入格式的编排应尽量做到计算机屏
幕显示格式与单据格式一致。输入数据的形式一般可采用“填表式”,由用户逐项输入数据,输入完毕后系统应具有要求“确认”输人数据是
否正确无误的功能。
在我们实际设计数据输入时(特别是大批量的数据统计报表输入时),常常遇到统计报表(或文件)结构与数据库文件结构不完全一致的情况。
如有可能,应尽量改变统计报表或数据库关系表二者之一的结构,并使其一致,以减少输入格式设计的难度。现在还可采用智能输入方式,由
计算机自动将输入送至不同表格。
(四)输入方式设计
输入方式的设计主要是根据总体设计和数据库设计的要求来确定数据输入的具体形式。常用的输入方式有键盘输入、数模/模数转换方式、网
络传送数据、磁盘传送数据等几种形式。通常在设计新系统的输入方式时,应尽量利用已有的设备和资源,避免大批量的数据重复多次地通过
键盘输入,这是因为键盘输人不但工作量大、速度慢,而且出错率较高。
1.键盘输入
键盘输入方式(Key—in)包括联机键盘输入和脱机键盘输入(一种通过键到盘、键到带等设备,将数据输入磁盘/带文件中然后再进入系统的设
备)这两种方式。它们主要适用于常规、少量的数据和控制信息的输入以及原始数据的录入。这种方式不太适合大批中间处理性质的数据的输入
。
2.数模/模数转换方式数模/模数转换方式(A/D,D/A)的输入是目前比较流行的基础数据输入方式。这是一种直接通过光电设备对实际数
据进行采集并将其转换成数字信息的方法,是一种既省时,又安全可靠的数据输人方式。这种方法最常见的有如下几种:
(1)条码输入。这种方式即利用标准的商品分类和统一规范化的条码贴(或印)于商品的包装上,然后通过光学符号阅读器
(OpticalCharacterReader,OCR)(亦称扫描仪)来采集和统计商品的流通信息。这种数据采集和输入方式现已普遍地被用于商业企业、工商、质
检、海关等信息系统中。
(2)用扫描仪输入。这种方式实际上与条码输入是同一类型的。
它大量地被使用在图形/图像的输入、文件/报纸的输入、标准考试试卷的自动阅卷、投票和公决的统计等用途中。
(3)传感器输入。这种方式即利用各类传感器和电子衡器接收并采集物理信息,然后再通过A/D/A板将其转换为数字信息。这也是一种用来采
集和输人生产过程数据的方法。
3.网络传送数据这既是一种输出信息的方式,又是一种输入信息的方式。对下级子系统它是输出,对上级主系统它是输入。使用网络传送数据
既可安全、可靠、快捷地传输数据,又可避免下级忙于设计输出界面、上级忙于设计输入界面的盲目重复开发工作。网络传送有两种方式:利
用数字网络直接传送数据;利用电话网络(通过modem)传送数据。
4.磁盘传送数据
该方式即数据输出和接收双方事先约定好待传送数据文件的标准格式,然后再通过软盘/光盘传送数据文件。这种方式不需要增加任何设备和
投入,是一种非常方便的输人数据方式,它常被用在主/子系统之间的数据连接上。
(五)输入数据的校验
由于管理信息系统中数据输入量往往较大,为了保证其正确性,一般都设置输入数据校验功能,对已经输人的数据进行校验。在输入时校验方
式的设计是非常重要的。特别是针对数字、金额数等字段,没有适当的校验措施作保证是很危险的。因为从理论上来说,操作员输人数据时所
发生的随机错误在各个数位上都是等概率的。如果错误出现在财会记录的低位尚可容忍,但如出现在高位,则势必酿成大事故。所以对一些重
要的报表,输入设计一定要考虑适当的校验措施,以减少出错的可能性。但应指出的是,绝对保证不出错的校验方式是没有的。
校验的方法很多,常用的有以下两种:
1.重复输入校验
由两个操作员分别输入同一批数据,或由一个操作员重复输入两次,然后由计算机校对两次输入的数据是否一致,若一致则存人磁盘,否则显
示出不一致部分,由操作员修正。
2.程序校验法
根据输入数据的特性,编写相应的校验程序对输入的数据进行检查,自动显示出错误信息,并等待重新输入。例如,对于财务管理中的记账凭
证输入,可设置科目代码字典,对输入的凭证中的科目代码进行自动检查。
二、系统输出设计
输出信息的使用者是用户,故输出的内容与格式等是用户最关心的问题之一。因此,在设计过程中,开发人员必须深入了解并与用户充分协商
。在输出设计中,必须充分考虑和满足用户的需求,要以“用户第一”的态度完成输出设计工作。
输出设计是管理信息系统应用中的重要环节,是用户与系统的重要的、直接的接口,用户所需的各种信息、报表都要由系统输出完成。输出设
计的要求是:界面美观、功能齐备、数据准确、格式多样。输出设计工作主要包括确定输出的类型与内容、确定输出方式、进行屏幕格式和报
表格式的设计等工作。
(一)输出类型的确定
输出有外部输出与内部输出之分。内部输出是指一个处理过程(或子系统)向另一个处理过程(或子系统)的输出。外部输出是指向计算机系统外
的输出,如有关报表、报盘等。
(二)输出设备与介质的选择输出的介质有打印纸、磁盘、磁带、光盘等。有关设备包括打印机、绘图仪、磁带机、磁盘机、光盘机等。可以根
据需要和资源约束进行输出设备与介质的选择。
(三)输出方式设计相对于输入方式来说,输出方式的设计要简单得多。从系统的角度来说,输入和输出都是相对的,各级子系统的输出就是上
级主系统的输入。
下面着重来讨论一下最终输出方式的设计问题。最常用的输出方式有两种:报表输出和图形输出。
究竟采用哪种输出方式为宜,应根据系统分析和管理业务的要求而定。一般来说,对于基层或具体事物的管理者,应用报表方式给出详细的记
录数据为宜;而对于高层领导或宏观、综合管理部门,则应该使用图形方式给出比例或综合发展趋势的信息。例如,对于一个城市负责工业的
市长来说,他需要的是全市工业、利税、产值、上升幅度、投资规模变化等综合比较信息以及极个别典型的信息;而对于市政府内某个工业局
的管理人员来说,他就需要了解所管辖范围内企业的详细状况;对于市长,最好是以图表方式向他提供综合类的输出信息,若提供详细报告则
毫无用处(他根本没时间细看,更不可能从中找出数据变化发展趋势的规律);反之,对工业局具体管理人员则不同,应提供详细的数据记录报
表。
1.报表生成器设计报表是一般系统中用得最多的信息输出工具。通常一个覆盖整个组织的信息系统,输出报表的种类有上百种。这样庞大的工
作量对系统开发工作的压力是很大的。所以,我们在实际工作时常常是在确定了报表的种类和格式之后,开发出一个报表模块,并由它来产生
和打印所有的报表。这个报表模块的原理如图6—8所示。
图6—8分两个部分:左边是定义一个报表格式部分,定义完后将其格式以一个记录的方式存于报表格式文件中;右边是打印报表部分,它首先
打开文件读出已定义的报表各列于菜单中,供用户选择。当用户选中某个报表后,系统读出该报表的格式和数据并进行打印。
2.图形方式输出设计就目前的计算机技术来说,将系统的各类统计分析结果用图形方式输出已经是一件很容易办到的事。大多数的软件编程工
作都提供了作图工具或图形函数等,如BASIC语言、C语言、LOTUS等,利用这些工具可产生出系统所需要的图形。但是用这些工具绘图,要求开
发者具有一定的技术基础,而开发工作量较大。根据我们的经验,特别推荐大家利用Excel来产生各种分析图形。如果你的系统是以dBASE或
FoxBASE等为主编写的,则你可以利用Excel的动态数据交换功能(DynamicDataExchange,DDE),借用Excel来完成统计分析和图形输入的功能。
这样,熟练者很快就可完成上百种统计分析和图形。
三、用户界面设计
用户界面是系统与用户之间的接口,也是控制和选择信息输入输出的主要途径。用户界面设计应坚持友好、简便、实用、易于操作的原则,尽
量避免过于繁琐和花哨。例如,在设计菜单时应尽量避免菜单嵌套层次过多和每选择一次还需确认一次的设计方式。菜单最好是二级,三级就
到头了。再如,在设计大批数据输入屏幕界面时,应避免颜色过于丰富多变,因为这样对操作员眼睛损伤太大,会降低输入系统的实用性。
界面设计包括多种方式,如菜单方式、填表方式、操作提示方式以及操作权限管理方式等。
(一)菜单方式菜单(Menu)是信息系统功能选择操作的最常用方式。
1.一般菜单
在屏幕上显示出各个选项,每个选项指定一个代号,然后根据操作者通过键盘输入的代号或单击鼠标左键,即可决定何种后续操作。
2.下拉菜单
它是一种二级菜单,第一级是选择栏,第--N是选择项,各个选择栏横排在屏幕的第一行上,用户可以利用光标控制键选定当前选择栏,在当前
选择栏下立即显示出该栏的各项功能,以供用户进行选择。
例如,有关库存管理子系统分析和设计的主要功能就可以表示成如表6—10所示的形式。它既是系统分析和系统设计所确定的新系统功能,又是
下一阶段系统编程实现时的主控程序菜单屏幕蓝图。
下拉式菜单的另一个好处是方便、灵活,便于统一处理。在实际系统开发时,编制一个统一的菜单程序,而将菜单内的具体内容以数据的方式
存于一个菜单文件中,使用时先打开这个文件,读出相应的信息,这个系统的菜单就建立起来了。按这个方法,我们只要在系统初始化时简单
输入几个汉字,定义各自的菜单项,一个大系统的几十个菜单就都建立起来了。
3.快捷菜单
选中对象后单击鼠标右键出现下拉菜单,将鼠标移到所需的功能项目上,然后单击左键即执行相应的操作。
(二)填表式
填表式一般用于通过终端向系统输入数据,系统将要输入的项目显示在屏幕上,然后由用户逐项填人有关数据。另外,填表式界面设计常用于
系统的输出。如果要查询系统中的某些数据,可以将数据的名称按一定的方式排列在屏幕上,然后由计算机将数据的内容自动填写在相应的位
置上。由于这种方法简便易读,并且不容易出错,所以它是通过屏幕进行输入输出的主要形式。
(三)选择性问答式
当系统运行到某一阶段时,可以通过屏幕向用户提问,系统根据用户选择的结果决定下一步执行什么操作。这种方法通常可以用于提示操作人
员确认输入数据的正确性,或者询问用户是否继续某项处理等方面。例如,当用户输完一条记录后,可通过屏幕询问“输入是否正确(Y/N)?”
,计算机根据用户的回答来决定是继续输入数据还是对刚输入的数据进行修改。
(四)按钮式
在界面上用不同的按钮表示系统的执行功能,单击按钮即可执行该操作。按钮的表面可写上功能的名称,也可用能反映该功能的图形加文字说
明。使用按钮可使界面显得美观、漂亮,使系统看起来更简单、好用,操作更方便、灵活。
(五)提示方式与权限管理
为了操作使用方便,在系统设计时,常常把操作提示和要点同时显示在屏幕的旁边,以使用户操作方便,这是当前比较流行的用户界面设计方
式。另一种操作提示设计方式则是将整个系统操作说明书全部送入系统文件之中,并设置系统运行状态指针。当系统运行操作时,指针随着系
统运行状态来改变,当用户按“求助”键时,系统则立刻根据当前指针调出相应的操作说明。调出说明后还请求进一步详细说明的方式,可以
通过标题(如本书的章节标志所示)来索引具体内容,也可以通过选择关键字方式[如Windows和3W(worldwideweb)等help方式]来索引具体的内容
。
与操作方式有关的另一个内容就是对数据操作权限的管理。权限管理一般都是通过入网口令和建网时定义该节点级别相结合来实现的。对于单
机系统的用户来说,只需简单规定系统的上机口令(Password)即可,在设计系统对数据操作权限的管理方式时,一定要结合实际情况综合确定
。
第六节处理流程设计
处理流程设计是系统设计的最后一步,也是最详细地涉及具体业务处理过程的一步。它是下一步编程实现系统的基础,即不但要设计出一个个
模块和它们之间的联接方式,而且还要具体地设计出每个模块内部的功能和处理过程。处理流程设计时除了要满足某个具体模块的功能、输入
和输出方面的基本要求以外,还应考虑以下几个方面:
(1)模块间的接口要符合通信的要求;
(2)考虑将来实现时所用计算机语言的特点;
(3)考虑数据处理的特点;
(4)估计计算机执行时间不能超出要求;
(5)考虑程序运行所占的存储空间;
(6)使程序调试跟踪方便;
(7)估计编程和上机调试的工作量。
在设计中还应重视数学模型求解过程的设计。对于管理信息系统常用的数学模型和方法,通常都有较为成熟的算法,系统设计阶段应着重考虑这些算法所选定的高级语言实现的问题。
在这一步的设计中,通常是借助于HIPO图来实现的。有了上述各步的设计结果(包括总体结构、编码、DB、I/O等)再加上HIPO图,任何一个程序员即使没有参加过本系统的分析与设计工作,也能够自如地编制出系统所需要的程序模块。
一、IPO图与HIPO图
IPO(Input—Process—Output)图主要是配合层次化模块结构图,详细说明每个模块内部功能的一种工具。IPO图的设计可因人、因具体情况而异。但无论你怎样设计它,都必须包括输入(I)、处理(P)、输出(o),以及与之相应的数据库/文件、在总体结构中的位置等信息(如图6—10所示)。在IPO图中,输入、输出数据来源于数据词典。局部数据项是指个别模块内部使用的数据,与系统的其他部分无关,仅由本模块定义、存储和使用。注释是对本模块有关问题作必要的说明。
开发人员不仅可以利用IPO图进行模块设计,而且还可以利用它评价总体设计。用户和管理人员可利用IPO图编写、修改和维护程序。因而,IPO图是系统设计阶段的一种重要文档资料。
IPO图的主体是算法说明部分,该部分用自然语言描述其功能十分困难,并且对同一段文字描述,不同的人还可能产生不同的理解,目前用于描述模块内部处理过程的有结构化英语、决策树、判定表、算法描述语言,也可用N—s图、问题分析图和过程设计语言等工具进行描述。结构化英语、决策树和判定表在系统分析中已有介绍,下一节将介绍其他几种方式。
HIPO(HierarchyPlusInput—Process—Output)图是IBM公司于20世纪70年代中期在层次结构图的基础上推出的一种描述系统结构和模块内部处理功能的工具(技术)。HIPO图由层次结构图和IPO图两部分组成,前者描述了整个系统的设计结构及各类模块之间的关系,后者描述了某个特定模块内部的处理过程和输入/输出关系。HIPO图一般由一张总的层次化模块结构图和若干张具体模块内部展开的IPO图组成,如图6—11所示,该图描述了订单处理的HIPO图的层次化模块结构,其各模块内部具体的IPO图,读者可按图6—11的格式自行练习完成。
二、算法描述语言方法算法描述语言是一种具体描述算法细节的工具,它只面向读者,不能直接用于计‘算机。算法描述语言在形式上非常简单,它类似于程序语言,因此非常适合那些以算法或逻辑处理为主的模块功能描述。
1.语法形式算法描述语言的语法不是十分严格,它主要由符号与表达式、赋值语句、控制转移语句、循环语句、其他语句构成。符号命名、数学及逻辑表达式一般与程序书写一致。赋值用箭头表示。语句可有标识,标识可以是数字,也可以是具有实际意义的单词。例如,循环累加可表示为:loop:n—n-+-1,
2.控制转移语句无条件转移语句用“GOTO语句标识”表示,条件转移语句用“IFCTHENS1EI。SES2”。其中C、S1和s2可以是一个逻辑表达式,也可以是用“{”与“)”括起来的语句组。如果C为“真”,则S1被执行;如果C为“假”,则执行S2。
3.循环语句循环语句有两种形式:WHILE语句的形式为“WHILECDOS”,其中C和S同上,如果C为“真”,则执行S,且在每次执行S之后都要重新检查C。如果C为“假”,控制就转到紧跟在WHILE后面的语句;FOR语句的形式为“FORi=initTOlimitBYstepDOs”,其中i是循环控制变量,init、limit和step都是算术表达式,而S同上,每当S被执行一次时,i从初值加步长,直到i>limit为止。
4.其他语句在算法描述中,还可能要用到其他一些语句,因为它们都是以最简明的形式给出的,很容易知道它们的含义,如EXIT语句、RETURN语句、READ(或INPUT)和OUTPUT(或PRINT,或WRITE)语句等。
三、控制流程图
控制流程图(FlowChart,简称FC)又称框图,它是历史最悠久、最常使用的程序细节描述工具。
1.框图的三种基本成分(1)处理步骤(用矩形框表示);
(2)条件判断(用菱形框表示);
(3)控制流(用箭头表示)。
图6—12就是使用这三种成分所表示的程序基本结构,可以把它们进行组合和嵌套,建立各种复杂的框图以表示程序的复杂逻辑关系。
2.框图的缺点
从20世纪40年代到70年代中期,框图一直是软件设计的主要工具。随着结构化程序设计的出现,逐步暴露出框图的许多缺点,有许多人建议停止使用它。目前虽然还有许多人在使用,然而总的趋势是越来越多的人不再使用框图了。
框图的主要缺点在于,它并不能引导设计人员用结构化设计方法进行详细设计,人们可以使用箭头实现向任何位置的转移(GOTO语句);如果使用不当,框图就可能非常难懂,而且无法进行维护。因此,箭头是框图中的一个隐患,使用时必须十分小心,框图的质量在很大程度上取决于设计人员的水平。
3.框图的例子框图的优点是清晰易懂,便于初学者掌握。例如,图6—13描述了在数组K中找出最大数(maxima)和次大数(second)的详细处理过程。图6—13中,数组变量K(1),K(2),…,K(N)用来存储N个原始数据,I是循环变量,最后找出的最大数和次大数分别放在变量MAX和S中。
四、问题分析图
问题分析图(ProblemAnalysisDiagram,PAD)由Et本E1.立公司二村良彦等人于t979年提出,它是一种支持结构化程序设计的图形工具,可以用来取代前面所述的控制流程图。
问题分析图仅具有顺序、选择和循环这三种基本成分(如图6—14所示),正好与结构化程序设计中的基本程序结构相对应。
问题分析图有逻辑结构清晰、图形标准化等优点,更重要的是,它引导设计人员使用结构化程序设计方法,从而提高了程序的质量。同时,通过比较确定的规则,可以由问题分析图直接产生程序,这就为程序设计的自动化开辟了光辉的前景。图6—15为问题分析图的示例。
第七节系统设计报告
系统设计报告(又称系统物理设计说明书)是系统设计阶段的主要成果,是新系统的物理模型,也是系统实施的重要依据。
系统设计报告主要包括以下内容:
(1)引言:说明项目的背景、工作条件及约束、引用资料和专门术语。
(2)功能模块设计:用模块结构图表示系统模块的层次结构,说明主要模块的名称及功能。
(3)系统运行模式的选择和设计方案:系统拟采用何种运算模式。
(4)网络设计方案:说明系统的网络拓扑结构的选择、站点的设置、数据流量和数据存储量分析、数据库服务器的选择、网络工作站的选择、打印机的选择和不问断电源UPS的选择等。
(5)代码设计方案:说明所用代码的种类、功能和代码设计说明书。
(6)数据库设计方案:说明数据库所采用的数据库管理系统软件,运行环境要求,主要功能要求,需求性能规定,数据库概念模型、逻辑模型,数据库在选定的数据库管理系统下的物理模型。
(7)输入/输出设计方案:输入、输出的方式,应采用的设备,界面类别,处理要求。
(8)安全保密设计:从硬件和软件两方面来说明如何进行安全设计和设置。
商业管理系统设计报告要经领导批准,并得到用户的认可。一旦系统设计报告得到批准,则成为系统实施阶段的工作依据。
文章来源:秘奥软件网,中小企业信息化领跑者!全国咨询热线:400-9908-527_www.misall.com
最新新闻:
上一篇: 下一篇: