《软件工程图书管理系统.doc》由会员分享,可在线阅读,更多相关《软件工程图书管理系统.doc(28页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、. .软件工程实验报告 题 目: 图书管理系统 班级:XX:学号:2021250 班级:XX: 学号:2021250 班级:XX: 学号:2021250 完成日期:2021年12月 15日摘 要 随着知识化和信息化新经济时代的到来,作为信息技术龙头的计算机及软件技术突飞猛进,UML成为一种不可或缺的工具。UML是一种定义良好、易于表达、功能强大且普遍适用的建模语言。它溶入了软件工程领域的新思想、新法和新技术。它的作用域不限于支持面向对象的分析与设计,还支持从需求分析开场的软件开发的全过程。用现有的知识,按照软件工程思想和系统的开发步骤,以图书管理的应用需求为背景,分析设计了图书管理系统,并利用
2、Rational Rose对系统进展建模,完成用例图和类图的构建,为后期的程序设计提供标准。 根据建模需求分析,总结出本系统的参与者有借阅者和图书管理员两类。根据其职能不同,借阅者只能使用该系统借书、预订书刊以及还书。图书管理员那么可使用系统进展图书馆业务的管理工作,如借阅者,书刊等的信息维护。系统可实现书籍信息的添加、修改、删除等功能,这就保证了数据库信息的一致性和统一性、平安性。该系统以面向对象理论和数据库管理信息系统开发相关知识为依据,介绍了设计开发中的模块设计和数据与程序的连接,使SQL server 2021与 Visual Studio 2021得到了有效的结合。关键词:图书管理系
3、统;UML;Rational Rose;面向对象目 录目录摘 要2目 录31 需求分析41.1 开发背景及意义41.2 图书管理系统的需求分析41.2.1系统功能需求41.2.2根本数据维护模块51.2.3根本业务模块61.2.4数据库模块61.2.5信息查询模块72 系统建模82.1 创立系统用例模型82.1.1 确定参与者81 需求分析1.1 开发背景及意义图书馆是一个专门收集、整理、保存、传播文献并提供利用的科学、文化、教育和科研机构。现代社会,图书馆成为继续教育、终身教育的基地,担负了更多的教育职能。传递科学情报,是现代图书馆的一个重要职能。图书馆收藏的图书资料,是人类长期积累的一种智
4、力资源,图书馆对这些资源的加工、处理,是对这种智力资源的开发。 图书馆主要是用来学习的,如果有人遇到问题,他可以通过图书管的书籍来解决问题。但是为了图书馆的正常运行和保护图书,图书馆管理系统将用户划分为三类人:借阅者,图书管理员,系统管理员。一个根本的图书馆管理,可以大致分为以下流程:用户登录进入系统,在系统允的情况下,进展可以进展的操作,如借书、还书和预定书籍等;管理员可以整理书籍和管理预订的书籍等;系统管理员管理书目,管理借阅者信息等。1.2 图书管理系统的需求分析1.2.1系统功能需求1借阅者可以通过网络查询书籍信息、预约书籍和续借书籍。2图书管理员作为借阅者的代理完成借阅图书、归还图书
5、和查询借阅信息工作。3系统管理员可以对系统的数据进展维护,如增加、删除和更新书目,增加、删除和更新借阅者XX,增加和删除书籍。满足上述需求的系统主要包括下面几个模块:1根本数据维护模块:提供使用者录入、修改并维护根本数据的途径。例如对借阅者的书籍的各项信息的更新与修改。2根本业务模块:主要用于实现用户借书与还书的管理,例如借阅者可以登录系统预订书籍,图书管理员可以取消书籍的预订,当然还可以进展借书、还书等操作。3数据库管理模块:在系统中,所有书籍的信息以及借阅者的XX信息都要统一管理,书籍的借阅情况、预订情况也要进展详细的记录,所以要用统一的数据库平台进展管理。4信息查询模块:主要用于查询书籍
6、的信息和借阅者的信息。图 1.1系统功能需求1.2.2根本数据维护模块图 1.2数据库管理模块1添加借阅者信息:系统管理员可以添加借阅者XX。2修改更新借阅者信息:系统管理员可以修改更新借阅者信息。3添加书目信息:系统管理员可以添加书目。4修改更新书目信息:系统管理员可以修改和更新书目信息。5添加书籍信息:系统管理员可以添加书籍。6删除书籍信息:系统管理员可以删除书籍。1.2.3根本业务模块图 1.3根本业务模块1还书:处理还书业务。2借书:处理借书业务。3书籍预订:借阅者可以通过网络进展书籍预订。4取消书籍预订:图书馆管理员可以根据情况取消书籍预订,如果借阅者已经借了此书或者借阅者要求取消预
7、订都涉及此项业务。5续借书籍:借阅者可以通过网络续借已经的书籍。1.2.4数据库模块图 1.4信息查询模块功能1借阅者信息管理:书籍借阅信息包括所借书的书名、ISBN以及借书的时间,续借次数等。2书籍信息管理:书籍信息包括书籍的名字、ISBN、作者、入库时间以及书籍在相应书目下的编号等。3XX信息管理:XX信息包括借阅者的XXID、XX、学号、院系、班级和所借书籍的总数等。4书籍预订信息管理:负责管理书籍预订信息。1.2.5信息查询模块图 1.5信息查询模块功能1查询书籍信息:负责书籍信息的查询。2查询借阅者信息:负责借阅者信息的查询。2 系统建模2.1 创立系统用例模型2.1.1 确定参与者
8、 作为一个图书馆管理系统,首先需要读者的参与,读者可以登录系统查询所需要的书籍,查到所需书籍后可以考虑预订,也可以续借已借的图书。 对于系统来说,读者借书、还书等操作是由图书馆管理员来处理的,他们还可以负责图书的预订和预订取消。 对于图书馆管理系统来说,系统的维护也是相当重要的。维护操作主要包括增加书目,删除或更新书目,增加书籍和减少书籍等操作。由以上分析可以看出,系统的参与者主要有3类:读者借阅者、图书馆管理员、系统管理员1借阅者参与的用例图借阅者请求效劳的用例图包含如下用例。图1.1 借阅者的用例图Search for book:书籍查询用例,借阅者通过网络查询自己想找的书籍的信息。Res
9、erve the book:书籍预订用例,借阅者预约已经被借出的书籍。QueryInfo:查询借阅信息,借阅者查询自己所借书籍信息。Renew book:续借书籍用例,借阅者在无人预约该书的情况下,可续借该书。CheckIsReserve:检查书籍是否已被预订。Logon the system:登录系统。2图书馆管理员处理借书、还书等的用例图图书馆管理员处理借书、还书等的用例图如以下图所示。图1.2 图书馆管理员处理借书、还书等的用例图用例图说明 Login:图书馆管理员登录系统。 ReturnBook:书籍归还处理。 GetWithFine:还书时收取罚金。 ProcessOverTime:
10、该用例检查每个借阅者是否有超期的借阅信息。 DisplayLoanInfo:用于显示某借阅者的所有借阅信息。 ReturnBook:完成还书处理。 RemoveReservation:删除书籍预订信息。3系统管理员进展系统维护的用例图系统管理员进展系统维护的用例图如下所示。图1.3 系统管理员进展系统维护的用例图 查询借阅者信息:系统管理员可以查询借阅者的根本信息和借阅信息。 查询书籍信息:系统管理员可以查询书库里的书籍信息。 增加书目:系统管理员可以向书库中增加书目。 删除或更新书目:系统管理员可以从书库中删除和更新书目。 增加书籍:系统管理员可以向书库中增加书籍。 删除书籍:系统管理员可以
11、从书库中删除书籍。 添加借阅者XX:系统管理员可以向系统中添加借阅者XX。 删除或更新借阅者XX:系统管理员可以删除或更新借阅者XX。用例图说明 QueryBorrowerInfo:查询读者信息。 QueryBookInfo:查询书籍信息。 AddTitle:增加书目。 RemoveOrUpdateTitle:删除或更新书目。 AddBook:增加书籍。 RemoveBook:删除书籍。 AddBorrower:添加借阅者XX。 RemoveOrUpdateBorrower:删除或更新借阅者XX信息。2.2系统的时序图图书管理系统中的用例很多,所能画出的时序图也很多,在此不一一介绍。1系统管理
12、员添加书籍的时序图图 2.1 系统管理员添加书籍的时序图时序图说明 addBook():添加书籍函数。 findTitle():根据书籍ISBN查找相应书目的函数。添加书籍时,系统管理员首先与系统的维护窗口交互,弹出AddBookDialog对话框,图书管理员输入图书ISBN号并提交,系统查询数据库是否存在与该图书对应的书目,假设不存在,那么提示管理员需要先添加书目,然后才可以添加图书:假设存在,那么添加一个图书,并更新图书对应的书目信息。2系统管理员添加借阅者XX的时序图图 2.2 系统管理员添加借阅者XX的时序图时序图说明 findBorrower():查看输入的学号是否已经存在系统的函数
13、。 newBorrower():添加新XX的函数。 write():存储学生的信息。系统管理员要添加新的借阅者XX,首先要与维护窗口交互,维护窗口弹出AddBorrowerDialog对话框。系统管理员可以在该对话框中输入学生信息并保存,随后系统将对提交的学生信息进展验证,查看输入的学号是否已经存在系统中,假设不在,那么为学生创立一个XX,并存储该学生的信息。3系统管理员删除书目的时序图图 2.3 系统管理员删除书目的时序图时序图说明find(String):书目类的查找函数。find_on_title(Title):查找此书目下书籍信息的函数。destroy: 删除书籍信息的函数。destr
14、oy: 删除书目信息的函数。系统管理员与系统的维护窗口交互,查找到相应的书目,如果该书目下还有书籍的话,要先将书籍删掉,才能删除书目。4图书管理员处理书籍借阅的时序图图 2.4 图书管理员处理书籍借阅的时序图时序图说明 getBorrowerID():获取输入借阅者借书证号的函数。 findBorrower():验证借阅者合法性的函数。 inputBookID(): 获取输入的图书信息的函数。 findBook(): 验证图书合法性的函数。 newLoan():添加借阅图书记录的函数。 addLoan():添加借阅记录的函数。 setLoan():设置图书借阅状态的函数。图书管理员选择菜单项“
15、借阅图书,弹出BorrowDialog对话框,图书管理员在该对话框中输入借阅者信息,然后由系统查询数据库,以验证该借阅者的合法性,假设借阅者合法,那么再由图书管理员输入所要借阅的图书信息,系统记录并保存该借阅信息。5图书管理员处理书籍归还的时序图图 2.5 图书管理员处理书籍归还的时序图时序图说明 getLoan():查找图书的借阅状态。 getBorrower():查找借阅者借书记录的函数。 delete():删除借阅信息的函数。 setLoan():设置图书借阅状态的函数。 delLoan():删除借阅者借阅信息的函数。图书管理员选择菜单项“归还图书,弹出ReturnDialog对话框,图
16、书管理员在该对话框中输入归还图书编号,然后由系统查询数据库,以验证该图书是否为本馆藏书,假设图书不合法,那么提示图书管理员;假设合法,那么由系统查找该图书的借阅者信息,然后删除相对应的借阅记录,并更新借阅者信息。6借阅者预订书籍的时序图图 2.6 借阅者预订书籍的时序图时序图说明Login():登录系统的函数。findBook():查找相应书目的函数。reserved():预订书籍的函数。借阅者首先与系统的网络模块交互,如果找到要预订的书籍,就将预订信息添加进去。2.3系统的协作图:2.3.1系统管理员添加书籍的协作图图 3.1系统管理员添加书籍的协作图协作图说明 addBook():添加书籍
17、函数。 findTitle():根据书籍ISBN查找相应书目的函数。2.3.2系统管理员删除书籍的协作图图 3.2 系统管理员删除书籍的协作图协作图说明remove_item():删除书籍的函数。find(String):根据书籍名查找相应书目的函数。update():修改某类书目下书籍数量的函数。2.3.3图书管理员处理借书的协作图图 3.3 图书管理员处理借书的协作图协作图说明 getBorrowerID():获取输入借阅者借书证号的函数。 findBorrower():验证借阅者合法性的函数。 inputBookID(): 获取输入的图书信息的函数。 findBook(): 验证图书合法
18、性的函数。 newLoan():添加借阅图书记录的函数。 addLoan():添加借阅记录的函数。 setLoan():设置图书借阅状态的函数。 check_if_max():检查借阅者所借书籍数目是否已经超过最大限额的函数。2.3.4图书管理员处理还书的协作图图 3.4 图书管理员处理还书的协作图协作图说明 getLoan():查找图书的借阅记录。 getBorrower():查找借阅者借书记录的函数。 delete():删除借阅信息的函数。 setLoan():设置图书借阅状态的函数。 delLoan():删除借阅者借阅信息的函数。2.4系统的状态图: 书的状态图:图 4.1书的状态图状态
19、图说明 New Book:还未入库的新书。 Delete:已经从书库里删除的书。 Available:书籍处于可用状态,即可以外借的状态。 Reserved:预订状态。 Borrowed:借出状态。书籍处于可用Available状态时可以外借,外借后变为借阅Borrowed状态。处于借阅状态时可以预订或还书,超出预订时间期限那么从预订状态直接转为可用状态。借阅者在规定的预订时间也可以考虑取消预订,取消预订后书籍的状态转为可用。外借书籍归还后变为可用状态。2.5系统的活动图:2.5.1借阅者的活动图图 5.1 借阅者的活动图活动图说明Self-Help Service:翻开图书馆的。Search
20、 for books:查询需要的书籍。Login:登录图书管理系统。View book information:查看借阅信息。 Reserve the book:预订书籍。Eixt System:退出系统。Leave puter:离开自助效劳的计算机。借阅者进展自助效劳时,可以首先登录系统,然后进展书目查询、书籍信息查询、书籍预订等活动,也可以先查询书目和书籍信息后登录系统预订书籍或查询自己借阅信息。2.5.2图书管理员的活动图图 5.2 图书管理员的活动图活动图说明Login the system:图书管理员登录系统。Get book:处理还书操作。Lend book:处理借书操作。Upda
21、te borrowers information:更新借阅者借阅凭证上的信息。Accept money:收取罚金。图书管理员可以处理两种情况,借书操作和还书操作。当用户借书时,图书管理员要查看借阅者借书凭证上显示的可借书数目是否满足要求;当用户还书时,图书管理员要检查所借书籍是否已经超过期限,如果超期,要收取一定的罚金。2.5.3系统管理员的活动图1) 系统管理员维护借阅者XX的活动图图 5.3 系统管理员维护借阅者XX的活动图2) 系统管理员维护书目信息的活动图图 5.4 系统管理员维护书目信息的活动图3) 系统管理员维护书籍信息的活动图4) 系统管理员维护书籍信息的活动图活动图说明 Log
22、in the system:登录系统。 Operation on borrower:对借阅者XX操作。 Operation on title:对书目进展操作。 Operation on book:对书籍进展操作。 Query borrower info:查询借阅者信息。 New Borrower:添加新的借阅者XX。 Remove or update borrower:删除或更新借阅者XX。 Query title:查询书目信息。 New title:增加新的书目。 Remove or update title:删除或更新书目。 Add book:增加书籍信息。 Remove book:删除书
23、籍信息。 Exit the system:退出系统。2.6系统中的类2.6.1参与者相关的类系统中和参与者相关的类的类图如下:图 6.1 参与者相关的类类图说明persistent类是所有类的父类,法有read从数据库中读取对象的属性、write将对象的属性保存到数据库中以及update更新数据库中保存的对象的属性,delete删除数据库保存的对象属性。Borrowerclass类是借阅者类, 除了继承父类的属性和法,还包括stuID学号、nameXX、dept部门、borrowerID借阅证号、borrow_number可借书籍总数、和loans借阅记录等属性。Librarian类是图书管理
24、员类,除了继承父类的属性和法,还包括workID(工作账号),nameXX以及address地址。Adminstrator是管理类。2.6.2各类之间的关系类不是单独一个模块,各个类之间是存在联系。图书管理系统各个类之间的联系如以下图:图 6.2 各类之间的关系类图说明类Item与类Title之间存在“一对多的关联关系,每个Title对象至少对应一个Item对象,每个Item对象那么只对应一个Title对象。类Item与类Loan之间存在关联关系,每个Item对象最多只对应一个Loan对象,每个Loan对象那么只记录了一本书的借阅因为一本书在一定时间段,只能被一个人借阅,因此最多只能有一个借阅
25、记录。Borrowerclass与Loan之间存在一对多的关联关系,每个Borrowerclass对象对应多个Loan对象,而每个Loan对象最多只对应一个Borrowerclass对象。2.7 系统的组件图图书管理系统的组件图主要有:业务对象组件图和用户界面组件图业务对象组件图系统建立在一个含有书目信息、书籍信息、借阅者信息、借阅信息和书籍预订信息的中央数据库上。图7.1用户界面组件图除了业务对象以外,系统与用户交互的部件也能创立一个组件图。 图7.2系统与用户交互的部件创立的组件图2.8 系统的配置图配置图主要是用来说明如配置系统的软件和硬件。系统由5个节点构成,应用效劳器负责整个系统的总
26、体协调工作;数据库负责数据管理;Web应用程序模块用于借阅者进展书籍查询、网上书籍预订;业务操作模块用于处理读者借书、还书等一般的业务流程;信息维护模块用于系统管理员维护整个系统的数据信息,如添加和修改书目、添加和修改借阅者XX等。系统配置图如以下图:图 8.1 系统的配置图【小结】在这次课程设计中,我对UML的九种图有了更深刻的理解,明白了什么时候需要什么图,这些图分别能表达的意思,及各图的优缺点。对于建模过程中,遇到的问题通过询问辅导教师和上网查找资料,得到了比较满意的解决,防止了自己的眼高手低,从实践中发现自己的缺乏,并及时改正。对Rational Rose的UML功能运用的更加系统,更加熟练;但是更让我明白,UML的知识是十分丰富的,我现在的认识还不够,我将会在以后的学习中,不断提高自己的UML知识。. .word.zl.