《学校教材订购系统课程设计.docx》由会员分享,可在线阅读,更多相关《学校教材订购系统课程设计.docx(15页珍藏版)》请在课桌文档上搜索。
1、软件工程课程设计题目学校教材订购系统学院嘉兴学院专业信息管理和信息系统班级信息N052学号Ol0715学生姓名颜幼幼徐晶俞丽指导教师张云编写日期2023年2月21日一、开发方案:1、系统表达在21世纪的今天,随着计算机技术和计算机网络的开展,人们逐渐开始步入信息时代。通过Internet网络人们可以浏览各类信息,发送电子邮件,传送文件,参与BBS,网上娱乐,远程教育,远程医疗。人们日常工作,生活中的许多事情都已经可以在网上轻松简单的完成。互联网因为它简单的操作和强大的信息量,逐渐成为了人们工作中的好帮手和生活中不可缺少的重要组成局部。近年来,互联网也开始涉及学校的教材订购,教材订购系统近几年在
2、各高校逐渐得到广泛的应用。但有些教材征订系统,仍然存在着在教材管理和征订方面半手工半信息化的状况。所谓半手工半信息化是教材科有详细的教材资料,并把他们存放在电子文档中。每次需要信息时,在电脑中找到对应文档提取所需信息,把所需的信息打印或手抄出来。即教材信息没有形成一个大型的整体的数据库,而且还没有对这些数据进行操作的网络应用程序。目前国内大局部的学校都是这种情况。针对这一情况,我们研究和开发了“学校教材订购系统”作为深入研究解决这一问题方法的初步尝试。2、问题的提出及开展背景随着教学数量的提高,对软件质量的要求也越来越高,因此,教师、学生对教材的订购了越来越重视,希望获取教材的过程简单,方便,
3、快速,因而,做一个好的订购系统是十分重要的。订购是指教师或学生向工作人员提供要采购的教材,经工作人员审查后,发给教师或学生发票,然后去书库去领取教材,但工作人员发现书库中缺货时,要及时的向采购部报告,采购部要及时的进货,然后,工作人员来修改记录。3、目标系统表达本系统主要解决通过ASP.NET程序制作WEB应用程序,通过该应用程序实现对数据库的整合以及对数据库的操作。数据库的整合就是把现在的零散的数据库经过分类,综合整理成一个大型的数据库。所需数据都可以从里面调用,数据库操作主要指添加,删除,查询等数据库根本操作。系统的设计首先看眼的是网络,学生或教师可以通过本系统向教材订购人员提交所需教材的
4、详细信息,教材订购系统可以统计教材信息。因此本系统方便了学校教材订购部门的工作,提高了工作效率。主要功能包括:1、收集数据。将学生教师的订书单和缺书通知单单收集起来。2、打印报表。产生待购教材表、进库表和出库表等各种统计报表3、可行性分析及开发方案在技术上的可行性分析,本系统可细化为两个子系统:销售系统和采购系统销售系统的工作过程为:首先由教师或学生提交购书单,经教材发行人员审核是有效购书单后,开发票、登记并返给教师或学生领书单,教师或学生即可去书库领书。采购系统的主要工作过程为:假设是脱销教材,那么登记缺书,发缺书单给书库采购人员;一旦新书入库后,即发进书通知给教材发行人员。当书库中的各种书
5、籍数量发生变化(包括领书和进书时),都应修改相关的书库记录,如库存表或进/出库表。在对现行系统的情况调查的根底上,得出系统的逻辑模型。二、需求分析1、需求定义说明书此教材采购系统分为两个模块:采购系统和销售系统。具体见以下图层次数据流图。销售系统模块:提交购书单、审核购书单、开发票、登记购书纪录、返回领书单、修改和维护数据库中相应的表。采购系统模块:发缺书台州单、登记缺书纪录、拟订待购书信息、发进书通知单、修改和维护数据库中相应的表。教材管理信息系统的效劳对象为全校师生员工,系统的使用对象为教务处教材管理人员及书库管理员。系统主要完成以下具体功能:(1)预定新书购书者购置书库暂时没有的书,可以
6、进行预订,由教务处工作人员进行采购。(2)购书购书者到财务室办理缴费手续,然后凭此手续去书库取书。(3)书出库书从书库领出,管理员修改书库记录。(4)书入库采购人员把采购的书送入书库,管理员修改书库记录。(5)书库维护对现有的书分类、统计、增添新书目或删除不存在的旧书目录等,一般由书库管理人员来完成。2、数据流图将数据流图模块中的内容进一步细化,便于理解与设计。学生信息包括:姓名、学号、购书日期、采购书籍名称、书籍编码、书籍数量、单价、联系方式。老师信息包括:姓名、编号、购书日期、采购书籍名称、书籍编码、书籍数量、单价、联系方式。书籍信息包括:书籍名称、书籍编码、价格、现有数量、出版社、作者。
7、购书单信息包括:日期、书籍名称、数量、学生(老师)姓名、购书人员编号。缺书单信息包括:日期、书籍名称、数量、学生(老师)姓名、发行人员编号。发行人员信息包括:书籍名称、数量、日期、发行人员编号、联系方式。采购人员信息包括:书籍名称、数量、日期、采购人员编号、联系方式。发票、登记将细化的数据流图用图形表示出来:如以下图 领书单取书购系统数据流程图在数据流图分解时,每个变动都可能引出新的问题。这些问题的答复可以到处数据字典的新条目,发现后及时更正。随着分析过程的深入,通过不断地提问和问答,把软件系统定义得越来越准确详细。最终就能对系统的功能要求有一个较全面的认识。应当高度重视:通过各层数据流图和数
8、据字典把对系统的完整认识描述出来,并作为正式文档保存。三、概要设计(系统设计):1、系统功能模块结构图根据需求分析,学校教材订购系统功能模块结构图如下:销售子系统职位进一步对苧校致取ElIl系统数据结构:开发过程中建立示:性别教师或学生姓名姓名缶析,木系统应当具有如下的数据项和名为booE的数帼库;下设bobk07 book08 adminlist等表如图37所表性别编号户名和密码,其中帐号为主码,如图3-2adminlist图所示。图3-2adminlist图表book07用于存放过去两个学期中计算机系所有已定教材的信息,其中书号为主码,如图3-3表book07图所示。图3-3表book07
9、图表book08用于存放本学期需要征订的教材,同样,书号为主码,如图3-4表book08图所示。图3-4表book08图四、详细设计根据功能模块用程序流程图进行详细设计和各模块详细设计说明书如下:销售子系统模块程序流程图:开始提交购书单审核购书单Y 开发票错误显示登记购书记录N发通知单修改相应表N审核修改结束-JT审核登记 Y采购子系统模块程序流程开始发缺书单审核缺书单审核登记错误显示本系统主要有登陆界面Ioad.aspx,显示书目信息及功能模块选择页面book.aspx,添加新记录页面new.aspx,添加历史记录页面history.aspx和historyl.aspx,修改记录update
10、,aspx和update1.aspx以及删除记录delete.aspx八个页面组成.其中登陆与用datagrid两大模块的代码编写与设计.具体设计如下:5.1登陆界面当单击确定按钮时,连接数据库,确定输入的帐号和密码是否匹配,跳转到书目的页面,假设不匹配,那么弹出帐号错误或密码错误的提示。如图5T所示图5-1具体代码如下:PrivateSubbuttonl_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handlesbuttonl.ClickDimstrAsStringDimpassstrAsStringpassstr=Tr
11、im(CStr(TextBox2.Text)str=&TextBoxl.Text&DimsqlAsString=select*fromadminlistwhere帐号=&Trim(str)在数据库中搜索帐号为textboxl.text的数据DimconnstrAsString=z,server=localhost;uid=sa;pwd=;database=bookz,DimmyconnAsNewSqlClient.SqlConnection(connstr)DimdaAsNewSqlClient.SqlDataAdapter(sql,myconn)DimdsAsNewDataSetda.Fi1
12、1(ds,adminlist)DimdacommAsSqlClient.SqlCommandBuilder=NewSq1C1ient.SqCommandBui1der(da)Ifds.Tables(,adminlist,z).Rows.Count=1Then判断帐号密码是否和数据库匹配Ifpassstr=Trim(ds.TablesCadminlist).Rows(O)(密码)ThenResponse.Redirect(book,aspx)ElseResponse.Write(密码错误!”)EndIfElseResponse.Write(用户名不存在!”)EndIfEndSubEndClass
13、5. 2用datagrid显示数据首先建立datagrid,通过连接数据库,将数据显示在datagrid中。如图5-2所示图5-2书目页面book,aspx具体代码如下:PrivateSubPage_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Loadbinddata()EndSubSubbinddata()DimmyconnectionAsNewSqlConnection(,initialCataIog=book;Uid=Sa;PWd=)ConststrsqlAsString=select*fr
14、ombook08orderby书号”DimmycommandAsNewSqlCommand(strsql,myconnection)DimmydaAsNewSqlDataAdaptermyda.SelectCommand=mycommandDimmydsAsNewDataSetmyda.Fill(myds)DataGridl.DataSource=mydsDataGridl.DataBindOEndSub5.3 添加历史书目(DhiStory.aspx在登陆系统并选择插入历史书本后,进入添加历史书目的页面,决定选择哪条记录进行添加。如图5-3插入历史书目图所示9 script)kisofy -
15、 lierosf Inr*t Explorer-文付d) rfe又作 O) M 9EQ) WKQ) X “物5w图心/找累嗡Ne.g吩就tiE i 1.0、,)Mt AfU*tyurHktey。到;书号书名作者征定时何r7101高等我学王芳2007-1睡7102法律张一2007-1睡7103VFP方文2007T选择7104CiIM李明2007TiiS7105管理学陈的2007-17201岐计学周天20OT8&7202财务管道张池20OT-3An口武十 盟17203会计钟欣20OT8j*fiT204JAVA整#20OT-8自 GfragI i81tKffBO*卬军施IMr=1ThenRespon
16、se.Write(此书已存在“)EndIfmyrow=ds.Tables(book08z,).NewRowmyrow(书号)=Trim(Labe16.Text)myrow(书名)=Trim(Label7.Text)myrow(作者)=Trim(Labe18.Text)myrow(征定时间)=Trim(TextBoxl.Text)myrow(数量)=Trim(TextBox2.Text)ds.Tables(book08).Rows.Add(myrow)da.UpdateCommand=dacomm.GetUpdateCommandda.Update(ds,“book08)Response.Red
17、irect(book,aspx)EndSub单击返回按钮后,重定向到histoN.aspx的代码:PrivateSubButton2_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton2.ClickResponse.Redirect(history,aspxw)EndSubEndClass5.4 删除记录在登陆系统后点击修改按钮进入修改页面delete,aspx,通过复选框的选择,删除数据。如以下图5-5删除页面所示:图5-5删除页面该页面通过复选框的操作删除数据后,重定向回该页面,以便显示删除后数据的
18、更新。具体代码如下:页面登陆代码:PrivateSubPage_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.LoadIfNotPage.IsPostBackThen用来确认页面是否第一次登陆binddata()EndIfEndSubSubbinddata()连接到数据库DimmyconnectionAsNewSqlConnection(initialcatalog=book;uid=sa;pwd=)ConststrsqlAsString=select*frombook08orderby书号”Dim
19、mycommandAsNewSqlCommand(strsql,myconnection)DimmydaAsNewSqlDataAdapterMyda.SelectCommand=mycommandDimmydsAsNewDataSetMyda.Fill(myds)DataGridl.DataSource=mydsDataGridl.DataBind(),myda.Update(myds,rtbook08w)EndSubBUttOn_click事件:PrivateSubButton1_C1ick(ByValsenderAsSystem.Object,ByValeAsSystem.EventAr
20、gs)HandlesButtonl.ClickDimiAsIntegerDimxAsStringDimitemAsDataGridItemFori=OToDataGridl.Items.Count-1item=DataGridl.Items(i)DimbookcheckboxAsCheckBox=item.FindControl(ucheckbox?)Ifbookcheckbox.CheckedThen确认数据是否被点击进行删除X=item.Cells(1).Textx为datagrid第二列的数据的内容deletedataset(x)EndIfNextbinddata()Response.W
21、rite(删除成功!”)EndSubSubdeletedataset(ByValyAsString)DimconAsNewSqlConnection(initialcatalog=book;uid=sa;pwd=)DimcmdAsSqlCommandDimqryAsStringCon.Open()qry=udeletebook08where书号=&y&cmd=NewSqlClient.SqlCommand(qry,con)cmd.ExecuteNonQuery()con.Close()EndSubBUttOn_click的重定向事件PrivateSubButton2_Click(ByValse
22、nderAsSystemoObject,ByValeAsSystem.EventArgs)HandlesButton2.ClickResponse.Redirect(book,aspx)EndsubEndclass添加新教材和修改记录两大模块共三个页面的代码编写与设计。具体设计如图5-6所示:图5-6添记录页面new.Aspx(1)添加新教材。在登陆系统并选择录入新书后,进入添加新教材页面。如3-6图所示:对textboxl到textbox5添加RequiredFi1edValidator控件,并设置相应属性使textbox中的文本不能为空。对textboxl添加RegularExpressi
23、onValidator控件,设置ValidationExpression属性为d4”,ElTorMeSSage为书号的格式为OOO1。对textboxl添加RangeVaIidatOr控件,设置MininnInVaIUe为OOOI,MaxmumValue为9999。使书号的取值范围为OOOl9999o对textbox4添加RegularExpressionValidator控件,设置ValidationExpression属性为d4-dl,2,使时间格式为2023-1。对textbox5添加RangeValidator控件,设置MininlUnValUe为1,MaXmUnIVaIUe为99,使
24、订阅的教材数量在1-99本之间。该页面程序代码如下:PageLoad事件代码PrivateSubPage_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.LoadEndSubButtonClick事件代码PrivateSubButtonl_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButtonl.ClickDimstrAsStringDimlitemAsListItemstr=&TextBoxl0Text&Dims
25、qlAsString=select*frombook08where书号=&Trim(str)DimconnstrAsString=7zserver=localhost;uid=sa;pwd=;database=bookz,DimmyconnAsNewSqlConnection(connstr)DimdaAsNewSqlDataAdapter(sql,myconn)DimdsAsNewDataSetda=1ThenResponse.Redirect(z,new.aspx,)Response.Write(书号重复,请重新输入”)EndIfmyrow=ds.Tables(book08).NewRow
26、myrow(书号)=Trim(TextBoxl.Text)InyrOW(书名)=Trim(TextBox2.Text)myrow(作者)=Trim(TextBox3.Text)InyrOW(征定时间)=Trim(TextBox4.Text)myrow(数量)=Trim(TextBox5.Text)ds.Tables(book08).Rows.Add(myrow)da.UpdateCommand=dacomm.GetUpdateCommandda.Update(ds,“book08)Response.Redirect(book,asp,z)EndSub(2)修改记录。在登陆系统后点击修改按钮进入
27、修改页面update.aspx,如图5-7所示:图5-7修改页面update.Aspx在该页面设计中添加SqlDataAdapter控件和DataSet控件,用于执行ADO,NET数据库访问的相关操作。该页中的数据通过DataGrid控件显示,设置相应属性,将其绑定到表book08,使其显示book08中的数据。在DataGrid控件中添加一个按钮列,列名为选择。当用户点击该列的按钮时自动获取该行的相关值,将其赋值给SeSSiOn变量并跳转到UPdate1。aspx。update1aspx如图:5-8所示图5-8修改选择后的记录UPdateI.aspx页面中textbox的文本来自与updat
28、e,aspx中定义并赋值的Session变量。用户通过修改其中的文本值并单击确定完成修改。修改局部代码如下:update,aspx中的PageLoad事件PrivateSubPage_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.LoadIfNotPage.IsPostBackThenbinddata()EndIfEndSub用于加载页面及确认是否第一次访问。Update,aspx中的binddata事件privateSubbinddata()DimmyconnectionAsNewSqlConne
29、ction(z,initialCataIOg二book;Uid=Sa;PWd=)ConststrsqlAsString=select*frombook08orderby书号”DimmycommandAsNewSq1Command(strsql,myconnection)DimmydasNewSqlDataAdapterMyda.SelectConimand=mycommandDimmydsAsNewDataSetMyda.Fill(myds)DataGridLDataSource=mydsDataGridl.DataBindOEndSub用于连接数据库并定义相关操作。Update,aspx中设
30、置DataGrid中的ItemCommandPrivateSubDataGrid1_ItemCommand(ByValsourceAsObject,ByValeAsSystem.Web.ULWebControls.DataGridCommandEventArgs)HandlesDataGridl.ItemCommandDimb_noAsTableCell=e.Item.Cells(1)Dimb_nameAsTableCell=e.tern.CelIs(2)Dimb_aAsTableCell=e.Item.CelIs(3)Dimb_bAsTableCell=e.tern.CelIs(4)Dimb
31、_cAsTableCell=e.tern.CelIs(5)SeSSiOn(a)=b_no.textSessionC/b,z)=b_name.textSeSSiOn(c)=b_a.textSeSSiOn(d)=b_b.textSeSSiOn(e)=b_c.textResponse.Redirect(updatel.aspx)EndSub用于将Session变量的值传给textboxupdate.aspx中的ButtonlClick事件privateSubButtonl_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handle
32、sButtonl.ClickResponse.Redirect(zzbook.aspx)EndSub六、系统维护1、数据库的维护保密性是指用户在网上的所有信息应有一定的保密度,设置不同的权限、不同的初始化菜单,不同类型的用户之间的内容是互相保密的。平安性是指用户参加一次活动是一个平安的过程,对于所有用户的动作,效劳器都须加以跟踪。为了确保其平安与保密性,主要通过以下两种途径予以实现:其一,凡进入系统的用户,都要通过用户身份验证才能进入。由于缺陷性,不同用户具有一样的操作权限。不允许用户执行非法的操作,防止用户无意或有意的破坏。本系统数据库主要采用SQLSerVer数据库管理工具进行设计,它具有
33、强大的管理、平安、登陆、网络支持功能,且可以和其它数据库进行转换,是一种网络数据库管理软件,符合设计要求。七、评价与体会通过本次课程设计,使我对数据库的连接,添加,修改,删除操作及各控件的使用了解的更加深刻,更加强了自主编程的能力。我们设计了一个页面看似简单,但功能比拟全面的系统。在课程设计过程中,我们组的各成员按照规定的程序进行,针对课程设计的内容收集,调查有关资料,然后进行明确的分工,然后将各组员所编写的程序汇总后,进行修改,最终完成了本次课程设计。尽管完成了此次课程设计,但该设计仍存在许多缺乏:数据结构模糊,数据与数据之间没有明确的联系。课程设计的页面做的比拟单一,死板。此次课程设计使我在WEB设计上得到了很大的提高。同时,我也深刻的了解到,知识只有在实践中反复使用,操作,才能把这门课程掌握的更深入更透彻。