管理信息系统开发示例
―××厂库存管理信息系统的分析与设计
1.问题的提出
(1)开发背景
XX厂是我国的一家老加工企业,随着改革的深入和经济的发展,该厂的生产任务日益繁重,从而对库存管理的要求也更加严格。在传统的手工管理时期,一种物品由进货到发货,要经过若干环节,且由于物品的规格型号繁多,加之业务人员素质较低等因素,造成物品供应效率低下,严重的影响了企业的正常生产。同时由于库房与管理部门之间的信息交流困难,造成库存严重积压,极大的影响了企业的资金周转速度,另外也使得物资管理、数据汇总成为了一大难题。
当今该厂的竞争压力越来越大,企业要想生存,就必须在各个方面加强管理,并要求企业有更高的信息化集成,能够对企业的整体资源进行集成管理。现代企业都意识到,企业的竞争是综合实力的竞争,要求企业有更强的资金实力,更快的市场响应速度。这就要求企业各部门之间统一计划,协调生产步骤,汇总信息,调配集团内部资源,实现既要,又要统一的资源共享管理。随着信息技术的发展,该厂为了提高库存周转率,加快资金周转速度,决定开发“库存管理信息系统”。
(2)项目目标
充分利用现有的设备,采用VB6.0作为开发工具,利用ACCESS数据库建立一个高效、准确、操作方便,具有专业的查询、更新及统计功能的微机管理信息系统,以满足工作人员进行综合的、模糊的查询及更新要求,从而更加方便的管理库存物品。该系统的开发与建立会极大程度提高管理人员、工作人员的工作效率。
2.对现有系统进行需求调查
需求调查是信息系统分析与设计的基础。要开发并实施一个完整的信息系统,必须首先了理解用户的需求,并形成系统需求说明书。在此基础上才能进行系统分析、系统设计和程序编码等工作。该厂在需求调查过程中发放了8种不同种类的调查表,要求相关人员对其进行逐条逐项的填写,从而对其现行系统的业务流程进行了详细的调查。
(1)现行系统业务流程
通过大量的调查,我们了解到当前该厂的业务流程如下:各车间向商品供应部门提出对某种商品的需求计划,仓库将相应的商品发放给各车间,一般要经过计划、库房管理等流程。各业务流程图如图1所示。
(2)现行系统存在的问题
由于采用的是手工管理,账目繁多,加之几个仓库之间距离较远,库管员、计划员和有关领导相互之间的信息交流困难,使得物资供应效率低下,影响生产。同时每月的月末报表会耗费大量的人力,且由于手工处理容易造成失误,从而影响了数据的效率和准确率,造成了不必要的损失。因此,该厂必须建立相应的库存管理信息系统,使其能根据市场情况,及时合理地采购所需商品,同时又能科学地对商品进行管理,统筹安排人力、物力、财力,有效地改善当前管理的混乱状况。
库存管理是企业管理的重要组成部分。在企业生产经营活动中,库存管理既必须保证生产车间对原材料、零部件需求,又直接影响采购、销售部门的购、销活动。为盘活企业流动资金,加快资金周转,在保障供给的前提下,最大限度地降低商品的库存量,节省企业流动资金的占用,直接影响着企业的经营效益。根据对该厂的库存管理情况所作的调查和参考有关资料,发现目前该厂在库存管理方面存在着如下问题:
①不能及时获得库存信息
在企业运作过程中,管理人员必须获知各种商品当前的库存量,在库存数量小于商品的最低库存限度的时候,向供应商进行订货;在库存数量大于商品的最高库存限度的时候,即商品积压的时候,应该停止商品的进货活动。但在实际操作中,由于商品的种类多、数量大,需要进行仔细地核算,这不仅费时,而且易出错,从而影响企业快速有效地运转。
②库存信息不够准确
仓库管理员根据各种入库单、需求计划单和领料单进行商品的入库、出库操作后,要随时修改商品的库存信息和出库、入库信息,以便反映库存状况。工作中的主要问题是:由于商品种类多、数量大、出库入库操作频繁等原因,造成库存记录和实际库存量通常达不到严格一致,因而需要通过盘点来纠正差错,这既耽误时间,又增加了工作量。
③无法及时了解车间对库存商品的需求情况
在需求计划单下达后,由于库存商品与车间的关系复杂,根据送料员的个人经验给各车间分配车间所需商品时,常缺少入库、出库信息和相关信息,经常出现车间缺少该商品的时候才知道该产品需要情况,此时如果库存量不足,将会导致车间的停产。无法及时了解车间对库存商品的需求情况会使企业的生产和销售环节发生混乱,使企业无法正常的运作。
市场需求日益多样化和个性化,产品更新换代的周期越来越短,这就要求企业必须改变库存管理现状,以适应时代的要求。
(3)企业库存管理系统的特点
因为传统企业库存管理存在以上的问题难于适应现代库存管理要求,所以现代企业库存管理系统要具有以下的特点:
① 科学的库存管理流程
存货的种类不同,所涉及的业务环节及它们所组成的业务流程也各有差异。一般而言,库存业务包括入库处理、货物保管和出库处理三个主要部分。通畅的业务流程是保障高效库存管理的基础,应具备优化、无冗余、并行作业的基本属性。企业库存管理系统对企业的业务流程进行流程再造,使其更加通畅,提高企业在同行业中的竞争力。
② 商品代码化管理
代码问题,严格说是一个科学管理的问题,设计出一个好的代码方案对于系统的开发工作是一件极为有利的事情。代码设计的好可以使很多机器处理变得十分方便,还可以把一些现阶段计算机很难处理的工作变成很简单的工作。
由于库存商品种类繁多,在库存管理过程中极易发生混乱的问题。IT技术与层次编码技术的结合为商品的高效管理提供了可能。这种编码技术对所有库存商品按照层次和类别赋予唯一的编码。它是区分不同商品的最主要的标准,具有易读和易记的特点,使得管理者只需知道商品的编码,就可以了解该商品的有关信息,以便在每日的烦杂管理中,保持规范、有序的状态。
③ 库存异常报警
当库存数量小于商品的最低库存限度的时候,系统发出警报,提醒管理人员应该向供应商进行订货;在库存数量大于商品的最高库存限度的时候,即商品积压的时候,系统也会发出警报,提醒管理人员应该停止商品的进货活动。也就是说企业库存管理信息系统既能防止商品供应滞后于车间对它们的需求,也能防止商品过早地生产和进货,以免增加库存。对企业的生产起了保障作用,同时节省了企业的流动资金。
3.系统分析
系统分析的任务是在全面调查的基础上,通过对现行管理业务的分析,提出系统的目标要求和功能分析的总体逻辑模型。
(1)数据流程图
根据系统调查阶段的数据资料,并依据用户的要求,确定该厂信息系统的基本功能和工作过程如下:
首先车间科室提出需求计划,库房管理员根据库存情况,决定是否需购货,如不需购货则通知车间前来取货,否则库房管理员通知采购员购货,当货物到达后进行入库处理并通知车间科室前来取货。
根据相应的功能要求,我们绘制系统的数据流程图,如图2所示:
图2 数据流程图
(2)数据字典
数据字典是对描述数据流程图中的数据项、数据流、数据存储、加工处理逻辑等组成部分的严格定义,下面是本系统的数据字典(由于篇幅原因,在此仅给出部分)。
① 数据项的定义
数据项编号:1-01
数据项名称:商品编号
别 名:无
简 述:某种商品的编号
类 型:字符型
长 度:8字节
取值范围:数字 + 英文字母
数据项编号:1-02
数据项名称:单价
别 名:购入单价
简 述:某种商品的购入单价
类 型:数值型
长 度:10位,小数位2位
取值范围:0.00-9999999.99
数据项编号:1-03
数据项名称:库存数量
别 名:实际库存数量
简 述:某种商品的库存数量
类 型:数值型
长 度:5位整数
取值范围:0-99999
② 数据流的定义
数据流名称:入库单
编 号:F1
简 述:采购人员填写的商品入库凭单
数据流来源:采购人员
数据流去向:登记库存台账
数据流组成:日期 + 入库单编号 + 商品编号 + 购入数量
流通量:25份/天
高峰流通量:50份/天
数据流名称:发货单
编 号:F2
简 述:供应商填写的商品发货凭单
数据流来源:供应商
数据流去向:登记合同台账
数据流组成:日期 + 发货单编号 + 供应商编号 + 商品编号 + 发货数量
流通量:25份/天
高峰流通量:50份/天
数据流名称:取货单
编 号:F3
简 述:库管员填写的要求车间取货凭单
数据流来源:库管员
数据流去向:车间
数据流组成:日期 + 车间编号 + 商品编号 + 数量
流通量:25份/天
高峰流通量:50份/天
③ 数据存储的定义
数据存储的名称:库存台账
数据存储编号:D1
简 述:记录商品的编号、名称、单价与库存数量等信息
数据存储组成:商品编号 + 购入单价 + 库存数量
关键字: 商品编号
数据存储的名称:合同台账
数据存储编号:D2
简 述:记录合同的编号、供应商编号、货物编号、单价与购入数量等信息
数据存储组成:合同编号 + 供应商编号 + 商品编号 + 单价 + 购入数量 + 日期 + 合同状态
关键字: 合同编号
数据存储的名称:计划台账
数据存储编号:D3
简 述:记录计划的编号、车间编号、商品编号、数量等信息
数据存储组成:计划编号 + 供应商编号 + 商品编号 + 数量 + 日期 + 计划状态
关键字: 计划编号
数据存储的名称:供应商信息
数据存储编号:D4
简 述:记录供应商的编号,名称,地址,电话,传真,银行帐号
数据存储组成:供应商编号 + 名称 + 地址 + 电话 + 传真 + 银行帐号
关键字: 供应商编号
数据存储的名称:商品信息
数据存储编号:D5
简 述:记录库存商品的编号,类别,名称,规格,单价,单位,存放位置,用途
数据存储组成:商品编号 + 名称 + 类别 + 规格 + 单价 + 单位 + 存放位置 + 用途
关键字: 商品编号
数据存储的名称:车间信息
数据存储编号:D6
简 述:记录车间的编号,名称,联系人,电话
数据存储组成:车间编号 + 名称 + 联系人 + 电话
关键字: 车间编号
数据存储的名称:用户信息
数据存储编号:D7
简 述:记录用户名称、密码和权限
数据存储组成:用户名 + 密码 + 权限
关键字: 用户名
④ 处理逻辑的定义
处理名:库存检查
编 号:P1
输 入:数据流F5
输 出:数据流F6
描 述:当车间将计划单发给库管员后,库管员要将计划单与库存台账进行比较,看是否需要订货。
处理名:验货处理
编 号:P2
输 入:数据流F2,数据流F5
输 出:数据流F1,数据流F4
描 述:采购员要检验货物的质量。
处理名:出入库检查
编 号:P3
输 入:数据流F1
输 出:数据流F3
描 述:当验货处理后,库管员将货物入库,并发取货单到订货单位。
4.系统设计
(1)系统功能结构设计
库存管理信息系统的目标是保障企业生产所需的所有商品供给,并通过有效的管理,提高库存周转率,降低资金占用。我们根据系统分析结果,得出本系统的功能结构图如图3所示。
计划管理的主要功能是根据各生产部门上报的生产、维修及工程用料计划与已有的采购合同计划和库存情况等信息建立数据库,并及时根据生产计划的变更,修改商品计划,生成商品采购清单。
库存管理模块中的各子模块都由数据录入、修改、删除、查询等模块构成。其中数据录入模块包括对商品库存文件的数据录入、商品购入文件的数据录入、商品出库文件的录入;数据修改是对上述三种文件中的数据进行修改;数据删除同数据修改基本上是一样的,只不过这里是将记录从相应的数据库文件中删除掉。
(2)系统配置方案
根据开发时期计算机市场的性能价格比和本系统的实际情况,选择了P4微机及Access数据库管理系统。
(3)代码设计
为了和工作人员以往的商品管理方式一致,商品信息编码以数字表示。根据行业标准,所有商品分为19大类(两位数字),每大类又分为若干小类(两位数字),在小类中根据商品规格型号的不同以卡号(四位数字)再进行区分。设计方案如图4所示。
** ** ****
小类号
商品规格型号
大类号
图4 商品代码设计方案
此外为了使数据录入、商品信息管理、信息查询、统计的方便快速,我们还根据需要对商品的去向和来源进行了统计用信息编码和部门编码。
(4)数据库设计
数据库是数据库应用程序的核心。数据库设计是建立一个应用程序最重要的步骤之一。数据库设计一般要在需求分析和数据分析的基础上进行概念设计、逻辑设计和物理设计。
① 概念设计
经过对该厂的调查我们了解到系统中的实体类型有:供应商、商品、领用单位等,这些实体之间的相互关系有:
供应商与商品之间存在“供应”联系,是多对多的。
商品与领用单位之间存在“出库”,“出库”对多的。
每个实体的属性分别是:
供应商:供应商编号,名称,地址,电话,传真,银行帐号
商 品:商品编号,名称,类别,规格,单价,单位,库存量,存放位置,用途
车 间:车间编号,名称,联系人,电话
画出库存管理的E-R图如图5所示。
图5 库存管理E-R图
② 逻辑设计
逻辑设计的任务是根据DBMS的特征把概念结构转换为相应的逻辑结构。概念设计所得到的E-R模型,是于DBMS的,这里的转换就是把表示概念结构的E-R图转换成关系模型的逻辑结构。将上图转换为规范的关系模式为:
供应商(供应商编号,名称,地址,电话,传真,银行帐号)
商品(商品编号,名称,类别,规格,单价,单位,库存量,存放位置,用途)
供应(供应商编号,商品编号,数量,单价)
车间(车间编号,名称,联系人,电话)
出库(商品编号,车间编号,数量)
③ 物理设计
物理设计的目的是根据具体DBMS的特征,确定数据库的物理结构(存储结构)。关系数据库的物理设计任务包括两个方面,一是确定所有数据库文件的名称及其所含字段的名称、类型和宽度;二是确定各数据库文件需要建立的索引,在什么字段上建立索引等。各表结构如表1-7所示。
表1 库存台账
字段名 | 字段类型 | 字段宽度 | 说明 |
商品编号 | Character | 8 | |
购入单价 | Numeric | 10.2 | |
库存数量 | Numeric | 5 | 库存数量 |
字段名 | 字段类型 8 合同编号 | 字段宽度 8 供应商编号 | 说明 |
合同编号 | Character | 8 | |
供应商编号 | Character | 8 | |
商品编号 | Character 8 商品编号 | 8 | |
单价 | Numeric | 10.2 | |
数量 | Numeric | 5 | |
日期 | Date | 8 | |
合同状态 10.2 单价 | Logic 10.2 购入数量 | 1 | |
备注 30 合同未执行的原因 | Demo | 合同未执行的原因 |
字段名 | 字段类型 | 字段宽度 | 说明 |
计划编号 | Character | 8 | |
车间编号 | Character | 8 | |
商品编号 | Character | 8 | |
数量 | Numeric | 5 | |
日期 | Date | 8 | |
是否定货 | Logic | 1 | |
是否到货 | Logic | 1 | |
是否取货 | Logic | 1 |
字段名 | 字段类型 | 字段宽度 | 说明 |
供应商编号 | Character | 8 | |
名称 | Character | 40 | |
地址 | Character | 50 | |
电话 | Character | 20 | |
传真 | Character | 20 | |
银行帐号 | Character | 20 |
字段名 字段名 | 字段类型 | 字段宽度 | 说明 |
商品编号 | Character | 8 | |
名称 | Character | 20 | |
类别 | Character | 8 | |
规格 | Character | 8 | |
单价 | Numeric | 10.2 | |
单位 | Character | 8 | |
存放位置 | Character | 50 | |
用途 | Demo |
字段名 | 字段类型 | 字段宽度 | 说明 |
车间编号 | Character | 8 | |
名称 | Character | 20 | |
联系人 | Character | 10 | 车间的联系人 |
电话 | Character | 20 | 联系人的电话 |
字段名 | 字段类型 | 字段宽度 | 说明 |
用户名 | Character | 20 | 用户登录时的名称 |
密码 | Character | 20 | 用户登录时的密码 |
权限 | Character | 8 | 用户的权限 |
该厂的库存管理信息系统包括:计划管理、库房管理等子系统,系统运行流程图如图6所示。
图6 库存管理系统流程图
5.系统实施(略)
[课堂案例分析]
案例51 基于Web的高校教材查询系统的分析与设计
1.开发背景
**高校是一所综合性高校,其涉及的专业课程多,教材用书种类多,数量大,传统的管理方法存在着效率低,易出错等诸多弊端,特别是学生、教师对教材使用情况了解相对较少,信息的透明度较低,与当前高校管理中倡导的“以人为本”的管理思想存在着很大的差距。为此该校教材科开发了一套基于C/S的教材管理信息系统。该系统主要包括以下六项处理功能:系统维护、教材订购计划管理、教材库存管理、教材销售处理、学生预收款管理、数据统计、查询与分析等功能。但是由于基于C/S的管理信息系统自身存在的使用范围小、地点固定等缺点,依然不能满足管理上的需要。如学生想知道教材科是否有某本书、想了解自己教材款的使用情况,教师想要预订下学期的教材等都必须亲自去教材科,一方面浪费了学生和教师的时间和精力,另一方面也加大了教材科的工作量,为此教材科希望在原有的基于C/S的教材管理信息系统的基础上,利用高校校园网的强大存储能力和方便的网络查询能力,采用流行的Browser/Server结构体系,将最终用户界面统一为浏览器,开发基于Web的教材信息查询系统,更好地满足各类人员对教材信息管理的需求。
2.系统调查
通过对该高校教材科的业务工作进行的调查,我们发现该教材科的业务对象主要有三类:学生、教师和教材科,其相应的日常业务也可以分为三类,分别是:
(1)有关学生的业务
教材科对于学生的业务主要是为学生提供入学以来在教材科的购书详细资料的查询,存款详细资料的查询,剩余款项数额查询及学生对所需教材的查询等等。以往的方式是学生到教材科,提供自己的姓名、系别、年级,然后教材科在原始记录中查询。
(2)有关教师的业务
教师的业务主要是登记查询教师领书的信息,每学期开学,各系教师根据上学期预定的教材记录到教材科领取教材,并登记;每学期教师可以预定下学期所用教材,方式是教师在学期末到教材科,提供所需教材名称、教师个人信息等,然后教材科记录相应信息并制定相应采购计划。
(3)有关教材科的业务
教材科的业务主要是采购图书,发放教材,对库存图书、学生购书信息、教师(院系)领书的信息进行管理、统计。这其中涉及到所有有关教材的各种信息、数据,这部分也是教材科最主要、核心的业务。
通过对上述业务的归纳,可以画出该系统的功能体系图,如图1所示。
3.业务流程分析
3.1业务分类
通过对上述业务的了解及分析,新系统的业务可以分为通用查询业务、专用查询业务和网上预定业务三部分。
(1)通用查询业务
通用查询业务包括教材基本信息查询业务、学生购书查询业务、学生存款查询业务、教师领书查询业务、教材零售查询业务等。任何人在学校或校外都可以使用自己的用户名和密码在任何一台能够上网的电脑上查询他想要查询的内容(其中教材基本信息查询不需要用户名和密码)。
(2)教材科专用查询业务
专用查询业务是针对教材科的业务,这部分业务不对外开放,因为它没有对外开放的必要,这部分业务主要是辅助教材科对库存中教材的数量,更新速度等进行统计、预测、分析。具体业务应包括:教材库存统计业务、教材零售统计业务、学生购书统计业务和学生退书统计业务及教师(院系)领书情况的统计业务。
(3)教材预订业务
网上教材预订业务是办公自动化优越性的体现。在新业务系统中,各系要预订教材不用像以前跑到教材科进行登记了。只要在预定系统中输入所要预定的教材的信息,就可以完成对教材的预定,这样大大提高了工作效率。为完成网上预定的过程,相应的应该完成一系列的业务,包括:预定教材信息录入、预定教材信息的修改、预定教材信息查询和预定教材信息统计等内容。
3.2 业务流程图
由于业务较多,在此仅对通用查询业务和网上教材预定业务分别举例加以说明。
(1)通用查询业务
以学生查询业务为例,该业务是学生向系统输入用户名和密码进行身份认证,认证成功的学生就可以查询其在教材中心的某一笔或全部购书、退书及存取款记录。其业务流程图如图2所示。
(2)教材预订业务
教师进行教材预订的业务流程是教师首先输入自己的用户名和密码进行身份认证,然后在教材预订系统中输入自己下学期所上课程要使用的教材基本信息,在规定的时间内,教师也可以对已输入的教材信息进行查询和修改,超过了预定的时间,该信息将被转移到教材计划表中。该业务的业务流程图如图3所示。
4、数据流程分析
数据流程分析是在对上述业务流程图进行分析的基础上,从系统的科学性、管理的合理性和实际运行的可行性角度出发,将信息处理的功能和彼此之间的联系自顶向下、逐层分解,在逻辑上精确地描述新系统应具有的功能、数据输入、数据输出、数据存储及数据来源和去向。
4.1 数据流程图
由于该系统的数据流程图较多,我们依然只对学生查询业务和教材预订业务的数据流程图做详细介绍。
(1)学生查询子系统
由于学生要对自己的信息进行查询,涉及个人机密,所以学生应该首先进行身份确认,即登录系统,在身份得到确认后才可以查询自己的购录,退录、自己的存款账户以及教材科现有教材的情况,其数据流程图如图4所示。
(2)教材预订子系统
根据业务流程图对教材预订系统的描述,该系统的数据流程图如图5所示。
4.2 数据字典
数据流程图只是从数据流向的角度描述了系统的组成和各部分之间的联系,但却没有具体说明各个组成部分和数据流的具体含义,而数据字典正好弥补了这一不足,数据字典是对数据流程的最底层图中的数据项、数据流、数据存储、处理逻辑和外部实体进行了详细的说明。由于系统分析中数据字典的内容非常多,在此仅对各个部分分别举例进行说明。
(1)数据项的定义
数据项编号:A01-01
数据项名称:学号
别 名:无
简 述:学生信息表中某个学生的学号
类 型:字符型
长 度:10个字节
取 值 范围:0000000000-9999999999
数据项编号:A02-01
数据项名称:教材编号
别 名:编号
简 述:教材信息表中某种教材的编号
类 型:字符型
长 度:6个字节
取 值 范围:字母+数字
(2)数据结构的定义
数据结构编号:D2
数据结构名称:教材信息表
简 述:教材科库存教材的信息情况表
数据结构组成:教材编码+教材名称+作者+出版社+版别序号+印刷批次+出版日期+价格+理论库存量+实际库存量+库存位置
数据结构编号:D1
数据结构名称:学生信息表
简 述:学生的相关信息
数据结构组成:学号+学生姓名+用户名+密码+当前余额
(3)数据流的定义
数据流编号:F02-01
数据流名称:登录信息
简 述:用户登录系统时需要输入的用户信息
数据流组成:用户名+密码
数据流来源:学生、教师、教材管理人员
流 通 量:1000份/天
高峰流通量:700份/每天15:00-21:00
(4)处理逻辑的定义
处理逻辑编号:P1
处理逻辑名称:验证登录信息
简 述:验证用户身份
输入的数据流:登录信息,来源:外部实体“学生”、“教师”等
处 理:查询“学生信息表”或“教师信息表”,判断其是否为合法用户
输出的数据流:合法用户,去向是处理逻辑“输入查询条件”、“输入教材预订信息”等
非法用户,去向是外部实体“学生”、“教师”等
处 理 频 率:200次/天
(5)数据存储的定义
数据存储编号:D3
数据存储名称:学生领书表
简 述:存放学生在校期间所有的领录
数据存储组成:流水号+学号+教材编码+领书日期+数量+单价+业务员
关 键 字:学号+教材编码+领书日期
相关联的处理:P4(“查询”)等
(6)外部实体的定义
外部实体编号:S2
外部实体名称:教师
简 述:本校所有任课教师
输入的数据流:F1(“非法用户信息”)等
输出的数据流:D02-01(“用户登录信息”)等
5、系统设计
5.1 系统总体设计
5.1.1 系统硬件设计
在开发一个网上浏览系统时,特别是基于具有大量数据的数据库系统的网站时,需要多服务器的共同支持。虽然这些服务可以在一个服务器上集成,但这样做可能会有安全问题。所以针对最典型的网络应用,至少需要两台服务器,他们分别是:Web 服务器和数据库服务器。浏览器、Web服务器与数据库服务器之间的三层体系结构关系如图6所示。
校园网Web服务器为Sun Ultra Enterprise 450的UNIX服务器,不兼容微软的IIS/ASP平台,所以浏览系统的Web服务器选用HP LH3服务器,通过在校园网主DNS服务器设定域名进行解析。数据库服务器同样采用HP LH3服务器并安装微软的SQL Server 7.0数据库平台。
5.1.2 系统软件设计
本系统全面采用微软的产品解决方案。Web服务器操作系统采用微软的Windows NT Server 4,Web服务器为微软的Internet Information System 4,数据库管理系统采用微软的 SQL Server 7,开发工具采用微软的Visual InterDev,采用微软的Active Server Pages(ASP)技术开发网站。
Active Server Pages程序是在服务器端工作,并且通过服务器端的编译动态的送出HTML文件给客户端,而不像一般Script是在客户端通过浏览器执行,因而产生各厂商浏览器并不完全支持某种脚本语言而造成执行错误的现象;当客户端浏览器向服务器端要求一个.ASP文件(Active Server Pages文件后缀名为.asp)时,Server会将把这个ASP文件从头到尾读一遍,并加以编译执行(利用核心程序ASP.DLL的编译),最后送出标准HTML格式文件给客户端,由于送给客户端的是标准的HTML格式文件,所以可以克服浏览器互不兼容的问题。
图6 三层体系结构示意图
5.2 代码设计
代码设计是系统设计中非常重要的一部分。本系统中设计多个代码的设计,如“学号”,为了和学校中的其他系统保持一致,所以使用学校目前“学号”代码的设计,其设计规则如下:
*** ** ** ***
顺序号
年级
专业
院系编码
“教材编码”的设计考虑到教材一般都是各个院系有自己专用的教材,所以其代码设计如下:
*** ***
顺序号
院系编码
由于该高校的院系不超过30个,所以“院系编码”的设计采用了3位的顺序码。其他代码设计不再一一列举。
5.3数据库设计
数据库设计是在选定的数据库管理系统基础上建立数据库的过程。数据库设计时需要综合各个子系统的数据需求,分析各个数据之间的关系,按照DBMS提供的功能和描述工具,设计出规模适当、正确反映数据关系、数据冗余少、存取效率高、能满足各种查询要求的数据模型。该设计过程包括概念结构设计、逻辑结构设计和物理结构设计。
5.3.1 概念结构设计
在系统的数据库设计中,首先要对系统分析得到的数据字典中的数据存储进行分析,分析各数据存储之间的关系,可采用E-R图的方法进行数据结构分析。本系统中涉及的实体主要有“学生”、“教师”、“教材”、“院系”和“学生预存款”等,各实体及其属性如图7所示。
图7 实体及其属性图
各实体之间具有一定的联系,用E-R图表示出来,如图8所示。
图8 E-R图
5.3.2 逻辑结构设计
逻辑设计的任务就是根据DBMS的特征,将上述于DBMS的E-R图描述的概念结构转换为关系模型的逻辑结构。上述两个E-R图转换成的规范的关系模式为:
(1)学生信息表XS(学号,姓名)
(2)教材信息表JC(教材编码,教材名称,作者,出版社,版别序号,印刷批次,出版日期,价格,库存量,库存位置)
(3)学生购书表XSGS(学号,教材编码,购书日期,数量,单价,业务员)
(4)学生退书表XSTS(学号,教材编码,购书日期,退书日期,数量,单价,业务员)
(5)教师信息表JS(教师编号,姓名,院系编号)
(6)教师领书表JSLS(教师编码,教材编码,领书日期,数量,业务员)
(7)教材预订表JCYD(课程号,计划日期,院系编码,教师编码,教材名称,作者,出版社,出版日期,价格,需求数量)
(8)预存款信息表XSCK(学号,存取日期,存取,金额,业务员)
(9)院系信息表YXXX(院系编码,院系名称)
5.3.3 物理结构设计
物理结构设计的任务主要包括两个方面,其一是确定所有数据库文件的名称及其结构,其二是确定各个数据库文件是否需要建立索引,以及在什么字段上建立索引。本系统中部分表的结构如表1-表11所示。
表1 教材信息表(JC)
字段名 | 含义 | 类型 | 宽度 | 空值 | 主键 | 索引 |
JCBM | 教材编码 | Char | 6 | No | Yes | Yes |
JCMC | 教材名称 | Char | 32 | Yes | ||
ZZ | 作者 | Char | 12 | Yes | ||
CBS | 出版社 | Char | 40 | Yes | ||
BBXH | 版别序号 | Long | ||||
YSPC | 印刷批次 | Long | ||||
CBRQ | 出版日期 | Date | 8 | |||
XSJG | 价格 | Dec | ||||
LLKC | 理论库存量 | Long | ||||
SJKC | 实际库存量 | Long | ||||
XQSL | 需求量 | Long | ||||
KCWZ | 库存位置 | Char | 12 |
表2 学生信息表(XS)
字段名 | 含义 | 类型 | 宽度 | 空值 | 主键 | 索引 |
XH | 学号 | Char | 10 | No | Yes | Yes |
XSXM | 学生姓名 | Char | 12 | Yes | ||
DQYE | 当前余额 | Dec | ||||
YHM | 用户名 | Char | 16 | No | Yes | |
KLDM | 口令 | Char | 16 | No |
字段名 | 含义 | 类型 | 宽度 | 空值 | 主键 | 索引 |
ID | 流水号 | Long | No | Yes | ||
XH | 学号 | Char | 10 | No | Yes | |
JCBM | 教材编码 | Char | 6 | No | Yes | |
GSRQ | 购书日期 | Date | 8 | |||
SL | 数量 | Long | ||||
DJ | 单价 | Dec | ||||
YWY | 业务员 | Char | 12 |
字段名 | 含义 | 类型 | 宽度 | 空值 | 主键 | 索引 |
ID | 流水号 | Long | No | Yes | ||
XH | 学号 | Char | 10 | No | Yes | |
JCBM | 教材编码 | Char | 6 | No | Yes | |
GSRQ | 购书日期 | Date | 8 | |||
SL | 数量 | Long | ||||
DJ | 单价 | Dec | 9 | |||
YWY | 业务员 | Char | 12 | |||
TSRQ | 退书日期 | Date | 8 | |||
TSYWY | 退书业务员 | Char | 12 |
字段名 | 含义 | 类型 | 宽度 | 空值 | 主键 | 索引 |
JSBH | 教师编号 | Char | 7 | No | Yes | Yes |
JSXM | 教师姓名 | Char | 12 | Yes | ||
YXBM | 院系编码 | Char | 3 | No | Yes | Yes |
YHM | 用户名 | Char | 16 | No | Yes | |
KLDM | 口令 | Char | 16 | No |
字段名 | 含义 | 类型 | 宽度 | 空值 | 主键 | 索引 |
ID | 流水号 | Long | No | Yes | ||
JSBH | 教师编号 | Char | 7 | No | Yes | |
JCBM | 教材编码 | Char | 6 | No | Yes | |
LSRQ | 领书日期 | Date | 8 | |||
SL | 数量 | Long | ||||
DJ | 单价 | Dec | ||||
YWY | 业务员 | Char | 12 |
字段名 | 含义 | 类型 | 宽度 | 空值 | 主键 | 索引 |
KCBH | 课程编号 | Char | 7 | No | Yes | Yes |
YXBH | 院系编号 | Char | 3 | No | Yes | |
JSBH | 教师编号 | Char | 7 | No | Yes | |
JCMC | 教材名称 | Char | 32 | Yes | ||
ZZ | 作者 | Char | 12 | Yes | ||
CBS | 出版社 | Char | 40 | Yes | ||
CBRQ | 出版日期 | Date | 8 | |||
BBXH | 版别序号 | Long | ||||
YSPC | 印刷批次 | Long | ||||
XSJG | 价格 | Dec | ||||
XQSL | 需求量 | Long |
字段名 | 含义 | 类型 | 宽度 | 空值 | 主键 | 索引 |
KCBH | 课程编号 | Char | 7 | No | Yes | Yes |
JCMC | 教材名称 | Char | 32 | Yes | ||
ZZ | 作者 | Char | 12 | Yes | ||
CBS | 出版社 | Char | 40 | Yes | ||
CBRQ | 出版日期 | Date | 8 | |||
BBXH | 版别序号 | Long | ||||
YSPC | 印刷批次 | Long | ||||
XSJG | 价格 | Dec | ||||
XQSL | 需求量 | Long |
表9 学生存款信息表(XSCK)
字段名 | 含义 | 类型 | 宽度 | 空值 | 主键 | 索引 |
ID | 流水号 | Long | No | Yes | ||
XH | 学号 | Char | 10 | No | Yes | |
CKRQ | 存款日期 | Date | 8 | |||
CZLX | 操作类型 | Char | 4 | |||
JE | 金额 | Dec | ||||
YWY | 业务员 | Char | 12 |
表10 院系编码信息表(YXXX)
字段名 | 含义 | 类型 | 宽度 | 空值 | 主键 | 索引 |
YXBM | 院系编码 | Char | 3 | No | Yes | Yes |
YXMC | 院系名称 | Char | 16 |
字段名 | 含义 | 类型 | 宽度 | 空值 | 主键 | 索引 |
KCBH | 课程编号 | Char | 7 | No | Yes | Yes |
KCMC | 课程名称 | Char | 32 | Yes |
[课后作业]
1、第十章的扩展阅读,学生自主选择一篇,看完后谈谈对信息系统概念的理解。