资源描述
软件系统分析和设计
试验汇报
学 院:计算机科学和技术学院
专 业:软件工程
学 号:*********
姓 名:***
试验名称:图书管理系统用例建模
时 间:
一、 试验内容和要求
本试验要求学生对学校图书馆管理系统进行需求分析,对系统功效进行用例建模,画出用例图,类图和对应时序图。在使用UML对系统建模时,学会使用UML建模工具,
熟悉工具中功效。
二、用例分析
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:进入续借图书界面,续借图书;
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:读者登录系统失败,未曾注册用户;
1.3.3.1.1:返回系统注册用户后,重新登录。
1.4、 后置条件:退出系统。
1.5、
1.6、 扩展点:无。
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:进入读者信息管理界面,管理已经有用户信息;
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:登录失败超出一定次数后,系统冻结该用户名,一段时间后能够重用;
2.4、后置条件:退出系统;
2.5、扩展点:无。
三、“图书管理系统”类图及关系
1、 阅读者信息类:
1.1、类名:阅读者信息<<父类>>;
1.2、属性名:
1.2.1、private: ID<<阅读者证件号>> 类型:String;
1.3、方法:未定。
2、 读者类:
2.1、类名:读者<<子类>>;
2.2、属性名:
1.2.1、private:ID<<阅读者证件号>> 类型:String;
2.3、方法:未定。
3、 管理员类:
3.1、类名:管理员<<子类>>
3.2、属性名:
1.2.1、private: ID<<阅读者证件号>> 类型:String;
3.3、方法:未定。
4、 Book类:
4.1、类名:book
4.2、属性名:
4.2.1、private: 书号<<图书编号>> 类型:String;
4.2.2、private: 书名<<图书名>> 类型:String;
4.2.3、private: 出版号<<图书出版编号>> 类型:String;
4.2.4、private: 出版社名<<图书出版社名>> 类型:String;
4.2.5、private: 作者<<图书作者姓名>> 类型:String;
4.3、方法:未定。
5、 Copy_book类:
5.1、类名:copy_book;
5.2、属性名:
5.2.1、private: 书号<<图书编号>> 类型:String;
5.2.2、private: 书名<<图书名>> 类型:String;
5.2.3、private: 出版号<<图书出版编号>> 类型:String;
5.2.4、private: 出版社名<<图书出版社名>> 类型:String;
5.2.5、private: 作者<<图书作者姓名>> 类型:String;
5.2.6、private:count<<图书数量>> 类型:String;
5.3、方法:未定。
6、 借还书统计类<<关联类>>:
6.1、类名:借还书统计;
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;
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、 还书时序图;
3、 预约时序图。
2)、时序图分析
1、借书时序图
【借书时序图说明】
1、 login():读者将需借书目交给管理员,管理员登陆系统。
2、 show_reader():显示读者信息函数。
3、 check():验证读者是否有借书权利。
4、 borrow():读者借书函数。
5、 getreader():获取读者信息函数。
6、 check():检验读者是否符合借书条件函数。
7、 getbookinf():获取书目信息函数。
8、 check():检验书籍是否被预约函数。
9、 isBorrow():返回未被预约函数。
10、 builtinf():建立借阅信息函数。
11、 isBorrow():返回借阅信息函数。
12、 isBorrow():返回借阅成功函数。
13、 isBorrow:借阅成功,将书交给读者。
借书时,读者先将书拿予管理员,管理员对书籍和读者进行检验,若书籍和读者全部符合借书条件,则借书成功。
2、还书时序图
【还书时序图说明】
1、 login():读者将书籍交给管理员,管理员登录系统。
2、 getbookinf():管理员扫描条形码,获取书籍信息函数。
3、 getborrowinf():获取借阅信息函数。
4、 getborrowDate():获取借阅时间函数。
5、 getnowDate():获取现在时间函数。
6、 isOverDate():是否超出借阅时间函数。
7、 work():处理函数,处理时间差。
8、 return:消息返回。
还书时,读者先将书交给管理员,由管理员扫描书籍,若书籍没有过期等违规现象,还书成功。
3、预约时序图
【预约图书时序图说明】
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类是书籍永久存放类,在数据库中存放数据,其它对和书籍相关活动全部要经过其存放类。、
展开阅读全文