软件工程图书管理系统_第1页
软件工程图书管理系统_第2页
软件工程图书管理系统_第3页
软件工程图书管理系统_第4页
软件工程图书管理系统_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软件工程实验报告 题 目: 图书管理系统 班级: 姓名: 学号: 班级: 姓名: 学号: 班级: 姓名: 学号: 完成日期: 2016 年 12 月 15 日摘 要 随着知识化和信息化新经济时代的到来,作为信息技术龙头的计算机及软件技术突飞猛进,UML成为一种不可或缺的工具。UML是一种定义良好、易于表达、功能强大且普遍适用的建模语言。它溶入了软件工程领域的新思想、新方法和新技术。它的作用域不限于支持面向对象的分析与设计,还支持从需求分析开始的软件开发的全过程。用现有的知识,按照软件工程思想和系统的开发步骤,以图书管理的应用需求为背景,分析设计了图书管理系统,并利用Rational Rose对

2、系统进行建模,完成用例图和类图的构建,为后期的程序设计提供标准。 根据建模需求分析,总结出本系统的参与者有借阅者和图书管理员两类。根据其职能不同,借阅者只能使用该系统借书、预订书刊以及还书。图书管理员则可使用系统进行图书馆业务的管理工作,如借阅者,书刊等的信息维护。系统可实现书籍信息的添加、修改、删除等功能,这就保证了数据库信息的一致性和统一性、安全性。该系统以面向对象理论和数据库管理信息系统开发相关知识为依据,介绍了设计开发中的模块设计和数据与程序的连接,使SQL server 2008与 Visual Studio 2010得到了有效的结合。关键词:图书管理系统;UML;Rational

3、Rose;面向对象目 录1 需求分析21.1 开发背景及意义21.2 功能需求22 系统建模42.1 创建系统用例模型42.1.1 确定参与者42.1.2 参与者的用例图42.2 系统的时序图52.2.1 确定系统参与者的属性52.2.2 确定系统主要业务实体类52.2.3 确定系统类之间的关系62.3 系统的协作图62.3.1 创建序列图和协作图72.3.2 创建状态图82.3.2 创建活动图92.4 创建系统的部署摸型101 需求分析1.1 开发背景及意义图书馆是一个专门收集、整理、保存、传播文献并提供利用的科学、文化、教育和科研机构。现代社会,图书馆成为继续教育、终身教育的基地,担负了更

4、多的教育职能。传递科学情报,是现代图书馆的一个重要职能。图书馆收藏的图书资料,是人类长期积累的一种智力资源,图书馆对这些资源的加工、处理,是对这种智力资源的开发。 图书馆主要是用来学习的,如果有人遇到问题,他可以通过图书管的书籍来解决问题。但是为了图书馆的正常运行和保护图书,图书馆管理系统将用户划分为三类人:借阅者,图书管理员,系统管理员。一个基本的图书馆管理,可以大致分为以下流程:用户登录进入系统,在系统允许的情况下,进行可以进行的操作,如借书、还书和预定书籍等;管理员可以整理书籍和管理预订的书籍等;系统管理员管理书目,管理借阅者信息等。1.2 图书管理系统的需求分析1.2.1系统功能需求(

5、1)借阅者可以通过网络查询书籍信息、预约书籍和续借书籍。(2)图书管理员作为借阅者的代理完成借阅图书、归还图书和查询借阅信息工作。(3)系统管理员可以对系统的数据进行维护,如增加、删除和更新书目,增加、删除和更新借阅者帐户,增加和删除书籍。满足上述需求的系统主要包括下面几个模块:(1)基本数据维护模块:提供使用者录入、修改并维护基本数据的途径。例如对借阅者的书籍的各项信息的更新与修改。(2)基本业务模块:主要用于实现用户借书与还书的管理,例如借阅者可以登录系统预订书籍,图书管理员可以取消书籍的预订,当然还可以进行借书、还书等操作。(3)数据库管理模块:在系统中,所有书籍的信息以及借阅者的帐户信

6、息都要统一管理,书籍的借阅情况、预订情况也要进行详细的记录,所以要用统一的数据库平台进行管理。(4)信息查询模块:主要用于查询书籍的信息和借阅者的信息。图 1.1系统功能需求1.2.2基本数据维护模块图 1.2数据库管理模块(1)添加借阅者信息:系统管理员可以添加借阅者帐户。(2)修改更新借阅者信息:系统管理员可以修改更新借阅者信息。(3)添加书目信息:系统管理员可以添加书目。(4)修改更新书目信息:系统管理员可以修改和更新书目信息。(5)添加书籍信息:系统管理员可以添加书籍。(6)删除书籍信息:系统管理员可以删除书籍。1.2.3基本业务模块图 1.3基本业务模块(1)还书:处理还书业务。(2

7、)借书:处理借书业务。(3)书籍预订:借阅者可以通过网络进行书籍预订。(4)取消书籍预订:图书馆管理员可以根据情况取消书籍预订,如果借阅者已经借了此书或者借阅者要求取消预订都涉及此项业务。(5)续借书籍:借阅者可以通过网络续借已经的书籍。1.2.4数据库模块 图 1.4信息查询模块功能(1)借阅者信息管理:书籍借阅信息包括所借书的书名、ISBN以及借书的时间,续借次数等。(2)书籍信息管理:书籍信息包括书籍的名字、ISBN、作者、入库时间以及书籍在相应书目下的编号等。(3)帐户信息管理:帐户信息包括借阅者的帐户ID、姓名、学号、院系、班级和所借书籍的总数等。(4)书籍预订信息管理:负责管理书籍

8、预订信息。1.2.5信息查询模块 图 1.5信息查询模块功能(1)查询书籍信息:负责书籍信息的查询。(2)查询借阅者信息:负责借阅者信息的查询。2 系统建模2.1 创建系统用例模型2.1.1 确定参与者 作为一个图书馆管理系统,首先需要读者的参与,读者可以登录系统查询所需要的书籍,查到所需书籍后可以考虑预订,也可以续借已借的图书。 对于系统来说,读者借书、还书等操作是由图书馆管理员来处理的,他们还可以负责图书的预订和预订取消。 对于图书馆管理系统来说,系统的维护也是相当重要的。维护操作主要包括增加书目,删除或更新书目,增加书籍和减少书籍等操作。由以上分析可以看出,系统的参与者主要有3类:读者(

9、借阅者)、图书馆管理员、系统管理员(1)借阅者参与的用例图借阅者请求服务的用例图包含如下用例。图2.1 借阅者的用例图Search for book:书籍查询用例,借阅者通过网络查询自己想找的书籍的信息。Reserve the book:书籍预订用例,借阅者预约已经被借出的书籍。QueryInfo:查询借阅信息,借阅者查询自己所借书籍信息。Renew book:续借书籍用例,借阅者在无人预约该书的情况下,可续借该书。CheckIsReserve:检查书籍是否已被预订。Logon the system:登录系统。(2)图书馆管理员处理借书、还书等的用例图图书馆管理员处理借书、还书等的用例图如下图

10、所示。图2.2 图书馆管理员处理借书、还书等的用例图用例图说明 Login:图书馆管理员登录系统。 ReturnBook:书籍归还处理。 GetWithFine:还书时收取罚金。 ProcessOverTime:该用例检查每个借阅者是否有超期的借阅信息。 DisplayLoanInfo:用于显示某借阅者的所有借阅信息。 ReturnBook:完成还书处理。 RemoveReservation:删除书籍预订信息。(3)系统管理员进行系统维护的用例图系统管理员进行系统维护的用例图如下所示。图2.3 系统管理员进行系统维护的用例图 查询借阅者信息:系统管理员可以查询借阅者的基本信息和借阅信息。 查询

11、书籍信息:系统管理员可以查询书库里的书籍信息。 增加书目:系统管理员可以向书库中增加书目。 删除或更新书目:系统管理员可以从书库中删除和更新书目。 增加书籍:系统管理员可以向书库中增加书籍。 删除书籍:系统管理员可以从书库中删除书籍。 添加借阅者帐户:系统管理员可以向系统中添加借阅者帐户。 删除或更新借阅者帐户:系统管理员可以删除或更新借阅者帐户。用例图说明 QueryBorrowerInfo:查询读者信息。 QueryBookInfo:查询书籍信息。 AddTitle:增加书目。 RemoveOrUpdateTitle:删除或更新书目。 AddBook:增加书籍。 RemoveBook:删除

12、书籍。 AddBorrower:添加借阅者帐户。 RemoveOrUpdateBorrower:删除或更新借阅者帐户信息。2.2系统的时序图图书管理系统中的用例很多,所能画出的时序图也很多,在此不一一介绍。(1)系统管理员添加书籍的时序图图 3.1 系统管理员添加书籍的时序图时序图说明 addBook():添加书籍函数。 findTitle():根据书籍ISBN查找相应书目的函数。添加书籍时,系统管理员首先与系统的维护窗口交互,弹出AddBookDialog对话框,图书管理员输入图书ISBN号并提交,系统查询数据库是否存在与该图书对应的书目,若不存在,则提示管理员需要先添加书目,然后才可以添加

13、图书:若存在,则添加一个图书,并更新图书对应的书目信息。(2)系统管理员添加借阅者帐户的时序图图 3.2 系统管理员添加借阅者帐户的时序图时序图说明 findBorrower():查看输入的学号是否已经存在系统的函数。 newBorrower():添加新帐户的函数。 write():存储学生的信息。系统管理员要添加新的借阅者帐户,首先要与维护窗口交互,维护窗口弹出AddBorrowerDialog对话框。系统管理员可以在该对话框中输入学生信息并保存,随后系统将对提交的学生信息进行验证,查看输入的学号是否已经存在系统中,若不在,则为学生创建一个帐户,并存储该学生的信息。(3)系统管理员删除书目的

14、时序图图 3.3 系统管理员删除书目的时序图时序图说明find(String):书目类的查找函数。find_on_title(Title):查找此书目下书籍信息的函数。destroy: 删除书籍信息的函数。destroy: 删除书目信息的函数。系统管理员与系统的维护窗口交互,查找到相应的书目,如果该书目下还有书籍的话,要先将书籍删掉,才能删除书目。(4)图书管理员处理书籍借阅的时序图图 3.4 图书管理员处理书籍借阅的时序图时序图说明 getBorrowerID():获取输入借阅者借书证号的函数。 findBorrower():验证借阅者合法性的函数。 inputBookID(): 获取输入的

15、图书信息的函数。 findBook(): 验证图书合法性的函数。 newLoan():添加借阅图书记录的函数。 addLoan():添加借阅记录的函数。 setLoan():设置图书借阅状态的函数。图书管理员选择菜单项“借阅图书”,弹出BorrowDialog对话框,图书管理员在该对话框中输入借阅者信息,然后由系统查询数据库,以验证该借阅者的合法性,若借阅者合法,则再由图书管理员输入所要借阅的图书信息,系统记录并保存该借阅信息。(5)图书管理员处理书籍归还的时序图图 3.5 图书管理员处理书籍归还的时序图时序图说明 getLoan():查找图书的借阅状态。 getBorrower():查找借阅

16、者借书记录的函数。 delete():删除借阅信息的函数。 setLoan():设置图书借阅状态的函数。 delLoan():删除借阅者借阅信息的函数。图书管理员选择菜单项“归还图书”,弹出ReturnDialog对话框,图书管理员在该对话框中输入归还图书编号,然后由系统查询数据库,以验证该图书是否为本馆藏书,若图书不合法,则提示图书管理员;若合法,则由系统查找该图书的借阅者信息,然后删除相对应的借阅记录,并更新借阅者信息。(6)借阅者预订书籍的时序图图 3.6 借阅者预订书籍的时序图时序图说明Login():登录系统的函数。findBook():查找相应书目的函数。reserved():预订

17、书籍的函数。借阅者首先与系统的网络模块交互,如果找到要预订的书籍,就将预订信息添加进去。2.3系统的协作图:2.4.1系统管理员添加书籍的协作图图 4.1系统管理员添加书籍的协作图协作图说明 addBook():添加书籍函数。 findTitle():根据书籍ISBN查找相应书目的函数。2.4.2系统管理员删除书籍的协作图图 4.2 系统管理员删除书籍的协作图协作图说明remove_item():删除书籍的函数。find(String):根据书籍名查找相应书目的函数。update():修改某类书目下书籍数量的函数。2.4.3图书管理员处理借书的协作图图 4.3 图书管理员处理借书的协作图协作图

18、说明 getBorrowerID():获取输入借阅者借书证号的函数。 findBorrower():验证借阅者合法性的函数。 inputBookID(): 获取输入的图书信息的函数。 findBook(): 验证图书合法性的函数。 newLoan():添加借阅图书记录的函数。 addLoan():添加借阅记录的函数。 setLoan():设置图书借阅状态的函数。 check_if_max():检查借阅者所借书籍数目是否已经超过最大限额的函数。2.4.4图书管理员处理还书的协作图图 4.4 图书管理员处理还书的协作图协作图说明 getLoan():查找图书的借阅记录。 getBorrower()

19、:查找借阅者借书记录的函数。 delete():删除借阅信息的函数。 setLoan():设置图书借阅状态的函数。 delLoan():删除借阅者借阅信息的函数。2.5系统的状态图: 书的状态图:图 5.1书的状态图状态图说明 New Book:还未入库的新书。 Delete:已经从书库里删除的书。 Available:书籍处于可用状态,即可以外借的状态。 Reserved:预订状态。 Borrowed:借出状态。书籍处于可用(Available)状态时可以外借,外借后变为借阅(Borrowed)状态。处于借阅状态时可以预订或还书,超出预订时间期限则从预订状态直接转为可用状态。借阅者在规定的预

20、订时间内也可以考虑取消预订,取消预订后书籍的状态转为可用。外借书籍归还后变为可用状态。2.6系统的活动图:2.6.1借阅者的活动图图 6.1 借阅者的活动图活动图说明Self-Help Service:打开图书馆的网站。Search for books:查询需要的书籍。Login:登录图书管理系统。View book information:查看借阅信息。 Reserve the book:预订书籍。Eixt System:退出系统。Leave Computer:离开自助服务的计算机。借阅者进行自助服务时,可以首先登录系统,然后进行书目查询、书籍信息查询、书籍预订等活动,也可以先查询书目和书籍

21、信息后登录系统预订书籍或查询自己借阅信息。2.6.2图书管理员的活动图图 6.2 图书管理员的活动图活动图说明Login the system:图书管理员登录系统。Get book:处理还书操作。Lend book:处理借书操作。Update borrowers information:更新借阅者借阅凭证上的信息。Accept money:收取罚金。图书管理员可以处理两种情况,借书操作和还书操作。当用户借书时,图书管理员要查看借阅者借书凭证上显示的可借书数目是否满足要求;当用户还书时,图书管理员要检查所借书籍是否已经超过期限,如果超期,要收取一定的罚金。2.6.3系统管理员的活动图1) 系统管

22、理员维护借阅者帐户的活动图图 6.3 系统管理员维护借阅者帐户的活动图2) 系统管理员维护书目信息的活动图图 6.4 系统管理员维护书目信息的活动图3) 系统管理员维护书籍信息的活动图4) 系统管理员维护书籍信息的活动图活动图说明 Login the system:登录系统。 Operation on borrower:对借阅者帐户操作。 Operation on title:对书目进行操作。 Operation on book:对书籍进行操作。 Query borrower info:查询借阅者信息。 New Borrower:添加新的借阅者帐户。 Remove or update borr

23、ower:删除或更新借阅者帐户。 Query title:查询书目信息。 New title:增加新的书目。 Remove or update title:删除或更新书目。 Add book:增加书籍信息。 Remove book:删除书籍信息。 Exit the system:退出系统。2.7系统中的类2.7.1参与者相关的类系统中和参与者相关的类的类图如下:图 7.1 参与者相关的类类图说明persistent类是所有类的父类,方法有read(从数据库中读取对象的属性)、write(将对象的属性保存到数据库中)以及update(更新数据库中保存的对象的属性),delete(删除数据库保存的

24、对象属性)。Borrowerclass类是借阅者类, 除了继承父类的属性和方法,还包括stuID(学号)、name(姓名)、dept(部门)、borrowerID(借阅证号)、borrow_number(可借书籍总数)、和loans(借阅记录)等属性。Librarian类是图书管理员类,除了继承父类的属性和方法,还包括workID(工作账号),name(姓名)以及address(地址)。Adminstrator是管理类。2.7.2各类之间的关系类不是单独一个模块,各个类之间是存在联系。图书管理系统各个类之间的联系如下图:图 7.2 各类之间的关系类图说明类Item与类Title之间存在“一对多”的关联关系

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论