第一篇:火车购票系统UML类图 时序图 状态图 协作图 活动图 对象.
《UML 面向对象分析》课程 实践项目报告
项目名称: 网上订购火车票系统
项目组成员: 学 号: 班 级: 指导 教师: 2008年 11 月 10 日 目 录 需求分析....................................................................................1 1.1 需求概述............................................................................1 1.2 需求分析............................................................................2 1.3 需求模型(用例图)........................................................6 2 静态模型....................................................................................7 2.1 类图....................................................................................7 2.2 对象图................................................................................9 2.3 包图..................................................................................11 3 动态模型..................................................................................12 3.1 时序图..............................................................................12 3.2 状态图..............................................................................15 3.3 协作图..............................................................................16 3.4 活动图..............................................................................17 4 项目组成员分工说明..............................................................18 5 总结..........................................................................................19 6 参考资料..................................................................................20 1 需求分析 1.1 需求概述
线上预订火车票系统是一款功能强大、操作简便、易维护的、具有良好人机交互界面的线上订票系统,它包括用户管理模块、系统参数设置模块、票务信息模块(提供票价、列车的实时信息)、订票管理模块(提供订票和退订功能)、实时信息提示模块(提供车况、路况、列车晚点等实时信息)、数据管理模块(提供数据备份、数据操作功能)。实现火车票线上预定的自动化的计算机系统,为旅客提供准确、精细、迅速的火车票销售信息和方便、简单的订票功能。
线上预订火车票系统主要是对于订票信息的统一管理,满足了中小型线上订票网站对于用户的管理,订票信息的收集和处理方面的要求。用现代化的方式取代以前的传统模式,更有利于信息的流通,资源的宏观管理。具有体积小,代码简洁,易维护、易修改 的优点。
1.2 需求分析 用户管理模块
用户管理模块包括如下几个部分。
(1)添加用户信息:管理员可以对用户信息进行添加操作。(2)删除用户信息:管理员可以对已有用户信息进行删除操作。
(3)查看用户信息权限:每个用户都具有一定的权限,管理员可以查看用户的管理权限。(4)修改用户信息权限:管理员可以修改用户的管理权限。(5)删除管理权限:管理员在权限管理中可以删除管理权限。(6)添加管理权限:管理员在权限管理中可以添加管理权限。
系统参数设置模块
系统参数设置模块有如下几个部分。
(1)用户信息:管理员可以修改用户信息并保存。(2)订票信息:对订票信息进行添加、删除操作。(3)退订信息:对退订信息进行添加、删除操作。(4)旅客订票记录:对旅客订票记录进行添加、删除操作。
(5)其他信息:对其他信息进行编辑、删除操作。在编辑时可以修改附件存放路径和备份文
件存放路径。
票务信息模块
票务信息模块包括如下几个部分。
(1)车次信息:对车次信息进行添加、删除操作。(2)列车时间信息:对列车时间信息进行添加、删除操作。(3)座位信息:对座位信息进行添加、删除操作。(4)价格信息:对价格信息进行添加、删除操作。(5)车站信息:对车站信息进行添加、删除操作。
订票管理模块
订票管理模块包括如下几个部分。(1)用户注册:注册新用户。(2)用户登录:已注册用户登录。(3)列车信息:浏览可预定车辆信息。(4)车票预订:预定车票。
实时信息管理模块
实时信息管理模块包括如下几个部分。
(1)实时信息查看:在窗口现在最新实时信息。
(2)实时信息更新:对于最新路况、车况信息进行更新。改:对于最新路况、车况信息进行修改。
3)实时信息修(数据管理模块 数据管理模块包括:
(1)数据查看:对所有数据查看。数据恢复:恢复受损数据。
1.3 需求模型(用例图)
(2)数据备份:备份所有数据。3)
((from Logical View 修改票价
(from Logical View
客户先通过网站系统查询各种情况(票的价格,车的情况,以及一些铁路状况),再通过系统数据库给与的实时信息提示去预定想要的火车票,完成订票的过程,客户也可以通过网站系统对自己已经订购的票进行退订手续。
管理员可以通过系统对客户进行管理,查看客户信息,修改客户信息,添加客户信息,以及删除客户信息等等,管理员也可以去修改票务信息,修改变动后的时间以及车票价格等等。静态模型 2.1 类图
旅客(姓名、性别、需求信息、有效证件)
列车班次(发车时间、起点、终点、乘坐人数、价格)火车站(名称、所在地)
订票(票号、班次号、旅客号、票价)管理员(密码、姓名)旅客表
班次表
订火车票表 管理员表
火车站表
2.2 对象图
1.管理员管理顾客信息,管理车票信息。9
2.3 包图
1.创建管理员包,内有管理员类。2.创建顾客包,内有顾客类。3.创建订票包,内有订票类。
4.创建车站包,内有车站类,主要是车站信息。5.创建火车票包,内有车票类,主要为火车票信息。3 动态模型 3.1 时序图 1.客户首先要使用一台已经联网的电脑 2.在网站上搜索票务信息 3.检索票务信息数据库 4.电脑将检索的信息传递给客户 5.客户经查看信息后进行订票 6.客户输入自己的银行账号 7.系统验证账号正确性 8.提交信息并进行缴费 9.系统给客户票务 1.管理员登陆到系统。
2.管理员拥有权限修改票务信息、客户信息、车况信息。3.用户登陆的网站。
4.用户可以查看票务信息、车况信息。5.用户预定火车票
3.2 状态图
1.进入数据库系统页面 2.进入预定车票界面 3.预定成功后退出 4.进入退订车票界面 5.退订成功后退出
6.不能成功预、退车票则退出 3.3 协作图
1.客户首先要连接上网络的电脑
2.客户进行网站搜索,检索有关的票务信息 3.电脑将显示的票务信息给予客户 4.客户再通过查看信息后选择买票 5.客户输入自己的账号 6.验证帐户并提交扣钱
7.电脑将票的代码显示给客户,凭证取票
3.4 活动图 项目组成员分工说明
需求分析阶段是软件开发的最核心的部分,所以受到我们组成员的高度重视,一心想要把分析做得更好,通过网上查阅资料,去图书馆借阅有关的书籍以及课本上的知识,再经过我们组成员三个人之间的默契配合,共同完成了软件的核心部分-----需求分析。
完成了我们所要做的项目的需求分析之后,下面的课程设计可根据需求分析来进行,我们组成员之间开始了进行分工合作,静态模型中的三类图,个人选择自己最擅长的部分开始分工画图。类图模块由组成员倪巧完成,对象图由组成员陈磊完成,包图则由成员时圣云完成。
动态模型的四部分图,我们依然按照分工合作的方式去完成的。时序图由成员倪巧、陈磊共同完成,状态图由成员时圣云完成,协作图由成员倪巧完成,活动图则由成员陈磊、时圣云合作完成的。分工明确,合作良好。
最后的总结由成员倪巧完成,再做了最后的文档的整理。总结 课程设计的体会 课程设计的体会 经过一个星期的上机实践学习,使我对 UML 有了更进一步的认识和了解,要想 学好它要重在实践,要通过不断的上机操作才能更好地学习它,通过实践,我也发 现我的好多不足之处,最主要是自己在 UML 图形正确使用上不够熟悉,通过实践,使我在这个方面的认识有所提高。其次,经过查找资料,调查研究,获取需求以及在这些基础上做出的系统分析,我做出了这个“火车票销售管理系统”说明书。总的来说,这个系统的设计考虑了 大部分要考虑的因素,一些影响不大的因素就没有考虑再内,系统的需求分析中占 相当一部分比例的用例规格说明采用表格的方式,直观,便于理解,不过需求分析 在整体的格式多样性上有所欠缺,这在以后的设计中要吸取教训。通过这次的课程 设计,我不但学到了很多东西,也把原来学的东西理解的更透彻了,特别是把原来 学的不同科目的东西结合起来了,收获很大。通过实践的学习,我认到学好计算机要重视实践操作,不仅仅是学习UML 语言,还是其它的语言,以及其它的计算机方面的知识都要重在实践,所以后在学习过程 中,我会更加注视实践操作,使自己更好地学好计算机。没有实践,学习就是无源之水,无本之木。以上就是我在进行课程设计实训的 心得和感受。19 6 参考资料 [1] 李大友,陈明等 [2] 郑莉, 董渊等 [3] 吴建,汪杰等 版社 [4] 《实用软件工程基础》 《C++语言程序设计》 清华大学出版社 清华大学出版社 人民邮电出 《UML 基础与 Rose 建模案例》 《软件需求》 Soren Lauesen 著 电子工业出版社 20
第二篇:图书管理系统状态图与活动图(UML)
学 号 1407070226
统一建模语言UML B
实验报告
实验4 状态图和活动图
学专指成 生业导、姓班教
名 级 师 绩
黄源 14软件(2)班
高天迎
计算机与信息工程学院
年 月 日
一、实验目的
在熟悉状态、活动概念与应用的基础上,掌握状态图和活动图的建立。1.理解什么状态和状态图。2.掌握状态图的建立。3.掌握活动图的建立。
二、实验内容
1.建立图书管理系统的状态图。2.建立图书管理系统的活动图。
三、实验思想
1.分析:根据图书管理系统的需求分析和用例模型,对系统中的用例进行动态建模。
2.在Rational Rose工具中绘制状态图和活动图。
四、实验结果 1.状态图:(1)登陆
(2)增添新书
(3)借阅者
2.活动图(1)借阅者
(2)图书管理员
(3)系统管理员管理借阅者信息
(4)系统管理员维护图书信息
五、实验心得
这次实验学习的是状态图和活动图,感觉这次实验和前面实验相比较要容易一些,这些图按顺序来的,感觉会和我们传统的思维模式比较吻合,用心去绘制就很容易画出来。
第三篇:图书馆管理系统用例图、活动图、类图、时序图
图书馆管理系统一.图书馆管理系统需求分析
1、系统目标设计
系统开发的总目标是实现内部图书借阅管理的系统化、规范化和自动化。能够对图书进行注册登记,也就是将图书的基本信息(如:书的编号、书名、作者、价格等)预先存入数据库中,供以后检索。
能够对借阅人进行注册登记,包括记录借阅人的姓名、编号、班级、年龄、性别、地址、电话等信息。
提供方便的查询方法。如:以书名、作者、出版社、出版时间(确切的时间、时间段、某一时间之前、某一时间之后)等信息进行图书检索,并能反映出图书的借阅情况;以借阅人编号对借阅人信息进行检索;以出版社名称查询出版社联系方式信息。
提供对书籍进行的预先预订的功能。
提供旧书销毁功能,对于淘汰、损坏、丢失的书目可及时对数据库进行修改。能够对使用该管理系统的用户进行管理,按照不同的工作职能提供不同的功能授权。
提供较为完善的差错控制与友好的用户界面,尽量避免误操作。
2、系统功能需求分析
(1)读者管理:读者信息的制定、输入、修改、查询,包括种类、性别、借书数量、借书期限、备注等。
(2)书籍管理:书籍基本信息制定、输入、修改、查询,包括书籍编号、类别、关键词、备注。
(3)借阅管理:包括借书,还书,预订书籍,续借,查询书籍,过期处理和书籍丢失后的处理。
(4)系统管理:包括用户权限管理,数据管理和自动借还书机的管理
基于UML的图书馆管理系统建模设计
满足以上需求的系统主要包含有一下几个子系统
(1)基本业务功能子系统:该系统中主要包含了借书还书和预订等功能。(2)基本数据录入功能子系统:该子系统主要包含有书籍信息和读者信息录入功能。
(3)信息查询子系统:包含了多功能的查询书籍信息和读者信息。(4)数据库管理功能子系统:主要包含了借阅信息管理功能,书籍信息管理功能和预订信息管理功能。
(5)帮助功能子系统。
二、系统动态建模
1、用例图、2
图书馆管理系统的用例图
从用例图中我们可以看出管理员和读者之间对本系统所具有的用例。管理员所包含的用例有:
(1)登录系统:管理员可以通过登录该系统进行各项功能的操作(2)书籍管理:包括对书籍的增删改等。
基于UML的图书馆管理系统建模设计
(3)书籍借阅管理:包括借书、还书、预订、书籍逾期处理和书籍丢失处理等等。
(4)读者管理:包含对读者的增删改等操作。(5)自动借书机的管理。读者所包含的用例有:(1)登录系统
(2)借书:进行借书业务。(3)还书:读者具有的还书业务。
(4)查询:包含对个人信息和书籍信息的查询业务(5)预订:读者对书籍的预订业务。
(6)逾期处理:就是书籍过期后的缴纳罚金等。(7)书籍丢失处理:对书籍丢失后的不同措施进行处理。(8)自动借书机的使用等。
2、时序图
时序图是显示对象之间交互的图,这些对象是按时间顺序排列的。该图书馆管理系统主要含有以下几个重要的时序图,其他对象的时序图和这些也类似。
(1)借书时序图(2)还书时序图(3)罚款时序图
1、借书时序图
图书馆管理系统借书时序图
【时序图说明】
(1)login():登录系统。
(2)checkstu_card():对读者信息进行验证,检查是否符合本图书馆借书条件。
(3)showinformation():显示该读者的基本信息函数。(4)borrow():读者借书函数。
(5)getreaders():取得读者信息函数。看该读者是否符合借书条件,若符合,则返回可借信息。
(6)gettitle():取得书目信息。
(7)getreservation():检验书籍是否被预订函数。(8)getnoreservation():书籍没被预订或取消预订函数。(9)create(borrower,item):创建书籍外借函数。
借书时,读者先将书拿予管理员,管理员对书籍和读者进行检验,若书籍和读者都符合借书条件,则借书成功。
2、还书时序图
基于UML的图书馆管理系统建模设计
图书馆管理系统还书时序图
【时序图说明】
(1)login():登录系统。
(2)getitem():取得书籍条目信息。
(3)update():对图书馆书籍条目和借阅者信息进行更新条目。还书时,读者先将书交给管理员,由管理员扫描书籍,若书籍没有过期等违规现象,则对书目和读者借阅信息进行更新,同时还书成功。
3、罚款时序图
图书馆管理系统的罚款时序图
【时序图说明】
管理员对书籍进行扫描,若发现书籍已经超过了图书馆规定的还书期限,则按每天一定金额进行罚款,过期天数和罚款金额由系统自动计算。用户交完罚金后,则对读者借阅信息进行更新。4.4、系统的状态图
图书馆的书籍状态图如图7所示。【状态图说明】
书籍在未变成图书馆在库书籍时,为新加书籍状态。书籍处于在库状态时既可以预订也可以外借,外借后变为借出状态。处于预订状态时也可以外借,超出预订时间期限则从预订状态直接转为可用状态。借阅者在规定的预订时间内也可以考虑取消预订,取消预订后书籍的状态转为可用。外借书籍归还后变为可用状态。
基于UML的图书馆管理系统建模设计
图书馆的书籍状态图
3、活动图
活动图描述的是某流程中的任务的执行,活动图描述活动是如何协同工作的,当一个操作必须完成一系列事情,而又无法确定以什么样的顺序来完成这些事情时,活动图可以更清晰地描述这些事情。在本图书馆管理系统中,我们主要描述了图书馆系统的借书、还书和预订的活动图。
(1)借书活动图 【借书活动图说明】
管理员首先要扫描读者的借书证,检验证件是否符合图书馆借书条件,若该读者的借书数量还未达到最大规定数量,并且其所借书籍均未属于过期范围,则符合借书条件。则再扫描书籍条形码,检查书籍是否是不可借书籍或者已经被预订,若被预订,则取消预订,方可借书。在这些条件都符合时则更新书籍信息和读者的借阅信息,记录好借书的时间。
图书馆管理系统的借书活动图
(2)还书活动图 【还书活动图说明】
图书管理员对书籍进行扫描,若书籍已经过期,则要求读者还请欠款才能还书,读者缴应交罚款后,更新书目信息和读者信息。
基于UML的图书馆管理系统建模设计
图书馆管理系统的还书活动图
(3)预订图书活动图 【预订书籍活动图说明】
读者先进入系统查询自己所需要的书籍,显示书籍信息,检验书籍是否属于可预订书籍,若符合条件则检查书籍是否已经被预订或已经被外借,若都未成立,则读者登录系统,并对该书籍进行预订。
图书馆管理系统预订书籍活动图
4、图书馆管理系统的类图 【类图说明】
(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)等属性。
基于UML的图书馆管理系统建模设计
(7)persistent store类是书籍永久的存储类,在数据库中的存储数据,其他对与书籍有关的活动都要经过其存储类。
图书馆管理系统的类图及关系
三.实验心得
此次实验我们实现了对网上选课系统的设计,通过UML建模,把事物从抽象到实例化的过程,对每个对象进行细化分析,从而得到简单而方便,容易理解的 12
模型结构。通过UML模型可以高效完成软件设计,通过此次试验收获很大。在老师和同学们的帮助下,使我能够成功的掌握了UML模型。在此,对老师和同学们的帮助表示感谢。
第四篇:uml实验三 构建类图
实验三 构建类图
【实验目的】
1.理解类的基本概念 2.理解类间的关系 3.掌握类图的绘制方法
4.掌握简单的类图设计方法
【实验器材】
1.计算机一台;
2.Rational Rose 工具软件;
【实验内容】
【题目一】
分析选课系统中的类及关系,然后画出它们的类图。
1).分析
在选课系统中,通过分析可抽象出如下几个类:(1)学生类(2)管理员类(3)课程类
学生类和管理员类的属性较容易分析,这里只列出课程类的属性和方法:(1)课程名称(2)开课教室(3)课程号(4)授课教师(5)选课的学生(6)开课起始时间
(7)允许选课的学生人数(8)设置课程号(9)设置课程名称(10)查询课程号
(11)查询允许选课的学生人数 2)绘图步骤
下面介绍在Rose2003中创建类和它们之间关系的过程:
(1)在“Logical View“中双击Main图,或者右击“Logical View“,弹出在快捷菜单中选择“New”->“Class Diagram”,双击图标,出现图2.1,为编辑类图做好准备。
图2.1(2)在逻辑视图中,从工具栏中选择class图标,在右边的绘图区中添加一个新元素,并取名Student表明新增一个类,如图2.2所示。
图2.2(3)选择新创建的元素,点击鼠标右键,在弹出的菜单中选择“Open Sepcification”,弹出图2.3对话框。
(4)在对话框中,可以修改元素的名称,这里新元素的名称定为“Student”,如图2.4所示。
图2.3
图2.4(5)点击“Attributes”选项卡,添加属性,如图2.5所示。
图2.5(6)点击“operations”选项卡,添加方法如图2.6所示。
图2.6(7)同样的方法添加Course类,如图2.7所示。
图2.7(8)创建两个类之间的关系,通过分析得出:学生类和课程类之间为单向关联。选择图标栏的“关联”,由学生类指向课程类。如图2.8所示。
图2.8(9)创建关联名。右击关联,选择“open specification“,键入关联名(select),如图2.9所示。
图2.9(10)分别在“Role A Detail“和“Role B Detail“选项卡中键入名称和多重性,如图2.10所示。
图2.10(11)重复(2)-(10)中的步骤完成选课系统整个类图的创建。(12)如图2.11转换生成代码,查看所生成的三个的代码。
图2.11
【题目二】
已知三个类A、B和C,其中类A由类B的一个实例类和类C的1个或多个实例类构成,请画出能够正确表示类A、B和C之间关系的UML类图。
【题目三】
根据以下描述画出类图,并注明多重性关系:一个学生可以选修多门课程,也可能没有任何课程;一门课程可以被多个学生选修;一个老师可以教多门课程或者不教课;每门课程至少有一个老师,也可以有多个老师任教;每门课程可以有0或1本教材,每本教材只能用于一门课程。
【题目四】
根据下面的代码画出Invoice类的类图,要求标明各属性的类型和可见性以及类方法。
public class Invoice { public double amount;public Date date = new Date();public string customer;public string specification;public string administrator = “unspecified”;static private int number_of_invoices=0;public invoice(){
number_of_invoices++; } public void print()
{ System.out.println("The number of invoices is ”+ number_of_invoices);} }
【题目五】
下图是一个仓库管理系统的类模型局部,其中IncomeOrder是指入库单,OrderItem是指入库中的每一项,Product则是产品信息。请指出模型中的错误,说明原因并改正类图。
IncomeOrder11ProductOrderItem
【题目六】
(1)现有一系统需要对商品进行管理,包括添加,删除商品,修改商品信息三项功能,画出系统类图。(商品信息包括商品编号,商品名称,价格,生产厂商等)
(2)如果现在系统需求发生变化,需要能够对损坏商品进行打折,以及可以按照商品的颜色和外形进行查询,则系统类图应该如何修改?
【实验报告要求】
1. 整理实验结果。
2. 小结实验心得体会。
3.所有题目以doc文档或Rose文档形式上传到服务器,而实验报告中只需写题目五和题目六。
第五篇:图书管理系统用例建模报告(用例图、类图、时序图)
软件系统分析与设计
实验报告
学
院:计算机科学与技术学院
专
业:软件工程学
号:姓
名:实验名称:图书管理系统用例建模时
间:
/ 9
********* ***
一、实验内容与要求
本实验要求学生对学校的图书馆管理系统进行需求分析,对系统功能进行用例建模,画出用例图,类图以及相应的时序图。在使用UML对系统建模时,学会使用UML建模工具,熟悉工具中的功能。
二、用例分析
1、读者“ 借书还书系统” 用例图
借书(from Use Cases)<
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:图书显示可借,借书成功;
/ 9
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、“图书信息管理系统”用例图
新书信息录入(from Use Cases)<
/ 9
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、扩展点:无。
三、“图书管理系统”类图及关系
/ 9
1、阅读者信息类:
1.1、类名:阅读者信息<<父类>>; 1.2、属性名:
1.2.1、private: ID<<阅读者证件号>>
1.3、方法:未定。
2、读者类:
2.1、类名:读者<<子类>>; 2.2、属性名:
1.2.1、private:ID<<阅读者证件号>>
2.3、方法:未定。
3、管理员类:
3.1、类名:管理员<<子类>> 3.2、属性名:
1.2.1、private: ID<<阅读者证件号>>
3.3、方法:未定。
4、Book类:
4.1、类名:book 5 / 9
类型:String;
类型:String;
类型:String; 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、方法:未定。
/ 9
四、图书管理系统时序图及分析
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():返回未被预约函数。
/ 9
10、builtinf():建立借阅信息函数。
11、isBorrow():返回借阅信息函数。
12、isBorrow():返回借阅成功函数。
13、isBorrow:借阅成功,将书交给读者。
借书时,读者先将书拿予管理员,管理员对书籍和读者进行检验,若书籍和读者都符合借书条件,则借书成功。
2、还书时序图
还书界面 : 读者还书login()getbookinf(): 管理员bookloangetborrowinf()getborrowDate()getnowDate()isOverDate()work()returnreturn【还书时序图说明】
1、login():读者将书籍交给管理员,管理员登录系统。
2、getbookinf():管理员扫描条形码,获取书籍信息函数。
3、getborrowinf():获取借阅信息函数。
4、getborrowDate():获取借阅时间函数。
5、getnowDate():获取现在时间函数。
6、isOverDate():是否超出借阅时间函数。
/ 9
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:消息返回。
读者在借书时,发现自己所需要借的书目无法借阅,进入预约界面,建立预约记录。
/ 9