学校教材订购系统罗学东.docx
《学校教材订购系统罗学东.docx》由会员分享,可在线阅读,更多相关《学校教材订购系统罗学东.docx(34页珍藏版)》请在冰点文库上搜索。
![学校教材订购系统罗学东.docx](https://file1.bingdoc.com/fileroot1/2023-7/10/5eea4d53-ed6c-45b7-9e12-5a19ab832cac/5eea4d53-ed6c-45b7-9e12-5a19ab832cac1.gif)
学校教材订购系统罗学东
华科学院计算机科学与技术专业
《数据库课程设计》报告
(2009/2010学年第一学期)
学生姓名:
罗学东
学生班级:
信息管理092201H
学生学号:
200922040113
指导教师:
武研
2011年 12 月 25 日
目录
第一章系统概述……………………………………………………………………………………………1
1.1开发背景………………………………………………………………………………………
1.2开发意义………………………………………………………………………………………………1
1.3开发工具及主要技术……………………………………………………………………………………2
第二章总体系统需求分析…………………………………………………………………………………3
2.1总体设计要求………………………………………………………………………………………3
2.2总体系统软件结构图…………………………………………………………………………………3
2.3总体系统软件业务流程图……………………………………………………………………………4
第三章子系统需求分析……………………………………………………………………………………5
3.1子系统设计要求…………………………………………………………………………………………5
3.2子系统功能模型…………………………………………………………………………………………5
3.3子系统业务流程模型……………………………………………………………………………………
第四章系统设计……………………………………………………………………………………………8
4.1代码设计………………………………………………………………………………………………8
4.2输出设计………………………………………………………………………………………………8
4.3输入设计…………………………………………………………………………………………8
4.4数据库设计……………………………………………………………………………………………9
4.4.1概念数据模型…………………………………………………………………………………9
4.4.2物理数据模型………………………………………………………………………………13
4.5数据库建立……………………………………………………………………………………………
4.5.1数据库的建立和使用………………………………………………………………………
4.5.2建立用户表…………………………………………………………………………………
4.5.3建立存款表………………………………………………………………………………
4.5.4建立上下机表……………………………………………………………………………
4.5.5建立操作员表……………………………………………………………………………
4.5.6建立上机标准表…………………………………………………………………………
4.6刷卡………………………………………………………………………………………………………
4.7存款………………………………………………………………………………………………………
4.8操作员……………………………………………………………………………………………………
4.9查询刷卡全体用户………………………………………………………………………………………
第五章系统实现…………………………………………………………………………………………15
4.1系统功能截图…………………………………………………………………………………………15
4.2源代码………………………………………………………………………………………………16
心得体会……………………………………………………………………………………………………26
参考文献……………………………………………………………………………………………………27
第一章系统概述
1.1开发背景
当今随着计算机技术和计算机网络的发展,人们逐渐进入了信息时代。
通过因特网,人们可以浏览到需要的信息,发送邮件、传送邮件,网上娱乐,远程教育,远程医疗,同时,电子商务和电子政务的出现,也更加方便了人们的生活。
生活中有许多事情都可以在网上轻松简单的实现,互联网因为它简单的操作和广泛的信息量,逐渐成为人们生活和工作中的重要部分。
近年来,学校的教材订购也越来越多的涉及到了信息技术和网络的应用。
以前许多高校的教材征订系统存在着教材管理和征订方面半手工半信息化的状况,并没有一个对数据进行操作的网络程序。
所谓的半手工半信息化是指教材科有详细的教材资料,并把它们存放在电子文档中,每次需要时,找到对应的信息并打印或手抄出来,这种工作方式工作效率低。
针对这一情况,本次设计对学校教材订购系统进行了研究,进行了初步的尝试。
1.2必要性分析
随着教学数量和质量的提高,对软件质量的要求也越来越高,因此对图书教材的订购越来越重视,希望通过一个简单,方便,快捷的方式获得需要的教材。
因此,一所学校有一个好的教材订购系统是十分重要的。
订购是指教师或学生向工作人员提出需要采购的教材,经工作人员审查后,发给教师或学生发票,然后去书库领取教材,但工作人员发现书库中缺货时,要及时的报告采购部门,采购部门要及时的进货,然后,工作人员来修改记录。
本系统主要通过应用程序实现对数据库的整合以及对数据库的操作。
数据库是长期存储在计算机内、有组织、可共享的大量数据的集合。
数据库的整合就是把现在的零散的数据库经过分类、综合整理成一个大型的数据库。
所需数据都是可以从里面调用的。
数据库的数据操作是指对数据库中各种对象的实例允许操作的集合,包括操作及有关的操作规则。
数据库主要有查询和更新(包括插入、删除、修改)两大类操作。
本系统的设计首先着眼于网络,学生和教师可以通过本系统向教材订购人员提交所需要教材的详细信息,教材订购系统可以统计出这些教材信息。
因此,本系统能够方便学校教材订购部门的工作,提高了工作效率。
主要功能包括:
1、收集数据。
将学生和教师的订书单和缺书通知单收集起来。
2、打印报表。
产生待购教材表、进库表、出库表等各种统计报表。
1.3可行性分析
在技术上的可行性分析,本系统可以划分为两个子系统:
销售系统和采购系统。
销售系统的工作过程为:
首先由教师或学生提交购书单,经教材发行人员审核是有效购书单后,开发票,登记并返给教师或学生领书单,教师或学生即可去书库领书。
采购系统的主要工作过程为:
若是脱销教材,则登记缺书,发缺书单给书库采购人员,一旦新书入库后,即发进书通知单给教材发行人员。
当书库中的各种书籍数量发生变化时,都应该修改相关的书库记录,如库存表或进出库表。
1.4开发及运行环境
操作系统:
WindowsXP
数据库开发环境:
SQLServer2000
开发工具:
VisualBasic
第二章系统需求分析
2.1需求定义说明书
此教材采购分为两个模块:
采购系统和销售系统。
采购系统模块:
发缺书通知单、登记缺书记录、拟定待购书信息、发进书通知单、修改和维护数据库中相应的表。
销售系统模块:
提交购书单、审核购书单、开发票、登记购书记录、返回领书单、修改和维护数据库中相应的表。
教材订购管理系统的服务对象是全体的师生员工,系统的使用对象是教务处教材管理人员及书库管理员。
系统主要完成以下具体功能:
(1)预定新书购书者购买书库暂时没有的书,可以进行预订,由教务处工作人员进行采购。
(2)购书购书者到财务室办理缴费手续,然后凭此手续去书库取书。
(3)书出库书从书库领出,管理员修改书库记录。
(4)书入库采购人员把采购的书送入书库,管理员修改书库记录。
(5)书库维护对现有的书进行分类、统计、增添新书目录或删除不存在的旧书目录等,一般由书库管理人员来完成。
2.2系统组织结构图
根据需求分析,学校教材订购系统的组织结构图如图2.1、图2.2所示。
图2.1采购子系统结构图
图2.2销售子系统
2.3业务流程图
管理业务流程图是一种描述系统内个单位、人员之间业务关系、作业顺序和管理信息流向的图表。
下图是学校教材订购系统的业务流程图。
其处理过程是:
由学生或教师提交购书单,经教材发行人员审核是有效购书单后,开发票,登记并返给教师或学生领书单,教师或学生即可去书库领书。
若是脱销教材,则登记缺书,发缺书单给书库采购人员,一旦新书入库后,即发进书通知单给教材发行人员。
此外,书库工作人员还需要对书库进行更新与维护,及时的修改图书记录,并对现有的书进行分类、统计和整理,如图2.3所示。
图2.3系统业务流程图
2.4系统数据流程图
将流程图中的实体进一步描述如下:
学生信息包括:
姓名、学号、购书日期、采购教材名称、教材编码、教材数量、单价、联系方式
教师信息包括:
姓名、编号、购书日期、采购教材名称、教材编码、教材数量、单价、联系方式
教材信息包括:
教材名称、教材编码、价格、现有数量、出版社、作者
购书单信息包括:
日期、教材名称、数量、学生(教师)姓名、购书人员编号
缺书单信息包括:
日期、教材名称、数量、学生(教师)姓名、发行人员编号
领书单信息包括:
日期、教材名称、数量、学生(教师)姓名、联系方式
进书通知单信息包括:
日期、教材名称、数量、采购人员、编号、联系方式
采购人员信息包括:
教材名称、数量日期、采购人员、编号、联系方式
发行人员信息包括:
教材名称、数量日期、发行人员、编号、联系方式
系统数据流程图如图2.4所示。
图2.4系统数据流程图
2.5数据字典
为了对数据流程图中的各个元素作出详细的说明,有必要建立数据字典。
数据字典的内容主要是对数据流程图中的数据项、数据结构、数据流、处理逻辑、数据存储和外部实体等六个方面的定义。
数据流程图配以数据字典,就可以从图形和文字两个方面对系统的逻辑模型进行描述。
(1)数据项的定义
数据项名称:
表的编号
别名:
表的号码
简述:
指明每一种表的类型
类型及宽度:
字符型,4位
取值范围:
“0001”~“9999”
(2)数据结构的定义
数据结构的名称:
学生信息
简述:
一个学生的基本信息
数据结构的组成:
姓名、学号、购书日期、采购书籍名称、书籍编码、书籍数量、单价、联系方式
数据结构的名称:
教师信息
简述:
一个教师的基本信息
数据结构的组成:
姓名、编号、购书日期、采购书籍名称、书籍编码、书籍数量、单价、联系方式
数据结构的名称:
书籍信息
简述:
书籍的有关信息
数据结构的组成:
书籍名称、书籍编码、价格、现有数量、出版社、作者
数据结构的名称:
购书单信息
简述:
购书单的有关信息
数据结构的组成:
日期、书籍名称、数量、学生(教师)姓名、购书人员编号
数据结构的名称:
缺书单信息
简述:
缺书单的有关信息
数据结构的组成:
日期、书籍名称、数量、学生(教师)姓名、发行人员编号
数据结构的名称:
采购人员信息
简述:
采购人员的相关信息
数据结构的组成:
书籍名称、数量日期、采购人员编号、联系方式
(3)数据流的定义
数据流名称:
购书单
简述:
指明了购买图书的种类和数量
数据流来源:
教师或学生
数据流去向:
系统处理模块
数据流组成:
日期、书籍名称、数量、学生(教师)姓名、购书人员编号
(4)数据存储的定义
数据存储的名称:
出库表
简述:
出库的图书数量和种类
数据存储组成:
出库日期、书籍名称、数量、学生(教师)姓名
关键字:
图书编号
第三章系统设计
3.1代码设计
每种实体都必须有代码,代码是代表事物名称属性状态等的符号。
一般用数字字母或它们的组合来表示。
代码可以唯一标识实体,节省存储单元,提高数据处理效率。
代码要具有唯一性,标准化和通用性,代码设计要尽量采用国家或有关部委颁发的编码标准。
代码还应具有可扩充性,当增加新实体时,可直接在源代码系统中扩充,而不用重新组织。
系统为每种类型的书籍设计了不同的代码,方便了用户的操作,用户可根据不同的需要,选择相应的书籍代码,可以方便的进行数据的输入和输出。
在系统运行过程中,对数据库的修改都可以通过代码进行操作,系统可根据代码编号,自动的将书籍的详细信息调用出来,而且代码会自动显示在输入输出窗口中。
3.2输入/输出设计
输入设计包括数据规范和数据准备的过程,在输入设计中,提高效率和减少错误是两个最根本的原则。
输入设计有四个指导目标,
(1)控制输入量,
(2)减少输入延迟,(3)减少输入错误,(4)输入过程应尽量简化。
输出是系统产生的结果或提供的信息。
对于大多数用户来说,输出是系统开发的目的和评价系统开发成功与否的标准。
因此,系统设计过程与运行过程正好相反,不是从输入设计到输出设计,而是从输出设计到输入设计。
在系统的输入/输出设计上遵循的是既满足用户需求又方便用户使用的原则。
输入输出界面的确定应最大限度的满足用户的需要。
输出界面的设计不仅要考虑数据输入窗口的屏幕格式,而且考虑如何使输入数据的错误率尽可能最小。
为此,对输入数据的类型,上下限进行设置。
例如,在输入和选择某种书籍时,只需输入书籍的代码即可,系统可根据书籍代码,自动的调用书籍的信息。
当用户输入的书籍代码不对时,自动弹出错误提示。
用户不必要及住每一本书籍的代码,系统有一个代码表窗口,用户可在窗口中查询到自己需要的书籍,方便用户的查找。
3.3系统结构设计
系统总的分为销售子系统和采购子系统,具体实现功能如图3.1所示。
图3.1系统功能模块图
3.4数据库设计
在数据库系统中,对现实世界中数据的抽象、描述以及处理等是通过数据模型来实现的。
数据模型是数据库设计中用于提供信息表示和操作手段的形式构架,是数据库系统实现的基础。
根据模型应用的不同目的,可以将模型分为两个层次。
一是概念模型,即按用户的观点对数据和信息建模。
二是数据模型,是对客观事物及联系的数据化描述。
数据库设计是在选定的数据库管理系统基础上建立数据库的过程。
数据库设计除用户要求分析外,还包括概念结构设计、逻辑结构设计和物理结构设计等三个阶段。
3.4.1概念结构设计
概念结构设计应在系统分析阶段进行。
任务是根据用户需求设计数据库的概念数据模型。
概念模型是从用户角度看到的数据库,它可以用ER图表示出来,如下图所示。
图3.2学生实体
图3.3教师实体
图3.4教材实体
图3.5购书单实体
图3.6领书单实体
图3.7缺书单实体
图3.8进书通知单实体
图3.9采购人员实体
图3.10发行人员实体
图3.11系统总E—R图
3.4.2逻辑结构设计
逻辑结构设计是将概念设计阶段完成的概念模型转换成能被选定的数据库管理系统支持的数据模型。
数据模型可以由实体联系模型转换而来。
ER转换为关系数据模型的规则如下:
(1)每一个实体集对应一个关系模式。
实体名作为关系名,实体属性作为对应关系的属性。
(2)实体间的联系一般对应一个关系,联系名作为对应的关系名,不带属性的联系可以去掉。
(3)实体和联系中关键字对应的属性在关系模式中仍作为关键字。
逻辑结构设计阶段提出的关系数据模型应符合第三范式的要求。
根据系统的ER图,可将实体和联系转换成如下关系数据模型。
·学生(学号,姓名,购书日期,教材名称,购书日期,教材数量,单价,联系方式)
·教师(编号,姓名,购书日期,教材名称,购书日期,教材数量,单价,联系方式)
·教材(书号,书名,作者,价格,类别,出版日期,出版社)
·购书单(购书单编号,姓名,书号,数量,价格,定书日期,购书人员编号)
·领书单(购书单号,姓名,书名,数量,出版社,价格,联系方式)
·缺书单(编号,日期,教材名称,数量,购买者姓名,发行人员)
·进书通知单(编号,日期,教材名称,数量,采购人员,联系方式)
·采购人员(编号,教材名称,数量日期,采购人员,联系方式)
·发行人员(编号,教材名称,数量日期,发行人员,联系方式)
3.4.3物理结构设计
数据库物理结构设计是为逻辑数据模型选取一个最适合应用环境的物理结构。
数据库物理结构设计主要包括存储记录结构设计、存储记录布局、存取方法设计三个方面。
数据库物理结构设计的目的是为了在数据检索中尽量减少I/O操作的次数以提高数据检索的效率,以及在多用户共享系统中,减少多用户对磁盘的访问冲突,均衡I/O负荷,提高I/O的并行性,缩短等待时间,提高查询效率。
物理结构设计的主要内容包括:
(1)库文件的组织形式。
如选用顺序文件组织形式、索引文件组织形式等。
(2)存储介质的分配。
例如将易变的、存取频繁的数据存放在高速存储器上,稳定的、存取频度小的数据存放在低速存储器上。
(3)存取路径的选择等。
进一步对学校教材订购系统的销售过程进行数据流程分析,本系统应当具有如下的数据项和数据结构,开发过程中建立了名为book的数据库,下设book07、book08、adminlist等表。
表adminlist用于存放系统管理员和老师或学生的登录用户名和密码,其中帐号为主码,如图3.12所示。
图3.12adminlist表
表book07用于存放过去两个学期中计算机系所有已定教材的信息,其中书号为主码,如图3.13所示。
图3.13book07
表book08用于存放本学期需要征订的教材,同样,书号为主码,如图3.14所示。
图3.14book08
第四章系统实现
4.1界面设计
本系统主要有登录界面,显示书目信息及功能模块选择界面,添加新记录界面,添加历史记录界面,和修改记录,删除记录页面组成。
登陆页面如图4.1所示。
图4.1登陆页面
其中登录界面的代码如下:
DimpasstrAsString
Passtr=Trim(CStr(TextBox2.Text))
Str=”’”&TextBox1.Text&”’”
DimsqlAsString=”select*formadminlistwhere帐号=”&Trim(str)
‘在数据库中搜索帐号为textbox1.text的数据’
DimconnstrAsString=”server=localhost:
uid=sa;pwd=;database=book”
DimmyconnAsNewSqlClient.SqlConnection(connstr)
DimdaAsNewSqlClient.SqlDataAdapter(sql,myconn)
DimdsAsNewDataSet
Da.Fill(ds,”adminlist”)
DimdacommASsqlclient.SqlCommandBuilder=NewSqlClient.SqlCommandBuilder(da)
Ifds.Tables(“adminlist”).Rows.Count=1Then
‘判断帐号密码是否和数据库匹配’
Ifpassstr=Trim(ds.Table(“adminlist”).Rows(0)(“密码”))Then
Response.Redirect(“book.aspx”)
Else
Response.Write(密码错误!
)
EndIf
Else
Response.Write(“用户名不存在!
”)
EndIf
EndSub
EndClass
通过连接数据库,显示出数据如图4.2所示。
图4.2书目页面
具体代码如下:
PrivateSubPage_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)
HandlesMyBase.Load
Binddata()
Endsub
Subbinddata()
DimmtconnectionAsNewSqlConnection(“initialcatalog=book;uid=sa;pwd=”)
ConststrsqlAsString=“select*frombook08orderby书号”
DimmycommandAsNewSqlCommand(strsql,myconnection)
DimmydaAsNewSqlDataAdapter
Myda.SelectCommand=mycommand
DimmydsAsNewDataset
Myda.Fill(myds)
DataGridl.DataSource=myds
DataGridl.DataBind()
EndSub
4.2添加书目
在登录系统并选择插入历史书本后,进入添加历史书目的页面,决定在哪条进行添加,再单击左侧选择后,自动跳转,根据所选书目,进行相应的修改后添加到记录中去,如图4.3所示。
图4.3插入历史书目图
代码如下:
页面登录事件代码:
PrivateSubPage_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)
HandlesMybase.Load
LfNotPage.IsPostBackThen
Binddata()
EndIf
EndSub
连接数据库:
Subbinddata()
DimmyconnectionAsNewSqlConnection(“initialcatalog=book;uid=sa;pwd=”)
ConststrsqlAsString=”select*frombook07orderby书号“
DimmycommandAsNewSqlCimmand(strsql,myconnection)
DimmydaAsNewSqlDataAdapter
Myda.SelectCommand=mycommand
DimmydsAsNewDataSet
Myda.Fill(myds)
DataGridl.DataSource=myds
DataGridl.DataBind()
EndSub
确定所选择的数据,并把该行的内容存储下来。
PrivateSubDataGridl_ItemCommand(ByvalsourceAsObject.ByValeAs
System.Web.UI.WebControls.DataGridCommandEventArgs)Handles
DataGridl.ItemCommand
Dimb_noAsTableCell=e.Item.Cells
(1)
Dimb_nameAsTableCell=e.Item.Cells
(2)
Dimb_aAsTableCell=e.Item.Cells(3)
Dimb_bAsTableCell=e.Item.Cells(4)
Dimb_cAsTableCell=e.Item.Cells(5)
Session(“a”)=b_no.text
Session(“b”)=b_name.text
Session(“c”)=b_a.text
Session(“d”)=b_b.text
Session(“e”)=b