1、基于UML校园图书管理系统的分析设计基于UML校园图书管理系统的分析设计摘要:本文介绍利用 UML统一建模语言并借助于 Rose工具对图书管理系统进 行建模,使系统模型直观、简洁、科学,提高了系统开发的质量。主要内容包括基于UML的高校图书管理系统的模型分析及设计。并使用基于MVC的一体化开发过程,对高校图书管理系统进行了系统设计及分析。关键字:UML、面向对象、图书管理系统、需求分析定义:利用统一建模语言(Unified Modeling Language,UML)以一种可视化的建模语言,使得校园图书管理系统构造者用统一的,易于理解的方式建立起能够表达出他们需求,方便学校对馆藏图书的管理与维
2、护。UML(Unified Modeling Language)是在Booch方法、OOSE方法和OMT方法的基础上演化而来的基于面向对象技术的标准建模语言。它统一了面向对象建模的基本概念、术语和图示符号,描述了建模过程中所必须遵循的基本步骤,提供了一整套描述软件系统模型的概念和图形表示法,可从不同的视角为系统建模。UML的主要内容通常用用例图、类图、对象图、状态图、活动图、构件图、配置图、顺序图、协作图和包图等l0种图来描述,它们从不同的角度和层次为系统建模提供支持,完全可以描述系统的方方面面。因此,建立一个智能化、系统化、信息化的图书资料库是十分重要的。使用计算机软件对图书进行管理,是计算
3、机应用的一部分。充分利用计算机的功能,实现对读者管理、书籍管理等自动化控制,将会使图书资料库的工作强度大大减弱,可以实现图书检索迅速、可靠性高、存储量大、寿命长、成本低,能最大限度地提高图书管理的效率,也是图书管理信息化、正规化管理的必然趋势。2系统需求分析及设计所谓需求分析就是对一个系统的功能的描述,确定系统到底需要做什么或希望系统所具有的功能。2.1系统总体功能需求图书馆是为读者提供丰富文献资源的大型机构。对于高校图书馆而言,它面对的核心服务群体是广大的学生(也可以称之为借阅者或读者),因此,图书馆应该以学生为中心来提供更加多元化的服务。图书管理系统是对书籍的借阅及读者信息进行统一管理的系
4、统,具体应包括以下几个功能:1.对于读者而言,他们对系统的要求主要有: v 能够按各种方式(例如书名、编号、作者、出版社、年份等)浏览图书馆的藏书情况; v 能够按各种方式(例如年级、专业、书名、编号、作者、出版社、年份等)查询所需参考书籍; v 能够方便地借阅图书、续借图书、预约图书、归还图书; v 能够及时获知有关图书馆的最新动态信息,如新书通报、最新公告、借阅时间调整情况等等; v 能够及时获知所借阅的书籍到期的消息; v 能够查询和修改自己的基本资料、借阅书籍的情况。2.对于图书管理员来说,他对图书管理系统的要求主要有: v 能够方便地对借阅者的信息进行查询; v 能够方便地处理借书和
5、还书操作; v 能够方便地处理书籍的预约和取消预约的操作; v 将通讯技术和网络技术相结合,及时发布一些重要信息,例如学生借阅的书籍到期的通知、馆内新到书籍的信息等等,以便学生能够随时获知书籍的借阅情况和图书馆的最新藏书情况。3.对于系统管理员来说,他们对图书管理系统的要求主要有: v 能够方便地对书籍进行录入、修改、注销等等; v 能够方便地录入、修改、注销借阅者的账户信息; v 能够方便地查询借阅者的借阅信息和书籍信息; v 将通讯技术和网络技术相结合,随时发布一些重要消息,例如学生借阅的书籍到期的通知、馆内新到的书籍信息等等,并且能够随时获知学生或教职工的借书。2.2 系统详细功能需求经
6、过上述对图书管理系统的需求分析,可以将高校图书管理系统的使用人员划分为读者、图书管理员和系统管理员三类。其中,读者主要查询图书信息和个人借阅信息等;图书管理员主要查看图书信息、用户借阅信息和读者借书、还书管理,并利用网络和通信技术及时向读者发布新到书籍的信息和催还信息;系统管理员主要管理和维护读者信息、书目信息和书籍信息等,并为读者提供多个大学图书馆的链接地址,读者可根据自己的需要进行选择。系统的功能模块图如下图2.1 图 2.1 系统功能模块图2.2.1 管理系统模块设计 根据上述对高校图书管理系统的需求分析,该系统主要包括下面几个部分:(1)系统维护模块该模块的功能主要包括:系统用户身份的
7、分类、录入、修改与删除;书籍和书目信息的录入、修改、删除;动态信息的发布、修改和删除等。(2)图书管理人员管理模块图书管理人员管理模块的功能主要包括:处理图书的借阅、预约、返还;读者信息的查询;动态信息的发布和浏览等。(3)读者查询模块读者查询管理:书目和书籍信息的查询;个人借阅情况查询;借阅者个人信息部分限制修改;动态信息的浏览等。如图2.2表示出系统的模块结构图。图书管理系统系统管理员图书管理员借阅者借阅者登录图书管理员登录系统管理员登录借书管理借阅信息查询还书管理动态信息管理书目、书籍信息管理借阅者信息管理预约管理个人资料修改书籍信息查询动态信息浏览动态信息浏览动态信息浏览图 2.2系统
8、的模块结构图2.2.2 基本业务模块 图书管理模块主要是进行借阅登记业务的处理,方便读者在需要借阅时正常有序的进行,也保证了馆内图书整理以及信息更新等活动正常进行。如下面图2.3所示,这是我们的一个基本业务模块图: 图2.3基本业务模块3.系统UML建模3.1 系统的用例图3.1.1 系统分析3.1.1.1 定义参与者用例图在需求分析阶段有很重要的作用,它是作为参与者的外部用户所能观察到的系统功能的模型图。整个开发过程都是围绕需求阶段的用例进行的。创建用例图之前首先需要确定参与者。(1) 读者,像本科生、研究生、教职工以及外部人员等的一些群体而组成的读者群。(2) 图书管理员,负责馆内图书工作
9、的从业者。(3) 系统管理员。3.1.1.2 定义用例 根据前期的需求分析和系统定义,可以产生以下用例:(1)借阅者(学生/老师)用例(2)图书管理员用例(3)系统管理员用例3.1.2 用例图设计3.1.2.1借阅者的用例图读者管理模块主要包括与读者有联系相关的过程,主要有增加/删除读者、修改读者权限及密码、借阅信息查询、个人信息查询及修该、借阅超期和丢失罚款。读者可以在馆内进行登记借阅,也可以是现在图书馆网址上实现在线文章的一个查阅,对自己的个人信息修改以及及时的更新等操作。 图3.1 借阅者的用例图3.1.2.2图书管理员的用例图 图书管理模块包括与图书相关的一些过程,主要有图书的借出、图
10、书的归还、预定、图书信息检索、图书订购、图书相关信息管理。图 3.2图书管理员的用例图3.1.2.3系统管理员的用例图系统管理模块包括系统的登陆、退出、系统维护、系统更新。图 3.2图书管理员的用例图3.2 领域概念模型 3.3 系统的交互图3.3.1分析类有三种分析类:边界类、实体类和控制类。每一种在精化的系统模型中执行一种特定的作用。(1)边界类(2)实体类(3)控制类控制类用于系统内的模型行为,用于对某一个具体的用例相关的控制或者其它业务逻辑建模。在*管理系统中定义的控制类如表3.3所示:表3.3系统的控制类控制类名控制类职责3.3.2 交互图设计 对于图书管理系统借书还书是两个重要的过
11、程,我们先来分析一下借书、还书的一般过程,并由借书的一般过程画出其顺序图、协作图以及活动图。3.3.2.1读者借阅的时序图和协作图 图3.5 读者借阅的时序图图3.6读着借阅的协作图系统的精化的类图通过对系统交互图、状态图和活动图的设计与分析。可以设计出系统精化的类图如图3,7所示:【类图说明】reader类是借阅者的类,它的属性很多,包括借阅者的账户ID(reader_id)、姓名(reader_Name)、地址(Address)、班级(class)、所借书籍的书目(borrowed)等。其中主要操作有借书(addborrowed)和还书(deleteborrowed)和预订(reserva
12、tion)等。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
13、) persistent store类是书籍永久的存储类,在数据库中的存储数据,其他对与书籍有关的活动都要经过其存储类。 图3,7图书管理系统精化的类图根据精化的类图及总体分析,可以分析出系统主要类的属性及操作如表*.*所示:表3.8系统主要类的设计控件设定值类型功能用户信息groupBox1GroupBox盛放与用户信息相关的控件IDlabel1Label显示“ID:”字样无txtIDATextBox输入用户ID姓名label2Label显示“姓名:”字样无txtNameATextBox输入姓名性别label3Label显示“性别:”字样男rbMaleARadioButton将性别选为男性女
14、rbFemaleARadioButton将性别选为女性班级label4Label显示“班级:”字样无txtClassATextBox输入班级无pbPhotoPictureBox显示用户照片确定btnConfirmA1Button根据用户ID检索该用户的信息取消btnCancelA1Button取消检索用户,清空输入的信息借书groupBox2GroupBox盛放与借书功能有关的控件图书编号label5Label显示“图书编号:”字样无txtBookIDATextBox输入图书编号借书btnConfirmA2Button执行借书功能取消btnCancelA2Button取消借书,清空输入的信息借
15、书情况dgBorrowInfoADataGrid显示用户借书情况功能:当用户需要借书时,管理员在“ID”框输入借阅者的ID号,按“确定”按钮,如果系统中有该用户则返回该用户的相关信息,包括个人资料及借书情况等。如果没有则弹出“没有这个用户!”对话框。如果用户存在,在“图书编号”框内输入要借阅的图书编号,按“借书”按钮,如果输入的图书编号正确,并借该书没有被借出,则弹出“借书成功!”对话框;如果书已借出,则弹出“借书失败!”对话框。如果输入的图书编号不正确,则会弹出“没有这本书!”对话框。管理还书还书通常只需要将要还的书交给图书馆工作人员,工作人员会根据图书的编号从借书记录中消去该记录,一般不需
16、要向图书馆工作人员提供个人信息。“图书编号”是整个还书过程中唯一要处理的数据。图11 还书管理控件说明控件设定值类型功能还书groupBox3GroupBox盛放与还书功能相关的控件图书编号label6Label显示“图书编号:”字样无txtBookIDBTextBox输入图书编号检索/还书btnBorrowButton检索图书或执行还书功能取消btnCancelBButton取消检索或取消还书出错信息lblAlertMessageBLabel提示没有这本书或者此书未借出图书信息groupBox4GroupBox盛放与图书信息有关的控件ISBNlabel8Label显示“ISBN:”字样无tx
17、tISBNBTextBox显示图书的ISBN号出版社label9Label显示“出版社:”字样无txtPublisherBTextBox显示图书的出版社信息图书名label10Label显示“图书名:”字样无txtBookNameBTextBox显示图书的书名作者label11Label显示“作者:”字样无txtAuthorBTextBox显示图书的作者是否逾期label12Label显示“是否逾期:”字样是rbOverTimeYBRadioButton被选中时表示图书已逾期否rbOverTimeNBRadioButton被选中时表示图书尚未逾期用户信息groupBox5GroupBox盛放于
18、用户信息有关的控件姓名label13Label显示“姓名:”字样无txtNameBTextBox显示用户姓名班级label14Label显示“班级:”字样无txtClassBTextBox显示用户班级性别label15Label显示“性别:”字样男rbMaleBRadioButton被选中时表示还书用户为男性女rbFemaleBRadioButton被选中时表示还书用户为男性借书情况dgBorrowInfoBDataGrid显示该用户的借书情况功能:当用户需要还书时,输入图书编号,按“检索”按钮获取该书的情况,如果书未借出或者输入的图书编号有误时,出错信息标签会显示“没有这本书或者此书未借出”
19、字样;否则该出错标签隐藏,并显示此书的相关信息和解决此书者的借书情况,同时“检索”按钮的按钮文字变为“还书”。单击“还书”按钮即可进行还书操作,借书情况将随之更新。管理续借续借一本书的过程和还书很相似,同样只需要提供图书的编号,图书馆工作人员即可根据该编号进行续借操作,不需要提供用户资料。不过和还书不同的是,续借必须在借书的一个月内进行,如果一本书借出的时间超过了一个月就没法再续借了。图书馆工作人员会根据输入图书编号返回的情况进行判断是否可以续借。图12 续借管理控件说明控件设定值类型功能续借groupBox6GroupBox盛放与续借功能相关的控件图书编号label7Label显示“图书编号
20、:”字样无txtBookIDCTextBox输入图书编号检索/续借btnReborrowButton检索图书或执行续借功能取消btnCancelCButton取消检索或取消还书出错信息lblAlertMessageCLabel提示没有这本书或者此书未借出图书信息groupBox8GroupBox盛放与图书信息有关的控件ISBNlabel25Label显示“ISBN:”字样无txtISBNCTextBox显示图书的ISBN号出版社label24Label显示“出版社:”字样无txtPublisherCTextBox显示图书的出版社信息图书名label23Label显示“图书名:”字样无txtBo
21、okNameCTextBox显示图书的书名作者label22Label显示“作者:”字样无txtAuthorCTextBox显示图书的作者是否逾期label21Label显示“是否逾期:”字样是rbOverTimeYCRadioButton被选中时表示图书已逾期否rbOverTimeNCRadioButton被选中时表示图书尚未逾期用户信息groupBox7GroupBox盛放于用户信息有关的控件姓名label20Label显示“姓名:”字样无txtNameCTextBox显示用户姓名班级label19Label显示“班级:”字样无txtClassCTextBox显示用户班级性别label18
22、Label显示“性别:”字样男rbMaleCRadioButton被选中时表示还书用户为男性女rbFemaleCRadioButton被选中时表示还书用户为男性借书情况dgBorrowInfoCDataGrid显示该用户的借书情况4结语 本文以一个图书馆图书管理系统开发为背景,针对图书馆对图书资源进行有效利用和管理的功能需求,采用统一建模语言(UML)对图书资源进行面向对象的描述,通过利用统一建模语言UML中的各种图形,分析和设计图书管理系统,建起了图书管理的面向对象模型,探讨了基于UML的体系结构建模及其实现问题。由建模过程可以看出UML在体系结构建模方面存在很好的优势,不但从整体上正确描述
23、了该图书管理系统的体系结构,并且可以充分利用UML面向对象的优势,从而实现整个软件系统面向对象的分析、设计与开发,大大缩短开发周期,最终使得项目成功完成,此管理系统节省了管理人员和读者的大量时间,有利于信息处理效率的提高。鉴于篇幅有限,本文只对主要部分和主要过程做了介绍,限于水平,欢迎各位读者对本文的缺点、错误提出批评。参考文献1Joseph Schmuller.UML基础、案例与应用(第三版)J.人民邮电出版社.2004.8. 2吴建,郑潮,汪杰.UML基础与Rose建模案例M.北京:人民邮电出版社.2004.10. 3蔡敏,徐慧慧,黄炳强.UML基础与Rose建模教程M.北京:人民邮电出版社.2006.1.4 齐治昌.谭庆平.宁洪. 软件工程.北京:高等教育出版社 5 张海藩.软件工程.北京:人民邮电出版社 6 董翔.基于UML的图书管理系统的开发和应用.科技情报开发与经济2008年第l8卷第l2期
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100