资源描述
基于UML校园图书管理系统的分析设计
基于UML校园图书管理系统的分析设计
摘要:本文介绍利用 UML统一建模语言并借助于 Rose工具对图书管理系统进 行建模,使系统模型直观、简洁、科学,提高了系统开发的质量。主要内容包括基于UML的高校图书管理系统的模型分析及设计。并使用基于MVC的一体化开发过程,对高校图书管理系统进行了系统设计及分析。
关键字:UML、面向对象、图书管理系统、需求分析
定义:利用统一建模语言(Unified Modeling Language,UML)以一种可视化的建模语言,使得校园图书管理系统构造者用统一的,易于理解的方式建立起能够表达出他们需求,方便学校对馆藏图书的管理与维护。
UML(Unified Modeling Language)是在Booch方法、OOSE方法和OMT方法的基础上演化而来的基于面向对象技术的标准建模语言。它统一了面向对象建模的基本概念、术语和图示符号,描述了建模过程中所必须遵循的基本步骤,提供了一整套描述软件系统模型的概念和图形表示法,可从不同的视角为系统建模。
UML的主要内容通常用用例图、类图、对象图、状态图、活动图、构件图、配置图、顺序图、协作图和包图等l0种图来描述,它们从不同的角度和层次为系统建模提供支持,完全可以描述系统的方方面面。因此,建立一个智能化、系统化、信息化的图书资料库是十分重要的。使用计算机软件对图书进行管理,是计算机应用的一部分。充分利用计算机的功能,实现对读者管理、书籍管理等自动化控制,将会使图书资料库的工作强度大大减弱,可以实现图书检索迅速、可靠性高、存储量大、寿命长、成本低,能最大限度地提高图书管理的效率,也是图书管理信息化、正规化管理的必然趋势。
2系统需求分析及设计
所谓需求分析就是对一个系统的功能的描述,确定系统到底需要做什么或希望系统所具有的功能。
2.1系统总体功能需求
图书馆是为读者提供丰富文献资源的大型机构。对于高校图书馆而言,它面对的核心服务群体是广大的学生(也可以称之为借阅者或读者),因此,图书馆应该以学生为中心来提供更加多元化的服务。图书管理系统是对书籍的借阅及读者信息进行统一管理的系统,具体应包括以下几个功能:
1.对于读者而言,他们对系统的要求主要有:
v 能够按各种方式(例如书名、编号、作者、出版社、年份等)浏览图书馆的藏书情况;
v 能够按各种方式(例如年级、专业、书名、编号、作者、出版社、年份等)查询所需参考书籍;
v 能够方便地借阅图书、续借图书、预约图书、归还图书;
v 能够及时获知有关图书馆的最新动态信息,如新书通报、最新公告、借阅时间调整情况等等;
v 能够及时获知所借阅的书籍到期的消息;
v 能够查询和修改自己的基本资料、借阅书籍的情况。
2.对于图书管理员来说,他对图书管理系统的要求主要有:
v 能够方便地对借阅者的信息进行查询;
v 能够方便地处理借书和还书操作;
v 能够方便地处理书籍的预约和取消预约的操作;
v 将通讯技术和网络技术相结合,及时发布一些重要信息,例如学生借阅的书籍到期的通知、馆内新到书籍的信息等等,以便学生能够随时获知书籍的借阅情况和图书馆的最新藏书情况。
3.对于系统管理员来说,他们对图书管理系统的要求主要有:
v 能够方便地对书籍进行录入、修改、注销等等;
v 能够方便地录入、修改、注销借阅者的账户信息;
v 能够方便地查询借阅者的借阅信息和书籍信息;
v 将通讯技术和网络技术相结合,随时发布一些重要消息,例如学生借阅的书籍到期的通知、馆内新到的书籍信息等等,并且能够随时获知学生或教职工的借书。
2.2 系统详细功能需求
经过上述对图书管理系统的需求分析,可以将高校图书管理系统的使用人员划分为读者、图书管理员和系统管理员三类。其中,读者主要查询图书信息和个人借阅信息等;图书管理员主要查看图书信息、用户借阅信息和读者借书、还书管理,并利用网络和通信技术及时向读者发布新到书籍的信息和催还信息;系统管理员主要管理和维护读者信息、书目信息和书籍信息等,并为读者提供多个大学图书馆的链接地址,读者可根据自己的需要进行选择。
系统的功能模块图如下图2.1
图 2.1 系统功能模块图
2.2.1 管理系统模块设计
根据上述对高校图书管理系统的需求分析,该系统主要包括下面几个部分:
(1)系统维护模块
该模块的功能主要包括:系统用户身份的分类、录入、修改与删除;书籍和书目信息的录入、修改、删除;动态信息的发布、修改和删除等。
(2)图书管理人员管理模块
图书管理人员管理模块的功能主要包括:处理图书的借阅、预约、返还;读者信息的查询;动态信息的发布和浏览等。
(3)读者查询模块
读者查询管理:书目和书籍信息的查询;个人借阅情况查询;借阅者个人信息部分限制修改;动态信息的浏览等。
如图2.2表示出系统的模块结构图。
图书管理系统
系统管理员
图书管理员
借阅者
借阅者登录
图书管理员登录
系统管理员登录
借书管理
借阅信息查询
还书管理
动态信息管理
书目、书籍信息管理
借阅者信息管理
预约管理
个人资料修改
书籍信息查询
动态信息浏览
动态信息浏览
动态信息浏览
图 2.2系统的模块结构图
2.2.2 基本业务模块
图书管理模块主要是进行借阅登记业务的处理,方便读者在需要借阅时正常有序的进行,也保证了馆内图书整理以及信息更新等活动正常进行。如下面图2.3所示,这是我们的一个基本业务模块图:
图2.3基本业务模块
3.系统UML建模
3.1 系统的用例图
3.1.1 系统分析
3.1.1.1 定义参与者
用例图在需求分析阶段有很重要的作用,它是作为参与者的外部用户所能观察到的系统功能的模型图。整个开发过程都是围绕需求阶段的用例进行的。
创建用例图之前首先需要确定参与者。
(1) 读者,像本科生、研究生、教职工以及外部人员等的一些群体而组成的读者群。
(2) 图书管理员,负责馆内图书工作的从业者。
(3) 系统管理员。
3.1.1.2 定义用例
根据前期的需求分析和系统定义,可以产生以下用例:
(1)借阅者(学生/老师)用例
(2)图书管理员用例
(3)系统管理员用例
3.1.2 用例图设计
3.1.2.1借阅者的用例图
读者管理模块主要包括与读者有联系相关的过程,主要有增加/删除读者、修改读者权限及密码、借阅信息查询、个人信息查询及修该、借阅超期和丢失罚款。读者可以在馆内进行登记借阅,也可以是现在图书馆网址上实现在线文章的一个查阅,对自己的个人信息修改以及及时的更新等操作。
图3.1 借阅者的用例图
3.1.2.2图书管理员的用例图
图书管理模块包括与图书相关的一些过程,主要有图书的借出、图书的归还、预定、图书信息检索、图书订购、图书相关信息管理。
图 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 交互图设计
对于图书管理系统借书还书是两个重要的过程,我们先来分析一下借书、还书的一般过程,并由借书的一般过程画出其顺序图、协作图以及活动图。
3.3.2.1读者借阅的时序图和协作图
图3.5 读者借阅的时序图
图3.6读着借阅的协作图
系统的精化的类图
通过对系统交互图、状态图和活动图的设计与分析。可以设计出系统精化的类图如图3,7所示:
【类图说明】
reader类是借阅者的类,它的属性很多,包括借阅者的账户ID(reader_id)、姓名(reader_Name)、地址(Address)、班级(class)、所借书籍的书目(borrowed)等。其中主要操作有借书(addborrowed)和还书(deleteborrowed)和预订(reservation)等。
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) persistent store类是书籍永久的存储类,在数据库中的存储数据,其他对与书籍有关的活动都要经过其存储类。
图3,7图书管理系统精化的类图
根据精化的类图及总体分析,可以分析出系统主要类的属性及操作如表*.*所示:
表3.8系统主要类的设计
控件
设定值
类型
功能
用户信息
groupBox1
GroupBox
盛放与用户信息相关的控件
ID
label1
Label
显示“ID:”字样
无
txtIDA
TextBox
输入用户ID
姓名
label2
Label
显示“姓名:”字样
无
txtNameA
TextBox
输入姓名
性别
label3
Label
显示“性别:”字样
男
rbMaleA
RadioButton
将性别选为男性
女
rbFemaleA
RadioButton
将性别选为女性
班级
label4
Label
显示“班级:”字样
无
txtClassA
TextBox
输入班级
无
pbPhoto
PictureBox
显示用户照片
确定
btnConfirmA1
Button
根据用户ID检索该用户的信息
取消
btnCancelA1
Button
取消检索用户,清空输入的信息
借书
groupBox2
GroupBox
盛放与借书功能有关的控件
图书编号
label5
Label
显示“图书编号:”字样
无
txtBookIDA
TextBox
输入图书编号
借书
btnConfirmA2
Button
执行借书功能
取消
btnCancelA2
Button
取消借书,清空输入的信息
借书情况
dgBorrowInfoA
DataGrid
显示用户借书情况
功能:当用户需要借书时,管理员在“ID”框输入借阅者的ID号,按“确定”按钮,如果系统中有该用户则返回该用户的相关信息,包括个人资料及借书情况等。如果没有则弹出“没有这个用户!”对话框。如果用户存在,在“图书编号”框内输入要借阅的图书编号,按“借书”按钮,如果输入的图书编号正确,并借该书没有被借出,则弹出“借书成功!”对话框;如果书已借出,则弹出“借书失败!”对话框。如果输入的图书编号不正确,则会弹出“没有这本书!”对话框。
②管理还书
还书通常只需要将要还的书交给图书馆工作人员,工作人员会根据图书的编号从借书记录中消去该记录,一般不需要向图书馆工作人员提供个人信息。“图书编号”是整个还书过程中唯一要处理的数据。
图11 还书管理
控件说明
控件
设定值
类型
功能
还书
groupBox3
GroupBox
盛放与还书功能相关的控件
图书编号
label6
Label
显示“图书编号:”字样
无
txtBookIDB
TextBox
输入图书编号
检索/还书
btnBorrow
Button
检索图书或执行还书功能
取消
btnCancelB
Button
取消检索或取消还书
出错信息
lblAlertMessageB
Label
提示没有这本书或者此书未借出
图书信息
groupBox4
GroupBox
盛放与图书信息有关的控件
ISBN
label8
Label
显示“ISBN:”字样
无
txtISBNB
TextBox
显示图书的ISBN号
出版社
label9
Label
显示“出版社:”字样
无
txtPublisherB
TextBox
显示图书的出版社信息
图书名
label10
Label
显示“图书名:”字样
无
txtBookNameB
TextBox
显示图书的书名
作者
label11
Label
显示“作者:”字样
无
txtAuthorB
TextBox
显示图书的作者
是否逾期
label12
Label
显示“是否逾期:”字样
是
rbOverTimeYB
RadioButton
被选中时表示图书已逾期
否
rbOverTimeNB
RadioButton
被选中时表示图书尚未逾期
用户信息
groupBox5
GroupBox
盛放于用户信息有关的控件
姓名
label13
Label
显示“姓名:”字样
无
txtNameB
TextBox
显示用户姓名
班级
label14
Label
显示“班级:”字样
无
txtClassB
TextBox
显示用户班级
性别
label15
Label
显示“性别:”字样
男
rbMaleB
RadioButton
被选中时表示还书用户为男性
女
rbFemaleB
RadioButton
被选中时表示还书用户为男性
借书情况
dgBorrowInfoB
DataGrid
显示该用户的借书情况
功能:当用户需要还书时,输入图书编号,按“检索”按钮获取该书的情况,如果书未借出或者输入的图书编号有误时,出错信息标签会显示“没有这本书或者此书未借出”字样;否则该出错标签隐藏,并显示此书的相关信息和解决此书者的借书情况,同时“检索”按钮的按钮文字变为“还书”。单击“还书”按钮即可进行还书操作,借书情况将随之更新。
③管理续借
续借一本书的过程和还书很相似,同样只需要提供图书的编号,图书馆工作人员即可根据该编号进行续借操作,不需要提供用户资料。不过和还书不同的是,续借必须在借书的一个月内进行,如果一本书借出的时间超过了一个月就没法再续借了。图书馆工作人员会根据输入图书编号返回的情况进行判断是否可以续借。
图12 续借管理
控件说明
控件
设定值
类型
功能
续借
groupBox6
GroupBox
盛放与续借功能相关的控件
图书编号
label7
Label
显示“图书编号:”字样
无
txtBookIDC
TextBox
输入图书编号
检索/续借
btnReborrow
Button
检索图书或执行续借功能
取消
btnCancelC
Button
取消检索或取消还书
出错信息
lblAlertMessageC
Label
提示没有这本书或者此书未借出
图书信息
groupBox8
GroupBox
盛放与图书信息有关的控件
ISBN
label25
Label
显示“ISBN:”字样
无
txtISBNC
TextBox
显示图书的ISBN号
出版社
label24
Label
显示“出版社:”字样
无
txtPublisherC
TextBox
显示图书的出版社信息
图书名
label23
Label
显示“图书名:”字样
无
txtBookNameC
TextBox
显示图书的书名
作者
label22
Label
显示“作者:”字样
无
txtAuthorC
TextBox
显示图书的作者
是否逾期
label21
Label
显示“是否逾期:”字样
是
rbOverTimeYC
RadioButton
被选中时表示图书已逾期
否
rbOverTimeNC
RadioButton
被选中时表示图书尚未逾期
用户信息
groupBox7
GroupBox
盛放于用户信息有关的控件
姓名
label20
Label
显示“姓名:”字样
无
txtNameC
TextBox
显示用户姓名
班级
label19
Label
显示“班级:”字样
无
txtClassC
TextBox
显示用户班级
性别
label18
Label
显示“性别:”字样
男
rbMaleC
RadioButton
被选中时表示还书用户为男性
女
rbFemaleC
RadioButton
被选中时表示还书用户为男性
借书情况
dgBorrowInfoC
DataGrid
显示该用户的借书情况
4.结语
本文以一个图书馆图书管理系统开发为背景,针对图书馆对图书资源进行有效利用和管理的功能需求,采用统一建模语言(UML)对图书资源进行面向对象的描述,通过利用统一建模语言UML中的各种图形,分析和设计图书管理系统,建起了图书管理的面向对象模型,探讨了基于UML的体系结构建模及其实现问题。由建模过程可以看出UML在体系结构建模方面存在很好的优势,不但从整体上正确描述了该图书管理系统的体系结构,并且可以充分利用UML面向对象的优势,从而实现整个软件系统面向对象的分析、设计与开发,大大缩短开发周期,最终使得项目成功完成,此管理系统节省了管理人员和读者的大量时间,有利于信息处理效率的提高。鉴于篇幅有限,本文只对主要部分和主要过程做了介绍,限于水平,欢迎各位读者对本文的缺点、错误提出批评。
参考文献
[1]Joseph Schmuller.UML基础、案例与应用(第三版)[J].人民邮电出版社.2004.8.
[2]吴建,郑潮,汪杰.UML基础与Rose建模案例[M].北京:人民邮电出版社.2004.10.
[3]蔡敏,徐慧慧,黄炳强.UML基础与Rose建模教程[M].北京:人民邮电出版社.2006.1.
[4] 齐治昌.谭庆平.宁洪. 软件工程.北京:高等教育出版社
[5] 张海藩.软件工程.北京:人民邮电出版社
[6] 董翔.基于UML的图书管理系统的开发和应用.科技情报开发与经济2008年第l8卷第l2期
目录
第一章 总论 5
1.1项目说明 5
1.2项目概况 5
1.2.1项目建设区环境条件 5
1.2.2社会经济条件 6
1.3项目的由来及必要性 7
1.4编制依据 9
第二章 市场分析与预测 10
2.2项目市场SWOT分析 12
2.2.1优势 12
2.2.2劣势 12
2.2.3机会 13
2.2.4威胁 13
2.2.5由SWOT分析提出的行动点 13
2.3市场研究 14
2.4主要目标市场 15
第三章 建设条件 16
3.1气象 16
3.2配套条件 16
第四章 建设方案 18
4.1建设原则 18
4.2总体布置 18
4.3建设规模 18
4.4项目实施规划 18
4.5工程设计 19
4.6建设工期 22
第五章 公用工程及环境保护 23
5.1公用工程 23
5.2环境保护 24
第六章 劳动安全保护 26
第七章 项目管理和组织定员 27
7.1项目管理 27
7.2组织设置原则 27
7.3组织机构设置与管理 27
第八章 投资估算与资金筹措 30
8.1投资估算 30
第九章 效益评估 32
9.1盈利能力评估 32
9.2自然生态效益评估 32
9.3刺激当地经济效益评估 32
第十章 结 语 34
展开阅读全文