>读者信息管理(from Use Cases)逾期通知(from Use Cases)2.1、行为者:
2.2、前置条件:管理员打开图书信息管理系统;
2.3、事件流:
:主要事件流:
:图书管理员输入管理员登录信息,登录系统;
:进入图书信息管理界面,查看已有图书信息,是否有需要购入图书;
:录入新购进图书信息,并确认;
主要行为者:管理员;
:进入读者信息管理界面,管理已有用户信息;
:进入信息通知界面,查看已有用户图书借阅、预约情况;
:查看读者所预约图书,自动查询图书信息,确认是否已有可借图书,有则通知读者;
:查询读者已借图书信息,根据已借时间及归还时间分类;
:所借图书即将逾期,启动系统提醒功能; :所借图书已经逾期,启动逾期及处罚通知功能;
:备选事件流:
:管理员用户名或登录名错误,重新登录; :需要购进新图书,存储信息,通知相关人员;
:读者预约图书没有可借图书,不予通知; :预约通知提醒后,删除该预约记录;
:读者所借图书距离归还时间仍很久,无需通知;
:异常事件流:
:登录失败超过一定次数后,系统冻结该用户名,一段时间后可以重用;
2.4、后置条件:退出系统;
2.5、扩展点:无。
三、“图书管理系统”类图及关系
1、 阅读者信息类:
、类名:阅读者信息<<父类>>; 、属性名:
、private: ID<<阅读者证件号>> 、方法:未定。 2、 读者类:
、类名:读者<<子类>>; 、属性名:
、private:ID<<阅读者证件号>> 、方法:未定。
3、 管理员类:
类型:String; 类型:String;
、类名:管理员<<子类>> 、属性名:
、private: ID<<阅读者证件号>>
、方法:未定。
4、 Book类:
、类名:book 、属性名:
、private: 书号<<图书编号>> 、private: 书名<<图书名>>
、private: 出版号<<图书出版编号>> 、private: 出版社名<<图书出版社名>> 、private: 作者<<图书作者姓名>> 、方法:未定。
5、 Copy_book类:
、类名:copy_book; 、属性名:
、private: 书号<<图书编号>> 、private: 书名<<图书名>>
、private: 出版号<<图书出版编号>> 、private: 出版社名<<图书出版社名>> 、private: 作者<<图书作者姓名>> 、private:count<<图书数量>> 、方法:未定。
6、 借还书记录类<<关联类>>:
、类名:借还书记录;
类型:String;
类型:String;
类型:String;类型:String;
类型:String; 类型:String;
类型:String;
类型:String;类型:String;
类型:String; 类型:String;
类型:String;
、属性名:
、private: 书号<<图书编号>> 、private: 书名<<图书名>> 、private:读者姓名<<>>
类型:String;
类型:String;
类型:String;
、private: 出版社名<<图书出版社名>> 类型:String; 、private: 作者<<图书作者姓名>>
类型:String;
类型:Date; 类型:Date;
、private:borrowdate<<所借图书日期>> 、private:due_Date<<图书应还日期>> 、private:real_Date<<图书实还日期>> 、方法: 7、 预约类:
、类名:Reservation; 、属性:
:private:书名<<预约书名>> :private:作者<<图书作者>>
、private:getDate()
类型:Date;
返回值:Date;
、private:isOverDate() 返回值:bool; 、private:opname()
返回值:void;
类型:String; 类型:String; 类型:String; 类型:Date;
:private:读者ID<<预约者ID>> :private:预约时间<<预约时间>>
、方法:未定。
四、图书管理系统时序图及分析
1)、时序图内容
时序图是显示对象之间交互的图,这些对象是按时间顺序排列的。该图书馆
管理系统主要含有以下几个重要的时序图,其他对象的时序图和这些类似。
1、 借书时序图; 2、 还书时序图; 3、 预约时序图。
2)、时序图分析
1、借书时序图
:借书系统:loan读者copy_bookbookReservation<<预约>> : 读者需借书目 : 管理员login()show_reader()1:check()borrow()getreader()2:check()getbookinf()3:check()1:isBorrow()bulidinf()2:isBorrow()3:isBorrow()4:isborrow()
【借书时序图说明】
1、 login():读者将需借书目交给管理员,管理员登陆系统。 2、 show_reader():显示读者的信息的函数。 3、 check():验证读者是否有借书的权利。 4、 borrow():读者借书函数。
5、 getreader():获取读者信息的函数。 6、 check():检验读者是否符合借书条件函数。 7、 getbookinf():获取书目信息函数。
8、 check():检查书籍是否被预约的函数。 9、 isBorrow():返回未被预约函数。 10、 11、 12、 13、
借书时,读者先将书拿予管理员,管理员对书籍和读者进行检验,若书籍和读者都符合借书条件,则借书成功。
builtinf():建立借阅信息函数。 isBorrow():返回借阅信息函数。 isBorrow():返回借阅成功函数。 isBorrow:借阅成功,将书交给读者。
2、还书时序图
还书界面 : 读者还书login()getbookinf() : 管理员bookloangetborrowinf()getborrowDate()getnowDate()isOverDate()work()returnreturn
【还书时序图说明】
1、 login():读者将书籍交给管理员,管理员登录系统。 2、 getbookinf():管理员扫描条形码,获取书籍信息函数。 3、 getborrowinf():获取借阅信息函数。 4、 getborrowDate():获取借阅时间函数。 5、 getnowDate():获取现在时间函数。 6、 isOverDate():是否超出借阅时间函数。 7、 work():处理函数,处理时间差。 8、 return:消息返回。
还书时,读者先将书交给管理员,由管理员扫描书籍,若书籍没有过期等违规现象,还书成功。
3、预约时序图
图书管理系统bookcopy_bookReservation : 读者login()getbookinf()check()reservation()getbook()build()return result
【预约图书时序图说明】
1、 login():登录系统。
2、 getbookinf():获取图书信息函数。 3、 check():检查是否有图书可借函数。 4、 reservation():确定预约图书函数。 5、 getboook():获取预约图书信息函数。 6、 built():建立预约信息函数。 7、 return:消息返回。
读者在借书时,发现自己所需要借的书目无法借阅,进入预约界面,建立预约记录。
五、状态图
【状态图说明】
书籍在未变成图书馆在库书籍时,为新加书籍状态。书籍处于在库
状态时既可以预订也可以外借,外借后变为借出状态。处于预订状态时也可以外借,超出预订时间期限则从预订状态直接转为可用状态。借阅者在规定的预订时间内也可以考虑取消预订,取消预订后书籍的状态转为可用。外借书籍归还后变为可用状态。
六
、
六、活动图
活动图描述的是某流程中的任务的执行,活动图描述活动是如何协同工作的,当一个操作必须完成一系列事情,而又无法确定以什么样的顺序来完成这些事情时,活动图可以更清晰地描述这些事情。。在本图书馆管理系统中,我们主要描述了图书馆系统的借书、还书和预订的活动图。
(1) 借书活动图
【借书活动图说明】
管理员首先要扫描读者的借书证,检验证件是否符合图书馆借书条件,若该读者的借书数量还未达到最大规定数量,并且其所借书籍均未属于过期范围,则符合借书条件。则再扫描书籍条形码,检查书籍是否是不可借书籍或者已经被预订,若被预订,则取消预订,方可借书。在这些条件都符合时则更新书籍信息和读者的借阅信息,记录好借书的时间。
(2) 还书活动图
【还书活动图说明】
图书管理员对书籍进行扫描,若书籍已经过期,则要求读者还请欠款才能还书,读者缴应交罚款后,更新书目信息和读者信息。
(3) 预订图书活动图
【预订书籍活动图说明】
读者先进入系统查询自己所需要的书籍,显示书籍信息,检验书籍是否属于可预订书籍,若符合条件则检查书籍是否已经被预订或已经被外借,若都未成立,则读者登录系统,并对该书籍进行预订。
图书馆管理系统的类图
【类图说明】
(1) reader类是借阅者的类,它的属性很多,包括借阅者的账户ID (reader_id)、姓名(reader_Name)、地址(Address)、班级(class)、所借书籍的书目(borrowed)等。其中主要操作有借书(addborrowed)和还书(deleteborrowed)和预订(reservation)等。 (2) admin类是管理员类,他有编号和姓名属性,操作主要是书籍的增删改和 读者的增删改等等。 (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类是书籍永久的存储类,在数据库中的存储数据,其他对与书籍有关的活动都要经过其存储类。、