还剩45页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
软件工程工程报告——图书管理系统班级工程经理工程组成员目录第一章绪论
1.1工程背景
1.2编写目的第二章需求分析
2.1系统功能需求分析
2.2主要参与者
2.3用例图
2.4系统用例一览表
2.5用例规约
2.7时序图第三章系统设计
3.1系统实体总类图以及介绍
3.2相关数据库的设计
3.
2.1E-R图数据库的设计
3.3主界面设计登录/注册界面设计管理员操作页面读者用户管理界面代码设计语第一章绪论随着时代的开展,计算机技术越来越深入各行各业,为广阔的用户提供了更为周到和便捷的效劳目前各行各业广泛使用专用系统,其用户群十分庞大,因此,设计开发好一个系统是十分重要近年来,随着用户要求的不断提高及计算机科学的迅速开展,特别是数据库技术的广泛应用,向用户提供的效劳将越来越丰富,越来越人性化本系统通过强大的计算机技术给图书管理人员和读者借、还书带来便利本系统除了图书馆内管理的一般功能除外,还包括网上在线查询图书信息、查询本人的借阅情况L2编写目的本系统最终将到达减少了人力与管理本钱,提高信息准确度,改良管理和效劳,建立高效的平台,提高信息处理速度和利用率,系统设计优良,界面设计精美、快捷,人性化设计后台管理功能好、效率高,更简便、信息化程度更高的图书管理流程第二章需求分析
2.1系统功能需求分析设计图书馆管理系统此系统要到达方便读者查找图书,阅读图书,而且也要方便图书馆管理员的管理工作管理员对图书的订购、摆放、添加、删除、查询、统计、修改图书信息对读者的信息进行平安管理,所谓平安管理也就是对读者的所有注册信息进行保密管理,也就是只有此管理员可以获取和查看读者的信息(读者本人也可以查看),其他人那么无权查看与修改对读者的借还信息进行管理,即当读者借阅图书时将读者的借阅信息保存同时将某图书被借阅的信息保存;当读者归还图书时可以及时将归还信息保存,实现消除该读者的借书信息,以方便读者继续借阅书籍读者进行借阅书籍时,只需要找到管理员即可获得自己想要阅览的书籍的信息,这样可以减少读者查询书籍的时间,而其余的工作那么由管理员们来协调完成,这样提高了图书馆的工作效率,同时也让读者可以获得一个更好的读书方式读者除了借阅书籍以外,还可以对自己的注册信息进行修改,但是一旦注册成功,那么只能修改个人密码,其他人那么无权修改
2.2主要参与者
1、图书馆管理员:管理员要为每个读者建立借阅账户,并给读者发放不同类别的借阅卡(借阅卡可提供卡号、读者姓名),账户内存储读者的个人信息和借阅记录信息持有借阅卡的读者可以通过管理员(作为读者的代理人与系统交互)借阅、归还图书,不同类别的读者可借阅图书的范围、数量和期限不同,可通过互联网或图书馆内查询终端查询图书信息和个人借阅情况,以及续借图书(系统审核符合续借条件)
2、借阅者:借阅图书时,先输入读者的借阅卡号,系统验证借阅卡的有效性和读者是否可继续借阅图书,无效那么提示其原因,有效那么显示读者的根本信息(包括照片),供管理员人工核对然后输入要借阅的书号,系统查阅图书信息数据库,显示图书的根本信息,供管理员人工核对最后提交借阅请求,假设被系统接受那么存储借阅纪录,并修改可借阅图书的数量归还图书时,输入读者借阅卡号和图书号(或丧失标记号),系统验证是否有此借阅纪录以及是否超期借阅,无那么提示,有那么显示读者和图书的根本信息供管理员人工审核
2.4用例描述用例名称图书管理员用例目的完成登记注册、统计查询、借书、还书等操作;参与者数据库管理员事件流:第一步进入管理员登陆界面讨论区成员选择相应的操作区系统将管理员的增删改查权限显示出来即读者信息,图书信息,统计条件信息,读者情况图书情况,统计结果;加工名录入新读者加工编号
1.1简要描述将新的读者信息登记到读者信息表中输入数据流新读者数据,读者类别输出数据流有效读者信息加工逻辑输入读者信息选择读者类别执行SQL语句,将完整的读者信息写入读者信息表?加工名读者信息修改加工编号
1.2简要描述修改指定的读者信息(卡号、已借书本数不可修改)输入数据流待修改的读者信息输出数据流修改后的读者信息加工逻辑输入读者编号执行SQL语句,从读者信息表中找出该读者的详细信息修改除借书卡号和已借书本数以外的信息执行SQL语句,将修改后的读者信息写入读者信息表中?加工名读者信息删除加工编号
1.3简要描述将已归还全部图书的指定读者信息从读者信息表中删除输入数据流待删除的读者信息,借书状况信息输出数据流待删除的读者信息加工逻辑输入读者借书卡号执行SQL语句,从读者信息表中找出该读者的详细信息IF该读者处于借阅状态的书本数>0THEN提示“该读者还有未还的图书,暂时不能删除”ELSE执行SQL语句,将该读者的信息从读者信息表中删除ENDIF加工名添加图书;加工编号
2.1;简要描述将新购入的图书登记入库,便于读者随时借阅;输入数据流新图书信息,图书类别;输出数据流有效图书信息;加工逻辑输入新图书信息选择相应的图书类别执行SQL语句,将新书信息写入图书信息表,记录登记人姓名,图书状态设置为“在库加工名修改图书加工编号
2.2简要描述将修改后的图书信息(图书编号和状态不能修改)重新写入图书信息表中;输入数据流待修改的信息;输出数据流修改的图书信息加工逻辑输入图书编号执行SQL语句,从图书信息表中查询该图书的详细信息IF图书状态为“借阅中”THEN提示“图书不在库,不能修改”ELSE执行SQL语句,将修改后的图书信息写入图书信息表ENDIF加工名删除图书加工编号
2.3简要描述将报废的或已经遗失的图书从系统中删除输入数据流待删除信息,图书状态信息;输出数据流删除的图书信息加工逻辑输入图书编号执行SQL语句,从图书信息表中查询该图书的详细信息IF图书状态为“借阅中”THEN提示“图书处在“借阅中”,暂时不能删除”ELSE执行SQL语句,将该图书信息从图书信息表中删除ENDIF加工名查询图书加工编号
2.4简要描述按设置的条件从图示信息表中查询满足条件的图书信息输入数据流图书查询条件,图书信息;输出数据流图书查询结果加工逻辑加工名加工编号简单描述通过借书卡号和可借的图书编号完成图书借阅,并在相应的表中添加记录输入数据流读者信息,图书信息,操作员姓名,预借信息输出数据流已借数,借书信息,图书状态加工逻辑执行SQL语句,分别从读者信息表和图书信息表读取指定的读者信息图书信息IF读者借书限额已满THEN提示“借书限额已满,暂时不能借阅新书”ENDIFIF图书状态为“借阅中”THEN提示“该书目前不在库,不能借阅”ENDIFIF续借信息为真THENIF该读者的续借限额未满THEN执行SQL语句,将借书信息表中相应记录的限还日期延长返回借书界面,清空有关文本框ELSE提示“续借限额已满,不能再续借”ENDIFELSE执行SQL语句,读者信息表中该读者的已借书数增值执行SQL语句,图书信息表中该书的状态更改为“借阅中”执行SQL语句,将图书编号、书名、借书卡号、读者姓名、借书日期、限还日期、当前操作员姓名等信息写入借书信息表中返回借书界面,清空有关文本框ENDIF加工名还书管理加工编号
3.3简单描述归还读者借阅的图书,同时使读者的当前借书总数减值,使归还的图书状态为“在库”,使相应的借书记录状态为“己还”输入数据流预还信息,操作员姓名,罚金金额输出数据流已借数,图书状态,借书记录状态,还书信息加工逻辑执行SQL语句,从借书信息表中查询指定的借书记录IF过期金额=0AND损坏罚金=0THEN执行SQL语句,向还书信息表中写入罚金信息为0的含操作员姓名的还书记录ELSE执行SQL语句,向还书信息表中写入罚金信息不为0的含操作员姓名的还书记录ENDIF执行SQL语句,将图书信息表中该图书状态更改为“在库”执行SQL语句,将读者信息表中当前读者的当前借书总数减值执行SQL语句,将借书信息表中相应的借书记录状态更改为“已还”加工名图书总量统计加工编号
4.1简单描述统计系统中的图书总量或按图书类别统计图书数输入数据流总量统计条件,统计项信息输出数据流图书总量信息加工逻辑IF图书类别不为空THEN执行SQL语句,统计指定类别的图书数量ELSE执行SQL语句,统计所有图书的总量ENDIF
2.4系统用例一览表系统用例汇总
2.5用例规约添加用户用例规约添加图书用例规约查看借阅信息用例规约查看读者信息用例规约查看图书书目用例规约添加借阅信息用例规约注册用例规约
2.6时序图图1登陆时序图图2注册更新个人信息时序图BookManaqe「Fo「m:岫海5AddBookControl:AddBookFom:New嵌book:NewC嵌3NewClass21:要求添加图书2:添加图书3:输入图书信息4:提交图书信息5:保存新增图书信息X图3添加图书时序图图4修改图书时序图图5删除图书时序图图6系统维护时序图图7添加读者时序图1删除读者2:更新读者信息3:获取读者信息———4:显示读者信息115:更新读者信息日图8删除读者时序图图9查看借阅列表时序图ffl10查看读者信息时序图图11:查看图书书目时序图图12删除借书信息时序图图13添加借书信息时序图图14修改个人信息时序图图15预约借阅图书时序图图16归还图书时序图图17借阅图书时序图图18续借图书时序图第三章系统设计
3.1系统实体总类图以及介绍系统边界类添加图书、读者,删除图书、读者,查找图书阅图书,归还图书、续借图书预借图书,查看及修改个人信息等修改、查询图书删除、查询读者系统实体类系统控制类
3.2相关数据库的设计经过对系统的需求分析,我们总结出,该系统数据库设计思路如下(以表格信息表示)
2.1E-R图管理员til管图书读者
3.2数据库的设计图书信息表昔阅+X7图书编以对读书进行增、删、改、查等操作,读者可以对读书进行借阅、预定借阅、询等操作,以下是图书的根本信息管理员信息表读者信息表读者可以是校内的学生,也可以是校外人士,因此需要的身份验证方式不一样以下是读者的信息表,以及具体详细序号列名字段说明数据类型长度允许空数据库设计代码:表的设计图书信息表uselibrarygocreatetablebookinfobookNOintnotnullconstraintpklSBNprimarykeyBooknamenvarchar255notnullbooknamevarchar40notnullpulishnamenvarchar255notnullpricevarchar6notnullstockintnotnullcommentnvarchar255go读者信息表uselibrarygocreatetablereaderreaderNointreaderNamenvarchar255notnullpasswordvarchar16notnul1classnvarchar255IDnumbervarchar25TelephoneintCONSTRAINTreaderPKPRIMARYGo管理员信息表uselibrarygoCREATETABLEAdminnvarchar255varchar16intnotnullAdminPKPRIMARY描述输入:书名,作者,出版社,ISBN号,价格,库存输出图书编号过程向表中插入书名,作者,出版社,ISBN号,价格createPROCEDUREaddbookinfo@bookNochar20@booknamenvarchar255©authornvarchar255@pulishnamenvarchar255@pricemoneyvarchar6©stockint©commentnvarchar255asInsertbookinfovalues@bookNo@bookName©author@pulishname©price@stock©comment图书管理员修改图书的存储过程描述输入图书编号,书名,作者,出版社,图书类别,ISBN号,定价,库存,是否可借过程根据图书编号修改表中的书名,作者,出版社,图书类别,ISBN号,定价,库存是否可借CREATEPROCEDUREupdatebookinfo©classnamenvarchar255@bookNamenvarchar255©authornvarchar255@pulishnamevarchar255©pricemoneyvarchar6@stockint@bookNooutputasbeginupdatebookinfosetclassname=@classnamebookNo二@bookNobookName=@bookNameauthor=@authorpulishname=@pu1ishnameprice=@pricestock二回stockwhereISBNNo=@ISBNNoend图书管理员删除图书的存储过程描述输入图书编号过程根据图书编号删除表中该图书的信息createprocDeletebook@bookNointasbegindeletefrombookwherebookNo=@bookNoEnd图书管理员删除读者信息的存储过程描述输入读者号过程根据输入的读者号删除表中该读者的信息createprocDeletereader@readerNointasbegindeletefrombookwherereaderNo=@readerNoend
3.3主界面设计
3.
3.1登陆/注册界面设计人机界面设计设计概述人机界面设计是接口设计的一个重要的组成局部对于交互式系统来说,人机界面设计和数据设计,体系结构设计及过程设计一样重要图书管理系统是基于对话框设计的,用到了三个对话框,分别为登录对话框,书库管理员对话框和借阅人对话框在用户登入时验证用户身份,如果是合法用户,那么根据数据库中记录的用户权限转到管理员界面或者借阅人界面图1登陆界面翻开登录界面输入用户名和密码,点击登录进入图书管理界面如果没有请注册账户图2注册界面
3.
3.2管理员操作界面选择“图书维护”菜单中的“书的ID”菜单,出现如下图的输入图书信息界面输入信息后,单击“图书查询”按钮图3总管理界面图4图书管理界面输书的书名或书的ID点击“图书查询”
1.借书选择“图书流通”菜单中的“借书”菜单,输入借阅信息后,单击“借书”按钮
2.还书选择“图书流通”菜单中的“还书”菜单,输入借阅信息后,单击“还书”按钮
3.
3.3读者用户管理界面图6读者用户管理用户图7修改密码界面编辑要修改的信息,单击“保存”按钮图8读者界面点击左边的选框可以查询到你要查询的信息系统响应时间对于用户的各种操作请求应尽快给出响应,响应时间应控制在Is左右出错信息处理对于用户不符合要求的输入,系统会给出错误提示,并告知其错误原因
3.4局部代码:添加图书的代码usingSystem.Data.SqlClient;usingSystem.Data;publicpartialclassAdd:System.Web.UI.Page{protectedvoidPageLoadobjectsenderEventArgse}protectedvoidButtonlClickobjectsenderEventArgse{stringconstr=server二.;database=library:trustedconnection=yesz/;SqlConnectioncon=newSqlConnectionconstr:SqlCommandcmd=newSqlCommandcon;cmd.Connection=con;cmd.CommandText=addbookinfo”;cmd.CommandType=CommandType.StoredProcedure;SqlParameterspl=newSqlParameterz/@bookname/zSqlDbType.NVarChar255;spl.ParameterName=〃@nvarchar〃;spl.Value=bookname.Text:cmd.Parameters.Addspl;SqlParametersp2=newSqlParameter/z@authorz/SqlDbType.NVarChar255;sp
2.ParameterName二〃@author〃;sp
2.Value二author.Text;cmd.Parameters.Addsp2;SqlParametersp3=newSqlParameterz/@pulishnam/zSqlDbType.NVarChar255;sp
3.ParameterName=//@pulishnam/,;sp
3.Value=pulishnam.Text:cmd.Parameters.Addsp3;SqlParametersp4=newSqlParameterz/@pricez/SqlDbType.VarChar6;sp
4.ParameterName=〃@price〃;sp
4.Value=Formatstringprice.Text;cmd.Parameters.Addsp4;SqlParametersp5=newSqlParameter〃回stock”SqlDbType.Int;sp
5.ParameterName=〃@stock〃;sp
5.Value=int.Parsestock.Text;cmd.Parameters.Addsp5;SqlParametersp7=newSqlParameter/z@commentz,SqlDbType.NVarChar255;sp
7.ParameterName=©commentz/:sp
7.Value=System.DateTime.Now.ToStringO;cmd.Parameters.Addsp7;SqlParametersp6二newSqlParameter/z@bookNO〃SqlDbType.Int:sp
6.ParameterName=〃@bookNO〃;sp
6.Direction=ParameterDirection.Output;cmd.Parameters.Addsp6;con.Open;cmd.ExecuteNonQuery;con.Close;intid=int.Parsesp
6.Value.ToString:ifid0{Response.Write/zscriptalert恭喜你,添加成功,感谢您的参与!;parentlocation二index.aspx,〈/script〉”;return;}else{Response.Write/zscriptalert对不起操作出现错误请返回!!;parentlocation=indexaspx〈/script〉”;}}publicstringFormatstringstringstr{str=str.ReplaceC〃〃nbsp;nbsp;〃;str=str.Replace〃〈〃,〃lt;〃;str=str.Replace〃〉〃,〃gt;〃;str=str.Replace\n.ToString〃〈br〉〃;returnstr;}nvarchar255notnullvarchar16notnulltelephoneintnotnull管理员登录代码usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Web;usingSystem.Web.UI:usingSystem.Web.UI.WebControls;usingSystem.Data.SqlClient;usingSystem.Data;publicpartialclassAdmin:System.Web.ULPage{protectedvoidPageLoadobjectsenderEventArgseif!IsPostBack//ifRequest.Cookies[〃user〃]!=null////stringUser二Request.Cookies[/zuserz,].Value;//Session[〃u〃]=User;//Response.Write〃〈script〉window・location二indexaspx/script〉”;//}}}protectedvoidButtonlClickobjectsenderEventArgsestringadminName=username.Text;stringpassword=userpwd.Text;stringserver二.;database=newmessage;trustedconnection=true,z;SqlConnectioncon二newSqlConnectionconstr:SqlCommandcmd=newSqlCommandO:cmd.Connection=con;//cmd.CommandText=select*fromAdminwhereadminName=,〃+usernameI〃,1,〃I1I〃,〃+password=+userpwd+cmd.CommandText=selectcount*fromAdminwhereadminName=@Nameandpassword=@Passz/;SqlParametersp=newSqlParameter:sp.ParameterName=〃@Name〃;sp.Value=username.Text;SqlParametersp2=newSqlParameter:sp
2.ParameterName=〃回Pass”;sp
2.Value=userpwd.Text;cmd.Parameters.Addsp;cmd.Parameters.Addsp2;con.Open;intcount=intcmd.ExecuteScalar;ifcount==0Response.Writez,scriptalert用户名或密码错误/script〉”;return;elsec•「〃〃lSessionLuJ=user;Response.Writez/scriptalert登录成功/script〉”;Response.Writez/scriptwindow.location二indexaspx〈/script〉”;con.Close;修改图书的代码createtablebookinfobookNOintnotnullconstraintpkISBNprimarykeyBooknamenvarchar255notnullbooknamevarchar40notnullpulishnamenvarchar255notnullpricevarchar6notnullstockintnotnullcommentnvarchausingSystem;usingSystem.Collections.Generic:usingSystem.Linq;usingSystem.Web:usingSystem.Web.UI:usingSystem.Web.UI.WebControls;usingSystem.Data.SqlClient;usingSystem.Data;publicpartialclassmessage:System.Web.UI.PageprotectedvoidPageLoadobjectsenderEventArgseif!IsPostBackgvbind;protectedvoidgvbindstringserver、.;database=library;trustedconnection=yesz/;SqlConnectioncon=newSqlConnectionconstr;SqlCommandcmd=newSqlCommandO:cmd.Connection=con;cmd.CommandText=select*frombookinfoz,;//SQL文本命令con.Open;//翻开连接数据库SqlDataReadersdr=cmd.ExecuteReader;//读取表中的一行数据是所运行sql语句,将结果存到了sdr里con.Close;GridViewEditEventArgseGridViewl.Editindex=e.NewEditlndex;gvbind;gvbind;inti=intscm.ExecuteNonQuery:ifi0{Response.Write,,scriptalertJ修改图书成功〈/script〉”;}//更新数据库stringsid=GridViewl.DataKeys[e.Rowindex].Value.ToStringO;//Response.Writeid;}protectedvoidGridViewlRowDeletingobjectsenderGridViewDeleteEventArgse{gvbind;stringsid=GridViewl.DataKeys[e.Rowindex].Value.ToStringO;stringcon=server二.;database二photo;trustedconnection=true”;SqlConnectionsen=newSqlConnectioncon;sen.Open;SqlCommandsem=newSqlCommand;scm.Connection二sen;scm.CommandText=deletebookinfowhereid二〃+sid+〃〃;inti=intscm.ExecuteNonQuery:ifi0Response.Write,zscriptalert册If除成功;parent.location=,manage.aspx〈/script〉”;第四章结束语软件工程是一门比拟抽象的理论课,既包含软件开发技术,也包含管理技术为了学以致用,充分表达软件工程的工程特性,在工程开发的过程中要进行各个阶段的分析报告收,需求分析和数据库设计尤为重要,一个系统是否能符合能合理的运行,需要每一步都要有严谨的思考,实践证明,写需求说明文档是至关重要的模块负责人需求分析用例图代码设计数据库设计界面设计管理员相关
1.查看图书书目UC-01管理用户管理图书
2.系统维护UC-
023.修改个人信息UC-
034.添加图书UC-
045.删除书目UC-
056.修改书目UC-
067.查看读者信息UC-
078.查看借阅信息UC-
089.添加读者UC-
0910.删除读者UC-
1011.添加借阅信息UC-
1112.删除借阅信息UC-12读者相关
13.查看借阅信息UC-
1314.查看图书书iUC-14注册登录借阅图书
15.预约借读图书UC-
153.修改个人信息
16.修改个人信息UC-
1617.借阅图书UC-
1718.归还图书UC-18用例编号UC-09用例名称添加读者用例描述管理员增加读者的过程参与者管理员前置条件登录后置条件无根本路径
1.参与者提出增加读者的请求
2.系统显示增加读者界面3参与者注册4管理员分配权限类型
5.系统保存用户数据非功能需求补充说明用例编号UC-06用例名称添加图书用例描述管理员增加图书的过程参与者管理员前置条件登录后置条件无涉众利益根本路径
1.系统显示增加图书书目界面
2.系统保存用户数据扩展点字段列表业务规那么非功能需求补充说明用例编号UC-
08、UC-13用例名称查看借阅信息用例描述管理员或读者查看借阅信息的过程参与者管理员、读者前置条件登录后置条件无涉众利益根本路径
1.用户登录
2.系统显示借阅信息界面扩展点字段列表业务规那么非功能需求补充说明用例编号UC-07用例名称查看读者信息用例描述管理员或读者查看读者信息的过程参与者管理员、读者前置条件登录后置条件无涉众利益根本路径
1.用户登录
2.系统显示读者信息界面扩展点字段列表业务规那么非功能需求补充说明用例编号UC-
01、UC-14用例名称查看图书书目用例描述管理员或读者查看图书书目的过程参与者管理员、读者前置条件登录后置条件无涉众利益根本路径
1.用户登录
2.系统显示图书书目界面扩展点字段列表业务规那么非功能需求补充说明用例编号UC-011用例名称添加借阅信息用例描述管理员添加借阅信息的过程参与者管理员前置条件登录后置条件无涉众利益根本路径
1.管理员登录
2.系统显示借阅信息界面扩展点字段列表业务规那么非功能需求补充说明用例编号UC-20用例名称注册用例描述用户注册的过程参与者读者前置条件无后置条件无涉众利益根本路径
1.用户匿名进入系统
2.系统注册登录界面
3.注册成功后系统保存数据信息并自动登录该用户扩展点字段列表业务规那么非功能需求补说明注册用户必须是本人真实信息!序号名称备注EN-1图书EN-2管理员唯一管理员EN-3读者序号名称备注C0N-1查看图书信息图书列表C0N-2查看读者信息读者列表C0N-3查看借还信息借还列表C0N-4添加图书信息图书列表C0N-5删除图书信息图书列表C0N-6修改图书信息图IG列表C0N-7添加读者信息读者列表C0N-8删除读者信息读者列表C0N-9修改读者信息读者列表CON-10预订借阅图书借阅列表CON-11归还图书借阅列表CON-12续借图书借阅列表CON-13注册用户系统主界面CON-14修改个人密码系统主界面毕\数据类型长度/位主键允许空图书弟艾书[羊豕无)8是否Ml宓7nvarchar255否否nvarchar255否否广j号j4价格书籍价格varchar6否否5库存量书籍册数Int8否是6出版社书籍的出版社nvarchar255否否7评论书籍评价nvarchar255否是序号列名字段说明数据类型长度/位主键允许空1姓名管理员姓名nvarchar255是否2密码管理员密码Varchar16不否3联系方式管理员Int16不不1姓名读者姓名nvarchar255否否2学号假设是学生,需要学号Int16是是3密码读者密码Varchar16否否4班级假设是学生,需要班级nvarchar255否是5身份证号不是学生,需身份证号Varchar25是是6联系方式读者Int16否是。