基于UML的图书馆管理系统建模设计图书馆管理系统可行性分析随着政府机关与广大企事业单位内部网络的广泛建立,在通用信息平台上构筑高效实用的协同工作和自动化办公应用系统,满足信息高度共享和即时发布的需求,有效实现内部知识管理,已成为众多用户的共同需求。图书管理系统,为政府机关与广大企事业单位自动化办公提供了一个较好的解决方案。在开发过程中,按照软件工程的步骤,从设计到开发采用了面向对象的思想和技术,采用了SQLSERVER2000数据库,使得本系统可以方便的和其他子系统进行数据交换。同时,注意从软件的图形应用界面上优化软件质量,使得本系统具有很强的可操作性。图书馆管理系统需求分析系统目标设计系统开发的总目标是实现内部图书借阅管理的系统化、规范化和自动化。能够对图书进行注册登记,也就是将图书的基本信息(如:书的编号、书名、作者、价格等)预先存入数据库中,供以后检索。能够对借阅人进行注册登记,包括记录借阅人的姓名、编号、班级、年龄、性别、地址、电话等信息。提供方便的查询方法。如:以书名、作者、出版社、出版时间(确切的时间、时间段、某一时间之前、某一时间之后)等信息进行图书检索,并能反映出图书的借阅情况;以借阅人编号对借阅人信息进行检索;以出版社名称查询出版社联系方式信息。提供对书籍进行的预先预订的功能。提供旧书销毁功能,对于淘汰、损坏、丢失的书目可及时对数据库进行修改。能够对使用该管理系统的用户进行管理,按照不同的工作职能提供不同的功能授权。提供较为完善的差错控制与友好的用户界面,尽量避免误操作。系统功能需求分析(1)读者管理:读者信息的制定、输入、修改、查询,包括种类、性别、借书数量、借书期限、备注等。(2)书籍管理:书籍基本信息制定、输入、修改、查询,包括书籍编号、类别、关键词、备注。(3)借阅管理:包括借书,还书,预订书籍,续借,查询书籍,过期处理和书籍丢失后的处理。(4)系统管理:包括用户权限管理,数据管理和自动借还书机的管理满足以上需求的系统主要包含有一下几个子系统(1)基本业务功能子系统:该系统中主要包含了借书还书和预订等功能。(2)基本数据录入功能子系统:该子系统主要包含有书籍信息和读者信息录入功能。(3)信息查询子系统:包含了多功能的查询书籍信息和读者信息。(4)数据库管理功能子系统:主要包含了借阅信息管理功能,书籍信息管理功能和预订信息管理功能。(5)帮助功能子系统。下图为该图书馆管理系统的主要功能模块图:图书馆管理系统基本业务功能基本数据录入功能信息查询功能数据库管理功能帮助功能借书还书预订书籍信息录入借阅者信息录入书籍信息查询读者信息查询借阅信息管理书籍信息管理预订信息管理功能描述(1)借书。处理借书业务。(2)还书。处理还书业务。(3)书籍预订。借阅者可以通过网络进行书籍预订。(4)书籍信息录入。处理书籍个类信息录入业务。(5)借阅者信息录入。对读者信息进行录入。(6)书籍信息查询。负责书籍信息的查询。(7)读者信息查询。负责数据信息的查询。(8)借阅信息管理。书籍借阅信息包括所借书的书名、ISBN以及借书的时间等。(9)书籍信息管理。书籍信息包括书籍的名字、ISBN、作者、入库时间以及书籍在相应书目下的编号等。(10)预订信息管理。负责管理书籍预订信息。图书馆管理系统的数据流图。如下:修改用户表输入用户名及密码用户有效用户及密码显示系统界面输入有效命令修改用户名及密码处理修改密码显示结果书籍修改命令借.还书书籍入库及修改信息处理命令处理用户名与密码修改书籍信息表修改借、还书表四、系统的UML建模设计该图书馆管理系统的用例图如下:处理借\还书命令图3:图书馆管理系统的用例图从用例图中我们可以看出管理员和读者之间对本系统所具有的用例。管理员所包含的用例有:(1)登录系统:管理员可以通过登录该系统进行各项功能的操作(2)书籍管理:包括对书籍的增删改等。(3)书籍借阅管理:包括借书、还书、预订、书籍逾期处理和书籍丢失处理等等。(4)读者管理:包含对读者的增删改等操作。读者所包含的用例有:(1)登录系统(2)借书:进行借书业务。(3)还书:读者具有的还书业务。(4)查询:包含对个人信息和书籍信息的查询业务(5)预订:读者对书籍的预订业务。(6)书籍丢失处理:对书籍丢失后的不同措施进行处理。系统的顺序图顺序图是显示对象之间交互的图,这些对象是按时间顺序排列的。该图书馆管理系统主要含有以下几个重要的顺序图,其他对象的顺序图和这些也类似。(1)借书顺序图(2)还书顺序图(3)罚款顺序图借书顺序图图书馆管理系统借书顺序图【顺序图说明】(1)login():登录系统。(2)checkstu_card():对读者信息进行验证,检查是否符合本图书馆借书条件。(3)showinformation():显示该读者的基本信息函数。(4)borrow():读者借书函数。(5)getreaders():取得读者信息函数。看该读者是否符合借书条件,若符合,则返回可借信息。(6)gettitle():取得书目信息。(7)getreservation():检验书籍是否被预订函数。(8)getnoreservation():书籍没被预订或取消预订函数。(9)create(borrower,item):创建书籍外借函数。借书时,读者先将书拿予管理员,管理员对书籍和读者进行检验,若书籍和读者都符合借书条件,则借书成功。还书顺序图【顺序图说明】(1)login():登录系统。(2)getitem():取得书籍条目信息。(3)update():对图书馆书籍条目和借阅者信息进行更新条目。还书时,读者先将书交给管理员,由管理员扫描书籍,若书籍没有过期等违规现象,则对书目和读者借阅信息进行更新,同时还书成功。罚款顺序管理员对书籍进行扫描,若发现书籍已经超过了图书馆规定的还书期限,则按每天一定金额进行罚款,过期天数和罚款金额由系统自动计算。用户交完罚金后,则对读者借阅信息进行更新。系统的活动图活动图描述的是某流程中的任务的执行,活动图描述活动是如何协同工作的,当一个操作必须完成一系列事情,而又无法确定以什么样的顺序来完成这些事情时,活动图可以更清晰地描述这些事情。。在本图书馆管理系统中,我们主要描述了图书馆系统的借书、还书和预订的活动图。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类是书籍永久的存储类,在数据库中的存储数据,其他对与书籍有关的活动都要经过其存储类。图书馆管理系统数据库建模数据库概念设计1、数据库表设计(1)管理员表admin:管理员编号(admin_id),管理员姓名(admin_name),密码(admin_password),登录次数(logins),最后一次登录时间(lastlogin)和权限(right)。(2)读者表reader:读者编号(reader_id),读者姓名(reader_name),性别(sex),年龄(age),班级(class),最大借书量(maxborrowed),地址(address),用户密码(reader-password)借书总量(amount)和权限(right)。(3)书籍表books:书籍编号(book_id),书名(title),作者(author),出版社(bookconcert),价格(price),出版时间(time),在库总量(amount),剩余量(remain)。(4)借阅信息表(borrow_information):书籍编号(book_id),读者编号(reader_id),借书时间(borrow_time),到期时间(end_time),归还时间(return_time).(5)预订信息表:读者编号(reader_id),书籍编号(book_id),预订时间(reservation_time),取消预订时间(reservationcanceltime).