软件工程项目报告----图书管理系统班级:项目经理:项目组成员:目录第一章绪论……………………………………………………………………………………………………………………1.1 项目背景…………………………………………………………………………………………………………….1.2 编写目的…………………………………………………………………………………………………………….第二章需求分析…………………………………………………………………………………………………………..2.1 系统功能需求分析…………………………………………………………………………………………….2.2 主要参与者………………………………………………………………………………………………………..2.3 用例图………………………………………………………………………………………………………………..2.4 系统用例一览表…………………………………………………………………………………………………2.5 用例规约……………………………………………………………………………………………………………2.7 时序图………………………………………………………………………………………………………………..第三章系统设计……………………………………………………………………………………………………………3.1 系统实体总类图以及介绍…………………………………………………………………………………3.2 相关数据库的设计……………………………………………………………………………………………3.2.1 E-R 图……………………………………………………………………………………………………………3.2.2数据库的设计……………………………………………………………………………………………….3.3 主界面设计………………………………………………………………………………………………………..3.3.1 登录/注册界面设计……………………………………………………………………………………...3.3.2 管理员操作页面…………………………………………………………………………………………3.3.3 读者用户管理界面………………………………………………………………………………………3.3.4 代码设计………………………………………………………………………………………………………第四章结束语......................................................................................................................第一章绪论1.1项目背景随着时代的发展,计算机技术越来越深入各行各业,为广大的用户提供了更为周到和便捷的服务。
目前各行各业广泛使用专用系统,其用户群十分庞大,因此,设计开发好一个系统是十分重要。
近年来,随着用户要求的不断提高及计算机科学的迅速发展,特别是数据库技术的广泛应用,向用户提供的服务将越来越丰富,越来越人性化。
本系统通过强大的计算机技术给图书管理人员和读者借、还书带来便利。
本系统除了图书馆内管理的一般功能除外,还包括网上在线查询图书信息、查询本人的借阅情况。
1.2编写目的本系统最终将达到减少了人力与管理成本,提高信息准确度,改进管理和服务,建立高效的平台,提高信息处理速度和利用率,系统设计优良,界面设计精美、快捷,人性化设计,后台管理功能好、效率高,更简便、信息化程度更高的图书管理流程。
第二章需求分析2.1系统功能需求分析设计图书馆管理系统。
此系统要达到方便读者查找图书,阅读图书,而且也要方便图书馆管理员的管理工作。
管理员:对图书的订购、摆放、添加、删除、查询、统计、修改图书信息。
对读者的信息进行安全管理,所谓安全管理也就是对读者的所有注册信息进行保密管理,也就是只有此管理员可以获取和查看读者的信息(读者本人也可以查看),其他人则无权查看与修改。
对读者的借还信息进行管理,即当读者借阅图书时将读者的借阅信息保存,同时将某图书被借阅的信息保存;当读者归还图书时可以及时将归还信息保存,实现消除该读者的借书信息,以方便读者继续借阅书籍。
读者进行借阅书籍时,只需要找到管理员即可获得自己想要阅览的书籍的信息,这样可以减少读者查询书籍的时间,而其余的工作则由管理员们来协调完成,这样提高了图书馆的工作效率,同时也让读者可以获得一个更好的读书方式。
读者除了借阅书籍以外,还可以对自己的注册信息进行修改,但是一旦注册成功,则只能修改个人密码,其他人则无权修改。
2.2主要参与者1、图书馆管理员:管理员要为每个读者建立借阅账户,并給读者发放不同类别的借阅卡(借阅卡可提供卡号、读者姓名),账户内存储读者的个人信息和借阅记录信息。
持有借阅卡的读者可以通过管理员(作为读者的代理人与系统交互)借阅、归还图书,不同类别的读者可借阅图书的范围、数量和期限不同,可通过互联网或图书馆内查询终端查询图书信息和个人借阅情况,以及续借图书(系统审核符合续借条件)。
2、借阅者:借阅图书时,先输入读者的借阅卡号,系统验证借阅卡的有效性和读者是否可继续借阅图书,无效则提示其原因,有效则显示读者的基本信息(包括照片),供管理员人工核对。
然后输入要借阅的书号,系统查阅图书信息数据库,显示图书的基本信息,供管理员人工核对。
最后提交借阅请求,若被系统接受则存储借阅纪录,并修改可借阅图书的数量。
归还图书时,输入读者借阅卡号和图书号(或丢失标记号),系统验证是否有此借阅纪录以及是否超期借阅,无则提示,有则显示读者和图书的基本信息供管理员人工审核。
2.3用例图图一管理员用例图图二读者用例图2.4 用例描述用例名称:图书管理员用例目的:完成登记注册、统计查询、借书、还书等操作;参与者:数据库管理员事件流:第一步:进入管理员登陆界面讨论区成员:选择相应的操作区系统:将管理员的增删改查权限显示出来即读者信息,图书信息,统计条件信息,读者情况,图书情况,统计结果;加工名:录入新读者加工编号:1.1简要描述:将新的读者信息登记到读者信息表中输入数据流:新读者数据,读者类别输出数据流:有效读者信息加工逻辑:输入读者信息选择读者类别执行SQL语句,将完整的读者信息写入读者信息表加工名:读者信息修改加工编号:1.2简要描述:修改指定的读者信息(卡号、已借书本数不可修改)输入数据流:待修改的读者信息输出数据流:修改后的读者信息加工逻辑:输入读者编号执行SQL语句,从读者信息表中找出该读者的详细信息修改除借书卡号和已借书本数以外的信息执行SQL语句,将修改后的读者信息写入读者信息表中加工名:读者信息删除加工编号:1.3简要描述:将已归还全部图书的指定读者信息从读者信息表中删除输入数据流:待删除的读者信息,借书状况信息输出数据流:待删除的读者信息加工逻辑:输入读者借书卡号执行SQL语句,从读者信息表中找出该读者的详细信息IF 该读者处于借阅状态的书本数>0 THEN提示“该读者还有未还的图书,暂时不能删除”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语句,从图书信息表中查询满足条件图书的详细信息加工名:借书管理加工编号:3.1简单描述:通过借书卡号和可借的图书编号完成图书借阅,并在相应的表中添加记录输入数据流:读者信息,图书信息,操作员姓名,预借信息输出数据流:已借数,借书信息,图书状态加工逻辑:执行SQL语句,分别从读者信息表和图书信息表读取指定的读者信息图书信息IF 读者借书限额已满THEN提示“借书限额已满,暂时不能借阅新书”ENDIFIF 图书状态为“借阅中”THEN提示“该书目前不在库,不能借阅”ENDIFIF 续借信息为真THENIF 该读者的续借限额未满THEN执行SQL语句,将借书信息表中相应记录的限还日期延长返回借书界面,清空有关文本框ELSE提示“续借限额已满,不能再续借”ENDIF ELSE执行SQL语句,读者信息表中该读者的已借书数增值执行SQL语句,图书信息表中该书的状态更改为“借阅中”执行SQL语句,将图书编号、书名、借书卡号、读者姓名、借书日期、限还日期、当前操作员姓名等信息写入借书信息表中返回借书界面,清空有关文本框ENDIF加工名:还书管理加工编号:3.3简单描述:归还读者借阅的图书,同时使读者的当前借书总数减值,使归还的图书状态为“在库”,使相应的借书记录状态为“已还”。
输入数据流:预还信息,操作员姓名,罚金金额输出数据流:已借数,图书状态,借书记录状态,还书信息加工逻辑:执行SQL语句,从借书信息表中查询指定的借书记录IF 过期金额==0 AND 损坏罚金==0 THEN执行SQL语句,向还书信息表中写入罚金信息为0的含操作员姓名的还书记录ELSE执行SQL语句,向还书信息表中写入罚金信息不为0的含操作员姓名的还书记录ENDIF执行SQL语句,将图书信息表中该图书状态更改为“在库”执行SQL语句,将读者信息表中当前读者的当前借书总数减值执行SQL语句,将借书信息表中相应的借书记录状态更改为“已还”加工名:图书总量统计加工编号:4.1简单描述:统计系统中的图书总量或按图书类别统计图书数输入数据流:总量统计条件,统计项信息输出数据流:图书总量信息加工逻辑:IF 图书类别不为空THEN执行SQL语句,统计指定类别的图书数量ELSE执行SQL语句,统计所有图书的总量ENDIF 2.4 系统用例一览表2.5用例规约添加用户用例规约添加图书用例规约查看借阅信息用例规约查看读者信息用例规约查看图书书目用例规约添加借阅信息用例规约2.6时序图:管理员: Login: LoginManager: SDUser : frmMain图1:登陆时序图:注册用户:MainForm : ReNewinformation : OnesinformationForm : NewClass Register : NewClass3图2:注册更新个人信息时序图添加图书 :管理员BookManagerForm : NewClass AddBookFom : NewClass book : NewClass3图3:添加图书时序图: 管理员 : NewClass : NewClass2 : NewClass : NewClass31.图4:修改图书时序图: 管理员 : NewClass : NewClass2 : NewClass3: NewClass图5:删除图书时序图: NewClass2 : NewClass : NewClass3图6:系统维护时序图添加读者 :管理员ReaderManagerForm : NewClassAddReaderFom : NewClass 图7:添加读者时序图: 管理员: NewClass : NewClass2 : NewClass : NewClass3图8:删除读者时序图: 管理员 : NewClass: NewClass : NewClass3: NewClass2图9:查看借阅列表时序图: 管理员 : NewClass: NewClass : NewClass3: NewClass2图10:查看读者信息时序图: 管理员 : NewClass: NewClass : NewClass3: NewClass2图11:查看图书书目时序图: 管理员 : NewClass : NewClass : NewClass3图12:删除借书信息时序图: 管理员 : NewClass: NewClass : NewClass3: NewClass2图13:添加借书信息时序图: 管理员 : NewClass : NewClass2 : NewClass3: NewClass4图14:修改个人信息时序图: NewClass2 : NewClass3图15:预约借阅图书时序图: NewClass2 : NewClass3图16:归还图书时序图: 读者 : NewClass : NewClass2 : NewClass : NewClass3图17:借阅图书时序图: 读者 : NewClass : NewClass2 : NewClass : NewClass3图18:续借图书时序图第三章系统设计3.1系统实体总类图以及介绍系统边界类系统实体类系统控制类3.2相关数据库的设计经过对系统的需求分析,我们总结出,该系统数据库设计思路如下(以表格信息表示)。