基于UML的图书馆管理系统建模设计论文.docx
- 文档编号:27351864
- 上传时间:2023-06-29
- 格式:DOCX
- 页数:40
- 大小:385.89KB
基于UML的图书馆管理系统建模设计论文.docx
《基于UML的图书馆管理系统建模设计论文.docx》由会员分享,可在线阅读,更多相关《基于UML的图书馆管理系统建模设计论文.docx(40页珍藏版)》请在冰豆网上搜索。
基于UML的图书馆管理系统建模设计论文
结课论文
基于UML的图书馆管理系统建模设计
毕业论文(设计)原创性声明
本人所呈交的毕业论文(设计)是我在导师的指导下进行的研究工作及取得的研究成果。
据我所知,除文中已经注明引用的内容外,本论文(设计)不包含其他个人已经发表或撰写过的研究成果。
对本论文(设计)的研究做出重要贡献的个人和集体,均已在文中作了明确说明并表示谢意。
作者签名:
日期:
毕业论文(设计)授权使用说明
本论文(设计)作者完全了解**学院有关保留、使用毕业论文(设计)的规定,学校有权保留论文(设计)并向相关部门送交论文(设计)的电子版和纸质版。
有权将论文(设计)用于非赢利目的的少量复制并允许论文(设计)进入学校图书馆被查阅。
学校可以公布论文(设计)的全部或部分内容。
保密的论文(设计)在解密后适用本规定。
作者签名:
指导教师签名:
日期:
日期:
注意事项
1.设计(论文)的内容包括:
1)封面(按教务处制定的标准封面格式制作)
2)原创性声明
3)中文摘要(300字左右)、关键词
4)外文摘要、关键词
5)目次页(附件不统一编入)
6)论文主体部分:
引言(或绪论)、正文、结论
7)参考文献
8)致谢
9)附录(对论文支持必要时)
2.论文字数要求:
理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。
3.附件包括:
任务书、开题报告、外文译文、译文原文(复印件)。
4.文字、图表要求:
1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写
2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。
图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画
3)毕业论文须用A4单面打印,论文50页以上的双面打印
4)图表应绘制于无格子的页面上
5)软件工程类课题应有程序清单,并提供电子文档
5.装订顺序
1)设计(论文)
2)附件:
按照任务书、开题报告、外文译文、译文原文(复印件)次序装订
3)其它
摘要
面向对象的软件工程,同传统的面向过程的软件工程相比,在需求的获取、系统分析、设计和实现方面都有着很大的区别。
UML是OOA和OOD的常用工具。
使用UML来构建软件的面向对象的软件工程的过程,就是一个对系统进行不断精化的建模的过程。
这些模型包括用例模型、分析模型、设计模型,然后,我们需要使用具体的计算机语言来建立系统的实现模型。
当然,在整个软件工程中,我们还需要建立系统的测试模型,以保证软件产品的质量。
使用面向对象的工具来构建系统,就应该使用面向对象的软件工程方法。
然而,我们经常会发现,在实际的开发过程中,很多开发人员虽然能够理解UML的所有图形,却仍然不能得心应手的使用UML来构建整个项目,其很大的原因,是仍然在使用原有的软件工程方法,而不清楚如何使用UML来建立系统的这些模型,不清楚分析和设计的区别,以及他们之间的转化。
应用软件系统,就其本质来说,是使用计算机对现实世界进行的数字化模拟。
应用软件的制造过程,按照UML的方法,就是建立这一些列模型的过程。
关于这个图书馆系统,基本的需求比较简单,就是允许学生可以在图书馆借阅和归还图书,另外,也可以通过网络或者图书馆的终端来查阅和预订书。
当然,图书馆管理员也可以对图书进行管理。
为了简化系统,我们没有把图书馆中的人员作细分。
本文只是对使用UML的过程做一个探讨,着眼于使用UML进行建模的过程,说明各个层次的模型之间的区别和联系,展示系统演进的过程,而不会深入UML的细节方面。
对于更加复杂的系统,其分析和设计的方法是相通的,可以举一反三。
基于UML的图书馆管理系统建模设计
一、图书馆管理系统可行性分析
随着政府机关与广大企事业单位内部网络的广泛建立,在通用信息平台上构筑高效实用的协同工作和自动化办公应用系统,满足信息高度共享和即时发布的需求,有效实现内部知识管理,已成为众多用户的共同需求。
图书管理系统,为政府机关与广大企事业单位自动化办公提供了一个较好的解决方案。
在开发过程中,按照软件工程的步骤,从设计到开发采用了面向对象的思想和技术,采用了SQLSERVER2000数据库,使得本系统可以方便的和其他子系统进行数据交换。
同时,注意从软件的图形应用界面上优化软件质量,使得本系统具有很强的可操作性。
二、图书馆管理系统需求分析
2.1系统目标设计
系统开发的总目标是实现内部图书借阅管理的系统化、规范化和自动化。
能够对图书进行注册登记,也就是将图书的基本信息(如:
书的编号、书名、作者、价格等)预先存入数据库中,供以后检索。
能够对借阅人进行注册登记,包括记录借阅人的姓名、编号、班级、年龄、性别、地址、电话等信息。
提供方便的查询方法。
如:
以书名、作者、出版社、出版时间(确切的时间、时间段、某一时间之前、某一时间之后)等信息进行图书检索,并能反映出图书的借阅情况;以借阅人编号对借阅人信息进行检索;以出版社名称查询出版社联系方式信息。
提供对书籍进行的预先预订的功能。
提供旧书销毁功能,对于淘汰、损坏、丢失的书目可及时对数据库进行修改。
能够对使用该管理系统的用户进行管理,按照不同的工作职能提供不同的功能授权。
提供较为完善的差错控制与友好的用户界面,尽量避免误操作。
2.2系统功能分析设计
(1)读者管理:
读者信息的制定、输入、修改、查询,包括种类、性别、借书数量、借书期限、备注等。
(2)书籍管理:
书籍基本信息制定、输入、修改、查询,包括书籍编号、类别、关键词、备注。
(3)借阅管理:
包括借书,还书,预订书籍,续借,查询书籍,过期处理和书籍丢失后的处理。
(4)系统管理:
包括用户权限管理,数据管理和自动借还书机的管理
满足以上需求的系统主要包含有一下几个子系统
(1)基本业务功能子系统:
该系统中主要包含了借书还书和预订等功能。
(2)基本数据录入功能子系统:
该子系统主要包含有书籍信息和读者信息录入功能。
(3)信息查询子系统:
包含了多功能的查询书籍信息和读者信息。
(4)数据库管理功能子系统:
主要包含了借阅信息管理功能,书籍信息管理功能和预订信息管理功能。
(5)帮助功能子系统。
下图为该图书馆管理系统的主要功能模块图:
图1:
图书馆管理系统功能模块图
2.3功能描述
(1)借书。
处理借书业务。
(2)还书。
处理还书业务。
(3)书籍预订。
借阅者可以通过网络进行书籍预订。
(4)书籍信息录入。
处理书籍个类信息录入业务。
(5)借阅者信息录入。
对读者信息进行录入。
(6)书籍信息查询。
负责书籍信息的查询。
(7)读者信息查询。
负责数据信息的查询。
(8)借阅信息管理。
书籍借阅信息包括所借书的书名、ISBN以及借书的时间等。
(9)书籍信息管理。
书籍信息包括书籍的名字、ISBN、作者、入库时间以及书籍在相应书目下的编号等。
(10)预订信息管理。
负责管理书籍预订信息。
2.4、图书馆管理系统的数据流图。
如下:
修改用户表
修改书籍信息表
修改借、还书表
图2:
图书馆管理系统的DFD图
三、系统的UML建模设计
3.1、UML简介
UML是一种功能强大的、面向对象的可视化系统分析的建模语言,它采用一整套成熟的建模技术,广泛地适用于各个应用领域。
它的各个模型可以帮助开发人员更好地理解业务流程,建立更可靠、更完善的系统模型。
从而使用户和开发人员对问题的描述达到相同的理解,以减少语义差异,保障分析的正确性.
3.2该图书管理系统的用例分析
该图书馆管理系统的用例图如下:
图3:
图书馆管理系统的用例图
从用例图中我们可以看出管理员和读者之间对本系统所具有的用例。
管理员所包含的用例有:
(1)登录系统:
管理员可以通过登录该系统进行各项功能的操作
(2)书籍管理:
包括对书籍的增删改等。
(3)书籍借阅管理:
包括借书、还书、预订、书籍逾期处理和书籍丢失处理等等。
(4)读者管理:
包含对读者的增删改等操作。
(5)自动借书机的管理。
读者所包含的用例有:
(1)登录系统
(2)借书:
进行借书业务。
(3)还书:
读者具有的还书业务。
(4)查询:
包含对个人信息和书籍信息的查询业务
(5)预订:
读者对书籍的预订业务。
(6)逾期处理:
就是书籍过期后的缴纳罚金等。
(7)书籍丢失处理:
对书籍丢失后的不同措施进行处理。
(8)自动借书机的使用等。
3.3系统的顺序图
顺序图是显示对象之间交互的图,这些对象是按时间顺序排列的。
该图书馆管理系统主要含有以下几个重要的顺序图,其他对象的顺序图和这些也类似。
(1)借书顺序图
(2)还书顺序图
(3)罚款顺序图
1、借书顺序图
图4:
图书馆管理系统借书顺序图
【顺序图说明】
(1)login():
登录系统。
(2)checkstu_card():
对读者信息进行验证,检查是否符合本图书馆借书条件。
(3)showinformation():
显示该读者的基本信息函数。
(4)borrow():
读者借书函数。
(5)getreaders():
取得读者信息函数。
看该读者是否符合借书条件,若符合,则返回可借信息。
(6)gettitle():
取得书目信息。
(7)getreservation():
检验书籍是否被预订函数。
(8)getnoreservation():
书籍没被预订或取消预订函数。
(9)create(borrower,item):
创建书籍外借函数。
借书时,读者先将书拿予管理员,管理员对书籍和读者进行检验,若书籍和读者都符合借书条件,则借书成功。
2、还书顺序图
图5:
图书馆管理系统还书顺序图
【顺序图说明】
(1)login():
登录系统。
(2)getitem():
取得书籍条目信息。
(3)update():
对图书馆书籍条目和借阅者信息进行更新条目。
还书时,读者先将书交给管理员,由管理员扫描书籍,若书籍没有过期等违规现象,则对书目和读者借阅信息进行更新,同时还书成功。
3、罚款顺序图
图6:
图书馆管理系统的罚款顺序图
【顺序图说明】
管理员对书籍进行扫描,若发现书籍已经超过了图书馆规定的还书期限,则按每天一定金额进行罚款,过期天数和罚款金额由系统自动计算。
用户交完罚金后,则对读者借阅信息进行更新。
3.4系统的状态图
图书馆的书籍状态图如图7所示。
【状态图说明】
书籍在未变成图书馆在库书籍时,为新加书籍状态。
书籍处于在库状态时既可以预订也可以外借,外借后变为借出状态。
处于预订状态时也可以外借,超出预订时间期限则从预订状态直接转为可用状态。
借阅者在规定的预订时间内也可以考虑取消预订,取消预订后书籍的状态转为可用。
外借书籍归还后变为可用状态。
图7:
图书馆的书籍状态图
3.5系统的活动图
活动图描述的是某流程中的任务的执行,活动图描述活动是如何协同工作的,当一个操作必须完成一系列事情,而又无法确定以什么样的顺序来完成这些事情时,活动图可以更清晰地描述这些事情。
。
在本图书馆管理系统中,我们主要描述了图书馆系统的借书、还书和预订的活动图。
1.借书活动图
【借书活动图说明】
管理员首先要扫描读者的借书证,检验证件是否符合图书馆借书条件,若该读者的借书数量还未达到最大规定数量,并且其所借书籍均未属于过期范围,则符合借书条件。
则再扫描书籍条形码,检查书籍是否是不可借书籍或者已经被预订,若被预订,则取消预订,方可借书。
在这些条件都符合时则更新书籍信息和读者的借阅信息,记录好借书的时间。
图8:
图书馆管理系统的借书活动图
2、还书活动图
【还书活动图说明】
图书管理员对书籍进行扫描,若书籍已经过期,则要求读者还请欠款才能还书,读者缴应交罚款后,更新书目信息和读者信息。
图9:
图书馆管理系统的还书活动图
3、预订图书活动图
【预订书籍活动图说明】
读者先进入系统查询自己所需要的书籍,显示书籍信息,检验书籍是否属于可预订书籍,若符合条件则检查书籍是否已经被预订或已经被外借,若都未成立,则读者登录系统,并对该书籍进行预订。
图10:
图书馆管理系统预订书籍活动图
3.6图书管理系统的类图
【类图说明】
(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类是书籍永久的存储类,在数据库中的存储数据,其他对与书籍有关的活动都要经过其存储类。
图11:
图书馆管理系统的类图及关系
四、图书馆管理系统数据库建模
考虑到系统的推广性,本系统采用SQLSERVER2000作为数据库。
并且采用PowerDesigner进行数据建模,从而自动生成sql脚本。
4.1、数据库概念设计
1、数据库表设计
(1)管理员表admin:
管理员编号(admin_id),管理员姓名(admin_name),密码(admin_password),登录次数(logins),最后一次登录时间(lastlogin)和权限(right)。
(2)读者表reader:
读者编号(reader_id),读者姓名(reader_name),性别(sex),年龄(age),班级(class),最大借书量(maxborrowed)借书总量(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).
(6)书籍类型表booktype:
书籍类型编号(type_id),书籍类型名称(type_name).
(7)用户权限表right:
权限(right)。
2、图书管理系统个实体之间的E-R图
图12:
图书馆管理系统各实体之间的ER图
3、基于powerdesigner的CDM数据库模型
(1)数据库概念数据模型CDM对象如下图,该图显示了各实体的属性及各实体之间的关系。
图13:
图书馆管理系统CDM建模
4.2数据库物理设计
由概念模型生成物理模型的的数据库脚本文件为图书管理.sql文件,代码附下页。
附:
由PDM对象自动生成的数据库脚本文件代码如下:
ifexists(select1
fromdbo.sysreferencesrjoindbo.sysobjectsoon(o.id=r.constidando.type='F')
wherer.fkeyid=object_id('books')ando.name='FK_BOOKS_管理书籍_ADMIN')
altertablebooks
dropconstraintFK_BOOKS_管理书籍_ADMIN
go
ifexists(select1
fromdbo.sysreferencesrjoindbo.sysobjectsoon(o.id=r.constidando.type='F')
wherer.fkeyid=object_id('borrow_information')ando.name='FK_BORROW_I_BORROW_IN_BOOKS')
altertableborrow_information
dropconstraintFK_BORROW_I_BORROW_IN_BOOKS
go
ifexists(select1
fromdbo.sysreferencesrjoindbo.sysobjectsoon(o.id=r.constidando.type='F')
wherer.fkeyid=object_id('borrow_information')ando.name='FK_BORROW_I_BORROW_IN_READER')
altertableborrow_information
dropconstraintFK_BORROW_I_BORROW_IN_READER
go
ifexists(select1
fromdbo.sysreferencesrjoindbo.sysobjectsoon(o.id=r.constidando.type='F')
wherer.fkeyid=object_id('login')ando.name='FK_LOGIN_LOGIN_ADMIN')
altertablelogin
dropconstraintFK_LOGIN_LOGIN_ADMIN
go
ifexists(select1
fromdbo.sysreferencesrjoindbo.sysobjectsoon(o.id=r.constidando.type='F')
wherer.fkeyid=object_id('login')ando.name='FK_LOGIN_LOGIN2_READER')
altertablelogin
dropconstraintFK_LOGIN_LOGIN2_READER
go
ifexists(select1
fromdbo.sysreferencesrjoindbo.sysobjectsoon(o.id=r.constidando.type='F')
wherer.fkeyid=object_id('reversation')ando.name='FK_REVERSAT_REVERSATI_BOOKS')
altertablereversation
dropconstraintFK_REVERSAT_REVERSATI_BOOKS
go
ifexists(select1
fromdbo.sysreferencesrjoindbo.sysobjectsoon(o.id=r.constidando.type='F')
wherer.fkeyid=object_id('reversation')ando.name='FK_REVERSAT_REVERSATI_READER')
altertablereversation
dropconstraintFK_REVERSAT_REVERSATI_READER
go
ifexists(select1
fromsysindexes
whereid=object_id('admin')
andname='权限_FK'
andindid>0
andindid<255)
dropindexadmin.权限_FK
go
ifexists(select1
fromsysobjects
whereid=object_id('admin')
andtype='U')
droptableadmin
go
ifexists(select1
fromsysindexes
whereid=object_id('books')
andname='管理书籍_FK'
andindid>0
andindid<255)
dropindexbooks.管理书籍_FK
go
ifexists(select1
fromsysindexes
whereid=object_id('books')
andname='图书类型_FK'
andindid>0
andindid<255)
dropindexbooks.图书类型_FK
go
ifexists(select1
fromsysobjects
whereid=object_id('books')
andtype='U')
droptablebooks
go
ifexists(select1
fromsysobjects
whereid=object_id('booktype')
andtype='U')
droptablebooktype
go
ifexists(select1
fromsysindexes
whereid=object_id('borrow_information')
andname='Association_2_FK'
andindid>0
andindid<255)
dropindexborrow_information.Association_2_FK
go
ifexists(select1
fromsysindexes
whereid=object_id('borrow_information')
andname='Association_1_FK'
andindid>0
andindid<255)
dropindexborrow_information.Association_1_FK
go
ifexists(select1
fromsysobjects
whereid=object_id('borrow_information')
andtype='U')
droptableborrow_information
go
ifexi
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 UML 图书馆 管理 系统 建模 设计 论文