下载
加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 学校教材订购系统

学校教材订购系统.doc

学校教材订购系统

卢江大
2019-01-27 0人阅读 举报 0 0 暂无简介

简介:本文档为《学校教材订购系统doc》,可适用于高等教育领域

学校教材订购系统定义基本要求项目目标通过本系统完成为学校教材的购销工作包括销售和采购两个部分。系统简介系统简介本系统可细化为两个子系统:销售系统和采购系统。销售系统的工作过程为:首先由教师或学生提交购书单经教材发行人员审核是有效购书单后开发票、登记并返给教师或学生领书单教师或学生即可去书库领书。采购系统的主要工作过程为:若是脱销教材则登记缺书发缺书单给书库采购人员一旦新书入库后即发进书通知给教材发行人员。以上的功能要求在计算机上实现。技术要求和限制条件()当书库中的各种书籍数量发生变化(包括领书和进书时)都应修改相关的书库记录如库存表或进出库表。()在实现上述销售和采购的工作过程时需考虑有关单据的合法性验证()系统的外部项至少包含三个:教师、学生和教材工作人员。()系统的相关数据存储至少包含个:购书表、库存表、缺书登记表、待购教材表、进出库表。系统界面学生教师登陆界面、书刊查询界面、书刊信息界面、领书单界面、新书入库界面、退出界面等。开发概要系统调研、具体开发、测试、维护  资源人员本小组成员(华伟,阮运磊,张翔宇,张哲)在老师的辅导下开发完成。硬件内存:GMCPU:Intel Core GHz软件MyEclipse集成开发工具MySQL数据库和windowvisio画图工具以及windowsword文档工具。进度安排随课程进度同步完成系统的开发及文档编写工作。预算本项目作为学生课程设计其所有开销包括软件设施及开发经费都由学生自理。学校教材购销系统需求规格说明书引言编写目的本要求规格说明书对学校教材购销系统进行简单的分析给出了系统的数据流图。系统主要用户是学生教师和教材工作人员加深与用户间的交流在功能与系统界面上与用户达成一致的看法以便于开发出用户满意的系统。项目背景随着高校办学规模的扩展管理方式和管理效率的矛盾日渐突出。在教材购销方面手工管理方式和文档系统管理方式在管理质量和管理效率上从根本上不能适应大规模的管理要求。而随着计算机科学的发展与进步计算机科学管理方式不管在管理效率还是在管理质量上都逐步显示出了它的可靠性和优越性。而且计算机管理在人力、物力等资源方面都比以前的管理模式要有大的节省。计算机管理正以它自身的优越性成为管理模式中的主流。教材购销管理系统采用计算机管理模式的必然性也在与此!本系统以学校为背景在认真调研和分析了学校订购教材的现状之后根据学生教师和教材工作人员的需求和各个功能的关系作出了积极的设计方案。在新的管理资源和管理模式上一定能使工作质量、工作效率等得到提高推动学校发展的步伐。本系统名称为:安徽工程科技学院教材购销系统。由安徽工程科技学院教材管理层提出由修宇老师和我们项目小组成员(华伟阮运磊张翔宇张哲)开发适合学生老师和教材工作人员使用可以在学校的计算机中心开设服务器在校园网上运行。软件产品的作用范围学校教材购销系统是为高等院校开发的用于日常的教材管理包括销售与采购。提供数字化的管理提高学校教材管理部门的工作效率。.一般性描述本系统可细化为两个子系统:销售系统和采购系统销售系统的工作过程为:首先由教师或学生提交购书单经教材科发行人员审核是有效购书单后开发票、登记并返给教师或学生领书单教师或学生即可去书库领书。采购系统的主要工作过程为:若是脱销教材则登记缺书发缺书单给 书库采购人员一旦新书入库后即发进书通知。产品功能本系统在向学生售书时主要输入学生学号、班级代号、购书数量、购书书名信息然后打印领书单返回给学生领取书籍。本系统在查询数据库时主要输入需要查询的相关信息包括图书编号、图书书名、出版社信息、图书特色等信息方便操作人员把握图书信息。本系统还兼顾一点财务信息的管理在发生单人购书时系统直接向购书者收取现金内部形成一个小小的财务管理。本系统还和学校的财务科发生数据交换发生集体售书时学校根据数据的有效性直接向集体售书形成的财务信息直接和财务科交换方便结算。即:向学生集体售书时不需要直接收取现金而待教材科结算时向财务科提交数据由财务科从学生的预交书费里扣除保证教材科财务信息的完整。数据流图与数据字典系统数据流图(DFD) 学校教材购销系统DFD系统数据字典:名字:定书表别名:订书单描述:送给采购员的定书表定义:购书单=购书单号{书名出版社价格+数量}日期订购名姓名订购者职务+购书总数总额购书单号=DG年月日位整数订购者职务=学生|教师价格=整数位小数位置:输出到打印机 名字:领书表别名:领书单描述:送给学生或教师的领书报表定义:领书单=领书单号订购者姓名领书日期购书单号领书日期+经办人领书单号=LQ年月日位整数位置:输出到打印机 名字:缺书表别名:缺书单描述:送给相关工作人员的表用来补充书籍定义:缺书单=缺书单号+{书名出版社}+总数缺书单号=QS年月日位整数位置:输出到打印机 名字:进书通知描述:详细的描述了进书的信息定义:进书通知=编号{书名出版社价格+数量}+采购人姓名+采购日期采购总数采购总额编号=JS年月日位整数位置: 名字:审核信息描述:用于审核信息定义:审核信息=教材发行人员姓名审核标志审核日期审核标志=TURE|FALSE(注:表示审核是否通过)位置:  学校教材购销系统一级数据流图购书单          不合法领书单合法          库存表 缺书单进书通知缺书登记表一级数据字典:库存表=记录ID图书信息数量缺书表=记录ID图书信息缺书日期进库表=日期图书信息数量采购员总额图书信息=书名出版社价格+作者ISBN版次ISBN={数字}且能被整除记录ID=JC+{数字}二级数据流图二级数据字典:名字:发票别名:描述:唯一的表述一次够书或者买书凭证定义:发票=客户名日期{书名+价格数量}总额开票人发票号位置: 名字:出库表别名:描述:描述出库的一切信息定义:出库表=日期+图书信息教材发行人员位置:输出到打印机 名字:采购信息别名:描述:描述采购的信息定义:采购信息=采购员姓名日期图书信息总数总额位置: 名字:有效订书单别名:描述:有效的订书单定义:有效订书单=购书单教材发行人员姓名位置:输出到打印机 数据存储描述数据存储名称:缺书登记表组成:书号书名出版社缺书数量出版时间书籍信息组织:备注:数据存储名称:教材库存表组成:书号书名出版社数量出版时间书籍信息是否特殊用途{教学用、零售}组织:备注:数据存储名称:进库表、出库表、库存表、购书表组成:书号书名出版社出版时间单价数量总价书籍信息组织:备注:数据存储名称:售书登记表组成:学号姓名班级所购书号书名单价数量总价组织:备注:学号、班级、姓名可为空数据存储名称:补售书表组成:学号姓名班级所购书号书名数量书籍信息组织:备注:数据存储名称:教学用书表组成:书名书号出版社出版时间数量书籍信息组织:备注:数据流描述<购书单>::=(<教师信息>|<学生信息>)<书名><数量><出版社><作者><购书日期><学生信息>::=<学生学号><学生姓名><学生性别><学生班级><学生学号>::=||…|<序号>::=||…|<数量>::=||…|<购书日期>::=<年><月><日><缺书单>::=<序号><书名><数量><出版社><作者><入库单>::=<入库号><书名><数量><出版社><作者><入库时间><出库单>::=<学生信息><书名><数量><出库时间><购书教材记录>::=<书名><数量><领书单>::=|<学生信息><书名><出版社><作者><数量><库存情况>::=<序号><书名><出版社><作者><数量>学校教材订购系统中其主要的实体分别为用户(教师和学生)、教材管理人员经分析后得到主要ER图如图所示。总体设计、系统功能模块结构图根据需求分析学校教材订购系统功能模块结构图如下:进一步对学校教材订购系统的销售过程和采购过程进行数据流程分析本系统应当具有如下的数据项和数据结构:开发过程中建立了名为book的数据库下设book、book、adminlist等表如图所示:图 book数据库图表asminlist用于存放系统管理员和老师或学生的登陆用户名和密码其中帐号为主码如图adminlist图所示。图 adminlist图表book用于存放过去两个学期中计算机系所有已定教材的信息其中书号为主码如图表book图所示。图 表book图表book用于存放本学期需要征订的教材同样书号为主码如图表book图所示。图 表book图详细设计根据功能模块用程序流程图进行详细设计和各模块详细设计说明书如下:销售子系统模块程序流程图:NYNYNY采购子系统模块程序流程图:接口各模块过程之间采用函数调用、参数传递、返回值的方式进行消息传递。具体参数的结构将在下面数据结构设计的内容中说明。接口传递的信息将是以数据结构封装了的数据以参数传递或返回值的形式在模块之间传递。存储分配为程序当中的数据结构在内存中开辟空间存储如入到数据库中后在数据库的表中为其开辟存储空间。限制条件输入的信息都封装在数据结构当中不能独立存在在向数据库中提交数据时必须一起提交而不能逐项提交。输入数据的类型必须和定义的数据类型相匹配。界面设计及详细代码本系统主要有登陆界面loadaspx,显示书目信息及功能模块选择页面bookaspx,添加新记录页面newaspx,添加历史记录页面historyaspx和historyaspx,修改记录updateaspx和updateaspx以及删除记录deleteaspx八个页面组成其中登陆与用datagrid两大模块的代码编写与设计具体设计如下:登陆界面当单击确定按钮时,连接数据库,确定输入的帐号和密码是否匹配,跳转到书目的页面若不匹配,则弹出帐号错误或密码错误的提示。如图所示图具体代码如下:PrivateSubbuttonClick(ByValsenderAsSystemObject,ByValeAsSystemEventArgs)HandlesbuttonClickDimstrAsStringDimpassstrAsStringpassstr=Trim(CStr(TextBoxText))str="'"TextBoxText"'"DimsqlAsString="select*fromadminlistwhere帐号="Trim(str)‘在数据库中搜索帐号为textboxtext的数据’DimconnstrAsString="server=localhostuid=sapwd=database=book"DimmyconnAsNewSqlClientSqlConnection(connstr)DimdaAsNewSqlClientSqlDataAdapter(sql,myconn)DimdsAsNewDataSetdaFill(ds,"adminlist")DimdacommAsSqlClientSqlCommandBuilder=NewSqlClientSqlCommandBuilder(da)IfdsTables("adminlist")RowsCount=Then’判断帐号密码是否和数据库匹配’Ifpassstr=Trim(dsTables("adminlist")Rows()("密码"))ThenResponseRedirect("bookaspx")ElseResponseWrite("密码错误!")EndIfElseResponseWrite("用户名不存在!")EndIfEndSubEndClass用datagrid显示数据首先建立datagrid,通过连接数据库将数据显示在datagrid中。如图所示图书目页面bookaspx具体代码如下:PrivateSubPageLoad(ByValsenderAsSystemObject,ByValeAsSystemEventArgs)HandlesMyBaseLoadbinddata()EndSubSubbinddata()DimmyconnectionAsNewSqlConnection("initialcatalog=bookuid=sapwd=")ConststrsqlAsString="select*frombookorderby书号"DimmycommandAsNewSqlCommand(strsql,myconnection)DimmydaAsNewSqlDataAdaptermydaSelectCommand=mycommandDimmydsAsNewDataSetmydaFill(myds)DataGridDataSource=mydsDataGridDataBind()EndSub 添加历史书目()historyaspx在登陆系统并选择插入历史书本后进入添加历史书目的页面决定选择哪条记录进行添加。如图插入历史书目图所示图 插入历史书目图在单击左侧的选择后自动跳转到updateaspx根据所选择的书目进行相应的修改后添加到记录中去。具体代码如下:页面登陆事件代码:PrivateSubPageLoad(ByValsenderAsSystemObjectByValeAsSystemEventArgs)HandlesMyBaseLoadIfNotPageIsPostBackThenbinddata()EndIfEndSub连接数据库: Subbinddata()DimmyconnectionAsNewSqlConnection(“initialcatalog=bookuid=sapwd=“)ConststrsqlAsString=“select*frombookorderby书号”DimmycommandAsNewSqlCommand(strsqlmyconnection)DimmydaAsNewSqlDataAdapterMydaSelectCommand=mycommandDimmydsAsNewDataSetMydaFill(myds)DataGridDataSource=mydsDataGridDataBind()EndSub确定所选择的行的数据并把该行相应的内容分别通过session变量储存下来。PrivateSubDataGridItemCommand(ByValsourceAsObjectByValeAsSystemWebUIWebControlsDataGridCommandEventArgs)HandlesDataGridItemCommandDimbnoAsTableCell=eItemCells()DimbnameAsTableCell=eItemCells()DimbaAsTableCell=eItemCells()DimbbAsTableCell=eItemCells()DimbcAsTableCell=eItemCells()Session(“a”)=bnoTextSession(“b”)=bnameTextSession(“c”)=baTextSession(“d”)=bbTextSession(“e”)=bcTextResponseRedirect(“historyaspx”)EndSubButtonclick事件重定向到bookaspx页面 PrivateSubButtonClick(ByValsenderAsSystemObjectByValeAsSystemEventArgs)HandlesButtonClickResponse。Redirect(“bookaspx”)EndSubEndclass()historyaspx页面:通过上一个页面的选择后该页面进行修改并添加的操作。如图修改添加记录图所示:图 添加记录图该页面中将征定时间和数量的值用textbox表示是为了方便在插入历史书目的时候修改它的时间和它的数量。当管理员修改完成后则可单击确定添加操作将数据添加到年的数据库中。具体代码如下:页面登陆代码:PrivateSubPageLoad(ByValsenderAsSystemObjectByValeAsSystemEventArgs)HandlesMyBaseLoadIfNotIsPostBackThenDimstrAsStringstr=“'“LabelText“'“DimsqlAsString=“select*frombookwhere书号=“Trim(Session(“a”))DimconnstrAsString=“server=localhostuid=sapwd=database=book”DimmyconnAsNewSqlClientSqlConnection(connstr)DimdaAsNewSqlClientSqlDataAdapter(sqlmyconn)DimdsAsNewDataSetDaFill(ds,“book”)DimdacommAsSqlClientSqlCommandBuilder=NewSqlClientSqlCommandBuilder(da)LabelText=dsTables(“book”)Rows()(“书号”)LabelText=dsTables(“book”)Rows()(“书名”)LabelText=dsTables(“book”)Rows()(“作者”)TextBoxText=dsTables(“book”)Rows()(“征定时间”)TextBoxText=dsTables(“book”)Rows()(“数量”)EndIfEndSub修改后添加到数据库的代码:PrivateSubButtonClick(ByValsenderAsSystemObjectByValeAsSystemEventArgs)HandlesButtonClickDimstrAsStringDimlitemAsListItemstr=“'“LabelText“'“DimsqlAsString=“select*frombookwhere书号=“Trim(str)DimconnstrAsString=“server=localhostuid=sapwd=database=book”DimmyconnAsNewSqlConnection(connstr)DimdaAsNewSqlDataAdapter(sqlmyconn)DimdsAsNewDataSetda。Fill(ds“book”)DimmyrowAsDataRowDimdacommAsSqlClientSqlCommandBuilder=NewSqlClientSqlCommandBuilder(da)IfdsTables(“book”)RowsCount>=ThenResponseWrite(“此书已存在”)EndIfmyrow=dsTables(“book”)NewRowmyrow(“书号”)=Trim(LabelText)myrow(“书名”)=Trim(LabelText)myrow(“作者”)=Trim(LabelText)myrow(“征定时间”)=Trim(TextBoxText)myrow(“数量”)=Trim(TextBoxText)dsTables(“book”)RowsAdd(myrow)daUpdateCommand=dacommGetUpdateCommanddaUpdate(ds“book”)ResponseRedirect(“bookaspx”)EndSub单击返回按钮后重定向到historyaspx的代码:PrivateSubButtonClick(ByValsenderAsSystemObjectByValeAsSystemEventArgs)HandlesButtonClickResponseRedirect(“historyaspx”)EndSubEndClass 删除记录在登陆系统后点击修改按钮进入修改页面deleteaspx通过复选框的选择删除数据。如下图删除页面所示:图 删除页面                   该页面通过复选框的操作删除数据后重定向回该页面以便显示删除后数据的更新。具体代码如下:页面登陆代码:PrivateSubPageLoad(ByValsenderAsSystemObjectByValeAsSystemEventArgs)HandlesMyBaseLoadIfNotPageIsPostBackThen‘用来确认页面是否第一次登陆’binddata()EndIfEndSubSubbinddata()‘连接到数据库’DimmyconnectionAsNewSqlConnection(“initialcatalog=bookuid=sapwd=“)ConststrsqlAsString=“select*frombookorderby书号”DimmycommandAsNewSqlCommand(strsqlmyconnection)DimmydaAsNewSqlDataAdapterMydaSelectCommand=mycommandDimmydsAsNewDataSetMydaFill(myds)DataGridDataSource=mydsDataGridDataBind()'mydaUpdate(myds“book”)EndSubButtonclick事件:PrivateSubButtonClick(ByValsenderAsSystemObjectByValeAsSystemEventArgs)HandlesButtonClickDimiAsIntegerDimxAsStringDimitemAsDataGridItemFori=ToDataGridItemsCount–item=DataGridItems(i)DimbookcheckboxAsCheckBox=itemFindControl(“checkbox”)IfbookcheckboxCheckedThen‘确认数据是否被点击进行删除’x=itemCells()Text‘x为datagrid第二列的数据的内容’deletedataset(x)EndIfNextbinddata()ResponseWrite(“删除成功!”)  EndSubSubdeletedataset(ByValyAsString)DimconAsNewSqlConnection(“initialcatalog=bookuid=sapwd=“)DimcmdAsSqlCommandDimqryAsStringConOpen()qry=“deletebookwhere书号='“y“'“cmd=NewSqlClientSqlCommand(qrycon)cmdExecuteNonQuery()conClose()EndSubButtonclick的重定向事件 PrivateSubButtonClick(ByValsenderAsSystem。ObjectByValeAsSystemEventArgs)HandlesButtonClickResponseRedirect(“bookaspx”)EndsubEndclass添加新教材和修改记录两大模块共三个页面的代码编写与设计。具体设计如图所示:图 添记录页面newAspx()添加新教材。在登陆系统并选择录入新书后进入添加新教材页面。如图所示:对textbox到textbox添加RequiredFiledValidator控件并设置相应属性使textbox中的文本不能为空。对textbox添加RegularExpressionValidator控件设置ValidationExpression属性为”d”ErrorMessage为”书号的格式为”。对textbox添加RangeValidator控件设置MinimunValue为””MaxmumValue为””。使书号的取值范围为。对textbox添加RegularExpressionValidator控件设置ValidationExpression属性为”d{}d{}”使时间格式为。对textbox添加RangeValidator控件设置MinimunValue为””MaxmumValue为””使订阅的教材数量在本之间。该页面程序代码如下:PageLoad事件代码PrivateSubPageLoad(ByValsenderAsSystemObject,ByValeAsSystemEventArgs)HandlesMyBaseLoadEndSubButtonClick事件代码PrivateSubButtonClick(ByValsenderAsSystemObject,ByValeAsSystemEventArgs)HandlesButtonClickDimstrAsStringDimlitemAsListItemstr="'"TextBox。Text"'"DimsqlAsString="select*frombookwhere书号="Trim(str)DimconnstrAsString="server=localhostuid=sapwd=database=book"DimmyconnAsNewSqlConnection(connstr)DimdaAsNewSqlDataAdapter(sql,myconn)DimdsAsNewDataSetda。Fill(ds,"book")DimmyrowAsDataRowDimdacommAsSqlClientSqlCommandBuilder=NewSqlClientSqlCommandBuilder(da)IfdsTables("book")RowsCount>=ThenResponseRedirect("newaspx")ResponseWrite("书号重复请重新输入")EndIfmyrow=dsTables("book")NewRowmyrow("书号")=Trim(TextBoxText)myrow("书名")=Trim(TextBoxText)myrow("作者")=Trim(TextBoxText)myrow("征定时间")=Trim(TextBoxText)myrow("数量")=Trim(TextBoxText)dsTables("book")RowsAdd(myrow)daUpdateCommand=dacommGetUpdateCommanddaUpdate(ds,"book")ResponseRedirect("bookaspx")EndSub()修改记录。在登陆系统后点击修改按钮进入修改页面updateaspx。如图所示:图 修改页面updateAspx在该页面设计中添加SqlDataAdapter控件和DataSet控件用于执行ADO。NET数据库访问的相关操作。该页中的数据通过DataGrid控件显示设置相应属性将其绑定到表book使其显示book中的数据。在DataGrid控件中添加一个按钮列列名为选择。当用户点击该列的按钮时自动获取该行的相关值将其赋值给Session变量并跳转到update。aspx。update。aspx如图:所示图 修改选择后的记录updateaspx页面中textbox的文本来自与updateaspx中定义并赋值的Session变量。用户通过修改其中的文本值并单击确定完成修改。修改部分代码如下:updateaspx中的PageLoad事件PrivateSubPageLoad(ByValsenderAsSystemObjectByValeAsSystemEventArgs)HandlesMyBaseLoadIfNotPageIsPostBackThenbinddata()EndIfEndSub用于加载页面及确认是否第一次访问。Updateaspx中的binddata事件privateSubbinddata()DimmyconnectionAsNewSqlConnection("initialcatalog=bookuid=sapwd=")ConststrsqlAsString="select*frombookorderby书号"DimmycommandAsNewSqlCommand(strsql,myconnection)DimmydaAsNewSqlDataAdapterMydaSelectCommand=mycommandDimmydsAsNewDataSetMydaFill(myds)DataGridDataSource=mydsDataGridDataBind()EndSub用于连接数据库并定义相关操作。Updateaspx中设置DataGrid中的ItemCommandPrivateSubDataGridItemCommand(ByValsourceAsObject,ByValeAsSystemWebUIWebControlsDataGridCommandEventArgs)HandlesDataGridItemCommandDimbnoAsTableCell=eItemCells()DimbnameAsTableCell=etemCells()DimbaAsTableCell=eItemCells()DimbbAsTableCell=etemCells()DimbcAsTableCell=etemCells()Session("a")=bnotextSession("b")=bnametextSession("c")=batextSession("d")=bbtextSession("e")=bctextResponseRedirect("updateaspx")EndSub用于将Session变量的值传给textboxupdateaspx中的ButtonClick事件privateSubButtonClick(ByValsenderAsSystemObject,ByValeAsSystemEventArgs)HandlesButtonClickResponseRedirect("bookaspx")EndSub测试报告当管理员打开“学校教材订购系统”后首先进入的是管理员登录界面管理员在提示信息输入管理员和密码管理员为“shihongmin”密码为“”。当输入信息为空时系统给出错误信息提示:“管理员或密码不能为空!”。当输入信息有误时系统给出错误信息提示:“管理员或密码错误!”同时清空文本框中的内容。当输入信息正确时可进入该系统的主界面并提示"管理员您好欢迎登录!"进行以后的操作管理员可以通过主界面的菜单来选取不同的功能当管理员单击书刊查询菜单系统进入书刊查询界面管理员可以在相应的文本框输入书刊信息来查询。不输入任何项目直接单击查询按钮系统会提示"请至少输入一项书刊信息!"在文本框中输入信息后单击查询按钮若书库表中找不到则提示"对不起没有找到您需要的书刊"若书库表中找到了则进入书刊信息界面并显示相关书刊信息。如:在书刊查询界面的书号文本框里输入然后单击查询则系统会进入到书刊信息界面各文本框显示如下:书号、书名《小说》、作者张三、出版社小说出版社。管理员在主界面选择提交订书单菜单并单击系统进入订书单提交界面在相应的文本框输入信息后单击提交按钮系统提示"提交成功!"单击退出按钮则返回主界面。管理员在主界面选择查询领书单菜单进入领书单查询界面单击查看我的领书单按钮进入我的领书单界面显示你的所有领书单信息若你没有领书单信息则提示"对不起您订购的书还未到库我们会尽快为您解决!"管理员在主界面选择缺书登记菜单进入缺书登记界面在相应文本框填写信息然后单击确定按钮系统提示"登记成功!"单击退出按钮则返回主界面。管理员在主界面选择退出菜单进入退出界面提示“您确定要退出吗?”单击确定按钮关闭教材订购系统程序单击取消按钮则返回主界面。系统维护、数据库的维护保密性是指用户在网上的所有信息应有一定的保密度设置不同的权限、不同的初始化菜单不同类型的用户之间的内容是互相保密的。安全性是指用户参加一次活动是一个安全的过程对于所有用户的动作服务器都须加以跟踪。为了确保其安全与保密性主要通过下列两种途径予以实现:其一凡进入系统的用户都要通过用户身份验证才能进入。由于缺陷性不同用户具有一样的操作权限。不允许用户执行非法的操作防止用户无意或有意的破坏。本系统数据库主要采用SQLServer数据库管理工具进行设计,它具有强大的管理、安全、登陆、网络支持功能,且可以和其它数据库进行转换,是一种网络数据库管理软件,符合设计要求。小结通过对“学校教材订购系统”的设计我更清楚的了解一个软件项目开发的整体过程有需求分析概要设计详细设计编码实现以及测试、维护等几个步骤并在每个阶段撰写详细的文档。文档跟程序和数据一样都是系统不可缺少的部分在软件的编写、使用跟维护过程中都有着重要的作用可以有效的减少软件危机。调研和需求分析在系统开发中是最重要的部分在此部分我们需要收集相关信息以及分析用户的需要整理出具有实际可行性的软件需求报告分析出整个系统的功能需求、性能需求等各方面的需求。需求分析我做的比较详细。需求分析的目的就是要使你开发的软件能尽可能满足顾客提出的要求因为软件是为顾客服务的你的软件开发的再好技术再先进如果无法满足顾客的基本要求那就等于零。所以需求分析要花时间仔细地去做如果到最后发现需求都搞错了那你整个前期的工作都白做了。由于这是一个练习软件所以没法跟实际的用户交流无法采用螺旋模型在这个设计过程中我基本上都是参照瀑布模型的步骤又由于能力和知识面的原因无法列出所有的需求降低了这个软件的可用性。要先对系统的总体结构进行设计然后根据系统模块的划分完成其顶级数据流图并对其细化完成一级、二级数据流图的分解并完成数据字典的设计这一部分的设计直接影响到系统的功能完备性。概要设计、系统设计也很关键它给出了系统的主要框架这就像造房子整个框架搭的好那么以后砌转头就容易如果框架存在毛病那么房子造不造的出来都是一个问题。如果在前面的一系列分析、设计中都做的很到位那么你会发现编码就是水到渠成的事了我想这也就是编码为什么不是很重要的原因吧。软件的测试用例因为时间关系只是进行了单元测试跟确认测试而且只对少数重要部分进行了白盒测试在白盒测试中进行路径测试条件测试判定覆盖语句覆盖。对次要部分采用的都是黑盒测试在黑盒测试中采用等价类划分的测试方法列出尽可能多的有效等价类和无效等价类。因为没能遵循严格的测试程序这为以后对系统性能的维护增加了很多难度。在本次实验设计中我遇到了不少的难题幸好有刘老师不厌其烦的给我讲解让我在短短的一学期中学到了很多以前都没能学到的东西更主要的是学到了软件开发的基本思想跟方法。在此我深深的感谢刘老师一学期对我的辛勤培养。参考文献《软件工程》齐治昌谭庆平宁洪编著高等教育出版社《数据库系统概论》萨师煊王珊编著高等教育出版社《Powerbuilder》崔巍编著高等教育出版社

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/50

学校教材订购系统

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利