学校教材订购系统报告.docx
- 文档编号:23109686
- 上传时间:2023-04-30
- 格式:DOCX
- 页数:27
- 大小:310.27KB
学校教材订购系统报告.docx
《学校教材订购系统报告.docx》由会员分享,可在线阅读,更多相关《学校教材订购系统报告.docx(27页珍藏版)》请在冰豆网上搜索。
学校教材订购系统报告
软件工程课程设计
题目 学校教材订购系统
学院 嘉兴学院
专业 信息管理和信息系统
班级 信息N052
学号 01 07 15
学生姓名 颜幼幼 徐晶 俞丽
指导教师 张 云
编写日期 2009年2月21日
一、开发计划:
1、系统叙述
在21世纪的今天,随着计算机技术和计算机网络的发展,人们逐渐开始步入信息时代。
通过Internet网络人们可以浏览各类信息,发送电子邮件,传送文件,参与BBS,网上娱乐,远程教育,远程医疗。
人们日常工作,生活中的许多事情都已经可以在网上轻松简单的完成。
互联网因为它简单的操作和强大的信息量,逐渐成为了人们工作中的好帮手和生活中不可缺少的重要组成部分。
近年来,互联网也开始涉及学校的教材订购,教材订购系统近几年在各高校逐渐得到广泛的应用。
但有些教材征订系统,仍然存在着在教材管理和征订方面半手工半信息化的状况。
所谓半手工半信息化是教材科有详细的教材资料,并把他们存放在电子文档中。
每次需要信息时,在电脑中找到对应文档提取所需信息,把所需的信息打印或手抄出来。
即教材信息没有形成一个大型的整体的数据库,而且还没有对这些数据进行操作的网络应用程序。
目前国内大部分的学校都是这种情况。
针对这一情况,我们研究和开发了“学校教材订购系统”作为深入研究解决这一问题办法的初步尝试。
2、问题的提出及发展背景
随着教学数量的提高,对软件质量的要求也越来越高,因此,教师、学生对教材的订购了越来越重视,希望获取教材的过程简单,方便,快速,因而,做一个好的订购系统是十分重要的。
订购是指教师或学生向工作人员提供要采购的教材,经工作人员审查后,发给教师或学生发票,然后去书库去领取教材,但工作人员发现书库中缺货时,要及时的向采购部报告,采购部要及时的进货,然后,工作人员来修改记录。
3、目标系统叙述
本系统主要解决通过ASP.NET程序制作WEB应用程序,通过该应用程序实现对数据库的整合以及对数据库的操作。
数据库的整合就是把现在的零散的数据库经过分类,综合整理成一个大型的数据库。
所需数据都可以从里面调用,数据库操作主要指添加,删除,查询等数据库基本操作。
系统的设计首先着眼的是网络,学生或教师可以通过本系统向教材订购人员提交所需教材的详细信息,教材订购系统可以统计教材信息。
因此本系统方便了学校教材订购部门的工作,提高了工作效率。
主要功能包括:
1、收集数据。
将学生教师的订书单和缺书通知单单收集起来。
2、打印报表。
产生待购教材表、进库表和出库表等各种统计报表
3、可行性分析及开发计划
在技术上的可行性分析,本系统可细化为两个子系统:
销售系统和采购系统
销售系统的工作过程为:
首先由教师或学生提交购书单,经教材发行人员审核是有效购书单后,开发票、登记并返给教师或学生领书单,教师或学生即可去书库领书。
采购系统的主要工作过程为:
若是脱销教材,则登记缺书,发缺书单给书库采购人员;一旦新书入库后,即发进书通知给教材发行人员。
当书库中的各种书籍数量发生变化(包括领书和进书时),都应修改相关的书库记录,如库存表或进/出库表。
在对现行系统的情况调查的基础上,得出系统的逻辑模型。
二、需求分析
1、需求定义说明书
此教材采购系统分为两个模块:
采购系统和销售系统。
具体见下图层次数据流图。
销售系统模块:
提交购书单、审核购书单、开发票、登记购书纪录、返回领书单、修改和维护数据库中相应的表。
采购系统模块:
发缺书台州单、登记缺书纪录、拟订待购书信息、发进书通知单、修改和维护数据库中相应的表。
教材管理信息系统的服务对象为全校师生员工,系统的使用对象为教务处教材管理人员及书库管理员。
系统主要完成以下具体功能:
(1)预定新书购书者购买书库暂时没有的书,可以进行预订,由教务处工作人员进行采购。
(2)购书购书者到财务室办理缴费手续,然后凭此手续去书库取书。
(3)书出库书从书库领出,管理员修改书库记录。
(4)书入库采购人员把采购的书送入书库,管理员修改书库记录。
(5)书库维护对现有的书分类、统计、增添新书目或删除不存在的旧书目录等,一般由书 库管理人员来完成。
2、数据流图
将数据流图模块中的内容进一步细化,便于理解与设计。
学生信息包括:
姓名、学号、购书日期、采购书籍名称、书籍编码、书籍数量、单价、联系方式。
老师信息包括:
姓名、编号、购书日期、采购书籍名称、书籍编码、书籍数量、单价、联系方式。
书籍信息包括:
书籍名称、书籍编码、价格、现有数量、出版社、作者。
购书单信息包括:
日期、书籍名称、数量、学生(老师)姓名、购书人员编号。
缺书单信息包括:
日期、书籍名称、数量、学生(老师)姓名、发行人员编号。
发行人员信息包括:
书籍名称、数量、日期、发行人员编号、联系方式。
采购人员信息包括:
书籍名称、数量、日期、采购人员编号、联系方式。
将细化的数据流图用图形表示出来:
如下图
领书单
学校教材订购系统
教材发行人员
学生、教师
订书单 验证订书单
发票、登记
缺书单
领
书库采购人员
书 代购材料表
单 出库表
购书
进书通知单
取书
图2-1教材订购系统数据流程图
在数据流图分解时,每个变动都可能引出新的问题。
这些问题的回答可以到处数据字典的新条目,发现后及时更正。
随着分析过程的深入,通过不断地提问和问答,把软件系统定义得越来越准确详细。
最终就能对系统的功能要求有一个较全面的认识。
应当高度重视:
通过各层数据流图和数据字典把对系统的完整认识描述出来,并作为正式文档保存。
三、概要设计(系统设计):
1、系统功能模块结构图
根据需求分析,学校教材订购系统功能模块结构图如下:
销售子系统
销售子系统
提交购书单
审核购书单
领书修改库存纪录
返回领书单
登记购书纪录
开发票
采购子系统
采购子系统
修改相应的表
登记缺书纪录
发进书通知单
发缺书通知单
2、数据库概要设计(E-R图)
学校教材订购系统中,其主要的实体分别为用户(教师和学生)、教材管理人员,经分析后,得到主要E-R图,如图所示。
书籍名
工作人员
工号
备注
性别
职位
姓名
电话
编号
进一步对学校教材订购系统的销售过程和采购过程进行数据流程分析,本系统应当具有如下的数据项和数据结构:
开发过程中建立了名为book的数据库,下设book07、book08、adminlist等表如图3-1所示:
图3-1 book数据库图
表asminlist用于存放系统管理员和老师或学生的登陆用户名和密码,其中帐号为主码,如图3-2adminlist图所示。
图3-2 adminlist图
表book07用于存放过去两个学期中计算机系所有已定教材的信息,其中书号为主码,如图3-3表book07图所示。
图3-3 表book07图
表book08用于存放本学期需要征订的教材,同样,书号为主码,如图3-4表book08图所示。
图3-4 表book08图
四、详细设计
根据功能模块用程序流程图进行详细设计和各模块详细设计说明书如下:
销售子系统模块程序流程图:
开始
提交购书单
N
审核购书单1
错误显示
Y
开发票
登记购书记录
N
错误显示
审核登记
Y
发领书通知单
修改相应表
N
审核修改
错误显示
Y
结束
采购子系统模块程序流程图:
开始
发缺书单
审核缺书单
错误显示
登记缺书
审核登记
错误显示
修改数据库的表
审核修改
错误显示
发进书通知单
结束
五、界面设计及主要代码
本系统主要有登陆界面load.aspx,显示书目信息及功能模块选择页面book.aspx,添加新记录页面new.aspx,添加历史记录页面history.aspx和history1.aspx,修改记录update.aspx和update1.aspx以及删除记录delete.aspx八个页面组成.其中登陆与用datagrid两大模块的代码编写与设计.具体设计如下:
5.1登陆界面
当单击确定按钮时,连接数据库,确定输入的帐号和密码是否匹配,跳转到书目的页面,若不匹配,则弹出帐号错误或密码错误的提示。
如图5-1所示
图5-1
具体代码如下:
PrivateSubbutton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handlesbutton1.Click
DimstrAsString
DimpassstrAsString
passstr=Trim(CStr(TextBox2.Text))
str="'"&TextBox1.Text&"'"
DimsqlAsString="select*fromadminlistwhere帐号="&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.Tables("adminlist").Rows(0)("密码"))Then
Response.Redirect("book.aspx")
Else
Response.Write("密码错误!
")
EndIf
Else
Response.Write("用户名不存在!
")
EndIf
EndSub
EndClass
5.2用datagrid显示数据
首先建立datagrid,通过连接数据库,将数据显示在datagrid中。
如图5-2所示
图5-2书目页面book.aspx
具体代码如下:
PrivateSubPage_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Load
binddata()
EndSub
Subbinddata()
DimmyconnectionAsNewSqlConnection("initialcatalog=book;uid=sa;pwd=")
ConststrsqlAsString="select*frombook08orderby书号"
DimmycommandAsNewSqlCommand(strsql,myconnection)
DimmydaAsNewSqlDataAdapter
myda.SelectCommand=mycommand
DimmydsAsNewDataSet
myda.Fill(myds)
DataGrid1.DataSource=myds
DataGrid1.DataBind()
EndSub
5.3 添加历史书目
(1)history.aspx在登陆系统并选择插入历史书本后,进入添加历史书目的页面,决定选择哪条记录进行添加。
如图5-3插入历史书目图所示
图5-3 插入历史书目图
在单击左侧的选择后,自动跳转到update1.aspx,根据所选择的书目,进行相应的修改后添加到记录中去。
具体代码如下:
页面登陆事件代码:
PrivateSubPage_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Load
IfNotPage.IsPostBackThen
binddata()
EndIf
EndSub
连接数据库:
Subbinddata()
DimmyconnectionAsNewSqlConnection(“initialcatalog=book;uid=sa;pwd=“)
ConststrsqlAsString=“select*frombook07orderby书号”
DimmycommandAsNewSqlCommand(strsql,myconnection)
DimmydaAsNewSqlDataAdapter
Myda.SelectCommand=mycommand
DimmydsAsNewDataSet
Myda.Fill(myds)
DataGrid1.DataSource=myds
DataGrid1.DataBind()
EndSub
确定所选择的行的数据,并把该行相应的内容分别通过session变量储存下来。
PrivateSubDataGrid1_ItemCommand(ByValsourceAsObject,ByValeAsSystem.Web.UI.WebControls.DataGridCommandEventArgs)HandlesDataGrid1.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_c.Text
Response.Redirect(“history1.aspx”)
EndSub
Button_click事件,重定向到book.aspx页面
PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click
Response。
Redirect(“book.aspx”)
EndSub
Endclass
(2)history1.aspx页面:
通过上一个页面的选择后,该页面进行修改并添加的操作。
如图4-4修改添加记录图所示:
图5-4 添加记录图
该页面中将征定时间和数量的值用textbox表示,是为了方便在插入历史书目的时候修改它的时间和它的数量。
当管理员修改完成后,则可单击确定添加操作,将数据添加到08年的数据库中。
具体代码如下:
页面登陆代码:
PrivateSubPage_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Load
IfNotIsPostBackThen
DimstrAsString
str=“'“&Label6.Text&“'“
DimsqlAsString=“select*frombook07where书号=“&Trim(Session(“a”))
DimconnstrAsString=“server=localhost;uid=sa;pwd=;database=book”
DimmyconnAsNewSqlClient.SqlConnection(connstr)
DimdaAsNewSqlClient.SqlDataAdapter(sql,myconn)
DimdsAsNewDataSet
Da.Fill(ds,“book07”)
DimdacommAsSqlClient.SqlCommandBuilder=NewSqlClient.SqlCommandBuilder(da)
Label6.Text=ds.Tables(“book07”).Rows(0)(“书号”)
Label7.Text=ds.Tables(“book07”).Rows(0)(“书名”)
Label8.Text=ds.Tables(“book07”).Rows(0)(“作者”)
TextBox1.Text=ds.Tables(“book07”).Rows(0)(“征定时间”)
TextBox2.Text=ds.Tables(“book07”).Rows(0)(“数量”)
EndIf
EndSub
修改后添加到数据库的代码:
PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click
DimstrAsString
DimlitemAsListItem
str=“'“&Label6.Text&“'“
DimsqlAsString=“select*frombook08where书号=“&Trim(str)
DimconnstrAsString=“server=localhost;uid=sa;pwd=;database=book”
DimmyconnAsNewSqlConnection(connstr)
DimdaAsNewSqlDataAdapter(sql,myconn)
DimdsAsNewDataSet
da。
Fill(ds,“book08”)
DimmyrowAsDataRow
DimdacommAsSqlClient.SqlCommandBuilder=NewSqlClient.SqlCommandBuilder(da)
Ifds.Tables(“book08”).Rows.Count>=1Then
Response.Write(“此书已存在”)
EndIf
myrow=ds.Tables(“book08”).NewRow
myrow(“书号”)=Trim(Label6.Text)
myrow(“书名”)=Trim(Label7.Text)
myrow(“作者”)=Trim(Label8.Text)
myrow(“征定时间”)=Trim(TextBox1.Text)
myrow(“数量”)=Trim(TextBox2.Text)
ds.Tables(“book08”).Rows.Add(myrow)
da.UpdateCommand=dacomm.GetUpdateCommand
da.Update(ds,“book08”)
Response.Redirect(“book.aspx”)
EndSub
单击返回按钮后,重定向到history.aspx的代码:
PrivateSubButton2_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton2.Click
Response.Redirect(“history.aspx”)
EndSub
EndClass
5.4 删除记录
在登陆系统后点击修改按钮进入修改页面delete.aspx,通过复选框的选择,删除数据。
如下图5-5删除页面所示:
图5-5 删除页面
该页面通过复选框的操作删除数据后,重定向回该页面,以便显示删除后数据的更新。
具体代码如下:
页面登陆代码:
PrivateSubPage_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Load
IfNotPage.IsPostBackThen‘用来确认页面是否第一次登陆’
binddata()
EndIf
EndSub
Subbinddata()‘连接到数据库’
DimmyconnectionAsNewSqlConnection(“initialcatalog=book;uid=sa;pwd=“)
ConststrsqlAsString=“select*frombook08orderby书号”
DimmycommandAsNewSqlCommand(strsql,myconnection)
DimmydaAsNewSqlDataAdapter
Myda.SelectCommand=mycommand
DimmydsAsNewDataSet
Myda.Fill(myds)
DataGrid1.DataSource=myds
DataGrid1.DataBind()
'myda.Update(myds,“book08”)
EndSub
Button_click事件:
PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSyst
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学校 教材 订购 系统 报告