《图书馆管理系统UML模型.doc》由会员分享,可在线阅读,更多相关《图书馆管理系统UML模型.doc(29页珍藏版)》请在三一办公上搜索。
1、UML基础Rose建模教程大 作 业: 图书馆管理系统UML模型学校名称: 广西科技大学 学院名称: 计算机学院 班 级: 计Y111 姓 名: 王明东 学 号: * 指导教师: * 完成日期: 2013年12月20日 前言3一、系统的用例图41.借阅者请求服务的用例图42.图书管理员处理借书、还书等的用例图53.系统管理员进行系统维护的用例图6二、系统的时序图71.系统管理员添加书籍的时序图72.系统管理员添加借阅者账户的时序图83.系统管理员删除书目的时序图94.图书管理员处理书籍借阅的时序图105.图书管理员处理书籍归还的时序图116.借阅者查询书籍信息的时序图127.借阅者预订书籍的时
2、序图13三、系统的协作图141.系统管理员添加书籍的协作图142.系统管理员删除书籍的协作图153.图书管理员处理借书的协作图164.图书管理员处理还书的协作图175.借阅者预定书籍的协作图18四、系统的状态图191.书的状态图192.借阅者账户的状态图20五、系统的活动图211.借阅者的活动图212.图书馆管理员的活动图223.系统管理员的活动图23(1)系统管理员维护借阅者账户的活动图23(2)系统管理员维护书目信息的活动图24(3)系统管理员维护书籍信息的活动图25六、系统的类图261.参与者相关的类272.系统中用到的其他类283.各类之间的关系29七、系统的组件图301.业务对象的组
3、件图302.用户界面组件图30八、系统的配置图31九、心得体会32前言UML(Unified Modeling Language),即统一建模语言,是一种面向对象的建模语言。它的主要作用是帮助用户对软件系统进行面向对象的描述和建模(建模是通过将用户的业务需求映射为代码,保证代码满足这些需求,并能方便地追溯需求的过程),它可以描述这个软件开发过程从需求分析直至实现和测试的全过程。UML 通过建立各种联系,如类与类之间的关系、类/ 对象怎样相互配合实现系统的行为状态等,来组建整个结构模型。UML提供了各种图形,比如用例图、时序图、类图、协作图和状态图等,来把这些模型元素及其他关系可视化,让人们可以
4、清楚容易地理解模型,并从多个视角来考察模型,从而更加全面地了解模型,这样同一个模型元素可能会出现在多个UML 图中,不过都保持相同意义和符号。一、系统的用例图用例图在需求分析阶段有很重要的作用,它是作为参与者的外部用户所能观察的系统功能的模型图。整个开发过程都是围绕需求阶段的用例图进行的。1.借阅者请求服务的用例图用例图说明:(1) Search for Book:书籍查询用例。(2) Reserve the book:书籍预订用例。(3) Login the system:登录系统。用户可以登录系统以便进行借阅信息查询以及预订书籍等操作。(4) Query Info:查询借阅者信息。(5)
5、Borrow the book:借阅书籍。(6) Return the book::归还书籍。(7) Return With Fine:还书是交纳罚金。如果借阅所借书籍超过借阅期未还,还书的时候就要交纳一定的罚金。2.图书管理员处理借书、还书等的用例图用例图说明:(1) Get book:书籍归还处理。(2) Lend book:书籍借阅处理。(3) Remove Reservation:删除书籍预订信息。(4) Get With Fine:还书是收取罚金。(5) Check user count:检查用户借阅凭证的合法性。图书管理员在借阅者借书的时候要检查用户借阅凭证的合法性。3.系统管理员
6、进行系统维护的用例图用例图说明:(1)Query Borrower Info:查询读者信息。(2)Query book Info:查询书籍信息。(3)Add Title:增加书目。(4)Remove or Update Title:删除或者更新书目。(5)Add Book:增加书籍。(6)Remove Book:删除书籍。(7)Add Borrower:添加借阅者账户。(8)Remove or Update Borrower:删除或更新借阅者账户信息。二、系统的时序图时序图按时间顺序描述系统元素之间的交互。1.系统管理员添加书籍的时序图时序图说明:(1) add item():添加书籍函数。(
7、2) find(String):根据书籍查找相应书目的函数。(3) create(integer,Title):修改书籍数目的函数。添加书籍时,系统管理员首先与系统的维护窗口交互,查找有没有相应的书目信息。如果有,直接添加,如果没有,要创建新的书目。2.系统管理员添加借阅者账户的时序图时序图说明:create(String,String):添加新的借阅者账户的函数。系统管理员要添加新的借阅者账户,首先要与维护窗口交互,维护窗口负责创建一个新的借阅者账户。3.系统管理员删除书目的时序图时序图说明:(1) find(String):书目类的查找函数。(2) Find_on_title(Title)
8、:查找此书目下书籍信息的函数。(3) destroy:删除书籍信息的函数。(4) destroy:删除书目信息的函数。系统管理员与系统的维护窗口交互,查找到相应的书目及书籍信息并删除掉。4.图书管理员处理书籍借阅的时序图时序图说明:(1) find(String):查找书目的函数。(2) find_item:查找索要书籍的函数。(3) find_on_title(Title):根据书目名从数据库中找到书目信息的函数。(4) identify_borrower():验证借阅者身份的函数。(5) find(String):根据借阅者的登录账号找到借阅者信息的函数。(6) create(Borrow
9、er,item):修改借阅信息的函数。系统管理员首先与系统的借阅窗口交互,然后借阅窗口与书目和书籍信息交互,查看要借阅的书籍是否可用。如果可用,要验证借阅者借书凭证的有效性,如果有效,则将新的借阅者信息存入数据库。5.图书管理员处理书籍归还的时序图时序图说明:(1) check():检查书籍状况的函数。(2) update():更新书籍类信息的函数。(3) update():更新借阅者借阅信息的函数。图书管理员处理还书时,首先从借阅者手里接过书籍,然后与还书窗口交互,还书窗口负责检查书籍状况,然后更新书籍信息和读者的借阅信息。6.借阅者查询书籍信息的时序图时序图说明:find_on_title
10、():根据书目查找到相应的书籍信息。7.借阅者预订书籍的时序图时序图说明:(1) Login:登录系统的函数。(2) find(String):查找相应书目的函数。(3) reserve():预订书籍的函数。借阅者首先与系统的网络模块交互,如果找到要预订的书籍,就将预订信息添加进去。三、系统的协作图协作图用来表现系统的对象间的另一种交互,即时间和空间顺序上的交互。虽然和时序图表现交互的方式不同,但系统的时序图和协作图一般描述相同的内容。1.系统管理员添加书籍的协作图协作图说明:(1) add Item():添加书籍的函数。(2) find(String):根据书籍名查找相应书目的函数。(3)
11、update():修改某类书目下书籍数量的函数。2.系统管理员删除书籍的协作图协作图说明:(1) remove_item():删除书籍的函数。(2) find(String):根据书籍名查找相应书目的函数。(3) update():修改某书目下书籍数量的函数。3.图书管理员处理借书的协作图协作图说明:(1) identify_borrower():验证借阅者身份的函数。(2) find_reservation():查找预订信息的函数。(3) find(Borrower,Title):根据借阅者和借阅的书籍名找到相应预订信息的函数。(4) borrow():处理借书的函数。(5) update(
12、):更新某一书目下书籍数量的函数。(6) check_if_max():检查借阅者凭证所借书籍数目是否已经超过最大限额的函数。4.图书管理员处理还书的协作图协作图说明:(1) find_borrower():查找借阅者信息的函数。(2) find(String):根据借阅者查找借阅信息的函数。(3) return_back():处理还书的函数。(4) update():更新书籍数目的函数。5.借阅者预定书籍的协作图协作图说明:(1) identify_borrower():验证借阅者身份的函数。(2) find(String):根据书籍名称查找书目信息的函数。(3) reserve():预订某
13、一书目下的书籍的函数。(4) create(Title,Borrower):修改预订信息的函数。四、系统的状态图在图书馆管理系统中,有明确状态转换的类有:书籍和借阅者的账户(相当于包含特定个人信息的电子借阅证)。可以在系统中为这两类事物建立状态图。1.书的状态图状态图说明:(1) New book:还没入库的新书。(2) Delete:已经从书库里删除的书。(3) Available:书籍处于可用状态,即可以外借的状态。(4) Reserved:预订状态。(5) Borrowed:借出状态。书籍处于可用(Available)状态时既可以预订也可以外借,外借后变成为借阅(Borrower)状态。
14、处于预订(Reserved)状态时也可以外借,超出预订时间期限则从预订状态直接转为可用状态。借阅者在规定的预订时间内也可以考虑取消预订,取消预订后书籍的状态转为可用。外借书籍归还后变为可用状态。2.借阅者账户的状态图状态图说明:(1) New Borrower:新加入的借阅者账户。(2) Account Available:借阅账户为可用状态,即未达到所规定的书籍借阅书目上限。(3) Account Unavailable:借阅账户为不可用状态,即所借书籍数量已达规定的书籍借阅数目上限,不能在借阅书籍了。(4) Delete Account:个人账户被删除状态。借阅者的账户刚被管理员加入时处于
15、新账户(New Borrower)状态,当管理员添加借阅权限后就变为可用(Account Available),当所借书籍数达到规定的书籍借阅数目上限时,变为不可用(Account Unavailable)状态,当账户被系统管理员删除后,变为删除(Delete)状态。五、系统的活动图活动图描述活动是如何协同工作的。当一个操作必须完成一一系列事情,而又无法确定以什么样的顺序来完成这些事情时,活动图可以更清晰地描述这些事情。1.借阅者的活动图活动图说明:(1) Self-help Service:打开图书馆负责自助服务的计算机。(2) Search for books:查询需要的书籍。(3) Lo
16、gin:登录管理系统。(4) View book information:查看书籍信息。(5) Reserve the book:预订书籍。(6) Exit System:退出系统。(7) Leave Computer:离开自助服务的计算机。借阅者进行自助服务事,可以首先登录系统,然后进行书目查询、书籍信息查询、书籍预订等活动,也可以先查询书目和书籍信息后登录系统进行预订。2.图书馆管理员的活动图活动图说明:(1) login the system:图书管理员登录系统。(2) Get book:处理还书操作。(3) Lend book:处理借书操作。Update borrowers infor
17、mation:更新借阅者凭证上的信息。(4) Accept money:收取罚金。图书管理员可以处理两种情况,借书操作和还操作。当用户借书时,图书管理员要查看借阅者借书凭证上显示的可借的数目是否满足要求;当用户还书时,图书管理员要检查所借书籍是否超过期限,如果超期,要收取一定的罚金。3.系统管理员的活动图系统管理员要处理的内容比较多,活动图也比较大,所以将其分为3个图进行说明。(1)系统管理员维护借阅者账户的活动图系统管理员登录系统后,可以进行查询借阅者信息、添加借阅者账户、删除或更新借阅者账户等活动。(2)系统管理员维护书目信息的活动图系统管理员登录系统后,可以进行查询书目信息、添加书目、删
18、除或更新书目等活动。(3)系统管理员维护书籍信息的活动图活动图说明:(1) Login the system:登录系统。(2) Operation on borrower:对借阅者账户操作。(3) Operation on title:对书目进行操作。(4) Operation on book:对书籍进行操作。(5) Query borrower info:查询借阅者信息。(6) New borrower:添加新的借阅者账户。(7) Remove or Update borrower:删除或更新借阅者账户。(8) Query title:查询书目信息。(9) New title:增加新的书目。
19、(10) Remove or update title:删除或更新书目。(11) Add book:增加书籍信息。(12) Remove book:删除书籍。(13) Exit the system:退出系统。六、系统的类图在图书馆管理系统中用到的主要类有7个:Item,Title,Loan,Reservation,Borrower,Administrator和Librarian,前5个类之间有一定的关系。1.参与者相关的类类图说明:(1) Borrower 类是借阅者的类,它的属性很多,包括借阅者的账户ID(UserID)、姓名(Name)、地址(Address)、邮编(Zip)、所借书籍的
20、书目(borrow_numebr)等。其中主要操作有借书(borrow)和还书(return_back)。(2) Librarian 类是图书管理员的类,包括工作账号(WorkID)、名字(Name)和地址(Address)等属性。(3) Administrator 类是系统管理员类。2.系统中用到的其他类类图说明:(1)Title 类是记录书目信息的类,包括书籍的名字(name)、作者(author)、ISBN、此种书籍的总数量(total_number)、借出去的数量(borrowed_number),是否允许借出去(isAllowForBorrow)等。(2)Item类是具体某本书的类,
21、包括书籍号(id)。操作包括预订(reserve)、按书目查找(find_on_title)等。(3)Loan类是某本书的借阅信息类,包括所借阅书籍的ISBN、借阅的时间(date)等。(4)Reservation类是预订信息类,每个预订信息包括预订日期(date)、所预订书籍的ISBN、预订书籍的用户ID(UserID)等属性。3.各类之间的关系类图说明:Title类是书库里的一条记录,而Item类则指具体的书籍。现实世界里,每条记录都会有多本书存在,所以说Title与Item之间是一对多的关系;Title与Reservation之间也是一对多的关系,也就是说Title可以有多个预订记录,但
22、是也可以没有预订记录。Item与Reservation之间是一对一的关系,不可能存在同一本书被两个人预订的情况;Borrower与Loan以及Borrower与Reservation之间是一对多的关系。七、系统的组件图图书馆管理系统中主要有两个组件图:业务对象组件图和用户界面组件图。1.业务对象的组件图2.用户界面组件图八、系统的配置图配置图主要是用来如何配置系统的软件和硬件。系统由5个节点构成,应用服务器负责整个系统的总体协调工作;数据库负责数据管理;Web应用程序模块用于借阅者进行书籍查询、网上书籍预订;业务操作模块用于处理读者借书、还书等一般的业务流程;信息维护模块用于系统管理员维护整个
23、系统的数据信息,如添加和修改书目、天津和修改借阅者账户等。九、心得体会通过这次课程大作业,我学到了很多,也增加了动手能力,对书本的知识有更深层次的了解,初步对UML建模有系统的的了解,掌握UML的设计流程和相关图像的画法。软件建模在软件开发中有很重要的地位,我们在设计的时候要考虑到很多方面,尽可能的做到详细,后面才方便开发。在这个图书馆管理系统中,感觉最难的是就是画协作图和时序图,刚开始弄错了,搞了很久,查了资料才弄明白,协作图的重点是将对象的交互映射到它们之间的链上,但是时序图却不把链表示出来。时序图可以描述对象和撤销的情况,而在协作图中,对象要么存在,要么就不存在。通过这次的大作业,对StarUML有了更深的了解,用起来也顺手多了,重要的是在实践中增加了自己的能力,开阔了我的眼界。