学校教材订购系统定义.docx

上传人:b****5 文档编号:11694511 上传时间:2023-03-30 格式:DOCX 页数:8 大小:23.84KB
下载 相关 举报
学校教材订购系统定义.docx_第1页
第1页 / 共8页
学校教材订购系统定义.docx_第2页
第2页 / 共8页
学校教材订购系统定义.docx_第3页
第3页 / 共8页
学校教材订购系统定义.docx_第4页
第4页 / 共8页
学校教材订购系统定义.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

学校教材订购系统定义.docx

《学校教材订购系统定义.docx》由会员分享,可在线阅读,更多相关《学校教材订购系统定义.docx(8页珍藏版)》请在冰豆网上搜索。

学校教材订购系统定义.docx

学校教材订购系统定义

学校教材订购系统定义

学校教材订购系统定义

学校教材订购系统定义1.基本要求1.1项目目标通过本系统完成为学校教材的购销,包括销售和采购两个部分。

1.2系统简介系统简介本系统可细化为两个子系统:

销售系统和采购系统。

销售系统的工作过程为:

首先由教师或学生提交购书单,经教材发行人员审核是有效购书单后,开发票、登记并返给教师或学生领书单,教师或学生即可去书库领书。

采购系统的主要工作过程为:

若是脱销教材,则登记缺书,发缺书单给书库采购人员;

一旦新书入库后,即发进书通知给教材发行人员。

以上的功能要求在计算机上实现。

1.3技术要求和限制条件

(1)当书库中的各种书籍数量发生变化(包括领书和进书时),都应修改相关的书库记录,如库存表或进/出库表。

(2)在实现上述销售和采购的工作过程时,需考虑有关单据的合法性验证(3)系统的外部项至少包含三个:

教师、学生和教材工作人员。

(4)系统的相关数据存储至少包含6个:

购书表、库存表、缺书登记表、待购教材表、进/出库表。

1.4系统界面学生/教师登陆界面、书刊查询界面、书刊信息界面、领书单界面、新书入库界面、退出界面等。

1.5开发概要系统调研、具体开发、测试、维护2.资源2.1人员本小组成员(华伟,阮运磊,张翔宇,张哲)在老师的辅导下开发完成。

2.2硬件内存:

2GM;

CPU:

IntelCore21.80GHz2.3软件MyEclipse5.5集成开发工具,MySQL5.0.22数据库和windowvisio2003画图工具以及windowsword文档工具。

3.进度安排随课程进度同步完成系统的开发及文档编写工作。

4.预算本项目作为学生课程设计,其所有开销包括软件,设施及开发经费都由学生自理。

学校教材购销系统需求规格说明书1引言1.1编写目的本要求规格说明书对学校教材购销系统进行简单的分析,给出了系统的数据流图。

系统主要用户是学生,教师和教材工作人员,加深与用户间的交流,在功能与系统界面上与用户达成一致的看法,以便于开发出用户满意的系统。

1.2项目背景随着高校办学规模的扩展,管理方式和管理效率的矛盾日渐突出。

在教材购销方面,手工管理方式和文档系统管理方式在管理质量和管理效率上,从根本上不能适应大规模的管理要求。

而随着计算机科学的发展与进步,计算机科学管理方式,不管在管理效率还是在管理质量上都逐步显示出了它的可靠性和优越性。

而且计算机管理在人力、物力等资源方面都比以前的管理模式要有大的节省。

计算机管理正以它自身的优越性成为管理模式中的主流。

教材购销管理系统采用计算机管理模式的必然性也在与此!

本系统以学校为背景,在认真调研和分析了学校订购教材的现状之后,根据学生,教师和教材工作人员的需求和各个功能的关系,作出了积极的设计方案。

在新的管理资源和管理模式上,一定能使工作质量、工作效率等得到提高,推动学校发展的步伐。

本系统名称为:

安徽工程科技学院教材购销系统。

由安徽工程科技学院教材管理层提出,由修宇老师和我们项目小组成员(华伟,阮运磊,张翔宇,张哲)开发,适合学生,老师和教材工作人员使用,可以在学校的计算机中心开设服务器,在校园网上运行。

1.3软件产品的作用范围学校教材购销系统是为高等院校开发的,用于日常的教材管理,包括销售与采购。

提供数字化的管理,提高学校教材管理部门的工作效率。

2.一般性描述2.1本系统可细化为两个子系统:

销售系统和采购系统销售系统的工作过程为:

首先由教师或学生提交购书单,经教材科发行人员审核是有效购书单后,开发票、登记并返给教师或学生领书单,教师或学生即可去书库领书。

采购系统的主要工作过程为:

若是脱销教材,则登记缺书,发缺书单给 书库采购人员;

一旦新书入库后,即发进书通知。

2.2产品功能本系统在向学生售书时主要输入学生学号、班级代号、购书数量、购书书名信息,然后打印领书单返回给学生领取书籍。

本系统在查询数据库时主要输入需要查询的相关信息,包括图书编号、图书书名、出版社信息、图书特色等信息方便操作人员把握图书信息。

本系统还兼顾一点财务信息的管理,在发生单人购书时,系统直接向购书者收取现金,内部形成一个小小的财务管理。

本系统还和学校的财务科发生数据交换,发生集体售书时,学校根据数据的有效性,直接向集体售书,形成的财务信息直接和财务科交换,方便结算。

即:

向学生集体售书时不需要直接收取现金,而待教材科结算时向财务科提交数据,由财务科从学生的预交书费里扣除,保证教材科财务信息的完整。

3数据流图与数据字典3.1系统数据流图(DFD)教材发行人员采购人员教师或学生购书单审核信息进书通知进书通知缺书单领书单大学教材订购系统3.1.1学校教材购销系统DFD系统数据字典:

名字:

定书表别名:

订书单描述:

送给采购员的定书表定义:

购书单=购书单号+{书名+出版社+价格+数量}+日期+订购名姓名+订购者职务+购书总数+总额购书单号=DG+年+月+日+4位整数订购者职务=学生|教师价格=整数+4位小数位置:

输出到打印机名字:

领书表别名:

领书单描述:

送给学生或教师的领书报表定义:

领书单=领书单号+订购者姓名+领书日期+购书单号+领书日期+经办人领书单号=LQ+年+月+日+4位整数位置:

输出到打印机名字:

缺书表别名:

缺书单描述:

送给相关工作人员的表,用来补充书籍定义:

缺书单=缺书单号+{书名+出版社}+总数缺书单号=QS+年+月+日+4位整数位置:

输出到打印机名字:

进书通知描述:

详细的描述了进书的信息定义:

进书通知=编号+{书名+出版社+价格+数量}+采购人姓名+采购日期+采购总数+采购总额编号=JS+年+月+日+4位整数位置:

名字:

审核信息描述:

用于审核信息定义:

审核信息=教材发行人员姓名+审核标志+审核日期审核标志=TURE|FALSE(注:

表示审核是否通过)位置:

3.1.2学校教材购销系统一级数据流图身份验证学生或教师购书单不合法领书单合法库存表教材工作人员采购系统缺书单销售系统进书通知缺书登记表一级数据字典:

1库存表=记录ID+图书信息+数量2缺书表=记录ID+图书信息+缺书日期3进库表=日期+图书信息+数量+采购员+总额4图书信息=书名+出版社+价格+作者+ISBN+版次ISBN=10{数字}10且能被7整除记录ID=JC+15{数字}153.1.3二级数据流图购书单审核信息领书单发票领书信息领书单缺书单缺书单缺书信息采购信息进书通知图书信息采购信息购书表审核登记库存表开票登记领书缺书表出库表缺书登记缺书表图书入库库存表进库表二级数据字典:

名字:

发票别名:

描述:

唯一的表述一次够书或者买书凭证定义:

发票=客户名+日期+{书名+价格+数量}+总额+开票人+发票号位置:

名字:

出库表别名:

描述:

描述出库的一切信息定义:

出库表=日期+图书信息+教材发行人员位置:

输出到打印机名字:

采购信息别名:

描述:

描述采购的信息定义:

采购信息=采购员姓名+日期+图书信息+总数+总额位置:

名字:

有效订书单别名:

描述:

有效的订书单定义:

有效订书单=购书单+教材发行人员姓名位置:

输出到打印机3.2数据存储描述数据存储名称:

缺书登记表组成:

书号+书名+出版社+缺书数量+出版

书籍价格库存量出版社编号书籍名工作人员工号备注性别职位姓名电话教师或学生性别姓名编号总体设计1、系统功能模块结构图根据需求分析,学校教材订购系统功能模块结构图如下:

大学教材订购系统销售子系统采购子系统提交购书单审核购书单开发票登记购书记录发缺书单登记缺书记录发进书通知单修改相应的表返回领书单领书修改库存记录维护相应的数据表维护数据库进一步对学校教材订购系统的销售过程和采购过程进行数据流程分析,本系统应当具有如下的数据项和数据结构:

开发过程中建立了名为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图详细设计1.根据功能模块用程序流程图进行详细设计和各模块详细设计说明书如下:

销售子系统模块程序流程图:

开始提交购书单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.ClickDimstrAsStringDimpassstrAsStringpassstr=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)DimdsAsNewDataSetda.Fill(ds,“adminlist“)DimdacommAsSqlClient.SqlCommandBuilder=NewSqlClient.SqlCommandBuilder(da)Ifds.Tables(“adminlist“).Rows.Count=1Then’判断帐号密码是否和数据库匹配’Ifpassstr=Trim(ds.Tables(“adminlist“).Rows(0)(“密码“))ThenResponse.Redirect(“book.aspx“)ElseResponse.Write(“密码错误!

“)EndIfElseResponse.Write(“用户名不存在!

“)EndIfEndSubEndClass5.2用datagrid显示数据首先建立datagrid,通过连接数据库,将数据显示在datagrid中。

如图5-2所示图5-2书目页面book.aspx具体代码如下:

PrivateSubPage_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Loadbinddata()EndSubSubbinddata()DimmyconnectionAsNewSqlConnection(“initialcatalog=book;uid=sa;pwd=“)ConststrsqlAsString=“select*frombook08orderby书号“DimmycommandAsNewSqlCommand(strsql,myconnection)DimmydaAsNewSqlDataAdaptermyda.SelectCommand=mycommandDimmydsAsNewDataSetmyda.Fill(myds)DataGrid1.DataSource=mydsDataGrid1.DataBind()EndSub5.3添加历史书目

(1)history.aspx在登陆系统并选择插入历史书本后,进入添加历史书目的页面,决定选择哪条记录进行添加。

如图5-3插入历史书目图所示图5-3插入历史书目图在单击左侧的选择后,自动跳转到update1.aspx,根据所选择的书目,进行相应的修改后添加到记录中去。

具体代码如下:

页面登陆事件代码:

PrivateSubPage_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.LoadIfNotPage.IsPostBackThenbinddata()EndIfEndSub连接数据库:

Subbinddata()DimmyconnectionAsNewSqlConnection(“initialcatalog=book;uid=sa;pwd=“)ConststrsqlAsString=“select*frombook07orderby书号”DimmycommandAsNewSqlCommand(strsql,myconnection)DimmydaAsNewSqlDataAdapterMyda.SelectCommand=mycommandDimmydsAsNewDataSetMyda.Fill(myds)DataGrid1.DataSource=mydsDataGrid1.DataBind()EndSub确定所选择的行的数据,并把该行相应的内容分别通过session变量储存下来。

PrivateSubDataGrid1_ItemCommand(ByValsourceAsObject,ByValeAsSystem.Web.UI.WebControls.DataGridCommandEventArgs)HandlesDataGrid1.ItemCommandDimb_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.TextSession(“b”)=b_name.TextSession(“c”)=b_a.TextSession(“d”)=b_b.TextSession(“e”)=b_c.TextResponse.Redirect(“history1.aspx”)EndSubButton_click事件,重定向到book.aspx页面PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.ClickResponse。

Redirect(“book.aspx”)EndSubEndclass

(2)history1.aspx页面:

通过上一个页面的选择后,该页面进行修改并添加的操作。

如图4-4修改添加记录图所示:

图5-4添加记录图该页面中将征定

对textbox1添加RegularExpressionValidator控件,设置ValidationExpression属性为”\d[4]”,ErrorMessage为”书号的格式为0001”。

对textbox1添加RangeValidator控件,设置MinimunValue为”0001”,MaxmumValue为”9999”。

使书号的取值范围为0001——9999。

对textbox4添加RegularExpressionValidator控件,设置ValidationExpression属性为”\d{4}-\d{1,2}”,使

对textbox5添加RangeValidator控件,设置MinimunValue为”1”,MaxmumValue为”99”,使订阅的教材数量在1-99本之间。

该页面程序代码如下:

PageLoad事件代码PrivateSubPage_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.LoadEndSubButtonClick事件代码PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.ClickDimstrAsStringDimlitemAsListItemstr=“'“TextBox1。

Text“'“DimsqlAsString=“select*frombook08where书号=“Trim(str)DimconnstrAsString=“server=localhost;uid=sa;pwd=;database=book“DimmyconnAsNewSqlConnection(connstr)DimdaAsNewSqlDataAdapter(sql,myconn)DimdsAsNewDataSetda。

Fill(ds,“book08“)DimmyrowAsDataRowDimdacommAsSqlClient.SqlCommandBuilder=NewSqlClient.SqlCommandBuilder(da)Ifds.Tables(“book08“).Rows.Count=1ThenResponse.Redirect(“new.aspx“)Response.Write(“书号重复,请重新输入“)EndIfmyrow=ds.Tables(“book08“).NewRowmyrow(“书号“)=Trim(TextBox1.Text)myrow(“书名“)=Trim(TextBox2.Text)myrow(“作者“)=Trim(TextBox3.Text)myrow(“征定

修改部分代码如下:

update.aspx中的PageLoad事件PrivateSubPage_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.LoadIfNotPage.IsPostBackThenbinddata()EndIfEndSub用于加载页面及确认是否第一次访问。

Update.aspx中的binddata事件privateSubbinddata()DimmyconnectionAsNewSqlConnection(“initialcatalog=book;uid=sa;pwd=“)ConststrsqlAsString=“select*frombook08orderby书号“DimmycommandAsNewSqlCommand(strsql,myconnection)DimmydaAsNewSqlDataAdapterMyda.SelectCommand=mycommandDimmydsAsNewDataSetMyda.Fill(myds)DataGrid1.DataSource=mydsDataGrid1.DataBind()EndSub用于连接数据库并定义相关操作。

Update.aspx中设置DataGrid中的ItemCommandPrivateSubDataGrid1_ItemCommand(ByValsourceAsObject,ByValeAsSystem.Web.UI.WebControls.DataGridCommandEventArgs)HandlesDataGrid1.ItemCommandDimb_noAsTableCell=e.Item.Cells

(1)Dimb_nameAsTableCell=e.tem.Cells

(2)Dimb_aAsTableCell=e.Item.Cells(3)Dimb_bAsTableCell=e.tem.Cells(4)Dimb_cAsTableCell=e.tem.Cells(5)Session(“a“)=b_no.textSession(“b“)=b_name.textSession(“c“)=b_a.textSession(“d“)=b_b.textSession(“e“)=b_c.textResponse.Redirect(“update1.aspx“)EndSub用于将Se

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 视频讲堂

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1