APP下载

基于UML的图书管理系统的开发和应用

2013-04-29王玉筠

博览群书·教育 2013年5期
关键词:开发应用

王玉筠

摘 要:对UML的主要功能进行了详细的介绍,同时分析了基于UML图书管理系统的开发要点,包括模型的设计和实现过程,然后对图书管理系统的应用进行了简要的介绍。

关键词:UML;图书管理系统; 建模设计;开发应用

一、UML概述

所谓的UML,英文全称为The Unified Modeling Language,也就是同意建模语言,是一种用于编制系统蓝图的标准化语言,常用于复杂系统建立可视化系统模型。

1.静态建模。UML提供了诸如类图、例图以及实施图和组件图等众多图来进行图书管理系统的静态结构建模。类图(Class Diagram)主要用于对系统中类之间的关系进行描述;例图(Use Diagram)主要用于对系统的需求进行分析;实施图(Deployment Diagram)用于对节点处理和节点活动的配置;组件图(Component Diagram)用于组件以及组件之间关系的显示。2.动态建模。UML用于动态建模的图主要是协作图、顺序图、状态图以及活动图来对系统的动态进行建模。协作图(Collaboration Diagram)是从空间上对系统中对象之间消息的发送和接受进行描述,顺序图(Sequence Diagram)则是从时间上进行描述,状态图(State Diagram)则是用于对对象状态变化进行建模的;活动图(Activity Diagram)是按照活动控制流程制作的流程图。3.正向工程。将模型转化成代码被称为正向工程,可以实现模型向具体语言的映射。正向工程中的元素测试可以借助况图来实现,而类图可以将模型形成具体的代码。4.逆向工程。与正向工程相反,逆向工程是实现代码向图形化模型的转化,是把代码转化成模型的过程。逆向工程主要功能是保证系统同模型的一致性,使得模型能够准确而真实地反映出系统现状。

二、基于UML图书管理系统的开发

基于UML的图书管理系统开发,主要的两个步骤时建模和实现,建模主要通过两个步骤实现,一个是需求分析,然后就是系统模型的设计(主要是设计例图、交互框图和合作框图)。以下就借助Rational 来对建模过程进行统一的描述,其中的图形是利用Rationa-Rose工具进行绘制的。

1.需求分析。图书管理系统中的主要角色是由两个,一个是图书管理员,另一个则是结束这,其中图书管理员就是此系统的用户,而借书者则是客户,这两者的联系都设计到了书记。其中图书管理员实现借书者的功能,如果使用例示图就可以表述为:借出书目(Lend Process);预订( Make Reservation)和删除预订(Remove Reservation);增加数目(Add Book);删除书目(Remove Book);增加标题(Add Title)和更新标题(Update Title);增加借书者(Add Borrower)和更新借书者(Update Borrower)。

(1)例图设计。根据上述分析,我们可以将需求划分为三个子模块:管理子系统(Management Subsystem)、借书子系统(Lend Subsystem)和购书子系统(Purchase Subsystem)。其中管理子系统包括对图书的书名增添以及更新、增加和更新借书者信息这四个主要过程;借书子系统包括对书目的返回、预定和删除预定这四个子操作;购书子系统则包括了增加和删除书目两个过程。因此图书管理系统的主要构成可以表述为图1。

在图书管理系统中角色主要由管理员、借书者组成,两者是通过书联系一起,即借书和还书两个操作,同时在管理者和书籍之间也存在着管理员返还、购置和借出书籍等过程。(2)合作框图和交互框图设计。在进行借书此操作时,管理员首先需要对读者的节约证件进行检查,保证读者是拥有有效证件并且所借最大书籍数目是否借满,在以上条件均满足的条件下,系统才会依照搜索的条件对图书馆中的图书进行搜索,获得书籍的数目,如果还存在未借出的书籍,就将此书借出并且对书籍的数目减一,同时对书号包含的借阅标志位取反表示此书已经借出。同样,在进行还书过程中也可以按照将整个过程分为准备工作和完成工作,准备阶段是管理员了解书籍信息并按照每本书的信息检查归还日期是否超过了理应归还的日期。完成阶段就是将此书书号等级并且将标志位归还为零,同时将此书的数量加一。(3)模型实现。实现图的主要用途就是将现有的系统模型转化为具体的代码,此过程需要使用到逆向工程,目前众多的UML建模工具都是可以提供这种转化或者映射的,例如:Rational Rose就能够成功实现模型想JAVA,VC++和VB等语言的转化。存在于UML中的许多类都是可以在正向工程汇总使用,这些类在系统中都是存在一个类似图的。每一个顺序图对象都是可以借助一个类实现,对象则抽取其中的某个具体功能。然后将这种类映射到具体的语言就能够成功实现代码了。在这个系统中,我们自定义了一个基类用于表示角色,这个基类借助继承就能够创建借书者、书籍和管理者的具体对象了并且加入对象的特殊属性,同时,借书者这个类同书籍信息和读者信息两个类有着紧密的聚合关系,书籍类则与书籍的详细信息、价格和登记等有聚合关系,通过此种划分,部分类中的属性和相关的方法就已经可以定义了。

2.系统设计实现。系统模型的设计完成之后就要上机进行编程设计了,本系统可以使用JAVA加上Oracle数据访问技术实现的。在此系统中,设计了抽象的架构视图帮助开发者实现具体的路标,并且对于任务的分配和具体技能提出了明确的要求,在基础上设计了组件图,它主要显示在软件组件中各代码本身的结构,对于各组件的关联,包括源代码,编译代码等提供了帮助,为此设计了图2的组件图为具体系统在web上实现提供了帮助。

三、小 结

对于一个图书馆而言,图书管理系统对于图书的借阅和归还整理都起到了巨大的帮助作用。同时数字图书馆的开发建设工作也是一件很复杂的软件设计项目,需要依赖数据库管理知识以及具体的编程语言和应用软件提供帮助。图书管理系统是数字图书馆建设过程中一个重要的模块,也是对大型软件系统的一种尝试,借助UML的强大功能来设计图书管理系统能够较为简单地实现模型向代码的映射并且保证整个系统的安全性和可靠性,是一种值得尝试的制作图书管理系统的方法。

参考文献:

[1]. 刘丰.冷英男. 基于UML的一个应用软件建模实例[J]. 计算机与现代化. 2004(10).132-134

[2]. 李兴鹏. 基于UML学生管理信息系统的分析与设计[J]. 北京邮电大学.2008:101-121.

[3]. 段艳超. 基于UML建模技术的学生成绩管理系统的设计[J]. 硅谷.2008(7): 73-75

猜你喜欢

开发应用
小学数学微课资源的开发与应用
计算机软件工程的管理和开发应用研究
初中英语拓展性教学资源的开发与应用研究
科学课堂教学材料的开发及应用
卷烟机组的PLC控制系统开发及应用实践研究论述
民族地区高中数学校本教材的开发及应用实践性研究
大石围天坑群区蕨类植物资源调查与分析
贵州地方辣椒品种资源主要类别、分布及利用潜力
高速加工技术在汽车模具开发中应用