您的当前位置:首页正文

图书管理系统(用例图、类图、时序图)

来源:爱站旅游
导读图书管理系统(用例图、类图、时序图)


软件系统分析与设计 实验报告 学 专 学 姓

院:计算机科学与技术学院 业:软件工程

号:********* 名:***

实验名称:图书管理系统用例建模 时

间:

一、 实验内容与要求

本实验要求学生对学校的图书馆管理系统进行需求分析,对系统功能进行用例建模,画出用例图,类图以及相应的时序图。在使用UML对系统建模时,学会使用UML建模工具,

熟悉工具中的功能。

二、用例分析

1 / 16

1、读者“ 借书还书系统\" 用例图

1.1、 行为者:

主要行为者:读者。

1.2、 前置条件:

读者进入图书管理系统.

1.3、 事件流:

1。3.1、主要事件流:

1。3。1。1:读者检索所需图书信息,并查看;

1.3.1。2:读者检索到所需图书,登录系统,开始借书;

1。3。1。3:系统查询图书信息,图书数目是否可借;

1。3.1.3.1:图书显示可借,借书成功;

1.3.1.3.2:图书显示不可借,借书失败;

1.3。1。4:进入续借图书界面,续借图书;

2 / 16

1.3。1.5:系统查看预约记录,

1。3.1。5。1:没有冲突,续借成功;

1。3.1。5。2:有冲突,续借失败;1。3.3.1:

1。3。1。6:读者归还图书;

1。3。1。6.1:归还时间没有逾期,归还成功;

1。3。1.5.2:归还时间逾期,逾期处罚,归还成功;

1.3.2、备选事件流:

1.3.2。1:图书检索信息失败,未检索到图书,重新输入信息检索;

1。3.2.2:未曾检索到用户检索的图书,系统显示相关联的信息的图书;

1.3。2。3:用户名或密码输入错误,登录系统失败,重新输入用户名或密码登录;

1.3。2.4:系统显示图书不可借后,进入图书预约界面,输入信息预约图书;

1.3。3、异常事件流:

1。3.3.1:读者登录系统失败,未曾注册用户;

3 / 16

1.3。3.1。1:返回系统注册用户后,重新登录。

1.4、 后置条件:退出系统。

1.5、 扩展点:无.

2、“图书信息管理系统\"用例图

2.1、行为者:

主要行为者:管理员;

2.2、前置条件:管理员打开图书信息管理系统;

2.3、事件流:

2。3.1:主要事件流:

2.3。1.1:图书管理员输入管理员登录信息,登录系统;

2.3.1.2:进入图书信息管理界面,查看已有图书信息,是否有需要购入图书;

2.3.1.2。1:录入新购进图书信息,并确认;

2。3.1。3:进入读者信息管理界面,管理已有用户信息;

4 / 16

2。3.1。4:进入信息通知界面,查看已有用户图书借阅、预约情况;

2.3。1.4。1:查看读者所预约图书,自动查询图书信息,确认是否已有可借图书,有则通知读者;

2。3.1.4。2:查询读者已借图书信息,根据已借时间及归还时间分类;

2.3。1.4。2。1:所借图书即将逾期,启动系统提醒功能;

2。3.1.4。2。2:所借图书已经逾期,启动逾期及处罚通知功能;

2.3。2:备选事件流:

2。3。2。1:管理员用户名或登录名错误,重新登录;

2.3。2。2:需要购进新图书,存储信息,通知相关人员;

2.3。2.3:读者预约图书没有可借图书,不予通知;

2。3。2.4:预约通知提醒后,删除该预约记录;

2。3.2.5:读者所借图书距离归还时间仍很久,无需通知;

2.3.3:异常事件流:

2.3.3.1:登录失败超过一定次数后,系统冻结该用户名,一段时间后可以重用;

5 / 16

2.4、后置条件:退出系统;

2.5、扩展点:无。

三、“图书管理系统”类图及关系

1、 阅读者信息类:

1。1、类名:阅读者信息〈<父类〉>;

1。2、属性名:

1。2.1、private: ID〈<阅读者证件号>〉1.3、方法:未定。

2、 读者类:

2.1、类名:读者〈<子类>>;

2.2、属性名:

1.2.1、private:ID<<阅读者证件号>> 2。3、方法:未定.

6 / 16

类型:String;类型:String;

3、 管理员类:

3.1、类名:管理员〈〈子类>>

3。2、属性名:

1。2.1、private: ID<〈阅读者证件号〉> 3.3、方法:未定。

4、 Book类:

4.1、类名:book

4.2、属性名:

4.2.1、private: 书号〈<图书编号〉〉 4.2.2、private: 书名〈<图书名>〉 4.2.3、private: 出版号〈<图书出版编号〉〉 4.2。4、private: 出版社名<〈图书出版社名〉〉4。2.5、private: 作者〈<图书作者姓名>> 7 / 16 类型:String;类型:String;类型:String;

类型:String;

类型:String;类型:String;

4。3、方法:未定。

5、 Copy_book类:

5。1、类名:copy_book;

5.2、属性名:

5.2。1、private: 书号<<图书编号〉> 5。2.2、private: 书名<〈图书名〉> 5。2。3、private: 出版号<〈图书出版编号>〉 5。2。4、private: 出版社名〈〈图书出版社名〉〉5.2。5、private: 作者〈<图书作者姓名>> 5.2。6、private:count〈<图书数量>> 5.3、方法:未定.

6、 借还书记录类<〈关联类〉>:

6。1、类名:借还书记录;

8 / 16 类型:String;

类型:String; 类型:String;

类型:String;

类型:String;

类型:String;

6。2、属性名:

6.2。1、private: 书号<<图书编号〉> 类型:String;

6。2。2、private: 书名<〈图书名>〉 类型:String;

6。2。3、private:读者姓名<<>> 类型:String;

6.2。4、private: 出版社名<<图书出版社名〉> 类型:String;

6.2。5、private: 作者<<图书作者姓名〉〉 类型:String;

6。2.6、private:borrowdate〈<所借图书日期〉〉 类型:Date;

6。2.7、private:due_Date<〈图书应还日期〉> 类型:Date;

6。2。8、private:real_Date<〈图书实还日期>〉 类型:Date;

6.3、方法:

6。3.1、private:getDate() 返回值:Date;

6.3。2、private:isOverDate() 返回值:bool;

6。3.3、private:opname() 返回值:void;

9 / 16

7、 预约类:

7。1、类名:Reservation;

7.2、属性:

7.2.1:private:书名<〈预约书名>> 类型:String;

7.2。2:private:作者〈<图书作者〉> 类型:String;

7.2.4:private:读者ID〈<预约者ID>> 类型:String;

7.2。4:private:预约时间〈〈预约时间〉〉 类型:Date;

7.3、方法:未定。

四、图书管理系统时序图及分析

1)、时序图内容

时序图是显示对象之间交互的图,这些对象是按时间顺序排列的。该图书馆管理系统主要含有以下几个重要的时序图,其他对象的时序图和这些类似.

1、 借书时序图;

2、 还书时序图;

10 / 16

3、 预约时序图。

2)、时序图分析

1、借书时序图

【借书时序图说明】

1、 login():读者将需借书目交给管理员,管理员登陆系统。

2、 show_reader():显示读者的信息的函数。

3、 check():验证读者是否有借书的权利。

4、 borrow():读者借书函数。

5、 getreader():获取读者信息的函数.

6、 check():检验读者是否符合借书条件函数。

7、 getbookinf():获取书目信息函数.

8、 check():检查书籍是否被预约的函数。

9、 isBorrow():返回未被预约函数.

11 / 16

10、 builtinf():建立借阅信息函数.

11、 isBorrow():返回借阅信息函数。

12、 isBorrow():返回借阅成功函数。

13、 isBorrow:借阅成功,将书交给读者。

借书时,读者先将书拿予管理员,管理员对书籍和读者进行检验,若书籍和读者都符合借书条件,则借书成功。

2、还书时序图

【还书时序图说明】

1、 login():读者将书籍交给管理员,管理员登录系统.

2、 getbookinf():管理员扫描条形码,获取书籍信息函数。

3、 getborrowinf():获取借阅信息函数。

4、 getborrowDate():获取借阅时间函数.

5、 getnowDate():获取现在时间函数。

6、 isOverDate():是否超出借阅时间函数。

12 / 16

7、 work():处理函数,处理时间差。

8、 return:消息返回。

还书时,读者先将书交给管理员,由管理员扫描书籍,若书籍没有过期等违规现象,还书成功。

3、预约时序图

【预约图书时序图说明】

1、 login():登录系统。

2、 getbookinf():获取图书信息函数。

3、 check():检查是否有图书可借函数。

4、 reservation():确定预约图书函数.

5、 getboook():获取预约图书信息函数。

6、 built():建立预约信息函数。

7、 return:消息返回。

读者在借书时,发现自己所需要借的书目无法借阅,进入预约界面,建立预约记录。

13 / 16

五、状态图

【状态图说明】

书籍在未变成图书馆在库书籍时,为新加书籍状态.书籍处于在库状态时既可以预订也可以外借,外借后变为借出状态。处于预订状态时也可以外借,超出预订时间期限则从预订状态直接转为可用状态.借阅者在规定的预订时间内也可以考虑取消预订,取消预订后书籍的状态转为可用。外借书籍归还后变为可用状态。

六、

六、活动图

活动图描述的是某流程中的任务的执行,活动图描述活动是如何协同工作的,当一个操作必须完成一系列事情,而又无法确定以什么样的顺序来完成这些事情时,活动图可以更清晰地描述这些事情。.在本图书馆管理系统中,我们主要描述了图书馆系统的借书、还书和预订的活动图。

(1) 借书活动图

【借书活动图说明】

管理员首先要扫描读者的借书证,检验证件是否符合图书馆借书条件,若该读者的借书数量还未达到最大规定数量,并且其所借书籍均未属于过期范围,则符合借书条件。则再扫描书籍条形码,检查书籍是否是不可借书籍或者已经被预订,若被预订,则取消预订,方

14 / 16

可借书.在这些条件都符合时则更新书籍信息和读者的借阅信息,记录好借书的时间。

(2) 还书活动图

【还书活动图说明】

图书管理员对书籍进行扫描,若书籍已经过期,则要求读者还请欠款才能还书,读者缴应交罚款后,更新书目信息和读者信息。

(3) 预订图书活动图

【预订书籍活动图说明】

读者先进入系统查询自己所需要的书籍,显示书籍信息,检验书籍是否属于可预订书籍,若符合条件则检查书籍是否已经被预订或已经被外借,若都未成立,则读者登录系统,并对该书籍进行预订。

图书馆管理系统的类图

【类图说明】

(1) reader类是借阅者的类,它的属性很多,包括借阅者的账户ID (reader_id)、姓名(reader_Name)、地址(Address)、班级(class)、所借书籍的书目(borrowed)等。其中主要操作有借书(addborrowed)和还书(deleteborrowed)和预订(reservation)等。 (2) admin类是管理员类,他有编号和姓名属性,操作主要是书籍的增删改和 读者的增删改等等。

15 / 16

(3) Title 类是记录书目信息的类,包括书籍的名字(name)、作者(author)、 book_id等属性.

(4) Item 类是具体某本书的类,属性包括书籍号(id)。操作包括预订 (reserve)、按书目查找(find_on_title)等.

(5) borrow类是某本书的借阅信息类,包括所借阅书籍的ISBN、借阅的时间(date)等.

(6) Reservation类是预订信息类,每个预订信息包括预订日期(date)、所预订书籍的ISBN、预订书籍的用户ID(UserID)等属性。

(7) persistent store类是书籍永久的存储类,在数据库中的存储数据,其他对与书籍有关的活动都要经过其存储类。、

16 / 16

因篇幅问题不能全部显示,请点此查看更多更全内容

Top