图书借阅系统的UML模型化分析与设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

引言UML(The Unified Modeling Language,即统一建模语言)是一种编制系统蓝图的标准化语言,可以对复杂的系统建立可视化的系统模型,目前已经被工业标准化组织OMG(Object Management Group)接受,一经推出便得到许多著名的计算机厂商如Microsoft、HP、IBM、Oracle等的支持,也在逐步开始应用到需求分析过程中。

图书借阅系统与我们的日常学习生活密切相关,在解决图书管理的各项问题中,使用计算机软件能极大地提高效率,而在具体功能实现之前使用UML进行模型化分析与设计更可以起到事半功倍的效果。

1 图书借阅系统需求分析
在需求分析阶段,要对经过可行性分析所确定的系统目标和功能作进一步的详细论述,确定系统“做什么?”的问题,最终建立起目标系统的逻辑模型[1]。

1.1需求
这是一个图书借阅系统。

图书馆将书籍借给读者,读者需要预先办理借书证,书籍也要入库。

1.1.1 图书管理员
图书管理员是图书馆的员工,他们的工作就是和读者打交道并在软件系统的支持下工作,另外负责新书的订购,每本图书都订购多本,并将新书入库,当图书破损时进行修补,当旧书超期或破旧不堪时下架,从书库中移除。

图书管理员能够建立、修改和删除书籍、借阅信息和预约信息。

1.1.2 读者
读者可以预约当前没有的书籍,这样,当他所预约的归还回来或者购进时,就通知预约人。

当预约某书的读者借阅了该书后,预约就取消。

或者读者自行取消预约。

1.1.3 系统管理员
系统管理员能够建立、修改和删除读者,对系统信息、日志、权限和后台数据进行维护。

1.2 分析
系统分析的目的是捕获和描述所有的系统需求,并且建立一个模型来定义系统中主要的域类[2]。

分析的第一步是确定系统能够做什么?谁来使用这个系统?这些分别为角色和用例。

用例描述了系统提供什么样的功能。

通过阅读和分析文档,以及和潜在的用户讨论系统来分析用例。

图书馆借阅系统主要是围绕读者、图书和图书管理员的借还书展开工作。

我们先看看图书管理员和部分读者的详细需求。

1.2.1 借书和还书
读者来图书馆借书,可能先查询书库的图书记录。

查询可以按书名、作者、图书编号、关键字、出版社等查询。

查询有两种结果,如果查到则记下书号,进入图书馆借阅处,,等候办理借书手续。

如果该书已经被全部借出,则可做预约登记,等待有书时被通知。

如果图书馆没有该书的记录,则做缺书登记。

办理借书手续时先要出示图书借阅证,没有借阅证则去申请图书借阅证。

如果借书数量超出规定,则提示“借书卡已满,请归还后再借阅”。

图书管理员登记借阅人信息、借阅的图书信息、借出时间和应还书时间。

系统自动修改书库的图书记录、读者库信息。

当书籍将近到期时,如果读者仍旧未读完,可办理续借。

当此书没有预约记录时,可以续借成功;否则,续借失败。

当一位读者还书时,图书管理员根据图书编号,找到读者的借书信息,查看是否超期,如果已经超期,则进行超期处罚。

如果图书有破损、丢失,则进行破损处罚,图书管理员对破损图书进行修补。

清除借阅记录,同时系统自动查看是否有等待借阅的预约登记,如果有则发出通知,修改书库记录,该书设置为已预约状态,否则设置为可借状态。

1.2.2 其他
图书管理员中的采购人员进行图书采购时,要参考各类图书的库存数和借阅率,注意合理采购。

如果有缺书登记则随时进行采购。

采购到货后,进行验收、编号,同时加入书库,并且查看订阅信息,发送到书通知,并且修改书库的图书记录为已到货状态。

预约登记是当欲借的书被借空后,读者自愿选择的一种操作,它应该记录读者名和联系方式,一旦有这本书后可通知读者。

缺书登记是当读者需要的书库内查询没有记录时,将此信息记录,通知采购人员采购。

到书通知,当读者登记的缺书到来之后,按照读者给出的联系方式发出通知。

旧书下架,如果图书丢失或旧书淘汰,则将该书从书库中清除。

1.2.3 需求表
根据需求描述整理一张需求表:
需求表
1.2.4 需求说明书
通过对系统的需求分析可以得出系统的工作目标、基本功能、系统中的基本用户、各用户的基本要求以及可能涉及到的基本用例,这些都可以用需求说明书进行简单描述。

需求说明书中应包括需求分析中所做的主要工作内容,如:项目目标、范围、用户、非功能性需求和功能性需求等。

根据上述的需求分析可得到一张需求说明书。

需求说明书
2图书借阅系统用例分析
在需求分析中涉及到了用户和与之对应的用例,在UML模型化分析中,这些是十分重要的。

因为Rational统一过程(RUP)的核心思想和基本原则,就是采用以用例为驱动、以体系构架为核心的迭代化面向对象分析和设计过程[3]。

2.1 用户
采用用例图描述的图书借阅系统主要包括三类用户:读者、图书管理员、系统管理员。

其中,读者是多个,图书管理员是几个,系统管理员是一个。

2.1.1 读者
描述:读者可以借阅、预约、续借、归还图书,可以对书籍和个人信息进行查询,可以取消预约,可以提出办理图书借阅证的申请。

示例:持有图书借阅证的任何人。

2.1.2 图书管理员
描述:图书管理员对图书信息维护,包括图书订购、新书入库、破损修补、旧书下架,另外还对读者信息进行管理,进行借阅登记等。

示例:图书管理员
2.1.3 系统管理员
描述:系统管理员对系统进行维护,包括读者信息的创建、修改、删除,日志维护,权限维护,后台数据维护,还有系统信息的维护。

示例:系统管理员
2.2 用例
通过识别的参与者,对需求进一步分析,将业务需求进行分解,获得每个参与者的使用用例:
2.2.1 读者
(1)读者办卡:提供为读者办理借书证的功能
(2)书籍查询:为读者提供书籍查询功能
(3)书籍借阅:提供借阅书籍的功能
(4)书籍续借:提供续借书籍的功能
(5)书籍预约:提供对某一书籍的预约功能
(6)取消预约:提供对预约进行取消的功能
(7)书籍归还:提供归还书籍的功能
(8)读者信息查询:为读者提供个人信息查询的功能
(9)缺书登记:当读者需要的书籍查询书库没有记录时,读者可将此书进行缺书登记
2.2.2 图书管理员
(1)图书信息维护
图书订购:参考各类图书的库存数和借阅率及缺书登记,对书籍进行统一采购
新书入库:将新书到货进行编号入库
书籍破损修补:当书籍有损坏时进行修补
旧书下架:将遗失或淘汰的书籍从书库中清除
(2)读者信息管理
(3)借阅书籍登记
2.2.3 系统管理员
(1)系统维护:维护图书借阅系统的系统结构
(2)日志维护:维护系统中各种日志,如借阅记录、书籍记录等(3)权限维护:确定系统各参与者的权限,维护相关权限
(4)增删用户:增加或者删除用户及相关信息
(5)后台数据维护:维护系统后台数据库中的各种数据
2.3 用例图
根据如上分析,可以得到如下系统用例图:
图书借阅系统用例图
2.4 用例说明
通过用例图,可以对系统功能有一个大概的了解。

下一步就是编制每一个用例的详细说明,对用例说明的主要信息包括有:用例名称、编号、用例的简短描述、用例的参与者、与其他用例的管理、用例启动的前提条件、用例结束后的事后条件、用例的输入、输出、用例的执行事件流等[1]。

通过对用例进行详细的描述,建立当前系统的功能用例模型。

功能用例模型——借书



为了让系统设计能够以结构、组织方式和代码重用的形式表现出来,要对系统进行设计规划,设计阶段应该与分析阶段交迭。

需求是不断地发展,而设计本身也会推动需求的发展(反之亦然)。

在图书借阅系统的建模设计中,从三个方面进行设计:业务对象的表示、业务服务的实现、用户界面的组织[4]。

3系统静态建模
在图书借阅系统中,业务对象主要是数据库和数据实体类的表示方式。

建模时,可以构造出系统的静态模型,也就是系统类图来表示。

3.1类图
在用例分析基础之上,根据需求可建立起系统的静态数据模型,即建立系统类图,以及相关的关系和方法。

在面向对象分析中,一般只考虑与问题描述域和系统功能相关的对象[5]。

在对系统进行分析时,把系统的类对象抽象为图书借阅与归还。

针对此将类分化为以下的相关类:系统数据库类,包括图书类、读者类、借书记录类,其中图书类根据图书的功能又分为图书征订类和流通书籍类;相关操作类,包括借书管理类和还书管理类,其中在借书管理类还包含预约类和续借类,即在借书管理时可进行图书的预约和续借;异常处理类,由异常类派生出来的借书异常类和还书异常类,分别对应借书和还书管理时所产生的异常操作。

4系统动态建模
在考察了系统某一时刻的对象及对象之间朴素关系的静态结构后,下面要关注的是在任何时刻对象及其关系改变的情况,这些情况可以用UML的动态模型进行形象化描述[5]。

业务服务的实现需要完成的功能是各种业务规则和逻辑的实现[3],每个模块的信息录入、修改、查询等。

业务规则和逻辑实现基本相似,没有太多的规律可循。

采用UML来进行业务服务的建模,可以使用UML的顺序图。

这个部分的工作通常通过一系列的类之间的交互来完成。

为了在更动态的层面上描述系统,UML 提供许多类型的图。

对于图书借阅系统这样的B/S系统设计而言,交互图非常有用。

交互图分为两种:协作图和顺序图。

UML建模工具Rational Rose能够从协作图生成顺序图,也可以从顺序图生成协作图。

4.1顺序图
顺序图也称时序图,是显示对象之间交互的图,这些对象之间是按时间顺序排列的[6]。

下面时对借书过程中参与交互的对象及对象之间消息交互的顺序图。

借阅书籍过程主要包括:读者向图书管理员提出借书申请,图书管理员点击“借书”选项卡,显示借书表单。

读者将借书证条码扫描进系统,系统查找数据库,判断是否存在该读者,如果不存在,显示提示信息,用例结束;否则,查找该读者借阅记录,看是否已经借满,如果借满,提示还书,用例结束;否则,图书管理员将图书条码扫描进系统,系统判断该书是否在库可借,如果不可借,显示提示信息,用例结束;否则,图书管理员单击确认按钮后,将该书借给读者,系统存储借阅信息。

通过顺序图可以清晰地看出读者、图书管理员、显示、输入设备、读者管理、书库和事物管理各模块之间按时间顺序的消息交换,这对于把握系统的控制流、顺序行为和交互行为是非常有益的。

5图书借阅系统的实现、测试和系统配制
用户界面布局图能够帮助组织系统页面、文件、服务的布局结构。

在UML 中,对于页面和文件的组织,可以使用构件图或类图建模型。

本系统中已经使用类图对界面组织建模,页面结构以及各种业务服务被捆绑到不同的区域。

在UML 中,系统的体系结构可以使用部署图来完成。

经过UML模型化分析与设计后,就可以根据设计模型在具体的环境中实现系统,生成系统的源代码、可执行程序和相应的软件文档,建立一个可执行的系统。

然后需要对系统进行测试和排错,保证系统符合预定的要求,获得一个无错的系统实现。

测试的结果将确认所完成的系统可以真正使用。

最后系统配置的任务是
在真实的使用运行环境中配置、调试系统,解决系统正式使用前可能存在的任何问题。

6 小结
统一建模语言UML是国际软件工程领域具有划时代意义的重要成果,适用于以面向对象技术来描述任何类型的系统,而且适用于系统开发的不同阶段,从需求规格描述直至系统完成后的测试和维护。

软件系统的规模越来越大,复杂度不断提高,RUP迭代式增量开发方式可以降低风险,同时可以适应需求变化的需要。

通过对图书借阅系统的需求进行分析,将UML应用于系统开发的各个阶段,建立了系统的需求模型、静态模型和动态模型,同时遵循Rational统一过程(RUP)的核心思想和基本原则,采用以用例为驱动、以体系构架为核心的迭代化面向对象分析和设计过程。

致谢
在我的学位论文将要完成的时候,想要说的感谢很多。

这篇并不太长的论文,不仅使我想到近半年来的艰辛工作,几年来的寒窗苦读,更是我人生最重要的一段时间的一个句号。

感谢夏小娜老师,她对我的论文选题和论证提供了直接的指导,在工作繁忙之际为我提供非常有价值的信息和资料,也是她的悉心指导使我在技术上、理论上不断提高,也使我的论文研究工作得以顺利进行,仅以致谢的方式远不能表达我的感激之情,可以说没有恩师就没有这篇论文的完成。

在曲师大学习生活的这四年中,一起学习和生活许多同学都给我了热心的帮助,他们的友谊我永远也不会忘怀,在此向朋友们表示诚挚的感谢。

最后,我要向我的父母表示最深的感谢,他们一直默默的支持我,给我最大的动力,让我顺利的渡过四年的时光。

相关文档
最新文档