管理信息系统图书馆系统.docx
- 文档编号:11895545
- 上传时间:2023-04-08
- 格式:DOCX
- 页数:17
- 大小:229.62KB
管理信息系统图书馆系统.docx
《管理信息系统图书馆系统.docx》由会员分享,可在线阅读,更多相关《管理信息系统图书馆系统.docx(17页珍藏版)》请在冰豆网上搜索。
管理信息系统图书馆系统
《管理信息系统》课程报告
课题名称:
图书馆信息管理系统设计
课题负责人名:
曾婉琳
课题负责人学号:
0843041445
课题负责人班级:
计科08级11班
指导教师:
吴成恩
评阅成绩:
评阅意见:
提交报告时间:
2010年1月10日
图书馆信息管理系统设计
计算机学院
计算机科学与技术专业
学生曾婉琳指导老师吴成恩
一,项目开发背景
创建一个用于对图书馆的图书进行管理的图书管理系统,是大学中针对
学生提供图书借阅类服务的平台,项目的目标是提高图书管理的自动化水平,为图书业务过程提供更快捷的、更好的和更准确的服务。
具体来讲,系统的目标包括:
为借书者提供快速借书的服务;进行快速准确的图书和借书者的信息维护;图书管理和查询的自动化。
二,系统分析
1.这是一个图书馆支持系统;
2.图书馆将图书和杂志借给借书者。
借书者已经预先注册,图书和杂志也预先注册;
3.图书馆负责新书的购买。
每一本图书都购进多本书。
当旧书超期或破旧不堪时,从图书馆中去掉。
4.图书管理员是图书馆的员工。
他们的工作就是和读者打交道并在软件系统的支持下工作。
5.借阅人可以预定当前没有的图书和杂志。
这样,当他所预定的图书和杂志归还回来或购进时,就通知预定人。
当预定了某书的借书者借阅了该书后,预定就取消。
或者通过显式的取消过程强行取消预定。
6.图书馆能够容易地建立、修改和删除标题、借书者、借阅信息和预定信息。
7.系统能够运行在所有流行的技术环境中,包括Unix,Windows和OS/2,并应有一个现代的图形用户界面(GUI)。
对与该系统,提供如下的借阅条件和基本功能:
F1.1记录借出的图书----借阅事件
F1.2查找书库中是否存在这种图书
F1.3从借书卡中读取借书者信息,并校验该信息
F1.4查找书库中这本书是否还有副本
F1.5当一次借阅完成后,削减该书的副本存书数量
F1.6管理员要使用系统,必须输入ID号和密码才行
F1.7查询显示借书信息
F1.8提供一个持久化存储机制
F1.9提供过程间的和系统间的通信机制
系统将通过计算机来处理图书、副本、借书者和借阅。
借书者要求借书,给出要借图书的名称,出示借书证。
系统查找所借的图书是否存在,若存在,同时还要查看该图书是否还有副本,如果有,再查询该借书者提供的借书证是否合法的注册用户,如果是,则办理借阅手续(登记借阅信息)。
图书是存放在图书馆中的一个书的名称,副本是一个图书的具体实例。
一个图书可能有多个副本,一个副本一定会对应一个图书。
为简化起见,我们假定一次借阅(登记)只能借一本图书,同时会对应着一个借书证信息。
一个借书者可以进行多次借阅。
首先找出业务对象:
图书、副本、借书证。
系统需要处理的现实世界中的对象和概念:
借阅、预定。
将要发生或已经发生的事件:
已经预定。
下面给出其UML表示的问题域的类图。
图-2-1图书管理系统中的问题域主要概念类图
问题域类图中的关系说明如下:
1、一个图书名称可以有多个同样图书的副本。
2、每一个副本一定要对应一个图书名称。
3、一次借阅必须记录一个图书的副本和一个借书证信息。
4、一个副本可以被借阅,也可以不被借阅。
5、一个借书证可以借多本书,也可以不借一本书。
6、一个借书证可以进行多个图书名称的预定,也可以不进行预定。
7、一次预定必须记录一个图书名称信息和一个借书证信息。
8、一个图书名称可以被多次预定,也可以不被预定。
系统属性:
系统将通过计算机来处理图书、副本、借书者和借阅。
借书者要求借书,给出要借图书的名称,出示借书证。
系统查找所借的图书是否存在,若存在,同时还要查看该图书是否还有副本,如果有,再查询该借书者提供的借书证是否合法的注册用户,如果是,则办理借阅手续(登记借阅信息)。
图书是存放在图书馆中的一个书的名称,副本是一个图书的具体实例。
一个图书可能有多个副本,一个副本一定会对应一个图书。
假定一次借阅(登记)只能借一本图书,同时会对应着一个借书证信息。
一个借书者可以进行多次借阅。
首先找出业务对象:
图书、副本、借书证。
系统需要处理的现实世界中的对象和概念:
借阅、预定。
将要发生或已经发生的事件:
已经预定。
下面给出其UML表示的问题域的类图。
图-2-1图书管理系统中的问题域主要概念类图
问题域类图中的关系说明如下:
1、一个图书名称可以有多个同样图书的副本。
2、每一个副本一定要对应一个图书名称。
3、一次借阅必须记录一个图书的副本和一个借书证信息。
4、一个副本可以被借阅,也可以不被借阅。
5、一个借书证可以借多本书,也可以不借一本书。
6、一个借书证可以进行多个图书名称的预定,也可以不进行预定。
7、一次预定必须记录一个图书名称信息和一个借书证信息。
8、一个图书名称可以被多次预定,也可以不被预定。
图书管理系统的术语表:
图书:
图书是图书馆内最重要的对象,它是系统处理主要对象,图书是本书的信息描述,它包含了图书的名称,图书的作者以及图书的ISBN统一出版编号等内容。
副本:
副本是图书的一个实例,一个图书信息可以有多个副本,也可以没有副本。
副本是借书时的真正对象。
只有一个图书有可以供借阅的副本时,借书者才可以对其借阅。
借书证:
业务中的借书证记录了借书者的信息,从计算机应用软件开发的角度来看,如果组织对象,应该叫“借书者信息”更确切。
借阅:
借阅是图书管理中的一个最重要的业务活动,它需要进行一系列的操作才能完成一个借阅业务,包括查找图书、查找副本、核对借书证(借书者信息)等步骤。
预定:
预定是图书管理中的一个业务活动,它也需要一系列的操作才能完成。
书籍:
书籍是图书的一种形式。
杂志:
杂志也是图书的一种形式。
图书管理员:
图书馆的工作人员,直接为借书者提供服务的人,也是系统的直接使用者。
借书者:
到图书馆借书的人,属于图书馆的用户(服务对象)。
借书者信息:
一个记录了借书者完整信息的卡片,包括借书者的姓名、居住地址,所在城市和电话号码等内容。
逐步建立图书管理信息系统的业务平台:
一、确定业务系统的参与者
系统的参与者:
借书者
业务系统:
图书馆
二、确定业务系统的参与者的目标
对于借书者的目标我们可以描述如下:
1借书usecsae1
2还书usecase3
3预定usecase3
4取消预定usecase4
三、绘制图书馆业务系统的Usecase模型图
四、在以上四个usecase中挑选一个作为首先实现的目标。
选择:
usecase1,借书作为我们首先分析和实现的目标。
五、了解业务系统的参与者的期望,导出系统责任。
写出usecase描述的事件流。
Businessusecase描述:
借书
借书者到图书馆里选择了喜欢的图书之后,要求图书馆办理借书手续,图书馆登记所借图书的借阅资料,查找所借的图书是否存在以及所借图书是否还有副本,请借书者提供借书证。
借书者请图书馆登记借书证上的借书者信息,图书馆登记完成后,将借书者所要借的图书交给借书者,借书者拿着图书离开图书馆。
六、绘制业务系统的顺序图(Sequencediagram)
根据事件流的描述,绘出业务系统的顺序图,见图2-2。
通过该图我们可以看到,图书馆这个业务系统需要向借书者提供以下的服务:
1、受借书请求。
2、提示借书者提供所要借的图书名称
3、接受借书者提供的图书名称
4、查找书名
5、查找副本
6、提示借书者给出借书者信息
7、接受借书者给出的借书者信息
8、核对借书者信息并记录借阅信息
9、将图书送出,提示借书者拿走图书
图2-2业务系统级的顺序图
七、打开业务系统,找出业务系统内部的业务对象模型元素
根据前面的需求说明,我们知道图书馆内部情况如下:
作为图书馆工作人员的图书管理员,他们负责为借书者服务,并操作各种业务实体来完成图书馆的各种业务流程。
作为图书馆内部的业务实体有:
图书借阅登记、图书预定登记、图书信息卡、图书副本、借书人信息等。
每登记一次图书借阅,需要登记图书名称、借书者名称以及图书副本号等信息。
每登记一次图书预定,需要登记图书名称和借书者信息。
具体的系统内部结构图见图2-3。
图2-3图书馆业务系统内部业务对象模型元素
八、详细的事件处理流描述
事件流描述:
借书
借书者到图书馆里选择了喜欢的图书之后,要求图书管理员办理借书手续,图书管理员使用图书管理系统登记所借图书的借阅资料。
首先,图书管理员向图书借阅登记输入图书名称,图书借阅登记请图书信息卡查找所借的图书是否存在,如果该图书存在,则图书信息卡请图书副本检查该图书是否还有副本,如果有,进行下面的工作;图书管理员请借书者提供借书者信息。
借书者请图书管理员登记借书者信息,图书管理员向图书借阅登记输入借书者信息,图书借阅登记请借书者信息核对该信息是否有效;如果有效,图书借阅登记将登记相应的借书者信息、图书信息卡和图书副本。
处理完成后,提示图书管理员登记完毕,图书管理员将借书者所要借的图书交给借书者,借书者拿着图书离开图书馆。
九、业务系统详细顺序图(Sequencediagram)
根据上面的借书事件流描述,我们可以给出借书业务的顺序图,如图2-4。
通过顺序图我们可以看到每一个对象的责任:
借书者:
通过请求借书,启动借书流程;向图书管理员提供图书名称和借书者信息;拿走图书。
图书管理员:
接受借书请求,启动系统的借书流程;接受借书者提供的图书名称、借书者信息;向图书借阅登记对象提供图书名称和借书人名称;提示借书人拿走图书。
图书借阅登记:
接受并执行借书登记;接受并执行查找图书;接受并执行核对借书人信息。
图书信息卡:
负责查找图书。
图书副本:
负责查找核实空闲的副本。
借书人信息:
负责查找核实借书人,确认其为合法的借书人。
借书者到图书馆里选择了喜欢的图书之后,将选定的图书名称和借书者信息交给图书管理员,要求图书管理员办理借书手续,图书管理员使用图书管理系统登记所借图书的借阅资料。
首先,图书管理员向图书借阅登记输入图书名称和借书者信息,请图书借阅登记处理借书登记业务,图书借阅登记请图书信息卡查找所借的图书是否存在,如果该图书存在,则请图书副本检查该图书是否还有副本,如果有,进行下面的工作;图书借阅登记请借书者信息核对该信息是否有效,如果有效,图书借阅登记将登记相应的借书者信息、图书信息卡和图书副本。
处理完成后,提示图书管理员登记完毕,图书管理员将借书者所要借的图书交给借书者,借书者拿着图书离开图书馆。
这样的操作过程必然产生不同的顺序图。
它明显地减少了图书管理员与借书者之间的交互次数。
这种方式所产生的顺序图见图2-5。
图2-4业务系统打开后的顺序图
在建立业务模型时,术语表也是一个重要的内容,它是在前面已经建立的问题域模型的基础上进行增补而形成的。
下面我们给出图书管理系统业务模型的术语表:
图书信息卡:
图书信息卡是图书馆内最重要的对象,它是系统处理主要对象,图书信息卡是某一本图书的信息描述,它包含了图书的名称,图书的作者以及图书的ISBN统一出版编号等内容。
图书副本:
图书副本是图书的一个实例,一个图书信息卡可以有多个图书副本,也可以没有图书副本。
图书副本是借书时的真正对象。
只有一个图书信息卡有可以供借阅的图书副本时,借书者才可以对其借阅。
借书者信息:
业务中的借书者信息记录了借书者的重要信息,包括借书者的姓名、住址、居住城市、居住省、身份证号码、邮政编码、电话号码等内容。
图书借阅登记:
图书借阅登记是图书管理中的一个最重要的业务活动,它需要进行一系列的操作才能完成一个图书借阅登记业务,包括查找图书、查找副本、核对借书证(借书者信息)等步骤。
预定:
预定是图书管理中的一个业务活动,它也需要一系列的操作才能完成。
书籍:
书籍是图书的一种形式。
杂志:
杂志也是图书的一种形式。
图书管理员:
图书馆的工作人员,直接为借书者提供服务的人,也是系统的直接使用者。
借书者:
到图书馆借书的人,属于图书馆的用户(服务对象)。
图2-5另一种借书业务处理事件流产生的顺序图
十、形成业务模型的对象模型
在前面的第七步,我们找出了一些比较重要的对象模型元素,结合前面的问题域模型的类图进行修改和补充,我们可以得到业务系统的对象模型。
见图2-6。
图2-6图书馆业务系统对象模型
业务系统对象模型类图中的关系说明如下:
1、一个图书信息卡可以有多个同名图书副本。
2、每一个图书副本一定要对应一个图书信息卡。
3、一次图书借阅登记必须记录一个图书副本和一个借书人信息。
4、一个图书副本可以被借阅,也可以不被借阅。
5、一个借书人信息可以进行多次图书借阅登记,也可以没有图书借阅登记。
6、一个借书人信息可以进行多次图书预定登记,也可以没有图书预定登记。
7、一次图书预定登记必须记录一个图书信息卡和一个借书人信息。
8、一个图书信息卡可以被多次预定,也可以不被预定。
9、书籍和杂志是图书信息卡的特殊类。
它们之间具有一般特殊结构。
A、系统参与者描述
图书管理员
图书管理员是与计算机系统实际交互的活动者。
图书管理员通过增加和删除标题、书目和借书者来维护系统,同时也执行像借书、还书、预定书目给、给出有关存储在系统中的数据的信息等执行系统关键性的功能。
这些功能是为借书者服务的。
借书者
借书者可以借阅和预定书和杂志。
借书者可以是一个人或另一个图书管理员。
图书管理用例图
B、用例模型的综合描述
图书管理系统为客户提供一个管理图书的软件系统,直接与系统交互的是图书管理员,因此,图书管理员是应用系统的参与者。
借书者是通过图书管理员与系统交互的,他的交互对象是图书管理员,因此借书者是业务系统的参与者。
图书管理员通过使用预定、借出书目、删除预定和返还书目这些用例来提供对借书者的服务,还通过使用系统维护用例来完成增加标题、删除或更新标题、增加书目、删除书目、增加借书者、删除或更新借书者等系统维护的工作。
我们以图书管理的借书用例来说明详细描述一个用例。
图书管理的借书用例的事件流描述。
前提条件:
借书者已经将自己的姓名、所借的图书标题、图书的作者等信息给了图书管理员。
图书管理员在获取这些信息之后,开始进行图书借阅业务处理。
事件流:
基本路径:
图书管理员通过输入所借阅的图书标题(书名、作者或出版号),使用系统的查阅来确定所借图书是一个有效标题。
图书管理员通过查询系统查询确定该标题下具有有效的、可供借阅的书目。
图书管理员通过输入借书者的信息,使用系统的查询功能来确定借书者是一个已经注册的合法借书者。
图书管理员通过输入借阅图书的标题信息和借书者信息来确定该图书和该借书者所存在的预定信息。
图书管理员将书借给借书者。
然后,输入所借的图书标题、书目登记号、借书者的信息来形成一个新的借阅,并将以上信息存储。
如果存在预定,图书管理员通过输入借阅图书的标题信息和借书者信息来删除该图书和该借书者所存在的预定信息。
否则执行以下步骤。
该用例实例结束。
备选路径:
如果在上述图书查询中没有借书者要求的图书,有两种处理方式:
其一,取消图书借阅;其二,通过系统维护增加一个图书标题,并为该借书者进行一个图书预定。
如果在上述借书者查询中没有发现该借书者信息,同样有两种处理方式:
其一,取消图书借阅;其二,通过系统维护增加一个借书者信息(新用户),然后再执行借书的用例。
后置条件:
当借书完毕、或没有要借的图书并且借书者不希望预定、或该借书者没有注册并拒绝注册为新用户时,该用例实例结束。
三,系统设计
A,系统构架图说明
1、UI包(用户接口包)
用户接口包显示了所有的在用户接口中的类,以及它们与其它类(即,在业务对象类)之间的关系和协作。
用户接口描述了四个类图:
1)、基本类图:
该图显示了StartClass,该类包含了整个应用软件的主操作,并且只有它才可以激活主窗口(MainWindow)。
主窗口包含了一个菜单,该菜单被用来访问在应用系统中所有的其它窗口。
2)、功能类:
它显示了所有的用在MenuBar“Functions”中的窗口类。
这些窗口包含了对于租借和返还书目以及预定书目和取消预定的主要功能。
3)、信息类:
它显示了所有的用在MenuBar“Information”中的窗口类。
这些类都是为了查看有关标题和租借者信息以及浏览所有的标题和所有的租借者的信息。
4)、维护类:
它显示了所有的用在MenuBar“Maintenance”中的窗口类。
这些类都是为了系统维护的,如增加、删除和更新标题、书目和租借者信息。
UI包同样也包含了对所有在分析中多定义的用例顺序图,它显示了这些用例在设计阶段的实现。
用例现在被细化成在设计类图中的实际操作,因此,这些顺序图可以阅读,用来理解实际代码。
有些顺序图同样也被转换成协作图。
2、BO包(业务对象包)
这是业务对象包,包含了从分析阶段的问题域中的类。
这些类在设计阶段被详细化,描述了它们精确的操作和确切的信号。
这些类同样被变成了永久性的类,这是通过继承来自数据库包中的永久类并实现必要的写操作和读操作。
在分析阶段所定义的关联也在设计阶段使用对象识别码变量来实现,在这里,一个对象识别码可以被用做对系统中任何其它永久对象的参考的一个方式,并且在必要时可以很容易地控制这个对象。
3、DB包(数据存储包)
数据库包支持永久存储业务对象。
在当前的版本中,这些仅仅通过Persistent类来控制,它只做简单的对象的连续存储到一个文件中。
Persistent类的子类仅仅实现写和读操作,读写操作就是写和读对象的属性到一个文件中。
永久对象类具有操作,如通过一个对象识别码来检索一个对象,从一个永久对象中读出对象识别码,当然还可以存储、删除和更新一个对象。
同样存在于类的所有对象中的迭代操作,它用来实现查找的方法。
4、工具包
工具包包含了用于所有的其它包中的通用工具。
目前,它仅仅包含了ObjId类,它实现了一个对象识别码,一个对象使用它可以参考其它在系统中的任何永久对象,并且很容易的用来作为参考和检索在文件中的对象。
ObjId类被所有的其它类所使用,因此将其存放在这个包中。
B,各个包中的类图简介
1、图形用户接口包
图形用户接口包包含了5个接口类,分别介绍如下:
MainWindow类:
MainWindow类操作那些总是出现在应用系统中的窗口,应用系统窗口具菜单条,并且显示一个图象在它的客户端区域。
由用户选择(每一个菜单的选择都映射给一个在MainWindow类中的操作)了不同的菜单动作,并且MainWindow类创建并显示其它用户接口类的所有对象。
当应用系统退出时,MainWindow对象和窗口将会被删除。
LendItemFrame类:
LendItemFrame类是租借活动被注册的窗口。
它是从"Functions-LendItem"菜单中调用,并且让用户通过使用特别的查询窗口(FindTitleDialogandFindBorrowerDialog)来选择书目的标题和租借者。
当标题、书目和租借者已经被建立起来时,通过按下“OK”按钮,租借被确认并且一个租借对象已经在系统中被注册。
ReturnItemFrame类:
ReturnItemFrame是在“Functions-ReturnItem”菜单选中时创建和显示的,在这时,一本书目被返还给图书馆。
标题和书目的ID被输入给该窗口(标题是通过FindTitleDialog查询窗口)并且该书目的归还被确认。
而代表这次租借的租借对象将被删除。
ReservationFrame类:
ReservationFrame类是进行标题书目预定的窗口类。
它是由“Functions-ReserveTitle”菜单来创建,它允许用户通过使用特殊的查询窗口(FindTitleDialog和FindBorrowerDialog)选择图书的标题和租借者。
当图书的标题和租借者选定之后,通过按下“OK”按钮来确认预定。
CancelReservationFrame类:
CancelReservationFrame类用来从系统中删除一个预定。
它有一个画面显示,在画面上可以查找图书标题,并且所查到的图书标题做了预定的所有租借者都会显示在一个列表框内。
用户可以选择哪一个预定将被删除,然后按下“OK”按钮来确认删除。
2、BO包(业务对象包)
业务对象包包含了5个类(简化了分析类中的两个类),分别介绍如下:
标题类:
标题代表了一个书的概念(一本书或杂志),这是一个租借者可以对其书目进行租借的概念。
而书目却是在图书馆实际具有的书和杂志。
在图书馆中,一个流行的标题可能具有几个书目。
标题具有一些信息,例如图书名称,图书作者,以及其它信息如ISBN或杂志编号等。
标题具有0或多个预定,这意味着当一个标题的书目被返还时,该书目将被保留给一个特定的租借者。
所有的标题类的对象都是永久的,因此,它继承了永久类并实现了读写操作。
书目类:
书目代表了一个标题的可以被租借的实际书目(物理上真正存在的书目)。
该对象可以具有状态“借出”或“未借”两种。
书目总是具有一个相应的标题对象,该对象定义了该书目(即书名、作者和ISBN书号)。
将书目和它的标题分离的原因是,你或许需要预定一个标题,但是没有特定的书目,图书馆可以对同一个标题存有几本具体的书目(在这里,每一个书目可以被一个租借者租借)。
你或许同样能够查找一个标题,但是图书馆却还没有购买任何一本具体的书目。
所有的书目类都是永久性的,因此,需要继承Persistent类,并且实现读写操作。
租借者信息类:
租借者信息是指一个具体的租借者的信息,它可以是一个人或者是另一个图书馆。
被存储的信息是姓名,地址,城市,邮政编码,和省份。
BorrowerInformation类所有的对象都是永久的,因此它继承了Persistent类并且实现了读写
租借类:
租借是租借者与图书馆之间的契约。
阻截参考了一个租借者和一本书目,一个租借对象的存在代表了一个租借者已经租借了在租借对象中所参考(指向)的一本书。
当该书目被返还时,租借对象将被删除。
租借类的所有的对象都是永久的,因此,它继承了Persistent类并实现了读写操作。
预定类:
一个租借者可以进行一个预定。
预定是指租借者想预定相关的标题,当该标题的一个书目归还时,租借者可以能够优先于其他租借者之前租借这本书。
一个标题可以由不同的租借者预定不止一次。
预定类的所有的对象都是永久的,因此它继承了Persistent类并实现了读写操作。
3、DB包(数据库包)
数据库包中只包含了一个类,那就是Persistent类:
永久类只是简单地将对象持续存储到一个文件中。
永久类的子类仅仅实现有关本类的对象属性的读和写到一个文件的操作。
永久类具有由一个对象识别码来检索一个对象的操作,和为一个永久对象获得识别码,以及存储、删除和更新一个对象的操作。
该类可以在性能上进行优化。
4、UTIL包(工具包)
工具包中只包含了一个类,那就是
ObjId类:
对象识别码类,代表了对系统中的一个对象的一个参考(关联)。
对象识别码是由所参考的类的类名和一个唯一识别码数字来组成。
通过向在Persistent类中的getObject操作传递对象识别码,对象将会被从永久存储(文件)中读取并返回给调用者。
因此,对象识别码对实现永久对象的参考是一个容易的机制。
getObject操作同样也在Persi
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 管理信息系统 图书馆 系统