基于UML的高校图书管理系统分析与设计

上传人:无*** 文档编号:101111723 上传时间:2022-06-04 格式:DOC 页数:13 大小:124.50KB
收藏 版权申诉 举报 下载
基于UML的高校图书管理系统分析与设计_第1页
第1页 / 共13页
基于UML的高校图书管理系统分析与设计_第2页
第2页 / 共13页
基于UML的高校图书管理系统分析与设计_第3页
第3页 / 共13页
资源描述:

《基于UML的高校图书管理系统分析与设计》由会员分享,可在线阅读,更多相关《基于UML的高校图书管理系统分析与设计(13页珍藏版)》请在装配图网上搜索。

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

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

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

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

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

6、、注销等等; l 能够方便地录入、修改、注销借阅者的账户信息; l 能够方便地查询借阅者的借阅信息和书籍信息; l 将通讯技术和网络技术相结合,随时发布一些重要消息,例如学生借阅的书籍到期的通知、馆内新到的书籍信息等等,并且能够随时获知学生或教职工的借书信息. 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系统的用例图用例是对一组序列动作的描述,系统执行这些动作将对用例的参与者产生可以观察的结果.用例模型图是从用户的角度出发对如何使用系统的描述.创建系统的用例图,首先要确定参与者,通过对系统功能模块的

11、分析,系统的参与者主要有三类:借阅者、图书馆管理员和图书管理系统维护者.1有关借阅者的用例图,如图 2所示.图 2 借阅者的用例图2有关图书管理员的用例图,如图 3所示.图 3 有关图书管理员的用例图3系统管理员进行系统维护的用例图,如图 4所示.图 4 有关系统管理员的用例图2.系统的顺序图顺序图是按时间顺序描述系统中对象之间的交互.大学图书管理系统中的顺序模型图较多,比如有借阅者借书、还书、查询书籍信息和预订书籍的顺序图、图书馆管理员处理书籍借阅、归还的顺序图、系统管理员添加书籍、添加借阅者信息、添加书目的顺序图以与删除或更新书目和借阅者账户的顺序图等等.3系统的协作图顺序图是从时间上展现

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

13、动图3.2基于MVC的设计OOD模型1.体系结构设计图书借阅系统主要用于图书馆工作人员对图书信息进行管理,并提供对图书的查阅、借阅、归还以与续借等功能,为图书馆提供了管理工具,同时让学生可以浏览、查询图书信息等,提高了整体运作效能.本系统分为三部分实现,通过使用的技术来区分:Web Service部分,Remoting部分,B/S部分.如图6所示.l 查看借阅者借阅的图书信息、借阅图书、归还图书由Remoting实现.l 浏览、查询图书信息在B/S上实现.l 跨学校间的图书信息浏览使用Web Service实现.图6学校图书借阅系统结构图所涉与到的数据库主要有图书的借书状态信息和图书本身的信息

14、,具体结构如图7:图7 学校图书借阅系统数据库结构图2. 领域问题软件结构设计对OOD模型进行细化.1对OOA模型按分层结构进行细化的时序图时序图是按时间顺序描述系统中对象之间的交互.大学图书管理系统中的顺序模型图较多,比如有借阅者借书、还书、查询书籍信息和预订书籍的顺序图、图书馆管理员处理书籍借阅、归还的顺序图、系统管理员添加书籍、添加借阅者信息、添加书目的顺序图以与删除或更新书目和借阅者账户的顺序图等等.下面以对图书管理员处理图书借阅的时序图为例进行绘制,如图8所示.图8 图书管理员处理图书借阅的时序图2客户层图书管理员登录界面表单输入drawing.jsp,原形如图9所示:图9 图书管理

15、员借阅者登录界面3图书管理员的相关操作设计与功能实现管理借书当有学生借书时,图书馆管理员往往要进行核对,确定该学生是否可以借书或者有书尚未归还等,学生则需要提供所借图书的信息.在整个借书的过程中可能会涉与到的信息通常有学生个人信息用户ID、#、性别、班级、照片等和图书信息图书编号、书名、出版日期、ISBN、作者、字数、页数、图书种类、版本等.图10 借书管理控件说明控件设定值类型功能用户信息groupBox1GroupBox盛放与用户信息相关的控件IDlabel1Label显示ID:字样无txtIDATextBox输入用户ID#label2Label显示_字样无txtNameATextBox输

16、入#性别label3Label显示性别:字样男rbMaleARadioButton将性别选为男性女rbFemaleARadioButton将性别选为女性班级label4Label显示_字样无txtClassATextBox输入班级无pbPhotoPictureBox显示用户照片确定btnConfirmA1Button根据用户ID检索该用户的信息取消btnCancelA1Button取消检索用户,清空输入的信息借书groupBox2GroupBox盛放与借书功能有关的控件图书编号label5Label显示图书编号:字样无txtBookIDATextBox输入图书编号借书btnConfirmA2B

17、utton执行借书功能取消btnCancelA2Button取消借书,清空输入的信息借书情况dgBorrowInfoADataGrid显示用户借书情况功能:当用户需要借书时,管理员在ID框输入借阅者的ID号,按确定按钮,如果系统中有该用户则返回该用户的相关信息,包括个人资料与借书情况等.如果没有则弹出没有这个用户!对话框.如果用户存在,在图书编号框内输入要借阅的图书编号,按借书按钮,如果输入的图书编号正确,并借该书没有被借出,则弹出借书成功!对话框;如果书已借出,则弹出借书失败!对话框.如果输入的图书编号不正确,则会弹出没有这本书!对话框.管理还书还书通常只需要将要还的书交给图书馆工作人员,工

18、作人员会根据图书的编号从借书记录中消去该记录,一般不需要向图书馆工作人员提供个人信息.图书编号是整个还书过程中唯一要处理的数据.图11 还书管理控件说明控件设定值类型功能还书groupBox3GroupBox盛放与还书功能相关的控件图书编号label6Label显示图书编号:字样无txtBookIDBTextBox输入图书编号检索/还书btnBorrowButton检索图书或执行还书功能取消btnCancelBButton取消检索或取消还书出错信息lblAlertMessageBLabel提示没有这本书或者此书未借出图书信息groupBox4GroupBox盛放与图书信息有关的控件ISBNla

19、bel8Label显示ISBN:字样无txtISBNBTextBox显示图书的ISBN号label9Label显示:字样无txtPublisherBTextBox显示图书的信息图书名label10Label显示图书名:字样无txtBookNameBTextBox显示图书的书名作者label11Label显示 字样无txtAuthorBTextBox显示图书的作者是否逾期label12Label显示是否逾期:字样是rbOverTimeYBRadioButton被选中时表示图书已逾期否rbOverTimeNBRadioButton被选中时表示图书尚未逾期用户信息groupBox5GroupBox盛

20、放于用户信息有关的控件#label13Label显示_字样无txtNameBTextBox显示用户#班级label14Label显示_字样无txtClassBTextBox显示用户班级性别label15Label显示性别:字样男rbMaleBRadioButton被选中时表示还书用户为男性女rbFemaleBRadioButton被选中时表示还书用户为男性借书情况dgBorrowInfoBDataGrid显示该用户的借书情况功能:当用户需要还书时,输入图书编号,按检索按钮获取该书的情况,如果书未借出或者输入的图书编号有误时,出错信息标签会显示没有这本书或者此书未借出字样;否则该出错标签隐藏,并

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

22、输入图书编号检索/续借btnReborrowButton检索图书或执行续借功能取消btnCancelCButton取消检索或取消还书出错信息lblAlertMessageCLabel提示没有这本书或者此书未借出图书信息groupBox8GroupBox盛放与图书信息有关的控件ISBNlabel25Label显示ISBN:字样无txtISBNCTextBox显示图书的ISBN号label24Label显示:字样无txtPublisherCTextBox显示图书的信息图书名label23Label显示图书名:字样无txtBookNameCTextBox显示图书的书名作者label22Label显示

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

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

25、extends Objectpublic lib_system_Conn private Connection conn = null;private ResultSet rs; String re = ;/设置你的数据库ip String dbip = 127.0.0.1;/设置你的数据库用户名和密码: String use = root; String pass = 860409;/设置您的数据库名 String dbName = lib_system;public java.sql.Connection getConntry Class.forName.newInstance; Stri

26、ng url =jdbc:mysql+dbip+:3306/+dbName+?user=+use+&password=+pass+&useUnicode=true&characterEncoding=GBK ;conn= DriverManager.getConnection; catch e.printStackTrace; returnthis.conn ; /在Mysql建立lib_system数据库,之后将与数据操作相关数据与该数据库相连;2.记录登陆信息与信息处理:当用户点击登陆按钮之后,数据将提交到登陆数据处理.jsp页面. 取得#密码这两个从页面传入的值,然后跟数据库当中管理员表

27、中的账号和密码比较.如果正确的话,在JSP的SESSION中存入一个标记属性,表示当前已经有管理员登陆了.处理完毕后,跳转到管理页面,如果失败,则提示登陆失败,并重新进入到登陆页面.具体的逻辑如下:%String username=ParamUtil.getString;/取得用户名String password=ParamUtil.getString;/取得密码String erroMsg=;/错误码iftrySkinUtil.login;/在JSP的session中存如一个标记属性,表示当前已经有管理员登陆了Session.setAttribute;response.sendRedirec

28、t;catcherroMsg=错误的用户名和密码;response.sendRedirectlogin_process.jsp?+response.encodeURL;elseout.println;%5图书管理员图书借阅数据处理内部逻辑IfstrEdit.equalsIfifSuccess=false;elseIf!bb.IsValid/新增操作Int intdel=bb.addBorrow;IfifSuccess=false;elseForint i=0;ialert;%IfifSuccess=false;If%alert;alert;%执行的过程如下:首先要验证学生信息是否存在和学生的欠

29、款是否超额,也就是说学生是否可以借书,图书是否在馆等,在 确定合法之后调用bb.addBorrow来完成借阅流程.流程其实就是对几个表进行增改的操作.关于addBorrow的算法:public int addBorrowSystem.out.println;String sql=;int intID = makeID;String strID=String.valueOf;String strZJH = ds.toStringhash.get;/证件号String strTXM = ds.toStringhash.get;/条形码String strJYSJ = ds.toStringhash

30、.get;/借阅时间String strXSID = ;/学生IDString strBOOKID = ;/图书IDString strDQSJ = ;/到期时间String strXJCS = ;/续借次数/根据学生证件号取的学生ID/根据学生ID取得规则ID,然后取得可以借阅天数,sql=select Student.RuleID,Student.XSID,Rule.KJYSJ + from Studengt,RULE + where Student.ZJH=+strZJH+ and Student.RuleID=Rule.RuleID ;Hashtable hashReId=search

31、OneData;strXSID=ds.toStringhashReId.get;String strKJYSJ=ds.toStringhashReId.get;/根据条形码取得图书ID sql=select BOOKID from Book where TXM=+strTXM+;Hashtable hashBKID=searchOneData;strBOOKID = ds.toStringhashBKID.get;/新增操作createStatement;clearBatch;sql= insert into JSW + values+strID+,+strXSID+,+strBOOKID+,

32、+strJYSJ+,to_charto_date+strKJYSJ+,yyyy-MM-dd+,+strZero+,+strZero+;addBatch;sql=update Book set ZT=借出 where BOOKID=+strBOOKID;addBatch;sql=update Student set YJSS=YJSS+1 where XSID=+strXSID;addBatch;int result=executeBatch;closeStm;return result;而对于取消按钮事件,由于要实现取消借阅,所以需要调用delBorrow来取消借阅操作;算法如下:public

33、 int delBorrowSystem.out.println;String sql=;sql=select BOOKID from JSW where JYID=+id;Hashtable hash=searchOneData;String strBOOKID=hash.get;createStatement;clearBatch;sql=update JSW set ZT=+strOne+ where JYID=+id;addBatch;sql=update BOOK set ZT=可借 where BOOKID=+strBOOKID;addBatch;int result=execut

34、eBatch;closeStm;return result;4. 总结UML作为面向对象的可视化标准建模语言,采用多种图形符号表示系统中的对象以与它们之间的各种关系,可以从不同的角度描述待开发的系统,使系统的功能具体化、形象化,从而为更好地理解业务流程提供有效的交流形式.面向MVC的一体化开发过程就是突破以往的方法,按着每个用例的执行链进行,规律性强、易掌握;软件结构按6层结构划分,既做到了代码的解耦,也与MVC模式和执行链完美统一;各执行链设计完成后,找出一些重用的对象后重新封装;如每条链都用到的DAO部分;如果采用Model2,可以仿照 Struts结构,采用一个Servlet,然后用过滤器来配置各条执行链.由于时间的限制和本人能力的限制,还有许多工作没有完成,下一步打算继续完善如下工作:1继续学习UML和面向MVC的一体化开发过程的相关知识;2继续完善该系统的UML设计和面向MVC的一体化开发过程的步骤;3在完成系统设计的基础上进行系统实现.13 / 13

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!