软件工程图书管理系统资料.pdf

上传人:白大夫 文档编号:5423209 上传时间:2020-05-05 格式:PDF 页数:24 大小:986.13KB
返回 下载 相关 举报
软件工程图书管理系统资料.pdf_第1页
第1页 / 共24页
软件工程图书管理系统资料.pdf_第2页
第2页 / 共24页
软件工程图书管理系统资料.pdf_第3页
第3页 / 共24页
软件工程图书管理系统资料.pdf_第4页
第4页 / 共24页
软件工程图书管理系统资料.pdf_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《软件工程图书管理系统资料.pdf》由会员分享,可在线阅读,更多相关《软件工程图书管理系统资料.pdf(24页珍藏版)》请在三一文库上搜索。

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

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

3、 2008与Visual Studio 2010得到了有 效的结合。 关键词 :图书管理系统; UML ;Rational Rose ;面向对象 软件工程实验报告 3 目录 1 需求分析 错误!未定义书签。 1.1 开发背景及意义 4 1.2 功能需求 4 2 系统建模 8 2.1 创建系统用例模型 8 2.1.1 确定参与者 8 2.1.2 参与者的用例图 错误!未定义书签。 2.2 系统的时序图 错误!未定义书签。 2.2.1 确定系统参与者的属性 错误!未定义书签。 2.2.2 确定系统主要业务实体类 错误!未定义书签。 2.2.3 确定系统类之间的关系 错误!未定义书签。 2.3 系统

4、的协作图 错误!未定义书签。 2.3.1 创建序列图和协作图 错误!未定义书签。 2.3.2 创建状态图 错误!未定义书签。 2.3.2 创建活动图 错误!未定义书签。 2.4 创建系统的部署摸型 错误!未定义书签。 软件工程实验报告 4 1 需求分析 1.1 开发背景及意义 图书馆是一个专门收集、整理、保存、传播文献并提供利用的科学、文化、教育和 科研机构。现代社会,图书馆成为继续教育、 终身教育的基地, 担负了更多的教育职能。 传递科学情报,是现代图书馆的一个重要职能。图书馆收藏的图书资料,是人类长期积 累的一种智力资源,图书馆对这些资源的加工、处理,是对这种智力资源的开发。 图书馆主要是

5、用来学习的, 如果有人遇到问题, 他可以通过图书管的书籍来解决问 题。但是为了图书馆的正常运行和保护图书,图书馆管理系统将用户划分为三类人:借 阅者,图书管理员,系统管理员。 一个基本的图书馆管理,可以大致分为以下流程:用户登录进入系统,在系统允许 的情况下,进行可以进行的操作,如借书、还书和预定书籍等;管理员可以整理书籍和 管理预订的书籍等;系统管理员管理书目,管理借阅者信息等。 1.2 图书管理系统的需求分析 1.2.1 系统功能需求 (1)借阅者可以通过网络查询书籍信息、预约书籍和续借书籍。 (2)图书管理员作为借阅者的代理完成借阅图书、归还图书和查询借阅信息工作。 (3)系统管理员可以

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

7、的信息和借阅者的信息。 软件工程实验报告 5 图 1.1系统功能需求 1.2.2 基本数据维护模块 图 1.2 数据库管理模块 (1)添加借阅者信息:系统管理员可以添加借阅者帐户。 (2)修改更新借阅者信息:系统管理员可以修改更新借阅者信息。 (3)添加书目信息:系统管理员可以添加书目。 (4)修改更新书目信息:系统管理员可以修改和更新书目信息。 (5)添加书籍信息:系统管理员可以添加书籍。 (6)删除书籍信息:系统管理员可以删除书籍。 软件工程实验报告 6 1.2.3 基本业务模块 图 1.3基本业务模块 (1)还书:处理还书业务。 (2)借书:处理借书业务。 (3)书籍预订:借阅者可以通过

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

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

10、以看出,系统的参与者主要有3 类:读者(借阅者)、图书馆管理员、系 统管理员 (1)借阅者参与的用例图 借阅者请求服务的用例图包含如下用例。 图 2.1 借阅者的用例图 Search for book:书籍查询用例,借阅者通过网络查询自己想找的书籍的信息。 Reserve the book :书籍预订用例,借阅者预约已经被借出的书籍。 QueryInfo :查询借阅信息,借阅者查询自己所借书籍信息。 软件工程实验报告 9 Renew book :续借书籍用例,借阅者在无人预约该书的情况下,可续借该书。 CheckIsReserve:检查书籍是否已被预订。 Logon the system :登

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

12、下所示。 软件工程实验报告 10 图 2.3 系统管理员进行系统维护的用例图 查询借阅者信息:系统管理员可以查询借阅者的基本信息和借阅信息。 查询书籍信息:系统管理员可以查询书库里的书籍信息。 增加书目:系统管理员可以向书库中增加书目。 删除或更新书目:系统管理员可以从书库中删除和更新书目。 增加书籍:系统管理员可以向书库中增加书籍。 删除书籍:系统管理员可以从书库中删除书籍。 添加借阅者帐户:系统管理员可以向系统中添加借阅者帐户。 删除或更新借阅者帐户:系统管理员可以删除或更新借阅者帐户。 用例图说明 QueryBorrowerInfo:查询读者信息。 QueryBookInfo: 查询书籍

13、信息。 AddTitle:增加书目。 RemoveOrUpdateTitle: 删除或更新书目。 AddBook:增加书籍。 RemoveBook: 删除书籍。 AddBorrower: 添加借阅者帐户。 RemoveOrUpdateBorrower:删除或更新借阅者帐户信息。 2.2 系统的时序图 图书管理系统中的用例很多,所能画出的时序图也很多,在此不一一介绍。 (1)系统管理员添加书籍的时序图 软件工程实验报告 11 图 3.1 系统管理员添加书籍的时序图 时序图说明 addBook():添加书籍函数。 findTitle(): 根据书籍 ISBN 查找相应书目的函数。 添加书籍时,系统

14、管理员首先与系统的维护窗口交互,弹出AddBookDialog对话框,图书管理 员输入图书ISBN 号并提交,系统查询数据库是否存在与该图书对应的书目,若不存在,则提示管 理员需要先添加书目,然后才可以添加图书:若存在,则添加一个图书,并更新图书对应的书目信 息。 (2)系统管理员添加借阅者帐户的时序图 图 3.2 系统管理员添加借阅者帐户的时序图 时序图说明 findBorrower(): 查看输入的学号是否已经存在系统的函数。 newBorrower(): 添加新帐户的函数。 write(): 存储学生的信息。 系统管理员要添加新的借阅者帐户,首先要与维护窗口交互,维护窗口弹出AddBor

15、rowerDialog 对话框。系统管理员可以在该对话框中输入学生信息并保存,随后系统将对提交的学生信息进行验 证,查看输入的学号是否已经存在系统中,若不在, 则为学生创建一个帐户,并存储该学生的信息。 (3)系统管理员删除书目的时序图 软件工程实验报告 12 图 3.3 系统管理员删除书目的时序图 时序图说明 find(String): 书目类的查找函数。 find_on_title(Title): 查找此书目下书籍信息的函数。 destroy: 删除书籍信息的函数。 destroy: 删除书目信息的函数。 系统管理员与系统的维护窗口交互,查找到相应的书目,如果该书目下还有书籍的话,要先将

16、书籍删掉,才能删除书目。 (4)图书管理员处理书籍借阅的时序图 图 3.4 图书管理员处理书籍借阅的时序图 时序图说明 getBorrowerID(): 获取输入借阅者借书证号的函数。 findBorrower(): 验证借阅者合法性的函数。 inputBookID(): 获取输入的图书信息的函数。 findBook(): 验证图书合法性的函数。 newLoan():添加借阅图书记录的函数。 软件工程实验报告 13 addLoan():添加借阅记录的函数。 setLoan():设置图书借阅状态的函数。 图书管理员选择菜单项“借阅图书”,弹出BorrowDialog对话框,图书管理员在该对话框中

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

18、由系统查询数据库,以验证该图书是否为本馆藏书,若图书不合法,则提示图 书管理员;若合法,则由系统查找该图书的借阅者信息,然后删除相对应的借阅记录,并更新借阅 者信息。 (6)借阅者预订书籍的时序图 软件工程实验报告 14 图 3.6 借阅者预订书籍的时序图 时序图说明 Login(): 登录系统的函数。 findBook(): 查找相应书目的函数。 reserved():预订书籍的函数。 借阅者首先与系统的网络模块交互,如果找到要预订的书籍,就将预订信息添加进去。 2.3 系统的协作图: 2.4.1 系统管理员添加书籍的协作图 图 4.1 系统管理员添加书籍的协作图 协作图说明 addBook

19、():添加书籍函数。 findTitle(): 根据书籍 ISBN 查找相应书目的函数。 2.4.2 系统管理员删除书籍的协作图 软件工程实验报告 15 图 4.2 系统管理员删除书籍的协作图 协作图说明 remove_item(): 删除书籍的函数。 find(String): 根据书籍名查找相应书目的函数。 update():修改某类书目下书籍数量的函数。 2.4.3 图书管理员处理借书的协作图 图 4.3 图书管理员处理借书的协作图 协作图说明 getBorrowerID(): 获取输入借阅者借书证号的函数。 findBorrower(): 验证借阅者合法性的函数。 inputBookI

20、D(): 获取输入的图书信息的函数。 findBook(): 验证图书合法性的函数。 newLoan():添加借阅图书记录的函数。 addLoan():添加借阅记录的函数。 setLoan():设置图书借阅状态的函数。 check_if_max(): 检查借阅者所借书籍数目是否已经超过最大限额的函数。 2.4.4 图书管理员处理还书的协作图 软件工程实验报告 16 图 4.4 图书管理员处理还书的协作图 协作图说明 getLoan():查找图书的借阅记录。 getBorrower(): 查找借阅者借书记录的函数。 delete():删除借阅信息的函数。 setLoan():设置图书借阅状态的函

21、数。 delLoan():删除借阅者借阅信息的函数。 2.5 系统的状态图 : 书的状态图: 图 5.1 书的状态图 状态图说明 New Book: 还未入库的新书。 Delete:已经从书库里删除的书。 Available: 书籍处于可用状态,即可以外借的状态。 Reserved:预订状态。 软件工程实验报告 17 Borrowed: 借出状态。 书籍处于可用(Available)状态时可以外借,外借后变为借阅(Borrowed)状态。处于借阅状态 时可以预订或还书,超出预订时间期限则从预订状态直接转为可用状态。借阅者在规定的预订时间 内也可以考虑取消预订,取消预订后书籍的状态转为可用。外借

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

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

24、3 系统管理员的活动图 1)系统管理员维护借阅者帐户的活动图 软件工程实验报告 19 图 6.3 系统管理员维护借阅者帐户的活动图 2)系统管理员维护书目信息的活动图 图 6.4 系统管理员维护书目信息的活动图 3)系统管理员维护书籍信息的活动图 软件工程实验报告 20 4)系统管理员维护书籍信息的活动图 活动图说明 Login the system:登录系统。 Operation on borrower:对借阅者帐户操作。 Operation on title:对书目进行操作。 Operation on book:对书籍进行操作。 Query borrower info:查询借阅者信息。 N

25、ew Borrower:添加新的借阅者帐户。 Remove or update borrower: 删除或更新借阅者帐户。 Query title:查询书目信息。 New title:增加新的书目。 Remove or update title: 删除或更新书目。 ?Add book:增加书籍信息。 ?Remove book:删除书籍信息。 ?Exit the system:退出系统。 2.7 系统中的类 2.7.1 参与者相关的类 软件工程实验报告 21 系统中和参与者相关的类的类图如下: 图 7.1 参与者相关的类 类图说明 persistent类是所有类的父类,方法有read(从数据库中

26、读取对象的属性) 、write (将对象的属性保存到数据库中)以及update (更新数据库中保存的对象的属 性),delete (删除数据库保存的对象属性) 。 Borrowerclass类是借阅者类,除了继承父类的属性和方法,还包括stuID (学号) 、 name (姓名) 、dept(部门) 、borrowerID (借阅证号)、borrow_number(可借书籍总 数) 、和 loans (借阅记录)等属性。 Librarian类是图书管理员类,除了继承父类的属性和方法,还包括workID( 工作账 号) ,name (姓名)以及 address (地址) 。 Adminstrat

27、or是管理类。 2.7.2 各类之间的关系 类不是单独一个模块, 各个类之间是存在联系。 图书管理系统各个类之间的联系如下图: 软件工程实验报告 22 图 7.2 各类之间的关系 类图说明 类 Item 与类 Title之间存在“一对多”的关联关系,每个Title对象至少对应一 个 Item 对象,每个 Item 对象则只对应一个Title对象。类 Item 与类 Loan 之间存在关 联关系,每个 Item 对象最多只对应一个Loan 对象,每个 Loan对象则只记录了一本书 的借阅(因为一本书在一定时间段内,只能被一个人借阅,因此最多只能有一个借阅记 录) 。Borrowerclass与

28、Loan 之间存在一对多的关联关系,每个Borrowerclass对象对 应多个 Loan对象,而每个 Loan对象最多只对应一个Borrowerclass对象。 8 系统的组件图 图书管理系统的组件图主要有:业务对象组件图和用户界面组件图 业务对象组件图 系统建立在一个含有书目信息、书籍信息、借阅者信息、 借阅信息和书籍预订信息 的中央数据库上。 软件工程实验报告 23 图 8.1 用户界面组件图 除了业务对象以外,系统与用户交互的部件也能创建一个组件图。 图 8.2 系统与用户交互的部件创建的组件图 2.9 系统的配置图 配置图主要是用来说明如何配置系统的软件和硬件。系统由 5 个节点构成

29、, 应用服 务器负责整个系统的总体协调工作;数据库负责数据管理;Web应用程序模块用于借阅 者进行书籍查询、网上书籍预订;业务操作模块用于处理读者借书、还书等一般的业务 流程;信息维护模块用于系统管理员维护整个系统的数据信息,如添加和修改书目、添 加和修改借阅者帐户等。系统配置图如下图: 软件工程实验报告 24 图 9.1 系统的配置图 【小结】 在这次课程设计中,我对UML 的九种图有了更深刻的理解,明白了什么时候需要什么图, 这些图分别能表达的意思,及各图的优缺点。 对于建模过程中,遇到的问题通过询问辅导老师和上网查找资料,得到了比较满意的解决, 避免了自己的眼高手低,从实践中发现自己的不足,并及时改正。 对 Rational Rose的 UML 功能运用的更加系统,更加熟练;但是更让我明白,UML 的知识 是十分丰富的,我现在的认识还不够,我将会在以后的学习中,不断提高自己的UML 知识。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1