基于web的教材管理系统设计与实现大学论文.doc
XXIX基于Web的教材管理系统设计与实现网络112班:杨娜 指导教师:杨悦欣(陕西科技大学电气与信息工程学院 陕西 西安 710021)摘 要:目前,大多数学校的教材科的教材管理工作包括教材信息、教材征订、教材审核、教材采购、教材出入库,但若这些工作还停留在纸质的基础上,会浪费许多人力和物力。因此,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。建立一套与选课相配套的教材管理模式和管理系统具有十分重要的意义和实际应用的迫切性,而且现有的条件、管理理念和技术水平已使之成为可能。本系统主要完成了一个Web的教材管理系统,其主要实现学生、教师、教材科的订书,学生、教师的领书功能,教材零售,因书的质量问题换书,报损处理。对订书的情况做统计,为师生提供各种条件的教材信息查询等功能。本系统开发平台选用Visual Studio 2005,后台数据库为SQL Sever 2005 Express。本系统适用于各类型学校的教材科的库存管理工作,可以大大的提高了教材科工作的效率,减少失误。本文将对该系统的设计开发过程和具体功能做详细的介绍。关键词:教材管理,教材领取,库存管理,ASP.NET,B/SThe Design and Realization of Teaching Materials Management System based on WebABSTRACT:Nowadays, the management of textbook in most schools is still work by hand. This kind of management method is considered to be lack of efficiency.It wastes vast of human resources and materials.And, along with the student scale is increasing, the material is increasingly diverse, the difference between students individual teaching material and the difference is more and more big and the reality has already presented the unable to deal with the situation.So the traditional systems must be replaced by the information managing systems based on computer. Establish a set of matched and elective textbook management pattern and management system has very important significance and practical application urgency and existing conditions, management idea and technical level have made possible.This system realizes ordering and fetching books for students, teachers and the department of textbooks, retailing books to students, and exchanging books, and damage statistic and counting in ordering books. It provides all sorts of book information for teachers and students.This system is developed by the Visual Studio 2005, with backstage support of SQL Server 2005 Express. This system is applicable for maintaining management of the work of textbook department for all types of schools. And it can improve the work efficiency greatly. In this paper the process of development and the function of the system will be introduced in details.Key words: Textbooks Management, Receive Textbooks, Inventory Management, ASP.NET , B / S 1 系统开发背景和意义1.1课题研究的背景 教材管理是教务管理系统的重要组成部分,是一项复杂的系统工程。传统的教材管理工作采用手工或半自动化管理方式,许多繁杂的工作,如填写订单、分类、入库、发放和财务汇总、报表等都要由管理人员手工完成。这种管理方式有许多的弊端:首先是手工处理大量数据时容易产生操作上的失误;其次信息查询非常不方便;另外,手工管理在数据收集、汇总、分类等方面的效率非常低下,尤其是近年来各地高校发展迅速,教学规模不断扩大的背景下,使得教材管理工作更加繁重不堪。随着高校校园网的普及,利用计算机特别是利用网络来对高校的教务工作进行管理,建立全面的具有通用性、开放性、实用性和灵活性的网络管理体系己经成为可能和必然趋势。将计算机这种工具引入到教材管理工作中来,建立基于校园网的教材管理信息系统,不仅可以将教材管理人员从日常繁重的手工作业方式中解脱出来,降低劳动强度,还可以全面促进教材管理工作的规范化和信息化,极大地提高工作效率和质量,增强数据管理的准确性与可靠性,加快信息检索的速度。本文所做的工作正是在此背景下展开的。1.2国内外动态目前,在国内应用的教材管理系统中,最早的是单机版的教材管理系统,但由于单机版的局限性,人们已经逐步淘汰了这种方式,向网络版过渡。而网络版常见的又有三种:基于局域网方式、C/S(Client/Server客户/服务器)方式、B/S(Browser/Server浏览器/服务器)方式。基于局域网方式是较早出现的,它主要通过基于局域网的协议运行,这种系统开发简单,对机器要求不高,但安全性和稳定性较差。C/S方式建立在局域网的基础上,主要工作在服务器端完成,因而它对服务器的要求较高,对信息的安全控制能力强。B/S方式是近年来比较流行的一种软件开发模式,它是基于互联网或校园网的,对客户端的要求较低,可面向地域分散的不同用户群。国外的教材管理系统多数是基于网络版的,只是把教材管理系统单独作为一个软件开发这种情况还不是太多。许多软件开发商仅仅是把教材管理作为一个复杂系统的某一个模块来开发,这使得在一个占用了更多资源的系统内运行繁琐的教材管理模块降低了工作效率,甚至会出现意想不到的系统错误。另外,不论是在国内还是在国外,各软件开发公司或院校自己开发的教材管理系统还不具有普及性,多数仅仅针对某一具体的单位而研发,这主要是因为每个单位的实际情况不同,而这些不同之处又是各个单位教材管理工作中区别于其它单位的最主要的部分,因此不可能开发出一个统一的,大众化的教材管理系统。2 系统关键技术简介一般来说,在构建管理信息系统时,开发者首先应考虑系统开发模式的选择,然后再考虑开发方法,接着是确定开发环境,最后是选择合适的开发工具。本章将对软件开发时所涉及到的相关技术、方法和环境予以描述,并最终确定本系统所要选用的方案。2.1系统开发模式的选择在信息系统的发展过程中,共产生过四种模式,即主机终端模式;文件服务器模式;客户机/服务器模式(即CIient/Server,C/S);浏览器/服务器模式(Browser/Server,B/S)。前两种模式由于其自身的不足己被淘汰,目前应用最多的是C/S和B/S两种模式。本节将对这两种方式进行描述。2.1.1C/S模式C/S软件体系结构,即Client/Server(客户栅服务器)结构,是20世纪80年代逐步成长起来的一种模式。在这种结构里,网络中计算机分为两个有机地联系起来的部分:客户机和服务器。客户机在运行时需要安装专用的客户端软件,它负责收集用户的需求信息,然后通过与服务器相连的网络把请求的信息发送给服务器。服务器软件接收到来自客户端的请求并且处理它,作为请求的响应,发送请求的结果给客户端。客户端软件再负责把信息转换为用户能理解的方式。两层C/S结构在系统规模、用户数量(小于100)及分布域较小(一个局域网内部)的时候,是一种良好的分布式计算解决方案。但随着系统规模、用户数量、分布区域的持续增大,它表现出许多缺点:(a)软件部署和维护成本高。C/S模式的软件需要在每一台客户机上安装应用程序,而且还要安装相应的数据库连接程序,最后还要为每一台客户机做系统配置工作。当网络用户的规模达到一定的数量之后,系统的维护量急剧增加成本提高,因而维护应用系统变得十分困难。(b)运行成本较高。C/S体系结构对客户端软硬件配置要求较高,增加了整个系统的成本。(c)服务器端性能降低由于客户端和服务器端直接连接,服务器将消耗部分系统资源用于处理与客户端的连接工作。那么每当同时存在大量客户端数据请求时,服务器有限的系统资源将被用于频繁应付与客户端之间的连接,从而无法及时响应数据请求。客户端数据请求堆积的直接后果将导致系统整体运行效率的大幅度降低甚至全面崩溃。(d)缺乏集中控制。使得系统的安全和管理成为问题。 (e)移植困难。不同开发工具开发的应用程序,一般来说互不兼容,不能搬到其它平台上运行。为了克服两层C/S体系结构的缺点,出现了三层软件体系结构(有的也叫多层软件体系结构)。三层C/S结构将应用的三部分(表示部分,应用逻辑部分,数据访问部分)明确进行分割,使其在逻辑上各自独立,并且单独加以实现,分别称之为客户,应用服务器和数据库服务器。在三层的软件体系结构中客户端去掉了计算功能,使其主要作格式化和输入输出使用以及一些基本的数据校验等工作,同时也把原来放到数据库服务器的一些用存储过程、触发器来完成的工作放到应用服务器,以便释放数据库服务器的压力。应用服务器是联系用户服务和数据服务的“桥梁”,它们响应用户的请求,实施业务规则,处理和分析业务数据,获得业务结果。数据库服务器负责数据的组织管理,包括数据的定义、维护、访问和更新以及管理并响应业务服务的数据请求。三层的体系结构把显示逻辑、商业逻辑和数据库分开,使得每层任务更明确,整个系统结构更加清晰。与两层C/S结构相比,三层C/S系统结构有较多的优点:(a)共享中间层的商业逻辑;(b)“瘦”客户应用程序;(c)结构灵活、通用性高;(d)分布式数据处理;(e)安全性能好。同时三层C/S系统结构的缺点也表现为:系统针对性强,变更不够灵活;通常只局限于小型局域网,不科于扩展;目前能真正掌握三层系统开发的工程师比较少;客户端系统的配置和同步升级仍然十分困难。2.1.2B/S模式在网络软件开发模式里,人们通常把处理大量数据的客户端机器称为“胖客户机(Fat C1ient)”,把很少处理数据的服务端机器称为“瘦服务器(ThinServer)”,这实际上是对两层C/S开发模式的描述。而三层的C/S开发模式人们又形象的称为“瘦客户机(Thin Cllent)”,“胖服务器(Fat Server)”的网络开发模式。目前,流行的趋势是客户机应更“瘦”,服务器更“胖”,有些三层C/S系统己经实现了客户端的零代码编程,这就是基于www的数据库应用系统,它采用统一的浏览器作为用户界面,形成浏览器Web服务器数据库服务器的结构,这种结构就是通常所说的B/S结构,它是三层C/S结构的一种特殊形式。B/S结构是一种以Web技术为基础的新型的网络管理信息系统平台模式,B/S 结构把传统两层C/S中的服务器部分分解为Web服务器和数据库服务器,从而构成一个三层结构的客户服务器体系。它的工作原理是:客户端通过一个通用的浏览器向Web服务器发出数据处理请求,Web服务器将启动相应的进程来响应浏览器的请求,如果发现在客户端的请求中包括数据存取,那么Web服务器将向数据库服务器发出处理数据的请求,数据库服务器接收并做处理,把结果传回给Web服务器,最后由Web服务器动态生成嵌入处理结果的HTML代码返回给客户机浏览器。B/S模式具有以下优点:(a)使用简单,由于用户使用单一浏览器软件,基本上无需培训即可使用。(b)简化了系统的开发和维护,由于应用程序都放在Web服务器,软件的开发、升级与维护只在服务器端进行,减轻了开发与维护的工作量。(c)减少了网络开销。C/S两层结构中,对于每次的事务处理(Transaction),客户机与数据库需进行多次交互。而在B/S三层结构中,事务处理在应用服务器上进行,数据的多次交互可限定在应用服务器与数据服务器之间,客户机的数据交互只需要一次,从而大大降低了通讯量,减轻了网络负载。(d)对客户端硬件要求低。客户机只需安装Web浏览器软件即可。(e)信息资源共享程度高。用户可以在局域网内、通过Internet网或DDN专线访问系统。(f)具有良好的开放性和可扩充性。B/S模式可直接连入Internet,具有良好的扩展性。虽然B/S模式存在许多C/S模式所无法比拟的优点,但在实际的应用过程中仍然有许多问题:(1)随着计算机网络技术的发展,计算机安全问题日益突出,可以说Web技术在应用的过程中暴露了越来越多的安全问题限制了基于Web的B/S模式的MIS的发展。(2)Web服务器成为可对数据库进行访问的唯一客户端,所有对数据库的连接都通过该服务器来实现。Web服务器同时要处理与客户请求以及与数据库的连接,当访问量较大时,服务器端可能负载过重。(3)由于浏览器只是为了进行Web浏览而设计的,在将其用于Web应用系统时,许多功能不能实现或实现起来比较困难。(4)复杂的应用难于构造。虽然可以用ActiveX,Java等技术来开发较为复杂的应用,但是相对于发展己非常成熟的C/S系列应用工具来说,这些技术开发复杂,并没有完全成熟的技术可供使用。2.1.3系统方案的选择通过以上对C/S模式和B/S模式优缺点的分析。本教材管理系统最终采用B/S的模式,主要有以下几个原因:首先,B/S较C/S结构适用范围广,有比C/S更强的适应范围,一般只要有操作系统和浏览器就行,与操作系统平台关系最小。其次,系统维护简单。相对C/S程序而言,B/S结构程序的开发、维护等工作都集中在服务器端。当需要升级时,只需更新服务器端的软件,而不必更换客户端软件,实现系统的无缝升级。这样就减轻了系统维护与升级的成本和工作量。最后,B/S系统不需要对用户进行专门培训。对于B/S结构的系统,用户只要会使用浏览器就可以登录系统,不必要像C/S系统还要安排人员对客户作专门的培训,使用更加方便。2.2ASP.NET与Visual Studio 2005ASP.NET是建立在通用语言运行时刻库(CLR)上的应用程序框架。他用来在服务器端构建功能强大的Web应用程序。ASP.NET提供了几个超越以前Web开发模式的优点:(a)增强的性能;(b)世界级水平的开发工具支持。 (c)强大而富有弹性。 (d)简单。(e)易于管理。(f)可伸缩性和有效利用性。(g)可订制和扩展。Visual Studio是一套完整的开发工具集,用于生成 ASP.NET Web应用程序、XML Web Services、桌面应用程序和移动应用程序。Visual Basic、Visual C+、Visual C#和 Visual J#全都使用相同的集成开发环境 (IDE),利用此IDE可以共享工具且有助于创建混合语言解决方案。另外,这些语言利用了.NET Framework的功能,通过此框架可使用简化ASP Web应用程序和XML Web Services开发的关键技术。2.3SQL与SQL Sever 2005 ExpressSQL是用来对存放在计算机中的数据库进行组织、管理和检索的语言。SQL一词是“Structured Query Language(结构式查询语言)”的缩写,是IBM公司San Jose实验室为System R而设计的语言,从1982年开始,美国国家标准协会(ANSI)即着手SQL标准化工作,1986年ANSI的数据库委员会批准了SQL作为关系数据库语言的美国标准,这就是第一个SQL标准,同时公布了SQL标准文本,在此后不久的1987年,国际标准化组织(ISO)也做出了同样的决定,目前的SQL标准是1992年指定的SQL92标准,是一种用于与数据库进行交互的语言。SQL语言的极大普及是当今计算机工业中最引人注目的趋势之一。在过去的几年中,SQL已经发展成为标准计算机数据库查询语言。现在,微机到大型机,有很多数据库产品支持SQL,SQL的国际标准已经能够被采用并被不断扩充。SQL在主要计算机开发上的数据库体系中占有重要的地位。SQL Server 2005引入了SQL Server Management Studio帮助实现开发和管理任务。在Management Studio中,可以开发和管理SQL Server数据库引擎 与通知解决方案,管理已部署的Analysis Services解决方案,管理和运行Integration Services包,以及管理报表服务器和Reporting Services报表与报表模型。这个studio与Microsoft Visual Studio紧密集成。在studio中,SQL Server 2005提供了设计、开发、部署和管理关系数据库、分析对象、数据转换包、复制拓扑、报表服务器和报表以及通知服务器所需的图形工具。此外,SQL Server 2005包含命令提示实用工具,可以通过命令提示符执行管理任务。3 系统需求分析与总体设计3.1可行性分析3.1.1可行性研究现在,计算机软件技术的发展已经达到了相当高的水平。但是,教材预订系统的开发目前还正处于初级完善的阶段,随着这项技术的不断深入发展,就要求有更好、更完善的软件系统应用到各大高校教材订购管理当中去,这就给软件设计人员提出了更高的设计要求。教材预订系统包括很多环节,例如:教材的网上预订、库存教材的管理、进销存管理系统、教材的领取等等。其中很重要的一个环节就是教材预订系统,同时它也是较难实现的一个环节。在我国,目前大多数学校都是是以班级为单位,统一向学生发放教材,然后收取书款。学生每学期开学都需要购买教材。首先学校根据每学期所开设的课程,向各书商或出版社购进课本,然后学生以班级为单位向学校领书交费。这项工作现在在大部分学校还是手工操作,工作起来效率很低,不能及时了解教材库存和领取的具体情况,并且对于查找、更新和维护都带来了不少的困难。随着计算机应用技术的迅猛发展,网络应用的不断扩大。人们的思想因此而逐渐在改变,现代社会是一个信息化、网络化的社会,所以人们也在迫切要求利用这些技术来运用到学校办公中,以减轻企业员工的工作负担及提高工作效率,与此同时也方便了学校对教材的管理,从而使教材的订购与管理更趋于安全、方便、快捷。3.1.2可行性分析(1)技术性方面的可行性:在当前的限制条件下,该系统的功能目标能够达到;利用现有的技术,该系统的功能能实现;通过大学四年的学习以及上学期的实习,使我对开发管理信息系统又有了新的认识和提高。由于本设计最重要体现的是实用性,所以,通过大量的社会调查和分析,结合自己现有的技术水平加上导师的指导,在规定的期限内,本系统的开发能完成。(2)社会条件方面的可行性:法律方面的可行性:开发人员需对专利权、版本等方面有一定的了解,在开发过程中确保不触犯法律。使用方面的可行性:从用户单位的行政管理、工作制度等方面来看,能够使用该软件系统;从用户单位的工作人员的素质来看,能满足使用该软件系统的要求。(3)经济可行性:成本方面:由于本毕业设计属于网络工程(本科)教学的最后一个环节,所以人力消耗免费,资源学校提供,指导老师义务指导。所以成本计算只需计算开发期间开发者的生活消费,学校资源的消耗,所以开发本软件的成本是非常低的。效益方面:为企业开发一个完整、合理的仓库管理系统,可大大节余人力,以前需要多人干的工作,使用本系统只需一个人或几个人就能完成,且工作量和劳动强度大大降低。所以开发本软件可以为社会带来很好的经济效益。从以上分析看开发本软件在经济上是可行的。(4)操作可行性:本软件是为企业仓库的管理者开发的,所有本软件的用户对象是企业仓库的工作人员,由于本软件要设计成友好的界面,写出详细的使用说明,用户只需懂得简单的计算机操作知识,就能自由应用本软件。从以上分析看开发本软件在操作上是可行的。3.2 系统需求3.2.1用户角色需求根据习惯上教材科的操作方式,整个系统应该有三种用户角色,即教材科人员,普通学生教师和系统管理员。(1)教材科人员教材科人员主要负责处理订书领书操作,而不能进入到系统管理的模块中。(2)学生教师全院师生可以查询教材信息,不能进入其它任何模块。(3)系统管理员系统管理员在后台对系统进行用户管理,教材信息管理,并展开系统的正常运行维护工作,但不能进入教材科人员操作模块。除普通的学生教师等查询用户外,每个角色操作都通过密码验证和用户类型选择后登录。通过系统管理员才可以修改密码。工作完成后,通过各自专门的出口退出登录状态。3.2.2功能需求系统功能主要包括订书处理、领书处理、特殊处理、系统信息管理四个部分。以下按照不同的功能处理对具体功能进行描述:(1)订书处理:教材科人员通过登录页面登录成功后,可以通过菜单选择为学生、老师、或者教材科订书,首先选择需要定的教材,输入教材使用的学年度,如果为学生订书需要选择系和班级,填入需要订购的数量,如果是教师订书需要填写教师名字,选择确定,订书的过程就完成了。(2)领书处理:教材科人员通过登录页面登录成功后,可以通过菜单选择为学生、老师做领书处理。当学生代表来领书时,通过班级就可以查询到需要领什么书,需要领多少本,什么书已经领取了等信息,领书成功会做上领书标记。教师来领书时,通过选择教师名字,就可以知道需要领什么书,也和学生类似的在领书后做领书标记。(3)特殊处理:特殊处理指的是换书、报损、零售、统计、查询这些功能。教材科人员从登录模块登录后可以进入这些功能模块。换书是只书本身由缺陷的情况下,对领书的学生或老师做换书处理,并作记录。报损是因为其它教材科的原因造成的问题做报损处理,并且登记。零售是对丢失教材的学生做零售处理,并且记录。这些操作都是要在教材科有自己购买相关教材的情况下才能进行。如果在进行这些操作的时候,数量少于阀值将报警,数量不足或没有库存的时候会弹出提示框并关闭相关功能。统计功能是在选择学年度和教材后统计订购数量,或者按班级统计订购数量。查询模块是所有用户在没有登录情况下都可以操作,可以按模糊查询、按授课教师等方式查询教材相关信息。(4)系统管理:系统管理员从登录页面进入系统,选择用户类型为“系统管理”。系统管理员登录后不能进入教材科用户使用的模块。系统管理员可以添加删除修改教材信息,管理各类用户,设置报警阀值,管理班级和系的信息。3.2.3性能需求整个系统应当操作简便,界面友好,维护简便。数据库要求运行稳定,执行速度快,数据安全性高。软件系统本身运行对计算机硬件平台和操作系统平台要求适中。3.3系统层次模块图教材管理系统用户登录模块订书模块领书模块销售、换书、报损模块图书管理模块系统管理模块教材查询模块统计模块学生订书教师订书教材科订书学生领书教师领书图3-1教材库存管理系统层次模块图3.4系统流程图图3-2 基于Web的教材管理系统系统流程图3.5 业务流程图 开始 结束图3-3 业务流程图用户首先需要注册系统,注册时信息输入错误会给出提示,重新输入,注册成功后,可以使用用户名密码登录系统,用户名密码输入错误会给出相应的提示,登录进入系统后,可以查看系统库存的书籍,并订购。当用户要退出时,可以点击注销退出登录。4 系统设计与实现4.1主框架整个系统的布局采用了框架结构。顶部框架里是系统的标题。主框架又分左右两部分。左部框架是树型功能菜单,整个系统功能模块的跳转主要在这里完成。右部框架用来显示和操作各主要功能模块。4.2数据操作公共类整个系统在几乎所有的模块中都会涉及到大量类似的数据库操作。所以把几个常用的方法抽出,放到一个公共的类中,供所有的模块调用。首先建立一个和SQL Server 数据库之间的连接。代码如下:SqlConnection sqlconn = new SqlConnection("Data Source=(local)sqlexpress;Initial Catalog=bm;Persist Security Info=True;User ID=xsliang;Password=xiaosong");DataCom方法用来返回受影响的结果的行数,但不返回任何东西。操作过程是首先打开连接,之后建立一个对 SQL Server 数据库执行的一个SQL 语句的对象,执行SQL语句,然后关闭数据库连接。具体代码如下:public void DataCom(string sqlstr) sqlconn.Open(); SqlCommand sqlcom = new SqlCommand(sqlstr, sqlconn); sqlcom.ExecuteNonQuery(); sqlconn.Close(); rowNumber方法用来返回受影响的行数。但是和DataCom不同的是回返回一个具体的int类型的行数。rowFirst方法用来返回一个object类型的查询后的第一行的第一列的结果。代码和上面的两个方法类似,只是执行ExecuteScalar方法来取得第一行的第一列的结果。4.3数据库设计4.3.1 E-R图出版日期 教材教材名称教材出版社ISBN号 价格教材作者 条形码号图4-1 教材实体E-R图 用户编号用户名 性别 密码电话图4-2 用户实体E-R图 管理员编号 密码 名字 图4-3 管理员实体图数据库的表结构是非常重要的环节,一个良好的数据库设计,可以提高效率,方便维护,并且为以后进行功能的扩展留有余地。表4-1是系统数据库表的清单。表4-1 数据表清单序号数据表名称说明1damage对报损的教材进行记录2lingshu对学生和教师领书进行记录3dingshu对学生和教师订书进行记录4user用户信息5jiaocai教材信息记录6number库存报警阀值记录7change对换书的教材进行记录8sell对销售的教材进行记录9class记录班级和系的信息报损表(damage):存放由于教材科原因造成的教材损坏的报损信息,如表4-2所示:表4-2 报损信息表字段名属性 主键/外键说明da_IDint主键自动增加number Numeric(5,0)报损数量timedatetime报损时间namenchar(10)操作者Booknamenchar(30)书名阀值表(number):设置库存报警阀值。如表4-3所示:表4-3 阀值信息表字段名属性主键/外键说明numberNumeric(5,0)报警阀值教材表(jiaocai):显示教材信息。如表4-4所示:表4-4 教材信息表字段名属性 主键/外键说明zuozhenchar(20)教材作者datenchar(10)出版日期booknamenchar(30)书名ISBNnchar(20)ISBN号priceMoney价格tiaomaNumeric(18,0)条形码号coverNchar(50)封面,可以为空jc_IDInt主键自动增加chubanshenchar(30)出版社 订书表(dingshu):显示记录学生、教师、教材科的订书消息。如表4-5所示:表4-5 订书信息表字段名属性 主键/外键说明Ds_IDint主键自动增加numberNumeric(10,0)订书数量timedatetime订书时间nameNchar(10)外键操作者classNchar(20)订书班级departmentNchar(20)订书系teacherNchar(20)订书教师jiaocaikebit是否教材科订书xndNchar(10)使用学年度BooknameNchar(30)书名 领书表(lingshu):存放学生、教师的领书消息。如表4-6所示:表4-6 领书信息表字段名属性主键/外键说明ls_IDint主键自动增加numberNumeric(10,0)领书数量timedatetime领书时间nameNchar(10)外键操作者classNchar(20)领书班级departmentNchar(20)领书系teacherNchar(20)领书教师jiaocaikebit是否教材领书xndNchar(10)使用学年度BooknameNchar(30)书名tagbit领书标记 换书表(change):存放因非人为原因的图书问题进行换书的信息。如表4-7所示:表4-7 换书信息表字段名属性主键/外键说明ch_IDint主键自动增加number numeric(5,0)换书数量timedatetime换书时间name Nchar(10)外键操作者Bookname Nchar(30)书名 班级表(class):存放系和班级的信息。如表4-8所示:字段名属性主键/外键说明cl_IDint 主键自动增加departmnetnchar(20)系名classnchar(20)班级名表4-8 班级信息表 销售表(sell):记录教材零售信息。如表4-9所示:表4-9 销售信息表字段名属性 主键/外键说明se_IDint主键自动增加numbernumeri(5,0)销售数量timedatetime销售时间nameNchar(10)外键操作者BooknameNchar(30)书名PriceMoney总价格 用户表(user):管理用户信息。如表4-10所示:表4-10 用户信息表字段名属性 主键/外键说明User_IDint自动增加nameNchar(10)主键用户名passwordNchar(10)用户密码leaveint用户类型4.4功能设计4.4.1登录操作登录页面的功能主要是供合法的用户根据自己的用户类型进行登录。网上教材管理系统登录模块运行的结果如图4-5所示。图4-5 网上教材管理系统登录模块运行的结果如果用户在没有登录的情况下选择其它功能模块会退回到登录界面。如果用户已经登录,可以在登录模块进行退出登录的操作。在登录到这个页面或者刷新这个页面的时候,首先要进行一次session的判断。在输入用户名密码后,先确认输入框中有数据,将把输入框中的数据和数据库中的数据进行比较验证。如果一切通过,将产生两个session分别用来存放用户名和用户类型。之后跳转到相应的登录成功的页面。4.4.2订书操作网上教材管理系统订书模块分为三个子模块,分别是学生订书模块、教师订书模块、教材科订书模块。主要功能是完成各类用户的订书操作。网上教材管理系统学生订书模块运行的结果如图4-6所示。图4-6 网上教材管理系统学生订书模块运行的结果当教材科工作人员以教材科类型用户登录到系统后,可进行教材的订书操作。首先填写教材使用的学年度,然后选择使用的系和班级,再选择使用的教材名,最后填写订书的数量,如果确认无误后,就可以点击确定订书。在进入到这个模块时,首先还是判断是否有session存在,没有的情况下返回登录页面。存在session时,判断用户类型是否属于教材科用户,如果不是,跳转到管理页面。在输入了订书信息选择确定后,如果一切无误,会进行插入操作。订购信息会先后插入到订书表和领书表。但是在领书表中不会插入领书时间、操作者、领书标记这些信息。成功后会返回订书模块。具体的实现代码如下。string sql_dingshu = "insert into dingshu" +"(number,time,name,class,department,xnd,jiaocaike,bookname)" +"values('" + number + "','" + time + "','" + name + "','" + classname + "','" + department + "','" + xnd + "','" + jiaocaike + "','" + bookname + "')" /编写insertdb.DataCom(sql_