学校教材订购系统课程设计报告Word文件下载.docx
- 文档编号:21189991
- 上传时间:2023-01-28
- 格式:DOCX
- 页数:23
- 大小:483.06KB
学校教材订购系统课程设计报告Word文件下载.docx
《学校教材订购系统课程设计报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《学校教材订购系统课程设计报告Word文件下载.docx(23页珍藏版)》请在冰豆网上搜索。
所需数据都可以从里面调用,数据库操作主要指添加,删除,查询等数据库基本操作。
系统的设计首先着眼的是网络,学生或教师可以通过本系统向教材订购人员提交所需教材的详细信息,教材订购系统可以统计教材信息。
因此本系统方便了学校教材订购部门的工作,提高了工作效率。
主要功能包括:
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-1book数据库图
表asminlist用于存放系统管理员和老师或学生的登陆用户名和密码,其中为主码,如图3-2adminlist图所示。
图3-2adminlist图
表book07用于存放过去两个学期中计算机系所有已定教材的信息,其中书号为主码,如图3-3表book07图所示。
图3-3表book07图
表book08用于存放本学期需要征订的教材,同样,书号为主码,如图3-4表book08图所示。
图3-4表book08图
四、详细设计
根据功能模块用程序流程图进行详细设计和各模块详细设计说明书如下:
销售子系统模块程序流程图:
采购子系统模块程序流程图:
五、界面设计及主要代码
本系统主要有登陆界面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"
)
DimdamAsSqlClient.SqlmandBuilder=NewSqlClient.SqlmandBuilder(da)
Ifds.Tables("
).Rows.Count=1Then
’判断密码是否和数据库匹配’
Ifpassstr=Trim(ds.Tables("
).Rows(0)("
密码"
))Then
Response.Redirect("
book.aspx"
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;
pwd="
ConststrsqlAsString="
select*frombook08orderby书号"
DimmymandAsNewSqlmand(strsql,myconnection)
DimmydaAsNewSqlDataAdapter
myda.Selectmand=mymand
DimmydsAsNewDataSet
myda.Fill(myds)
DataGrid1.DataSource=myds
DataGrid1.DataBind()
5.3添加历史书目
(1)history.aspx在登陆系统并选择插入历史书本后,进入添加历史书目的页面,决定选择哪条记录进行添加。
如图5-3插入历史书目图所示
图5-3插入历史书目图
在单击左侧的选择后,自动跳转到update1.aspx,根据所选择的书目,进行相应的修改后添加到记录中去。
页面登陆事件代码:
PrivateSubPage_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Load
IfNotPage.IsPostBackThen
连接数据库:
Subbinddata()
DimmyconnectionAsNewSqlConnection(“initialcatalog=book;
pwd=“)
ConststrsqlAsString=“select*frombook07orderby书号”
DimmymandAsNewSqlmand(strsql,myconnection)
Myda.Selectmand=mymand
Myda.Fill(myds)
确定所选择的行的数据,并把该行相应的容分别通过session变量储存下来。
PrivateSubDataGrid1_Itemmand(ByValsourceAsObject,ByValeAsSystem.Web.UI.WebControls.DataGridmandEventArgs)HandlesDataGrid1.Itemmand
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”)
Button_click事件,重定向到book.aspx页面
PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click
Response。
Redirect(“book.aspx”)
Endclass
(2)history1.aspx页面:
通过上一个页面的选择后,该页面进行修改并添加的操作。
如图4-4修改添加记录图所示:
图5-4添加记录图
该页面中将征定时间和数量的值用textbox表示,是为了方便在插入历史书目的时候修改它的时间和它的数量。
当管理员修改完成后,则可单击确定添加操作,将数据添加到08年的数据库中。
页面登陆代码:
IfNotIsPostBackThen
str=“'
“&
Label6.Text&
“'
“
DimsqlAsString=“select*frombook07where书号=“&
Trim(Session(“a”))
DimconnstrAsString=“server=localhost;
database=book”
DimdaAsNewSqlClient.SqlDataAdapter(sql,myconn)
Da.Fill(ds,“book07”)
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)(“数量”)
修改后添加到数据库的代码:
DimlitemAsListItem
DimsqlAsString=“select*frombook08where书号=“&
DimmyconnAsNewSqlConnection(connstr)
DimdaAsNewSqlDataAdapter(sql,myconn)
da。
Fill(ds,“book08”)
DimmyrowAsDataRow
Ifds.Tables(“book08”).Rows.Count>
=1Then
Response.Write(“此书已存在”)
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.Updatemand=dam.GetUpdatemand
da.Update(ds,“book08”)
Response.Redirect(“book.aspx”)
单击返回按钮后,重定向到history.aspx的代码:
PrivateSubButton2_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton2.Click
Response.Redirect(“history.aspx”)
5.4删除记录
在登陆系统后点击修改按钮进入修改页面delete.aspx,通过复选框的选择,删除数据。
如下图5-5删除页面所示:
图5-5删除页面
该页面通过复选框的操作删除数据后,重定向回该页面,以便显示删除后数据的更新。
IfNotPage.IsPostBackThen‘用来确认页面是否第一次登陆’
Subbinddata()‘连接到数据库’
ConststrsqlAsString=“select*frombook08orderby书号”
'
myda.Update(myds,“book08”)
Button_click事件:
PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click
DimiAsInteger
DimxAsString
DimitemAsDataGridItem
Fori=0ToDataGrid1.Items.Count–1
item=DataGrid1.Items(i)
DimbookcheckboxAsCheckBox=item.FindControl(“checkbox1”)
Ifbookcheckbox.CheckedThen‘确认数据是否被点击进行删除’
x=item.Cells
(1).Text‘x为datagrid第二列的数据的容’
deletedataset(x)
Next
Response.Write(“删除成功!
”)
Subdeletedataset(ByValyAsString)
DimconAsNewSqlConnection(“initialcatalog=book;
DimcmdAsSqlmand
DimqryAsString
Con.Open()
qry=“deletebook08where书号='
y&
cmd=NewSqlClient.Sqlmand(qry,con)
cmd.ExecuteNonQuery()
con.Close()
Button_click的重定向事件
PrivateSubButton2_Click(ByValsenderAs
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学校 教材 订购 系统 课程设计 报告