图书管理系统用例图类图时序图.docx

上传人:b****7 文档编号:25978823 上传时间:2023-06-16 格式:DOCX 页数:17 大小:1.22MB
下载 相关 举报
图书管理系统用例图类图时序图.docx_第1页
第1页 / 共17页
图书管理系统用例图类图时序图.docx_第2页
第2页 / 共17页
图书管理系统用例图类图时序图.docx_第3页
第3页 / 共17页
图书管理系统用例图类图时序图.docx_第4页
第4页 / 共17页
图书管理系统用例图类图时序图.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

图书管理系统用例图类图时序图.docx

《图书管理系统用例图类图时序图.docx》由会员分享,可在线阅读,更多相关《图书管理系统用例图类图时序图.docx(17页珍藏版)》请在冰豆网上搜索。

图书管理系统用例图类图时序图.docx

图书管理系统用例图类图时序图

软件系统分析与设计

实验报告

学院:

计算机科学与技术学院

专业:

软件工程

学号:

*********

姓名:

***

实验名称:

图书管理系统用例建模

时间:

一、实验内容与要求

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

在使用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)persistentstore类是书籍永久的存储类,在数据库中的存储数据,其他对与书籍有关的活动都要经过其存储类。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 小学教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1