基于UML的高校图书管理系统分析与设计_第1页
基于UML的高校图书管理系统分析与设计_第2页
基于UML的高校图书管理系统分析与设计_第3页
基于UML的高校图书管理系统分析与设计_第4页
基于UML的高校图书管理系统分析与设计_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于UMLI勺大学图书管理系统分析与设计1. 概述随着现代科学技术的发展和社会的进步,各大大学的图书馆规模也不断扩大,与此同时,图书的种类和数量以及有关图书的各种信息也迅速的增加,这一庞大的信息量也对图书馆的信息管理技术提出了更高的要求。为了避免图书管理上的混乱,降低管理费用,提高工作效率,给读者提供更方便、快捷的服务,图书管理系统必须引入信息化和自动化的管理方式,对图书资料进行集中、统一、高效率的管理。1.1 问题的提出随着Internet技术的飞速发展,现在各大学已经把计算机引入了图书馆,开始了信息化的管理方式,这给予了学生极大的便利,学生可通过图书馆可以获得丰富的文献资料。和传统的图书管

2、理方式相比,计算机和Internet的使用也大大提高了图书馆对书籍的管理效率,为读者提供了更方便、更快捷的服务。与此同时服务理念也由以书籍为中心变为以广大师生的信息需求为中心,但是图书馆的网络信息服务还远远没有跟上网络建设的步伐,所提供的服务也远远不能满足大学师生的信息需求。大学图书馆应当有着先进的现代信息设备,完善的管理和服务,并且有稳定和特定的高素质读者用户群,更应该深入开展图书馆多元化信息服务,以更好地满足大学师生不同的信息需求。目前大学图书馆网络信息服务内容都是浅层次的,主要还是集中在资料的“提供”上,比如动态信息和催还信息的发布只是停留在计算机上,没有充分利用现在飞速发展的通讯技术,

3、使借阅者不能及时得到相应的信息。大学图书馆存在的诸多问题,已经不能满足广大师生群体对信息的需求,因此使得资源的共享性受到相当大的限制。1.2 目的及主要内容以下是我结合高等学校的特点和实际情况,设计了一个基于网络结构的大学图书管理系统,能为广大的学生群体提供更方便、更加多元化的信息服务;利用UML统一建模语言并借助于Rose工具对图书管理系统进行建模,使系统模型直观、简洁、科学,提高了系统开发的质量。主要内容包括基于UML的大学图书管理系统的模型分析及设计。并使用基于MVC的一体化开发过程,对大学图书管理系统进行了系统设计及分析。2. UML的大学图书管理系统分析所谓需求分析就是对一个系统的功

4、能的描述,确定系统到底需要做什么或希望系统所具有的功能。2.1 图书管理系统的需求分析图书馆是为读者提供丰富文献资源的大型机构。对于大学图书馆而言,它面对的核心服务群体是广大的学生(也可以称之为借阅者或读者)。因此,图书馆应该以学生为中心来提供更加多元化的服务。图书管理系统是对书籍的借阅及读者信息进行统一管理的系统,具体应包括以下几个功能:( 1)对于读者而言,他们对系统的要求主要有:能够按各种方式(例如书名、编号、作者、出版社、年份等)浏览图书馆的藏书情况;能够按各种方式(例如年级、专业、书名、编号、作者、出版社、年份等)查询所需参考书籍;能够方便地借阅图书、续借图书、预约图书、归还图书;能

5、够及时获知有关图书馆的最新动态信息,如新书通报、最新公告、借阅时间调整情况等等;能够及时获知所借阅的书籍到期的消息;能够查询和修改自己的基本资料、借阅书籍的情况;( 2)对于图书管理员来说,他对图书管理系统的要求主要有:能够方便地对借阅者的信息进行查询;能够方便地处理借书和还书操作;能够方便地处理书籍的预约和取消预约的操作;将通讯技术和网络技术相结合,及时发布一些重要信息,例如学生借阅的书籍到期的通知、馆内新到书籍的信息等等,以便学生能够随时获知书籍的借阅情况和图书馆的最新藏书情况;( 3)对于系统管理员来说,他们对图书管理系统的要求主要有:能够方便地对书籍进行录入、修改、注销等等;能够方便地

6、录入、修改、注销借阅者的账户信息;能够方便地查询借阅者的借阅信息和书籍信息;将通讯技术和网络技术相结合,随时发布一些重要消息,例如学生借阅的书籍到期的通知、馆内新到的书籍信息等等,并且能够随时获知学生或教职工的借书信息。2.2 图书管理系统的业务流程分析通过大学学校图书馆的实地调查,大学图书管理系统的业务流程主要有如下几点:( 1)借阅者借阅图书流程借阅者在图书馆找到所需书籍后,向图书管理员出示借书证,工作人员利用扫描设备扫描借书证号以验证借阅者的合法性和他的借阅权限,只有当借阅者身份合法,并且借阅数量未超出限制范围时,才能继续借阅。然后工作人员再扫描图书条码,查看该图书是否存在预约,若存在,

7、则借阅者不能借阅此图书;若不存在,则借阅成功。( 2)借阅者续借图书流程借阅者所借的图书是有一个时间限制的,如果到期后,借阅者还没有看完或者看完了还想继续再看,那么他就得必须续借,续借也是有次数和时间限制的。如有的图书馆规定的借阅期限是30天,每人只能续借一次,续借后的借阅期限也是30天。续借时,借阅者只需等待图书管理员扫描图书条码,查看所续借的图书是否超过所续借次数,如果没有超过续借次数,则更新读者信息数据库、书籍信息数据库,续借工作完成。( 3)借阅者归还图书流程借阅者归还图书的流程比较简单,只需将书籍给图书管理员,图书管理员扫描图书条码。若图书超期,则向借阅者按照规定收取相应的罚款;若一

8、切正常,则归还结束。( 4)读者查询信息的流程读者在未登陆系统的情况下可以查询图书馆的藏书情况。如果登陆系统,还可以查询自己的借阅信息、修改自己的相关信息以及预约图书等。( 5)系统管理人员对系统信息的维护和管理流程系统管理员主要的操作是实现对系统的维护,具体包括对借阅者的信息、书目信息、书籍信息的维护和管理等,如增加、更新、删除借阅者信息、书目信息以及书籍信息。2.3 图书管理系统的功能描述经过上述对图书管理系统的需求分析,可以将大学图书管理系统的使用人员划分为读者、图书管理员和系统管理员三类。其中,读者主要查询图书信息和个人借阅信息等;图书管理员主要查看图书信息、用户借阅信息和读者借书、还

9、书管理,并利用网络和通信技术及时向读者发布新到书籍的信息和催还信息;系统管理员主要管理和维护读者信息、书目信息和书籍信息等,并为读者提供多个大学图书馆的链接地址,读者可根据自己的需要进行选择。根据上述对大学图书管理系统的需求分析,该系统主要包括下面几个部分:( 1)系统维护模块该模块的功能主要包括:系统用户身份的分类、录入、修改与删除;书籍和书目信息的录入、修改、删除;动态信息的发布、修改和删除等。( 2)图书管理人员管理模块图书管理人员管理模块的功能主要包括:处理图书的借阅、预约、返还;读者信息的查询;动态信息的发布和浏览等。(3)读者查询模块读者查询管理:书目和书籍信息的查询;个人借阅情况

10、查询;借阅者个人信息部分限制修改;动态信息的浏览等。系统的模块结构图如图31所示。图1系统的模块结构图3.基于MVC的大学图书管理系统设计3.1 UML用例图描述用户需求(OOA模型)1 .系统的用例图用例是对一组序列动作的描述,系统执行这些动作将对用例的参与者产生可以观察的结果。用例模型图是从用户的角度出发对如何使用系统的描述。创建系统的用例图,首先要确定参与者,通过对系统功能模块的分析,系统的参与者主要有三类:借阅者、图书馆管理员和图书管理系统维护者。(D有关借阅者的用例图,如图2所示。修改个人信息:_着询书籍信息)use一普询借阅信息(登录系统I图(2)有关图书管理员的用例图,如图约书分

11、j功(借阅书籍)-vA借阅者、八.一-,extends-1x乙(归还书籍,闪(缴纳罚金浏览动态信息)2借阅者的用例图3所示。3有关图书管理员的用例图(3)系统管理员进行系统维护的用例图,如图。曾加书目:一_v删钏目k、_-旬书目信息一一/系/厂。曾加用户)4所示。;(管理动态信息)哽):?态信息浏。/:查询用户信息;A统理贝yc、修改用户信息)口除用户、一一2 .系统的顺序图顺序图是按时间顺序描述系统中对象之间的交互。大学图书管理系统中的顺序模型图较多,比如有借阅者借书、还书、查询书籍信息和预订书籍的顺序图、图书馆管理员处理书籍借阅、归还的顺序图、系统管理员添加书籍、添加借阅者信息、添加书目的

12、顺序图以及删除或更新书目和借阅者账户的顺序图等等。3 系统的协作图顺序图是从时间上展现对象之间的交互,协作图是从空间角度描述对象之间的交互,它强调的是交互的语境和参与交互的对象的整体组织,两者是语义等价的。4 系统的状态图状态图描述的是单个对象所处的可能状态以及不同状态之间的转化,它显示了一个对象从创建到摧毁的整个生命周期。在大学图书管理系统中,比较明确的状态模型图主要有书籍的状态图和借阅者账户的状态图。5 系统的活动图活动图是一种比较粗粒度的事件流程图,它显示了工作步骤、判定点和分支。大学图书管理系统的活动模型图可以分别从借阅者、图书管理员和系统管理员的角度设计,下面主要介绍一下图书管理员的

13、活动图,如图5所示。-图5图书管理员的活动图3.2基于MVC的设计(OOD模型)1 .体系结构设计图书借阅系统主要用于图书馆工作人员对图书信息进行管理,并提供对图书的查阅、借阅、归还以及续借等功能,为图书馆提供了管理工具,同时让学生可以浏览、查询图书信息等,提高了整体运作效能。本系统分为三部分实现,通过使用的技术来区分:WebService部分,Remoting部分,B/S部分。如图6所示。查看借阅者借阅的图书信息、借阅图书、归还图书由Remoting实现。浏览、查询图书信息在B/S上实现。.跨学校间的图书信息浏览使用WebService实现。出门t人 员他用的讨尊 风.国靠观力 图书前借他和

14、 期法*机部启运目的 晶C/S邰兴的 空序.Windowt ApnltcntionIB书沟_L作人员是候 Rmoting 凰苏,也省一 /信曜,归还篁 / 书.读借阳 / 也手机应用学中仲IF的计 用机,I末苴 询图持信且. 机辖r打法打的 是日/S部分的 牌*.Wab ApplicntionUK *南运行在 *5P.Mrr 攵 口之上的 Web眠仔 翼r路了擢供 HTTP职务之 外.雄赛微 Web Servircb t;A7咬图JCtK 的版车中息数 用J轨棺精图 俨然息以及时俏息*由嘈息超泰寿 丁M施学仲的服 济器通电调用 鼻学校的R/5 U多摆上的 Web Sr7ices St 苒.ir

15、WjAT 植阳竹圮的阳 N信息K他学哎的眼学指图6学校图书借阅系统结构图所涉及到的数据库主要有图书的借书状态信息(TBL_BorrowInfo)和图书本身的信息(TBL_BookInfo),具体结构如图7:TBL BnrrowinfQ f附回i己.心社】PK日5T。win僮向“a耳记球如号IniFK1FK2BoaMD K田缰引 UQHuwCahj 1借阅U明 RWrnC)4 |V liJirrPPlI UsrlD 倩同告 IPHRMtumMdl.;, ffi-H h-b匕卜9r(1。 Jubitinlru datttinw chia r( 101 bilTBL_Usflr /II ., |,

16、gPiKU*orl口 1 H ; : ICHchr(1UarNarna 用/套S归工(flP3KSiWOffnaryi|30) wnrcharfSOJ rnvarcihaf(4D) imageTBL_BookirifLIM 仁信出 即PKgQftIP 用枝柏号1亡tl*ISBN tm ItlftBN-q-J“现.11BkQkNiarni 15 FiJnvjirhar|fiiO)AulUrx柞由|曲代 NQPk小u卜。中耳I力苏日相. Htitmi-BoaikVersiDH |lil 1$1笈4rWBrcher(40pWcrdCount FT/gPay# Cour t j喇 EPiMIkh出胭社

17、1期白 mhrf401FK1eiaesID LEW银小交编号chaII-II.:I:;I1:登录系统()IIIIIU2:查询书目()1;:|Irni.3:查找书籍(书目)Ih_.|4:Available5:鉴定借阅者()6:建立j页约()?图8图书管理员处理图书借阅的时序图(2)客户层(图书管理员登录界面)表单输入drawing.jsp,原形如图9所示:图9图书管理员借阅者登录界面(3)图书管理员的相关操作设计及功能实现管理借书当有学生借书时,图书馆管理员往往要进行核对,确定该学生是否可以借书或者有书尚未归还等,学生则需要提供所借图书的信息。在整个借书的过程中可能会涉及到的信息通常有学生个人信

18、息(用户ID、姓名、性别、班级、照片等)和图书信息(图书编号、书名、出版日期、ISBN、作者、出版社、字数、页数、图书种类、版本等)。图10 借书管理控件说明控件设定值功能用户信息groupBoxIGroupBox盛放与用户信息相关的控件IDlabellLabel显示“ID:”字样无txtIDATextBox输入用户ID姓名label2Label显示“姓名:”字样无txtNameATextBox输入姓名性别label3Label显示“性别:”字样男rbMaleARadioButton将性别选为男性女rbFemaleARadioButton将性别选为女性班级label4Label显示“班级:”字

19、样无txtClassATextBox输入班级无pbPhotoPictureBox显示用户照片确定btnConfirmA1Button根据用户ID检索该用户的信息取消btnCancelA1Button取消检索用户,清空输入的信息借书groupBox2GroupBox盛放与借书功能有关的控件图书编号label5Label显示“图书编号:”字样无txtBookIDATextBox输入图书编号借书btnConfirmA2Button执行借书功能取消btnCancelA2Button取消借书,清空输入的信息借书情况dgBorrowInfoADataGrid显示用户借书情况功能:当用户需要借书时,管理员在

20、“ID”框输入借阅者的ID号,按“确定”按钮,如果系统中有该用户则返回该用户的相关信息,包括个人资料及借书情况等。如果没有则弹出“没有这个用户!”对话框。如果用户存在,在“图书编号”框内输入要借阅的图书编号,按“借书”按钮,如果输入的图书编号正确,并借该书没有被借出,则弹出“借书成功!”对话框;如果书已借出,则弹出“借书失败!”对话框。如果输入的图书编号不正确,则会弹出“没有这本书!”对话框。管理还书还书通常只需要将要还的书交给图书馆工作人员,工作人员会根据图书的编号从借书记录中消去该记录,一般不需要向图书馆工作人员提供个人信息。“图书编号”是整个还书过程中唯一要处理的数据。图11还书管理控件

21、说明控件设定值功能还书groupBox3GroupBox盛放与还书功能相关的控件图书编号label6Label显示“图书编号:”字样无txtBookIDBTextBox输入图书编号检索/还书btnBorrowButton检索图书或执行还书功能取消btnCancelBButton取消检索或取消还书出错信息IblAlertMessageBLabel提示没有这本书或者此书未借出图书信息groupBox4GroupBox盛放与图书信息有关的控件ISBNlabel8Label显示“ISBN:字样无txtISBNBTextBox显示图书的ISBN号出版社label9Label显示“出版社:”字样无txtP

22、ublisherBTextBox显示图书的出版社信息图书名label10Label显示“图书名:”字样无txtBookNameBTextBox显示图书的书名作者labelllLabel显示“作者:”字样无txtAuthorBTextBox显示图书的作者是否逾期label12Label显示“是否逾期:”字样是rbOverTimeYBRadioButton被选中时表示图书已逾期否rbOverTimeNBRadioButton被选中时表示图书尚未逾期用户信息groupBox5GroupBox盛放于用户信息有关的控件姓名label13Label显示“姓名:”字样无txtNameBTextBox显示用户

23、姓名班级label14Label显示“班级:”字样无txtClassBTextBox显示用户班级性别label15Label显示“性别:”字样男rbMaleBRadioButton被选中时表示还书用户为男性女rbFemaleBRadioButton被选中时表示还书用户为男性借书情况dgBorrowInfoBDataGrid显示该用户的借书情况功能:当用户需要还书时,输入图书编号,按“检索”按钮获取该书的情况,如果书未借出或者输入的图书编号有误时,出错信息标签会显示“没有这本书或者此书未借出”字样;否则该出错标签隐藏,并显示此书的相关信息和解决此书者的借书情况,同时“检索”按钮的按钮文字变为“还

24、书”。单击“还书”按钮即可进行还书操作,借书情况将随之更新。管理续借续借一本书的过程和还书很相似,同样只需要提供图书的编号,图书馆工作人员即可根据该编号进行续借操作,不需要提供用户资料。不过和还书不同的是,续借必须在借书的一个月内进行,如果一本书借出的时间超过了一个月就没法再续借了。图书馆工作人员会根据输入图书编号返回的情况进行判断是否可以续借。图12续借管理控件说明控件设定值功能续借groupBox6GroupBox盛放与续借功能相关的控件图书编号label7Label显示“图书编号:”字样无txtBooklDCTextBox输入图书编号检索/续借btnReborrowButton检索图书或

25、执行续借功能取消btnCancelCButton取消检索或取消还书出错信息IblAlertMessageCLabel提示没有这本书或者此书未借出图书信息groupBox8GroupBox盛放与图书信息有关的控件ISBNlabel25Label显示“ISBN:字样无txtISBNCTextBox显示图书的ISBN号出版社label24Label显示“出版社:”字样无txtPublisherCTextBox显示图书的出版社信息图书名label23Label显示“图书名:”字样无txtBookNameCTextBox显示图书的书名作者label22Label显示“作者:”字样无txtAuthorCT

26、extBox显示图书的作者是否逾期label21Label显示“是否逾期:”字样是rbOverTimeYCRadioButton被选中时表示图书已逾期否rbOverTimeNCRadioButton被选中时表示图书尚未逾期用户信息groupBox7GroupBox盛放于用户信息有关的控件姓名label20Label显示“姓名:”字样无txtNameCTextBox显示用户姓名班级label19Label显示“班级:”字样无txtClassCTextBox显示用户班级性别label18Label显示“性别:”字样男rbMaleCRadioButton被选中时表示还书用户为男性女rbFemaleC

27、RadioButton被选中时表示还书用户为男性借书情况dgBorrowInfoCDataGrid显示该用户的借书情况功能:当用户需要续借时,输入图书编号,按“检索”按钮获取该书的情况,如果书未借出或者输入的图书编号有误时,出错信息标签会显示“没有这本书或者此书未借出”字样;否则该出错标签隐藏,并显示此书的相关信息和解决此书者的借书情况,同时“检索”按钮的按钮文字变为“续借”。单击“续借”按钮即可进行续借操作,借书情况将随之更新。(4)图书管理员的登录陆数据处理.jsp的内部逻辑登录陆数据处理:关键点两点:数据库连接;记录登陆信息及信息处理;1 .数据库连接:publicclasslib_sy

28、stem_ConnextendsObjectpubliclib_system_Conn()privateConnectionconn=null;privateResultSetrs;Stringre=;设置你的数据库ipStringdbip=;/设置你的数据库用户名和密码:Stringuse=root;Stringpass=860409”;/设置您的数据库名StringdbName=lib_system”;publicjava.sql.ConnectiongetConn()tryClass.forName(org.gjt.mm.mysql.Driver).newInstanc

29、e();Stringurl=jdbc:mysql:/+dbip+:3306/+dbName+?user=+use+&password=+pass+&useUnicode=true&characterEncoding=GBK;conn=DriverManager.getConnection(url);catch(Exceptione)e.printStackTrace();returnthis.conn;/在Mysql建立lib_system数据库,之后将与数据操作相关数据与该数据库相连;2 .记录登陆信息及信息处理:当用户点击“登陆”按钮之后,数据将提交到登陆数据处理.jsp页面。取得帐号密码

30、这两个从页面传入的值,然后跟数据库当中管理员表中的账号和密码比较。如果正确的话,在JSP的SESSION中存入一个标记属性,表示当前已经有管理员登陆了。处理完毕后,跳转到管理页面,如果失败,则提示登陆失败,并重新进入到登陆页面。具体的逻辑如下:5)图书管理员图书借阅数据处理内部逻辑If(strEdit.equals(“1”)If(学生超额|学生不存在)ifSuccess=false;elseIf(!bb.IsValid(hash)/新增操作Intintdel=bb.addBorrow(hash);If(intdel=null)ifSuccess=false;elseFor(inti=0;ial

31、ert(“”);alert(“借阅失败!”);alert(“借阅成功!”);%执行的过程如下:首先要验证学生信息是否存在和学生的欠款是否超额,也就是说学生是否可以借书,图书是否在馆等,在确定合法之后调用bb.addBorrow(hash)来完成借阅流程。流程其实就是对几个表进行增改的操作。关于addBorrow(hash)的算法:publicintaddBorrow(Hashtablehash)System.out.println(批量处理新增借阅。);Stringsql=;intintID=makeID(JYWJB,JYID,true);StringstrID=String.valueOf(

32、intID);StringstrZJH=ds.toString(String)hash.get(ZJH);/证件号StringstrTXM=ds.toString(String)hash.get(TXM);/条形码StringstrJYSJ=ds.toString(String)hash.get(JYSJ);/借阅时间StringstrXSID=;/学生IDStringstrBOOKID=;/图书IDStringstrDQSJ=;/到期时间StringstrXJCS=;/续借次数/根据学生证件号取的学生ID根据学生ID取得规则ID,然后取得可以借阅天数,sql=selectStudent.Ru

33、leID,Student.XSID,Rule.KJYSJ+fromStudengt,RULE+whereStudent.ZJH=+strZJH+andStudent.RuleID=Rule.RuleIDHashtablehashReId=(Hashtable)searchOneData(sql);strXSID=ds.toString(String)hashReId.get(XSID);StringstrKJYSJ=ds.toString(String)hashReId.get(KJYSJ);/根据条形码取得图书IDsql=selectBOOKIDfromBookwhereTXM=+strTXM+;HashtablehashBKID=(Hashtable)searchOneData(sql);strBOOKID=ds.toString(String)hashBKID.get(BOOKID);/新增操作createStatement();clearBatch();sql=insertintoJSWJB(JYID,XSID,BOOKID,JYSJ,DQSJ,ZT,XJCS)+values(+strID+,+strXSID+,+strBOOKID+,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论