《软件建模技术》报告第1章引言:1.1问题提出的背景:二十一世纪是信息高度交流与发展的时代,面计算机系统则在信息时代扮演着极为重要的脚色。
然而,人工管理图书馆存在大量问题,比如,图书馆信息量过于庞大,包括图书信息,借书人信息等。
图书管理系统的出现是为了解决图书的系统管理和借书人的系统管理,使图书馆的运作更加系统化、结构化,将人力解放出来。
好的图书管理系统拥有着广泛的市场前景。
1.2现状和意义:现今,有很多的图书馆尚未使用计算机进行信息管理。
图书馆若采取手工方式对图书资料和图书借阅情况进行人工管理,由于资料繁多,手工处理的工作量大,整体管理效率低下,也不方便读者对图书资料的查阅。
为了提高日常的图书管理效率,必须开发满足大多数中小型的图书管理要求的图书管理系统。
本系统针对通常的图书管理流程,深入分析了图书管理系统的需求和功能,为图书管理系统程序开发提供了现实理论基础。
第2章需求分析:2.1功能分析:图书馆在正常运营中总是面对大量的读者信息、书籍信息以及两者相互作用产生的借书信息、还书信息。
因此,本系统需要对读者资源、书籍资源、借书信息、还书信息进行管理,及时了解各个环节中信息的变更,有利于提高管理效率。
2.2图书馆管理信息系统需要完成主要功能:1)录入读者基本信息,包括读者编号、读者姓名、读者种类、读者性别、工作单位、家庭住址、电话号码、电子邮件地址、办证日期、备注等。
2)查询、修改读者基本信息,包括读者编号、读者姓名、读者种类、读者性别、工作单位、家庭住址、电话号码、电子邮件地址、办证日期、备注等等。
3)制定书籍类别标准及录入信息,包括类别编号、类别名称、关键词、备注信息等。
4)书籍信息的输入,包括书籍编号、书籍名称、书籍名称、书籍类别、作者姓名、出版社名称、出版日期、书籍页书、关键词、登记日期、备注信息等。
5)借书信息的输入,包括借书信息编号、读者编号、读者姓名、书籍编号、书籍名称、借书日期、备注信息等。
6)借书信息的查询、修改,包括借书信息编号、读者编号、读者姓名、书籍编号、书籍名称、借书日期、备注信息等。
7)录入还书信息,包括还书信息编号、读者编号、读者姓名、书籍编号、书籍名称、借书日期、还书日期、备注信息等。
8)查询、修改还书信息,包括还书信息编号、读者编号、读者姓名、书籍编号、书籍姓名、借书日期、还书日期、备注信息等。
第3章设计说明一.用例图1.实验内容根据实例,如“图书馆管理系统”开发进度,在完成对系统的需求建模,得到用例模型后,应针对每个用例进行业务分析,说明其具体的业务流程,现系统分析部指派您完成该项任务。
要求:对其中主要功能的用例书写书面用例。
2.实验步骤书写“删除读者信息”用例的书面用例。
一般应包含以下信息:(1)管理员在录入界面,输入待删除的读者名;(2)“业务逻辑”组件在数据库中,查找待删除的读者名;(3)如果不存在,则显示出错信息,返回步骤(1),如果存在则继续;(4)“业务逻辑”组件判断“待删除的读者”是否可以删除;(5)如果不可以,则显示出错信息,返回步骤(8),如果可以则继续;(6)在数据库中,删除相关信息;(7)显示删除成功信息;(8)结束。
3.分析在图书管理系统中,管理员首先登录系统,系统验证通过后,管理方可向系统查询数据,在查询后,系统会给出提示,有没有找到相关的数据,管理员根据系统查询的返回结果,进行下一步的操作,就是删除读者,在删除的过程中,系统会对查询得到的结果判断该记录是否可以删除,若可以删除,则给删除提示,若不能删除,也给相关的提示信息。
4.结果二.活动图1.实验内容根据实例,如“图书馆管理系统”开发进度,在完成对系统的需求建模,得到用例模型后,应针对每个用例进行业务分析,说明其具体的业务流程,现系统分析部指派您完成该项任务。
要求:用活动图来描述系统中已知用例的业务过程:描述删除读者用例。
2.实验步骤绘制“删除读者信息”用例的活动图。
删除读者信息一般按照以下步骤进行:(1)管理员在录入界面,输入待删除的读者名;(2)“业务逻辑”组件在数据库中,查找待删除的读者名;(3)如果不存在,则显示出错信息,返回步骤(1),如果存在则继续;(4)“业务逻辑”组件判断“待删除的读者”是否可以删除;(5)如果不可以,则显示出错信息,返回步骤(8),如果可以则继续;(6)在数据库中,删除相关信息;(7)显示删除成功信息;(8)结束。
3.结果三.状态图1.实验内容通过前面内容的学习,完成了对“图书馆管理系统”的需求的初步分析,得出系统的用例图和相应的活动态。
通过这两类图我们可以初步了解系统的业务处理过程,但对业务处理过程的处理状态间转换了解仍不够,这不利于设计人员对系统业务的进一步理解,而状态图能从对象的动态行为的角度去描述系统的业务活动。
因此,指派你运用本节所学的状态图,完成如下任务:完成图书业务模块中还书用例的状态图。
2.实验步骤2.1.业务分析:由前面章节对图书馆管理系统中的还书主要业务的描述和分析可知,还书业务的动态行为是由:空闲(idle)、图书查找(finding)、还书(reversion)、失败(Failure)、归还成功(Success)5种状态及激活相互转换的事件。
2.2.绘制状态图:请您根据分析运用UML绘制还书用例的状态图。
分析:还书的状态图,还书的主要业务都是由管理员来完成,首先管理员必须先登录系统,并通过验证后,便可以进行下一步的操作,查找该书的相关信息,如存在,则进行还书操作,如不存在该信息,则给出提示信息;3.结果四.类图1.实验内容通过前面内容的学习,完成了对“图书馆管理系统”的需求的初步分析,得出系统的用例图和相应的活动态和状态图。
通过这两类图我们可以初步了解系统的业务处理流程。
现在需要对系统进行静态建模,这就需要从系统的用例图、活动图和状态图去寻找和发现类。
因此,指派你运用本节所学的有关如何抽象出类的知识,完成如下任务:寻找和抽象出书籍管理功能中的类。
2.实验步骤2.1.分析:由前面章节对图书馆管理系统中的书籍管理功能可知,该模块是由书籍信息类、书目类、新增书籍界面类、修改书籍界面类、删除书籍界面类和书籍管理类6个类组成。
3.结果五.时序图1.实验内容通过对教学内容的学习,使我们完成了“图书馆管理系统”的需求分析,并从业务对象中抽象出了类。
现在需要对前面所给出的用例进行实现,而用例的实现主要由交互图来指定和描述系统的动态特性。
现指派你运用本节所学的相关知识,完成如下任务:对书籍管理功能中的用例进行动态建模。
2.实验步骤2.1.分析:根据演示部分对图书业务功能模块中的交互操作进行动态建模的操作步骤和方法,请你对书籍管理模块中的交互操作进行动态建模。
该模块中主要存在新增书籍、修改书籍信息和删除书籍三种交互操作。
3.结果3.13.23.3六.对象图和包1.实验内容“图书馆管理系统”的分析和设计已按计划完成类图和交互图的分析与设计,不过当这份文档提交给图书馆的使用人员审查时,他们认为最好能用一个实例来说明系统的运作,现系统分析部指派您完成该项任务,为系统绘制一张对象图。
以借书过程为例绘制对象图;2.实验步骤为了更好的描述借书过程,根据图7.1绘制借书过程中某一时刻的对象图+lendBook()-BookName -ReaderId LendFrame +lendBook()+findBookByName()BookManager +findFreeItem()-BookName -ISBNBook +getItemId()+setLoanState()-ItemId -ISBN -StateItem图7.1(1) 确定对象的值假定管理员在为读者“S05001”办理“UML Guide ”的借书手续,这时首先弹出一个借书窗口“lfLend ”,在其上输入读者ID 和书名,点击“借书”按钮。
这里lfLend 对象将调用业务管理者类bmMain 对象的findBookByName 方法去获取一个书名为“UML Guide ”的Book 对象bLend ,然后bmMain 再通过lendBook 方法,去调用bLend 对象findFreeItem 方法,去查找一本可借阅的图书,这里假定找到图书iLend ,然后使用setLoanState 更改iLend 的借阅状态为“借出”,完成借书过程。
表7.1描述了在成功设置iLend 对象借阅状态为“借出”状态时,与借书过程有关的各对象的值。
表7.1类名 对象名 属性值 方法LendFrame lfLend BookName=”UML Guide ” ReaderID=”S05001”lendBookBookManager bmMain findBookByName lendBookBook bLend BookName=”UML Guide ” ISBN=”ISBN12315”findFreeItemItem iLend ISBN=”ISBN12315” ItemID=”B05001”getItemID setLoanState(2) 绘图,根据(1)中的描述,绘制出当iLend 状态变更时,系统中各对象的状态如图7.2所示。
(3)根据分析设计情况,进一步设计对象和包之间的关系。
BookName = UML Guide ReaderId = S05001lfLendbmMain : BookManagerBookName = UML Guide ISBN = ISBN12315bLend : BookItemId = B05001ISBN = ISBN12315State = 借出iLend : Item3.结果七.组件图和部署图1.实验内容“图书馆管理系统”的分析和设计已按计划完成类图和交互图的分析与设计,下一步将完成系统的组件图和部署图,现系统分析部指派您完成如下任务:完成系统的组件图。
2.实验步骤2.1. 绘制组件图分析:“图书馆管理系统”中,通过分析可以发现类图中的类应分为4个部分:1.用户接口模块(UI),主要负责系统和用户的交互,包括Frame类,Dialog 类等。
2.业务对象模块(BO),主要负责处理系统中的业务计算,如借书,还书等功能的具体操作。
3.数据存储模块(DB),主要负责处理对数据的存储。
4.通用工具模块(UTIL),包括系统中通用函数。
通过一个主程序StartClass来启动。
由于系统中的类较多,这里以业务对象模块(BO)为例来讲解如何创建组件图,BO模块中包括:Item类:书目类,表示一本实际存在的书籍或杂志;Loan类:借书业务类,将借阅者和图书馆关联起来,一个Loan对象表示借出的一本书;BorrowerInfomation类:借阅者信息类,表示一个借阅者;Title类:表示一种书或一种杂志。