APP下载

基于UML和Java的图书管理系统建模与实现

2019-03-14张政蒋永辉

电脑知识与技术 2019年1期
关键词:面向对象

张政 蒋永辉

摘要:该文通过使用统一建模语言UML(Unified Modeling Language)对图书管理系统进行了分析与建模,并利用Eclipse平台和MYSQL数据库系统将其可视化实现。使图书管理员对图书馆相关业务的管理更加简单、高效。

关键词:图书管理系统;UML;面向对象;Eclipse平台

中图分类号:TP311.1      文献标识码:A      文章编号:1009-3044(2019)01-0115-03

1 背景

随着计算机科学与技术的迅速发展,信息管理技术逐渐渗透到多个领域。图书馆作為学生学习知识的重要场所,包含着大量数据信息。在当今不断增长的软件多样性以及相互性等需求下,目前图书馆的图书借阅管理并不完善,功能方面有所欠缺。为了让图书馆管理更加高效,图书借阅更加便捷,信息处理更加精准;该文以图书管理系统作为研究对象,通过统一建模语言UML技术对其需求模型和总体设计进行分析与建模,并结合Eclipse Java 技术,设计并实现了一套功能完整的图书管理系统。

2 使用UML技术对系统的分析与建模

2.1 UML概述

UML是Unified Modeling Language(统一建模语言)的简称。它规定了一系列的图形符号来对软件系统进行可视化描述,这些图形符号具有严格的语义和清晰的语法,如果将其分类的话,这些图可分为表示对象的静态结构和动态结构两大类:静态结构类:用例图、类图、构件图等;以及动态结构类:活动图、状态图、序列图、协助图等。UML还拥有统一的建模标准,适用于多种不同类型的系统,基于其独立于开发过程的特性,除了软件系统的开发,UML还可以用于业务建模或者其他非软件系统的建模。[1]

2.2 需求分析

图书馆作为一个数据资源的集中地,包含着各类信息。为使图书管理更加系统化和规范化,通过建立一个图书管理系统,可以方便读者借阅图书,减轻图书管理员的工作压力。在程序化的管理手段的支持下,管理员能及时了解各个环节中的业务变更,从而提高管理效率。其系统的功能性需求包括:

1)根据登录权限,分为普通用户登陆和图书管理员登陆;

2)图书管理:管理员可以进行图书的分类、查询和出入库;

3)借阅管理:管理员可以代理读者借书、还书、续期和查询记录;

4)用户管理:管理员可以增加或删除用户,对用户违约处罚和管理用户信息;

5)系统管理:管理员可以对系统进行维护。

根据系统的功能性需求可以绘制系统的功能结构图,如图1所示。

2.3 用例建模

用例图是用来描述参与者与用例之间的关系的,这种关系属于关联关系。它无法实现系统内部的具体功能,但能定义系统的功能需求。[2]结合需求分析,系统的参与者包括普通用户和管理员。普通用户的用例有用户注册、借阅书籍、归还书籍、借阅信息查询等。管理员的用例有系统维护、书籍入库、书籍出库、书籍信息修改等;通过参与者与用例之间的关系,最终得到用例图。图书管理系统用例图,如图2所示。

2.4 静态建模

静态建模主要是对信息系统的静态结构进行描述的,一般用类图来实现。类图不仅定义了类的属性方法,也描述了类与类之间的关系如关联、依赖、泛化、实现等。[3]实体类为一些直接的对象,系统的实体类有:Users,Books,OrderTransaction,BookList等;边界类位于系统与外界交界处,系统的边界类有: MainStation,LineItem等交互窗口类;控制类是指控制其他类工作的类,系统的控制类有Login,Borrower,Return,Administration等。通过上述分析,系统静态模型如图3所示。

2.5 动态建模

动态建模主要描述的是系统在执行的过程中各个模块的交互交流,和各业务层的逻辑关系,即描述系统的动态行为。时序图是通过时间的推移来描述对象之间相互交换信息的过程。[4]图4为图书管理系统借书还书时序图。

3 数据库选择与设计

MYSQL是一个简单易用并且性能高效的数据库系统,与其他数据库系统相比,MYSQL的性能,支持,特性都有着不错的优势。根据图书管理系统的逻辑化结构描述与功能性需求分析,得出系统的ER图,如图5所示,该系统需要创建4张表:

1)书籍表:编号(主键),主题,价格,出版社,作者,类型,条码,ISBN,备注;

2)用户表:用户名(主键),密码,姓名,地址,电话,备注;

3)管理员表:工作号(主键),密码,姓名,电话,住址,备注;

4)借阅信息表:编号(主键),电话,支付方式,书籍名称,书籍类型,借阅日期,备注。

4 基于Java的系统实现:

4.1 开发工具介绍

Eclipse是一个开放源代码的软件开发平台,致力于为高度集成的开发工具提供一个功能全面的工作平台。Eclipse采用“平台+插件”的体系结构,平台只是作为一个开发容器,而所有的开发都集中封装到插件中,通过插件来构架开发环境。[5]Java程序的开发更倾向于Eclipse,不仅操作简便,而且开发的效率也很可观,Eclipse平台可以提供大量的插件,非常的方便,因此,该系统选用Eclipse作为开发平台。

4.2 系统结构说明

该系统的工程源码结构包括:数据访问层(IO)、实体层(Model)、业务逻辑层(Service)、表示层(view),不同的层面分别负责对应的模块。构建系统时,首先要创建model.class实体层模型文件、view.jsp表示层视图文件、service.jsp业务逻辑层、io.jsp数据访问层。当Users通过表示层进行人机交互并发送命令请求时,命令依次经过业务逻辑层、数据访问层;然后由服务器和Database利用JDBC进行数据交互,最后将得到的响应返回给表示层。系统框架示意图如图6所示:

4.3 图书管理功能实现

图书管理的具体功能包括图书的出入库、信息修改和分类。在实现书籍入库时,首先将新增书籍的信息通过视图层(View)传输到数据访问层(IO)的TransactionRecord()方法中,然后调用BookInStore()方法实现书籍的入库。对书籍进行分类时,调用getCategory()方法,通過访问数据库得到书籍基本信息,基于书籍的类型,可以对其划分种类。修改书籍信息时,则调用AlterInfo()方法通过IO流处理、文件操作对数据库信息进行修改并保存。

4.4 查询功能实现

查询功能分为书籍查询和用户信息查询,两种查询的原理是一样的。查询时,先利用JDBC获取数据库连接,然后通过数据访问层(IO)将所需查询的书籍信息传输至查询语句Search()后,再将所得结果返回至业务逻辑层(Service),之后利用getBooksID()方法,基于主键BooksID(书籍编号)进行信息匹配,得到查询结果,最后将查询所得结果输出至视图层中。

4.5 借阅功能实现

在实现借阅功能时,首先通过getResult()方法从数据库中获取图书列表BookList和用户表Users,将BookList所得信息录入到视图层中,然后根据用户的借书请求以及提供的信息,调用业务逻辑层(Service)的Query()方法,对用户是否具备借阅此书资格进行判断,若失败则无法借阅;若成功则返回借书信息至Borrower()中,最后输出借书信息至视图层中,借阅成功。

4.6 用户管理功能实现

对用户进行管理时,首先使用JDBC封装好的数据访问对象,将其实例化并调用Search()方法,获取用户表信息,其中包括用户的用户名、密码、电话和借阅状态等。之后调用数据访问层(IO)的UpdateInfo()方法来对用户信息进行更改,修改后的信息重新保存至数据库中。

5 结束语

随着图书馆的迅速发展,为达到当代图书馆所要求的管理效率以及信息的相互性、可靠性等多方面需求;该文通过采用UML技术对图书管理系统进行了多方面的分析,并结合Java将其实现,提高了图书管理的服务效率与质量。

参考文献:

[1] 李留英, 韩冰. 统一建模语言UML[J].计算机科学,1998, 25(5): 11-16.

[2] 雷超阳, 钟一青, 周训斌. 基于UML的数据库建模技术研究[J].自动化技术与应用,2008,27(9): 33-36.

[3] 胡秀, 王书爱. 基于UML的面向对象的系统建模[J].保山学院学报,2008,27(2).

[4] 孔军, 孙怡宁, 蒋敏, 等. 基于UML的系统需求分析[J].计算机工程与应用, 2003, 39(15): 217-219.

[5] 林琳. 基于SSH框架的网络教学平台的设计与实现[D].成都:电子科技大学,2010.

猜你喜欢

面向对象
面向对象方法在水蓄冷PLC编程中应用分析
基于python的面向对象传感器库类抽象方法
面向对象的计算机网络设计软件系统的开发
面向对象的数据交换协议研究与应用
面向对象Web开发编程语言的的评估方法
基于面向对象的Office评测系统的分析
峰丛洼地农作物面向对象信息提取规则集
基于E-cognition的面向对象的高分辨率遥感图像分类研究
基于面向对象的车辆管理软件的研制与开发
面向对象的SoS体系结构建模方法及应用