宁波工程学院电信学院《软件模型》实验报告实验名称专业、班级姓名实验日期指导教师图书管理系统实例计科07级软件工程(一)班学号074010101122010.6.20王宇1第十一次实验:图书管理系统实例实验目的:通过四次实验,以图书管理系统为例,使学生掌握使用UML统一建模语言为软件系统建模的方法步骤。
实验内容与要求:图书管理系统需要满足三方面的需求,这三个方面分别是图书借阅者、图书馆工作人员(图书管理员)和图书馆管理人员(系统管理员)。
图书借阅者的需求是查询图书馆所存的图书、个人借阅情况及个人信息的修改;图书管理员对图书借阅者的借阅及还书要求进行操作,同时形成借书或还书记录;系统管理员的功能最为复杂,包括对图书借阅者和图书进行管理和维护,及系统状态的查看、维护。
(可参考的)图书管理系统结构图1、系统需求分析2建立用例图并进行用例描述2、建立系统静态模型类图的建立3、建立系统动态模型建立顺序图、协作图、活动图和状态图4、程序代码生成选择Java语言实现类,并生成代码,可以一次生成一个类、一个组件或者一个包。
选择要生成代码的类,使用“Tools”→“Java”→“Generate Codes”命令生成代码,Rose帮助用户生成所需要的Java框架代码。
一.图书馆系统需求:31.1图书管理系统的域描述如下:在图书管理系统中,图书管理员为每个借阅者建立一个帐户,并给借阅者发放借阅卡(借阅卡包括借阅卡号、借阅者名),帐户中存储借阅者的个人信息、借阅者信息以及预定信息。
持有借阅卡的借阅者可以借阅书刊、返还书刊、查询书刊信息、预定书刊并取消预定,但这些操作都是通过图书管理员进行的,也即借阅者不直接与系统交互,而是图书管理员充当借阅者的代理与系统交互。
在借阅书刊时,需要输入所借阅的书刊名、书刊号,然后输入借阅者的图书卡号和借阅者名,完成提交所填表格,系统验证借阅者是否有效(在系统中存在帐户),若有效,借阅请求被接受,系统查询数据库系统,看借阅者所借阅的书刊是否存在,若存在,则借阅者可借出书刊,建立并在系统中存储借阅记录。
借阅者还书后,删除关于所还书刊的借阅记录。
如果借阅者所借的书刊被借出,借阅者还可以预定该书刊,一旦借阅者预定的书刊可以获得,将书保存给借阅者,如果过期归还,借阅者还书时交罚金。
1.2对图书管理系统的域描述进行分析,可以获得如下功能性需求:1.2.1系统的功能需求主要包括以下几个方面:①借阅者可以通过网络查询书籍信息和预定书籍。
②借阅者能够借阅书籍和还书。
③图书管理员能够处理借阅者的借阅和还书请求。
④系统管理员可以对系统的数据进行维护,如增加、删除和更新书目,增加、删除和更新借阅者帐户,增加和删除书籍。
1.2.2系统主要包括以下几个模块:①基本数据维护模块②基本业务模块③数据库管理模块④信息查询模块1.2.3基本数据维护模块包括的主要功能模块①添加借阅者帐户②修改更新借阅者帐户信息③添加书目④修改和更新书目信息⑤添加书籍4⑥删除书籍1.2.4基本业务模块包含的功能:①借书②还书③书籍预留④取消书籍预定1.2.5数据库模块的功能:①借阅信息管理②书籍信息管理③帐户信息管理④书籍预留信息管理1.2.6信息查询模块主要是查询数据库中的相关信息:①查询书籍信息②查询借阅者信息二.需求分析:2.1识别参与者通过对系统需求的分析,可以确定系统中有三个参与者:管理员Administrator:借阅者:Borrower、图书管理员:Librarian。
参与者的描述如下:1.Borrower描述:借阅者可以查询书籍、预定书籍、取消预定,新书浏览,借阅书籍,归还书籍,借阅信息查询,归还书籍,还书时交纳罚金,登录系统。
示例:持有借阅卡的任何人或组织。
2.Librarian图书管理员能够处理借阅者的借阅和还书请求等用例。
描述:书籍归还处理。
书籍借阅处理,删除书籍预定信息,还书时收取罚金,检查用户借阅凭证合法性。
3.Administrator描述:管理员维护系统可以创建、查询,修改、删除借阅者的信息,可以添加、编辑、删除书刊信息即维护目录,还可以添加、编辑、删除物理书刊信息。
52.2识别用例前面已经识别出了参与者,通过对需求的进一步分析,可以确定系统中有如下用例存在:(1)Borrow Book(借书)本用例提供了借阅物理书刊的功能。
(2)Return Book(还书)本用例提供了返还物理书刊的功能。
(3)Reserve Title(预定书刊)本用例提供了预定书刊的功能。
(4)Cancel Reservation (取消预定)本用例提供了取消预定的功能。
(5)Maintain Borrower Info(维护借阅者信息)本用例提供了创建、修改以及取消借阅者帐户的功能。
(6)Maintain Title Info (维护书刊信息)本用例提供了添加、修改、以及删除书刊信息的功能。
(7)Maintain Book Info(维护物理书刊信息)本用例提供了添加、修改以及删除物理书刊信息的功能。
(8)Log In(登录)2.3图书管理系统的用例事件流描述如下。
S-1:借阅物理书籍(1)提供书刊种类、借阅者信息。
(2)检索书刊种类(3)确定所借阅的物理书刊是否可以获得,也即物理书刊是否已借出。
(4)检索借阅者(5)图书馆将物理书刊借给借阅者。
(6)创建借阅记录。
(7)存储借阅记录。
S-2: 通过预定借阅书籍(1)提供书刊种类、借阅者信息。
(2)检索书刊种类。
(3)检索借阅者。
(4)确定该种类书刊的物理拷贝是否可以获得。
6(5)将物理书刊发给借阅者。
(6)创建借阅记录。
(7)存储借阅记录。
(8)删除预定记录。
E-1: 该种书刊不存在,系统显示提示信息,用例终止。
E-2: 物理书刊都已借出,系统显示提示信息,用例终止。
E-3: 系统中不存在该借阅者,系统显示提示信息,用例终止。
S-3:返还物理书刊在这个用例开始前,Librarian必须登录到系统中。
如果这个用例成功,系统删除借阅记录。
否则,系统的状态没有变化。
当借阅者返还所借的物理书刊时,用例启动。
(1)提供所还物理书刊信息。
(2)检索物理书刊。
(3)查询物理书刊的借阅记录。
(4)删除借阅记录。
E-1: 物理书刊不存在,系统显示提示信息,用例终止。
E-2: 若借阅记录不存在,系统显示提示信息,用例终止。
S-4:查询书籍信息在这个用例开始前,Librarian必须登录到系统中。
如果这个用例成功,系统建立预定记录。
否则,系统的状态没有变化。
当Librarian为借阅者预定书刊时,用例启动。
(1)提供书刊种类、借阅者信息。
(2)检索书刊种类。
(3)检索借阅者。
(4)系统接收预定,创建预定记录。
(5)将预定记录存储在系统中。
E-1: 该种书刊不存在,系统显示提示信息,用例终止。
E-2: 系统中不存在该借阅者,系统显示提示信息,用例终止。
S-5:取消预定在这个用例开始前,Librarian必须登录到系统中。
如果这个用例成功,系统删除预定记录。
否则,系统的状态没有变化。
(1)提供所预定的书刊种类、借阅者信息。
(2)检索所预定的书刊种类。
7(3)检索借阅者。
(4)从系统中删除预定记录。
E-1: 该种书刊不存在,系统显示提示信息,用例终止。
E-2: 系统中不存在该借阅者,系统显示提示信息,用例终止。
E-3: 预定信息不存在,系统显示提示信息,用例终止。
S-6:维护借阅者信息在这个用例开始前,Librarian必须登录到系统中。
如果这个用例成功,系统添加、修改或删除借阅者信息。
否则,系统的状态没有变化。
当Librarian 想维护借阅者信息时,用例启动。
系统要求Librarian选择所想执行的活动(添加借阅者、删除借阅者、修改借阅者)。
如果所选的活动是“添加借阅者”,则执行分支流S-1:添加借阅者。
如果所选的活动是“删除借阅者”,则执行分支流S-2:删除借阅者。
如果所选的活动是“修改借阅者”,则执行分支流S-3:修改借阅者。
S-1: 添加借阅者(1)提供借阅者的信息,如姓名、地址、邮政编码和身份证号码等。
(2)系统存储借阅者信息。
S-2: 删除借阅者(1)提供借阅者的信息。
(2)查询借阅者。
(3)查询借阅者的借阅记录。
(4)从系统中删除借阅者的信息,以及借阅者的预定记录。
S-3:更改借阅者(1)提供借阅者的信息。
(2)查询并显示借阅者的信息,修改相应的信息。
(3)更新系统中借阅者的信息。
E-1: 若借阅者已存在,系统显示提示信息,用例终止。
E-2: 若查询不到借阅者,系统显示提示信息,用例终止。
E-3: 若存在借阅记录,系统显示提示信息,用例终止。
S-7:维护书籍信息在这个用例开始前,Librarian必须登录到系统中。
如果这个用例成功,系统添加、修改或删除书刊种类信息。
否则,系统的状态没有变化。
当Librarian想维护书刊信息时,用例启动。
系统要求Librarian选择所想执行的活动(添加书种、删除书种、修改书种)如果所选的活动是“添加书种”,则执行分支流:添加书刊信息。
如果所选的活动是“删除书种”,则执行分支流:删除书刊信息。
如果所选的活动是“修改书种”,则执行分支流:修改书刊信息。
8S-1: 添加书刊信息(1)提供书刊的书名、作者号等信息。
(2)在系统中添加该书刊信息。
S-2: 删除书刊信息(1)提供所要删除的书刊信息。
(2)查询所要删除的书刊。
(3)删除该书刊的所有物理书刊的信息。
(4)删除书刊信息,以及相关的预定信息。
S-3:更改书刊信息(1)提供要修改的书刊信息。
(2)查询并显示书刊信息。
(3)修改相应的信息。
(4)更新系统中的书刊信息。
E-1: 若书刊信息已存在,系统显示提示信息,用例终止。
E-2: 若查询不到该书刊,系统显示提示信息,用例终止。
E-3:若有物理书刊借出,系统显示提示信息,用例终止。
S-8:管理员处理书籍信息在这个用例开始前,Librarian必须登录到系统中。
如果这个用例成功,系统添加、修改或删除物理书刊种类信息。
否则,系统的状态没有变化。
当Librarian想维护物理书刊信息时,用例启动。
系统要求Librarian选择所想执行的活动(添加物理书刊、删除物理书刊、修改物理书刊)。
如果所选的活动是“添加物理书刊”,则执行分支流S-1:添加物理书刊信息。
如果所选的活动是“删除物理书刊”,则执行分支流S-2:删除物理书刊信息。
如果所选的活动是“修改物理书刊”,则执行分支流S-3:修改物理书刊信息。
S-1: 添加物理书刊信息(1)提供物理书刊种类信息。
(2)查询物理书刊的种类(Title),确定系统中已存在该书刊种类。
(3)添加物理书刊。
(4)将物理书刊信息存储到系统中。
S-2: 删除物理书刊信息(1)提供物理书刊的种类信息。