实验案例模板一:查询系统的分析与设计

基于Web 的高校教材查询系统的分析与设计1 开发背景**高校是一所综合性高校,其涉及的专业课程多,教材用书种类多,数量大,传统的管理方法存在着效率低,易出错等诸多弊端,特别是学生、教师对教材使用情况

基于Web 的高校教材查询系统的分析与设计

1 开发背景

**高校是一所综合性高校,其涉及的专业课程多,教材用书种类多,数量大,传统的管理方法存在着效率低,易出错等诸多弊端,特别是学生、教师对教材使用情况了解相对较少,信息的透明度较低,与当前高校管理中倡导的“以人为本”的管理思想存在着很大的差距。为此该校教材科开发了一套基于C/S的教材管理信息系统。该系统主要包括以下六项处理功能:系统维护、教材订购计划管理、教材库存管理、教材销售处理、学生预收款管理、数据统计、查询与分析等功能。但是由于基于C/S的管理信息系统自身存在的使用范围小、地点固定等缺点,依然不能满足管理上的需要。如学生想知道教材科是否有某本书、想了解自己教材款的使用情况,一方面浪费了学生和教师的时间和精力,另一方面也加大了教材科的工作量,为此教材科希望在原有的基于C/S的教材管理信息系统的基础上,利用高校校园网的强大存储能力和方便的网络查询能力,采用流行的Browser/Server结构体系,将最终用户界面统一为浏览器,开发基于Web 的教材信息查询系统,更好地满足各类人员对教材信息管理的需求。

2 系统调查

通过对该高校教材科的业务工作进行的调查,我们发现该教材科的业务对象主要有三类:学生、教师和教材科,其相应的日常业务也可以分为三类,分别是:

(1)有关学生的业务

教材科对于学生的业务主要是为学生提供入学以来在教材科的购书详细资料的查询,存款详细资料的查询,剩余款项数额查询及学生对所需教材的查询等等。以往的方式是学生到教材科,提供自己的姓名、系别、年级,然后教材科在原始记录中查询。

(2)有关教师的业务

教师的业务主要是登记查询教师领书的信息,每学期开学,各系教师根据上学期预定的教材记录到教材科领取教材,并登记;每学期教师可以预定下学期所用教材,方式是教师在学期末到教材科,提供所需教材名称、教师个人信息等,然后教材科记录相应信息并制定相应采购计划。

(3)有关教材科的业务

教材科的业务主要是采购图书,发放教材,对库存图书、学生购书信息、教师(院系)领书的信息进行管理、统计。这其中涉及到所有有关教材的各种信息、数据,这部分也是教材科最主要、核心的业务。

通过对上述业务的归纳,可以画出该系统的业务功能体系图,如图1所示。

,

图1 功能结构图

3 业务流程分析

3.1 业务分类

通过对上述业务的了解及分析,新系统的业务可以分为通用查询业务、专用查询业务和网上预定业务三部分。

(1)通用查询业务

通用查询业务包括教材基本信息查询业务、学生购书查询业务、学生存款查询业务、教师领书查询业务、教材零售查询业务等。任何人在学校或校外都可以使用自己的用户名和密码在任何一台能够上网的电脑上查询他想要查询的内容(其中教材基本信息查询不需要用户名和密码)。

(2)教材科专用查询业务

专用查询业务是针对教材科的业务,这部分业务不对外开放,因为它没有对外开放的必要,这部分业务主要是辅助教材科对库存中教材的数量,更新速度等进行统计、预测、分析。具体业务应包括:教材库存统计业务、教材零售统计业务、学生购书统计业务和学生退书统计业务及教师(院系)领书情况的统计业务。

(3)教材预订业务

网上教材预订业务是办公自动化优越性的体现。在新业务系统中,各系要预订教材不用像以前跑到教材科进行登记了。只要在预定系统中输入所要预定的教材的信息,就可以完成对教材的预定,这样大大提高了工作效率。为完成网上预定的过程,相应的应该完成一系列的业务,包括:预定教材信息录入、预定教材信息的修改、预定教材信息查询和预定教材信息统计等内容。

3.2 业务流程图

由于业务较多,在此仅对通用查询业务和网上教材预定业务分别举例加以说明。

(1)通用查询业务

以学生查询业务为例,该业务是学生向系统输入用户名和密码进行身份认证,认证成功的学生就可以查询其在教材中心的某一笔或全部购书、退书及存取

,

款记录。其业务流程图如图2所示。

图2 学生购书查询业务流程图

(2)教材预订业务

教师进行教材预订的业务流程是教师首先输入自己的用户名和密码进行身份认证,然后在教材预订系统中输入自己下学期所上课程要使用的教材基本信息,在规定的时间内,教师也可以对已输入的教材信息进行查询和修改,超过了预定的时间,该信息将被转移到教材计划表中。该业务的业务流程图如图3所示。

教材预订业务流程图

4 数据流程分析

数据流程分析是在对上述业务流程图进行分析的基础上,从系统的科学性、管理的合理性和实际运行的可行性角度出发,将信息处理的功能和彼此之间的联系自顶向下、逐层分解,在逻辑上精确地描述新系统应具有的功能、数据输入、数据输出、数据存储及数据来源和去向。

4.1 数据流程图

由于该系统的数据流程图较多,我们依然只对学生查询业务和教材预订业务的数据流程图做详细介绍。

(1)学生查询子系统

由于学生要对自己的信息进行查询,涉及个人机密,所以学生应该首先进行身份确认,即登录系统,在身份得到确认后才可以查询自己的购书记录,退书记录、自己的存款账户以及教材科现有教材的情况,其数据流程图如图4所示。

,

图4 学生查询子系统数据流程图

(2)教材预订子系统

根据业务流程图对教材预订系统的描述,该系统的数据流程图如图5所示。

图5 教材预订子系统数据流程图

4.2 数据字典

数据流程图只是从数据流向的角度描述了系统的组成和各部分之间的联系,但却没有具体说明各个组成部分和数据流的具体含义,而数据字典正好弥补了这一不足,数据字典是对数据流程的最底层图中的数据项、数据流、数据存储、处理逻辑和外部实体进行了详细的说明。由于系统分析中数据字典的内容非常多,在此仅对各个部分分别举例进行说明。

(1) 数据项的定义 数据项编号:A01-01 数据项名称:学号 别 名:无

,

简 述:学生信息表中某个学生的学号

类 型:字符型

长 度:10个字节

取 值 范围:0000000000-9999999999

数据项编号:A02-01

数据项名称:教材编号

别 名:编号

简 述:教材信息表中某种教材的编号

类 型:字符型

长 度:6个字节

取 值 范围:字母+数字

(2)数据结构的定义

数据结构编号:D1

数据结构名称:学生信息表

简 述:学生的相关信息

数据结构组成:学号+学生姓名+用户名+密码+当前余额

数据结构编号:D2

数据结构名称:教材信息表

简 述:教材科库存教材的信息情况表

数据结构组成:教材编码+教材名称+作者+出版社+版别序号+印刷批次

+出版日期+价格+理论库存量+实际库存量+库存位置

(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所示。

(a )“学生”实体及其属性图

(b ) “教材”实体及其属性(c )“教师”实体及其属性图 (d )“院系”实体及其属性图 图7 实体及其属性图 (e )“预存款”实体及其属性图

各实体之间具有一定的联系,用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 )

,

表2 学生信息表(XS )

表3 学生购书信息表(XSGS )

表4 学生退书表(XSTS )

标签: