第4章 总体设计
上章对系统进行了需求分析和可行性分析,证明此系统完全可行,这章就对系统的总体设计通过图文并茂的形式进行介绍。
第4.1节 数据库设计
4.1.1 概述
数据库技术是管理信息系统的一项重要技术其发展大致经历了三个阶段:
①人工管理阶段:在 20 世纪 50 年代中期以前,数据的组织和管理完全靠程序员手工完成,数据是面向应用的,数据与程序不具有独立性,数据冗余大,管理效率很低。
②文件管理阶段:20 世纪 50 年代后期,出现了包含文件管理系统的操作系统,数据处理包括查询、修改、插入和删除等完全由文件系统统一管理,数据可以反复使用,但仍然是面向应用的。
③数据库管理阶段: 70年代初为解决多用户多应用共享数据的需要出现了数据库管理技术,它克服了文件系统的缺点,由数据库管理系统DBMS(Database management System)对所有数据实行统一、集中、独立管理。
该方式具有如下特点:采用复杂的数据模型(结构),不仅描述数据本身的特点,还要描述数据之间的联系;有较高的数据独立性,数据的存取由DBMS管理;数据库系统为用户提供了方便的用户接口;统一的数据控制功能,由DBMS提供对数据的安全性控制、完整性控制、并发性控制和数据恢复功能。
其特点表现为:
(1)数据共享。
(2)面向组织的数据结构化。
(3)数据独立性。
(4)可控数据冗余度。
(5)统一数据控制功能。
4.1.2 数据库系统的特点
(1)减少数据的重复(Redundancy can be reduced)
当在一个非数据库系统当中,每一个应用程序都有属于他们自己的文件,由于无法有系统建立的数据,因此常常会造成存储数据的重复与浪费。例如:在一家公司当中,人事管理程序与工资管理程序或许都会使用到职员与部门的信息或文件,而我们可以运用数据库的方法,把这两个文件整理起来,以减少多余的数据,过度地占用存储空间。
(2)避免数据的不一致(Inconsistency can avoid)
本项的特色,可以说是延伸前项的一个特点,要说明这样的一个现象,我们可以从下面这个实例来看:若是在同一家公司当中,职员甲在策划部门工作,且职员甲的记录同时被存放在数据库的两个地方,而数据库管理系统却没有对这样重要的情况加以控制,当其中一条数据库被修改时,便会造成数据的不一致,但是,对于一个健全的数据库管理系统而言,将会对这样的情况加以控制,但有时并不需要刻意消除这种情形,应当视该数据库的需求与效率来决定。
(3)数据共享(Data shared)
对于数据共享的意义,并不是只有针对数据库设计的应用程序,可以使用数据库中的数据,对于其他撰写好的应用程序,同样可以对相同数据库当中的数据进行处理,进而达到数据共享的目的。
(4)强化数据的标准化(Standard can be enforced)
由数据库管理系统,对数据做出统筹性的管理,对于数据的格式与一些存储上的标准进行控制,如此一来,对于不同的环境的数据交换(Data Interchange)上将有很大的帮助,也能提高数据处理的效率。
(5)实践安全性的管理(Security restriction can be applied)
通过对数据库完整的权限控制,数据库管理者可以确认所有可供用户存取数据的合法途径渠道,并且可以事先对一些较重要或关键性的数据进行安全检查,以确保数据存取时,能够将任何不当损毁的情形降至最低。
(6)完整性的维护(Integrity can be maintained)
所谓完整性的问题,就是要确认某条数据在数据库当中,是正确无误的。正如(2)所述,若是无法控制数据的不一致性,便会产生完整性不足的问题,所以,我们会发现,当数据重复性高的时候,数据不完整的情形也会增加,当然,若是数据库的功能完整,将会大大地提高数据完整性,也会增加数据库的维护能力与维护简便性。
(7)需求冲突会获得平衡(Conflicting requirements can be balance)
在一个较大型的企业当中,用户不同的需求,往往会造成系统或数据库在设计上的困扰,但是一个合适的数据库系统,可以通过数据库管理员的管理,将会有效地整理各方面的信息,对于一些较重要的应用程序,可以适时地提供较快速的数据存取方法与格式,以平衡多个用户在需求上的冲突。
上述七个方面构成了数据库系统的主要特征。
4.1.3 系统逻辑模型
为了实现管理信息系统的计算机化,仅仅用文字来描述信息的流动和存储还远远不够,还要进一步调查分析舍去物质流,抽象出信息流,绘制出数据流程图,并对各种数据的属性和各项处理功能进行详细分析。系统分析的主要成果是系统的逻辑模型。本系统主要是以数据流图、数据字典和E-R图为主要描述工具来勾画系统的概貌。
数据词典(Data Dictionary ,DD)是结构化分析方法的另一个工具,它与数据流图配合,能清楚地表达数据处理的要求。数据流图给出系统组成及其内部各元素相互间的关系,但未说明数据元素的具体含意。数据词典的任务是对于数据流图中出现的所有命名元素,包括数据流、加工、数据文件,以及数据的源、汇点等,在数据词典中作为一个词条加以定义,使得每一个图形元素的名字都有一个确切的解释。
在系统设计的开始,我首先考虑的是如何用数据模型来数据库的结构与语义,以对现实世界进行抽象。目前广泛使用的数据模型可分为两种类型,一种是独立于计算机系统的“概念数据模型”,如“实体联系模型”;另一种是直接面向数据库逻辑结构的“结构数据模型”。在本系统中我采用“实体联系模型”(ER模型)来描述数据库的结构与语义,以对现实世界进行第一次抽象。ER模型直接从现实世界抽象出实体类型及实体间联系,然后用ER图来表示数据模型。它有两个明显的优点:接近于人的思维,容易理解;与计算机无关,用户容易接受。但ER模型只能说明实体间语义的联系,不能进一步说明详细的数据结构,它只是数据库设计的第一步。
E-R图是直观表示概念模型的工具,它有四个基本成分:
未完待续...