齐燕
(苏州托普信息职业技术学院 江苏省苏州市 215311)
随着计算机技术与无纸化办公的飞速发展,信息化管理日益扩展到各个领域。一些企业为了提升员工的整体素质,也购买了大量图书供内部员工进行借阅和使用,为了让图书管理更加高效与便捷,处理图书管理业务更加流畅,本文以UML 技术支持,对该图书管理系统进行需求建模和总体设计,并结合Java 技术,设计了一个小型的图书管理系统,来满足小型企业的图书管理需求。
UML(Unified Model Language 统一建模语言),又称标准建模语言,是用来对软件密集系统进行可视化建模的一种语言。作为一个支持模型化和软件系统开发的图形化语言,UML 为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格,到构造和配置,它可以对任何具有静态结构和动态行为的系统进行建模,而且适用于系统开发的不同阶段,从需求规格描述直至系统完成后的测试和维护。
本文利用UML 技术对系统进行了需求分析和系统设计,绘制出其功能结构图、用例图、类图和时序图,帮助我们对系统更好地理解与开发。
图书馆是一个信息量比较大的地方,为了使企业管理比较系统化和规范化,本文设计了一个小型的图书管理系统,方便员工借阅图书,也减轻图书管理员的工作压力。在信息化管理的支持下,员工可以了解各个环节的业务,从而提高管理效率。本文对该系统进行基本的需求分析如下:
(1)权限管理:系统的使用者有系统管理员、操作员和访客(一般用户)。
(2)系统管理员的权限:对用户、图书、读者信息的增、删、改、查等基本信息的维护;对图书统计、借阅管理、修改用户密码以及退出系统等操作。
(3)操作员的权限:对图书和读者信息进行增、删、改、查等基本信息的维护和查询操作;借阅管理、修改用户密码以及退出系统等操作。
(4)访客的权限:只能进行读者信息、图书信息的查询和退出系统的操作。
(5)系统要求操作简单,界面友好、美观大方。
根据以上分析得出系统的功能划分为4 个模块:基础维护、借阅管理、查询统计、系统管理,从而绘制出功能结构图如图1所示。
图1:图书管理系统功能结构图
图2:图书管理系统用例图
用例图是指由参与者(Actor)、用例(Use Case)、边界以及它们之间的关系构成的用于描述系统功能的视图,它主要用来描述角色以及角色与用例之间的连接关系,说明的是谁要使用系统,以及他们使用该系统可以做些什么。一个用例图包含了多个模型元素,如系统、参与者和用例,并且显示这些元素之间的各种关系,如泛化、关联和依赖,它展示了一个外部用户能够观察到的系统功能模型图。用例图主要用于对系统、子系统或类的功能行为进行建模。
根据上述的需求分析,图书管理系统的使用者包括系统管理员、操作员和访客(一般用户)。系统管理员有所有的权限操作,操作员除了用户维护以外其他权限都有,而访客只有图书查询和读者查询操作以及退出系统,通过使用者与用例间的联系,从而得出系统的用例图,如图2所示。
图3:图书管理系统类图
图4:图书管理系统时序图
图5:系统框架示意图
静态建模主要是对系统的静态结构进行描述,通常用类图来表示。类图不仅定义了类的属性和方法,还展示了各类之间的关系。系统的实体类有:User、Reader、Book、Borrow,系统的边界类有:Login、MainFrame、UserUpkeep、ReaderUpkeep、BookUpkeep、BorrowBack 等交互窗口类,另外还定义了一些控制类,用于实现数据库的操作和各功能模块的操作,如BaseDao、UserDao、ReaderDao、BookDao、BorrowDao。通过以上分析,得出系统的静态模型如图3所示。
动态建模描述的是该系统在运行过程中,各模块之间的协作关系,和各业务层之间的交流过程,即描述系统的动态行为。时序图(Sequence Diagram),又名序列图、循序图,是一种UML 交互图。它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。我们选择用时序图来描述系统的执行过程,图4 为图书管理系统的时序图。
图6:系统主界面
图7:用户维护界面
MySQL 是一种开放源代码的关系型数据库管理系统(RDBMS),使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。MySQL 是一个简易的效率比较高的数据库软件,它因为其速度、可靠性和适应性而备受关注。本文采用MySQL 数据库,根据前面定义的类图,自动生成4 张表:
(1)用户表User:编号(主键)、姓名、密码、是否是管理员;
(2)读者表Reader:编号(主键)、姓名、类别、性别、最大借书数量、最大借书天数;
(3)图书表Book:编号(主键)、名称、类别、作者、译者、出版社、出版时间、库存、价格;
(4)图书借阅表Borrow:编号(主键)、读者编号、图书编号、操作员名称、借阅日期、归还日期、是否归还。
MyEclipse是企业级工作平台(MyEclipseEnterprise Workbench,简称MyEclipse),是对EclipseIDE 的扩展,主要用于Java、Java EE 以及移动应用的开发,是一款功能强大的JavaEE集成开发环境,支持代码编写、配置、测试以及除错。
Java 是一种简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的动态语言。使用MyEclipse 来开发Java 应用系统,不仅操作简便,而且开发的界面可观,所以该系统选用MyEclipse 作为开发平台。
该系统采用MVC 架构模式,即模型层(M),视图层(V)和控制层(C)。
(1)模型层:实现系统的业务逻辑模型和数据逻辑模型;主要完成对User、Reader、Book、Borrow 表的建模和实体类的设计,以及数据库BaseDao 的增、删、改、查操作。
(2)视图层,展示给管理员、操作员和访客的操作界面,主要进行系统与用户之间的信息交互;系统的视图层有:Login 登录界面、MainFrame 主界面、UserUpkeep 用户维护界面、ReaderUpkeep 读者维护界面、BookUpkeep 图书维护界面、BorrowBack 借阅管理界面等。
(3)控制层,接收来自视图层的用户操作或请求,交给模型层,并将处理结果返回给视图层;主要完成对UserDao、BookDao、ReaderDao、BorrowDao 的设计与编写。
系统框架示意图如图5所示。
用户输入用户名和密码,根据User 表中的信息判断其身份,主要是通过调用函数setPurView(byte purView)来实现的。如果是管理员,主界面的菜单和按钮都可以用,如图6所示;如果是操作员,主界面的用户维护功能不可用;如果是一般访客,主界面只能访问读者查询、图书查询和退出系统。
管理员进入主界面MainFrame,则可以打开用户维护界面UserUpkeep,如图7所示。在该界面中,可以添加、修改、删除一个用户,还可以清空所有的用户。
操作员进入主界面,用户维护菜单和按钮不可用,但是可以打开读者维护界面ReaderUpkeep、图书维护界面BookUpkeep 等,界面效果图与图7 相似,因篇章有限,不作展示。
随着企业文化的不断深化,供企业员工使用的图书馆日益扩大,为了满足图书馆管理的信息化和高效率的需求,本文利用UML 技术对图书管理系统进行了多方面的分析,并采用Java 技术将系统的各项功能实现,从而提高了图书管理的效率和服务质量,节约了大量的人力和物力,为企业解决了一些实际问题,具有现实意义。