uml图书管理系统需求分析与设计

关键词: 备份 管理系统 图书 管理

uml图书管理系统需求分析与设计(共6篇)

篇1:uml图书管理系统需求分析与设计

图书馆图书管理系统的需求分析与设计

一、本课题的研究意义

一个图书馆的图书资料库在正常运转中总是面对大量的读者信息、书籍信息以及两者相互作用产生的借书信息、还书信息。图书馆作为一个信息资源的集散地,图书和用户借阅资料繁多,包含着很多的信息数据。以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于图书借阅情况(如借书天数、超过限定借书时间的天数)的统计和核实等往往采用人工检查,对借阅者的借阅权限以及借阅天数等采用人工计算、手抄进行,数据信息处理工作量大,容易出错和丢失。因此,建立一个智能化、系统化、信息化的图书资料库是十分重要的。使用计算机软件对图书进行管理,是计算机应用的一部分。充分利用计算机的功能,实现对读者管理、书籍管理等自动化控制,将会使图书资料库的工作强度大大减弱,可以实现图书检索迅速、可靠性高、存储量大、寿命长、成本低,能最大限度地提高图书管理的效率,也是图书管理信息化、正规化管理的必然趋势。

二、图书馆图书管理系统的需求分析与设计过程

图书管理系统的开发和应用主要通过两个步骤来实现:首先是基于系统功能的需求分析,其次是系统模型的设计和实现。

2.1需求分析

需求分析是信息系统设计过程中的一个重要阶段,其中一个主要任务是确定系统的功能需求,并采用面向对象方法,即基于UML的可视化系统进行需求分析。需求分析的目标就是建立需求模型,即从功能需求出发建立图形模型, UML的视图从用户的需求中提取,以图形的方式描述待开发的系统的功能需求。每个图形都指定了客户的需求,即他们需要系统干什么。用图形为设计活动不仅记录需求而且还提供了一种挖掘的信息, 它记录了需求到设计结果之间的映射关系,能够确保设计结果具有明确的根据或者说具有可维护性,基于UML的信息系统设计过程是以建模图形驱动的。

首先我们进行角色的认识,对于一所大学的图书管理系统,基本的功能是完成图书的借阅和相关信息的管理,服务的对象有本科生,研究生,教师,及其他学校的学生,还有社会人员,这些人可归结为一类即读者。而为帮助读者顺利完成借还书的可以是工作人员,可以是自动借还书机,他们可以归结为一类即图书管理人员。因此对于一个图书管理系统主要有两类角色,读者、图书管理员。

其次,在主要角色的基础上,可以识别出与角色相应的用例,从而得到系统的用例模型图。与读者相关的过程包括:借书、还书、预借(想借的书已借出,预定要借的书籍)、图书信息检索、借阅查询(如查询本人借书记录、还书期限、是否超期)、个人相关信息查询及修改(如学号、姓名、性别、年级、专业、家庭住址、联系电话、出生日期、民族、政治面貌、身份证号等)。与图书管理员相关的过程包括:办理借书、办理还书、删除预借对象、图书订购、读者信息管理(增加/删除读者、修改读者权限及密码、借阅超期罚款)、图书信息管理(增加/删除数目、图书类别等相关信息的修改、流通情况)。系统管理(系统的登陆、退出、日志维护、系统更新)。以上分析中,与读者,图书管理员相关的过程构成了本系统的基本用例。

2.2 系统的整体结构

综上所述一个图书馆图书管理系统的整体结构可以分为三大模块:图书管理模块、读者管理模块、系统管理模块。

(1)图书管理模块包括与图书相关的一些过程,主要有图书的借出、图书的归还、预借、图书信息检索、图书订购、图书相关信息管理。

(2)读者管理模块主要包括与读者有联系相关的过程,主要有增加/删除读者、修改读者权限及密码、借阅信息查询、个人信息查询及修该、借阅超期和丢失罚款。

(3)系统管理模块包括系统的登陆、退出、系统维护、系统更新。综上我们画出系统的整体结构,如图一所示:

图一 图书管理系统的整体结构

2.3 图书管理系统的用例图

从以上分析中我们不难得出系统的基本用例图,如图二所示:

图二 系统的基本用例图

图书管理和图书管理是图书管理系统的重要组成部分,为此我们按照前文所述将图书管理模块和读者模块以及系统管理模块详细精化得出如下的用例图,如图

三、图

四、图五所示:

图三 图书管理模块的用例图

图四 读者管理用例图

图五 系统管理模块的用例图

2.4 图书管理系统的交互图

协作图

篇2:uml图书管理系统需求分析与设计

系统的功能性需求描述如下:

·

图书管理系统为管理员提供主功能界面。

·

图书管理系统在启动时要求管理员输人口令,只有口令正确,才可以进入系统的主功能界面。

·

管理员负责对图书管理系统的维护工作,因此系统应赋予管理员对图书信息、读者信息和出版社信息进行录入、修改、查询和删除等功能的操作权限。

·

管理员作为读者的代理实现借书与还书业务。

·

图书信息、读者信息和出版社信息保存在对应的数据库表中。

在上述功能性需求分析的基础上,可以写出较为详细的需求规格说明书,作为进行系统分析、设计和实现的依据。需求分析规格说明书由系统最终用户提出需求,系统分析人员负责编写。图书管理系统需求分析规格说明书如下:

·

这是一个图书馆图书借阅管理的应用系统;

·

图书管理系统负责将图书、杂志借给读者,前提条件是这些读者在系统进行了注册,图书和杂志也在系统中进行了注册;

·

图书馆负责新书的购买,当书和杂志已经过时或者破旧不堪时,可以将这些图书和杂志从图书馆管理系统中删除;

·

图书管理员是图书馆的员工,负责与读者打交道,并且是在系统提供的支持下开展工作;

·

图书管理系统能够容易地建立、修改和删除系统中的信息,包括图书信息、读者信息、以及出版社信息等;

·

图书管理系统能够在所有流行的平台环境(windows,uNIx等操作系统)上运行,并具有一个美观的图书用户界面;

·

图书管理系统容易扩展新功能。

2.分析建模

 Use case diagram 分析

采用下列描述项撰写用例的脚本。

· 用例名称——表明用户的意图或用例的用途。

· 参与者——与该用例相关的参与者列表。

· 前置条件——一个条件列表,如果其中包含条件,则这些条件必须在访问用例之前得到满足。

· 后置条件——一个条件列表,如果其中包含条件,则这些条件将在用例完成以后得到满足。

· 基本事件流——描述用例中各项活动都正常进行时用例的工作方式。

· 分支事件流——描述用例中某项活动的子活动各项工作都正常进行时用例的工作式。

· 异常事件流——描述用例的变更工作方式,以及出现异常或发生错误的情况下所执行的路径。

图书管理系统中每个用例的脚本描述如下:

1.系统登录

用例名称:系统登录

参与者:图书管理员 1.1前置条件 无

1.2后置条件

如果用例成功,参与者可以启动系统,使用系统提供的功能。反之,系统的状态不发生变化。

1.3基本事件流

当图书管理员登录系统时,用例启动。

①系统提示用户输入用户名和密码。

②用户输入用户名和密码。

③系统验证输入的用户名和密码,若正确,则用户登录到系统中。

1.4异常事件流

如果用户输入无效的用户名/密码,则系统显示错误信息。用户可以选择返回基本事件流的起始点,重新输入正确的用户名/密码;或者取消登录,用例结束。

2.图书借阅

用例名称:借阅图书

参与者:读者,图书管理员 2.1前置条件

在这个用例开始之前,图书管理员必须登录到系统;否则,系统的状态不发生变化。

2.2后置条件

如果这个用例成功实现,则在系统中创建并存储借阅记录。2.3基本事件流

当读者借阅图书时,用例启动。

①登录系统。

②输人图书ID和读者ID。

③检索读者ID。

④检索图书ID。

⑤根据时间算法确定图书借出日期和归还日期。

⑥图书馆将图书借给读者。

⑦创建借阅记录。

⑧存储借阅记录。2.4异常事件流

①如果读者未注册,则系统显示提示信息,用例被终止

②如果要借图书不存在,系统显示提示信息,用例被终止

③如果要借图书都已借出,则系统提示信息,用例被终止。3.图书归还

用例名称:图书归还

参与者:读者,图书管理员 3.1前置条件

在这个用例开始之前,图书管理员必须登录到系统;否则,系统的状态不发生变化。

3.2后置条件

如果这个用例成功实现,则系统删除借阅记录;否则,系统的状态不发生变化。3.3基本事件流

当读者归还借阅的图书时,用例被启动。

①登录系统。

②输入图书ID和读者ID。③检索图书ID。

④检索读者ID。

⑤查询图书借阅记录。⑥删除借阅记录。3.4异常事件流

①如果归还图书不存在,则系统显示提示信息,用例被终止。②如果借阅记录不存在,则系统显示提示信息,用例被终止。4.读者维护

用例名称:读者维护参与者:图书管理员 ’ 4.1前置条件

在这个用例开始之前,图书管理员必须登录到系统;否则,系统的状态不发生变化。4.2后置条件

如果这个用例成功地实现,则系统添加、修改或检索读者信息;否则,系统的状态不发生变化。

4.3基本事件流

当图书管理员维护读者信息时,用例被启动。①登录系统。

②如果选择的活动是“添加读者信息”,则执行分支事件流4.3.1:添加读者信息。③如果选择的活动是“修改读者信息”,则执行分支事件流4.3.2:修改读者信息。④如果选择的活动是“检索读者信息”,则执行分支事件流4.3.3:检索读者信息。4.3.1分支事件流

①提供读者的信息,例如,读者ID,读者姓名、电话号码等。②系统存储读者信息。4.3.2分支事件流 ①输入读者ID。

②查询并显示读者信息。③更新系统中读者信息。4.3.3分支事件流 ①输入读者ID。

②查询并显示读者信息。4.4异常事件流

①如果读者已经存在,则系统显示提示信息,用例被终止。②如果查询不到读者,则系统显示提示信息,用例被终止。5.图书维护

用例名称:图书维护 参与者:图书管理员 5.1前置条件

在这个用例开始之前,图书管理员必须登录到系统;否则,系统的状态不发生变化。5.2后置条件

如果这个用例成功实现,则系统添加、修改或检索图书信息;否则,系统的状态不发生变化。

5.3基本事件流

当图书管理员维护图书信息时,用例被启动。①登录系统。

②如果选择的活动是“添加图书信息”,则执行分支事件流5.3.1:添加图书信息。③如果选择的活动是“修改图书信息”,则执行分支事件流5.3.2:修改图书信息。④如果选择的活动是“检索图书信息”,则执行分支事件流5.3.3:检索图书信息。5.3.1分支事件流

①提供图书的信息,例如,图书ID,图书名称、编著者、出版社、价格、出版年份筹 ②系统存储图书信息。5.3.2分支事件流 ①输人图书ID。

②查询并显示图书信息。⑨更新系统中图书信息。5.3.3分支事件流 ①输入图书ID。

②查询并显示图书信息。5.4异常事件流

①如果该图书已经存在,则系统显示提示信息,用例被终止。②如果查询不到该图书,则系统显示提示信息,用例被终止

系统总体功能结构

 根据用例图定义分析包以及分析包(子系统)之间的关系

图书管理系统分析包详细结构

 定义类、用例实现(序列图)、类关系图(1)系统登录

类图:

系统登录分析类图

用例实现:

登录系统成功顺序图

登录系统失败顺序图

(2)登录图书信息

类图:

登录图书信息分析类图

用例实现:

登录图书信息顺序图

(3)修改图书信息

类图:

修改图书信息分析类图

用例实现:

修改图书信息顺序图

(4)检索图书信息

类图:

检索图书信息分析类图

用例实现:

检索图书信息顺序图

(5)借阅图书 类图:

借阅图书分析类图

用例实现:

借阅图书顺序图

(6)归还图书

类图:

归还图书分析类图

用例实现:

归还图书顺序图

(7)借出图书一览表

类图:

借出图书一览表分析类图

用例实现:

借出图书一览表顺序图

(8)类关系

系统实体类(业务类)之间的关系

(9)类的具体定义

1.图书表类

编号:A—l一0l

类名:图书表

职责:存放图书馆所能处理的所有图书的基本信息

属性:图书代号,图书名称,编著者,ISBN代码,出版社代码,出版年份,页数,价格,购入日期,过期日期,书架代码,备注

说明:该类存放所有图书类的公用信息,它是“图书借阅表”的父类。图书也有身份,可以通过不同的ISBN相区别。在图书管理系统中,图书也有相关的行为,图书因为使用期限等可以被销毁,所以图书表也是系统中的一个对象。

2.登录图书界面类

编号:A一1—02

类名:登录图书界面

职责:提供输入所有图书信息的界面

属性:图书代号,图书名称,编著者,ISBN代码,出版社代码,出版年份,页数,价格,购入日期,过期日期,书架代码,备注

说明:该类的所有属性是非持久性的,但它为用户保存永久性的图书属性提供了一个临时的输入接口。

3.登录图书信息控制类

编号:A—l—03

类名:登录图书信息控制类

职责:实现登录图书界面类与图书表类所提供信息的交互。

属性:图书代号,图书名称,编著者,ISBN代码,出版社代码,出版年份,页数,价 格,购人日期,过期日期,书架代码,备注

说明:该类的所有属性是非持久性的,但它为用户保存永久性的图书属性提供了一 个临时的输人接口。

4.出版社表类

编号:B—l—01

类名:出版社表

职责:存放图书表所使用的所有图书的出版单位

属性:出版社代码,出版社名称

说明:该类与出版社表之间存在着单向关联的关系

5.读者表类

编号:C一1一Ol

类名:读者表

职责:存放图书馆的所有读者的基本信息

属性:读者代码,读者名,联络电话

说明:该类类描述了物理借阅者的信息,代表了系统中存储的物理借阅者的信息,即物理借阅者在系统中的账户。同时,读者表又是图书借阅表的组成成分之一。

6.图书借阅表类

编号:D—l—01

类名:图书借阅表

职责:存放图书馆所能处理的所有图书的基本信息

属性:图书代号,读者代号,借书日期,还书日期,说明:该类描述了从图书馆借阅图书的借阅记录。一个该类的对象对应一个借阅者和一本图书。该类的对象的存在表示借阅者借阅了借阅记录中记录的物理图书。当图书被归还时,要删除借阅记录(对象)。

 形成系统分析规约(注意规约可能会有活动图、状态图等)

3.系统设计

设计模型的主要工作: 1).软件平台设计

软件平台是系统开发和运行的环境。图书管理系统的开发和运行环境如下:

· 操作系统——操作系统是计算机系统中最重要的系统软件。图书管理系统可以运行在Windows 95/98/2000/NT/Windows XP等桌面操作系统上。

· 支撑软件——支撑软件是协助人们开发和维护软件的工具和环境软件。数据库系统、集成开发环境等都属于支撑型软件,例如,Delphi、Oracle、Java等。图书管理系统使用的DBMS是Access 2003,数据库中间件是JDBC。

· CASE平台——采用CASE开发环境可保证系统开发质量,提高开发效率,保证文档的一致性。图书管理系统的分析、设计j实现和部署模型是在Rose 2003建模环境下创建的,清晰地表达了在不同的开发阶段的系统模型。2).结构设计

结构设计是把软件分解成为多个子系统,并确定出由各子系统及其接口构成的软件结构。子系统是对软件分解的一种中间形式,也是组织和描述软件的一种方法。由多个子系统构成系统软件,每一个子系统又包括多个用例设计、设计类和接口。结构设计具体要做的工作是将系统划分成相对独立、功能相对完整的子系统(包),将系统模型中的元素划分到不同的包中,说明在什么地方定义包,各个包之间的依赖性和主要通信机制。从而得到尽可能简单和清晰的结构,各部分之间的依赖尽可能的少,并尽量减少双向的依赖关系。3).详细设计与界面设计

详细设计是对软件结构中确定出的各个子系统内部的设计,需要分析和确定每一个子系统中的用例设计、设计类和接口。详细设计还要描述每个类的细节,并用动态模型描述类的实例在具体环境中的行为。

界面设计是对人和外部系统与系统之间交互界面的设计,包括输入界面、输出界面和输入/输出界面的设计。另外,界面设计还涉及到人机交互方式、人机交互流程、输入输出设备和媒体等内容。4).数据库设计

数据库是系统存储和管理数据的主要技术手段,数据库设计的任务是根据给定的系统应用需求和系统环境,设计出合理的数据库结构。数据库设计可分为概念设计、逻辑设计和物理设计3个阶段。用UML进行数据库设计的主要思想,是利用UML的扩展机制定义一些版型,用于表示与数据库相关的一些概念。Rose 2003提供了对数据库设计的支持,所设计的模型可以直接生成具体数据库中的表、触发器、存储过程等。

 系统结构设计

系统框架视图

· 用户界面包(User Interface Package)——用于描述整个用户界面使用的类,这些类提供的操作允许用户浏览系统中的数据,允许用户输入新数据。用户界面类基于Java AWT包设计,AWT包是Java语言中用于编写用户界面应用程序的一个标准库。用户界面包与业务模型包相互协作,调用业务模型包中类实例的方法对图书信息进行检索和插入操作。

。业务模型包(Business Model Package)——包含分析阶段主要的类(借阅图书类、归还图书类、图书类、读者类、出版社类)。在设计阶段将进一步细化这些类,从而完整地定义它们的操作,并为它们增加永久性存储支持。业务模型包与数据库包相互协作,访问数据库中的数据。· 数据库包(Database Package)——为业务模型包中的类提供数据存取服务,以便这些类能够实现数据的永久性存储功能。

。组件包(Utility Package)——包含一些可以被系统中其他包所使用的服务。

 界面设计

 详细设计

图书信息管理详细设计:

1.设计类图

“图书信息管理’’是一个用例,在“图书信息管理”用例所提取的3个概念类的基础上,可以确定该用例有3个设计类:登录图书信息(LoginBook)、修改图书信息(UpdateBook)、检索图书信息(SelectRook)。如图13.2所示为“图书信息管理”用例的设计类图。

“图书信息管理”用例设计类图

·

BpFrame类——属于用户界面包,定义系统检索与修改界面的框架。

·

BpSelectFrame类——属于用户界面包,继承BpFrame类,定义检索界面框架。

·

BpUpdateFrame类——属于用户界面包,继承BpSelectFrame类,定义系统修改界面框架。

·

SelectBook类——属于用户界面包,继承BpSelectFrame类,与DbChoice类相关联,显示图书信息检索界面。

·

LoginBook类——属于业务模型包,继承BpUpdateFrame类,与DbChoice类相关联,实现图书信息登录功能。

·

UpdateBook类——属于业务模型包,继承BpUpdateFrame类,与DbChoice类相关联,实现图书信息修改功能。

·

DbChoice类——属于组件包,定义了用于数据库操作的实例变量和实例方法。

2.顺序图

为实现用例的功能,每个用例要实现的功能要通过用例中各个类的对象的操作的相互协作完成,这就要在顺序图或协作图中反映各个对象之间的消息调用过程。如图13.3所示为添加的图书ID不重复的情况下“登录图书信息”用例的顺序图。

“登录图书信息”顺序图

3.属性和方法设计

用例设计中识别出了大量的设计类,接下来要详细地设计所识别出来的每一个设计类,即设计类的属性和方法。属性设计应该注意的问题是:一要补充属性分析时没有考虑到的属性,确定属性的全部内容,其中包括属性名、可视性、范围、类型、初始值;二要尽量采用系统采用的程序设计语言的语法规范描述属性。

方法设计包括数据结构设计、算法设计和流程设计。方法设计要注意的是:一要立足于所采用的程序设计语言;二所选用的程序设计语言应该能够提供丰富的数据结构;三要根据所实现的功能确定算法设计;四是可以用程序流程图或活动图来描述流程设计的结果。

如图所示为添加了属性和方法“图书信息管理”用例的设计类图。

添加属性和方法后的“图书信息管理”类图

LoginBook类的属性和方法设计如下:

·

sql属性——定义执行插人操作的SQL命令字符串。

·

chpublish_id属性——定义出版社ID。

·

LoginBook()方法——类的构造方法。①调用DbChoice类的对象实例,以实现加载JDBC驱动程序,创建数据库连接等功能;②提供添加图书信息界面。

·

cheekInsea()方法——①检查各输入项的输人格式是否正确;②检查图书ID是否重复。

·

makelnsertStmt()方法——定义执行插人操作的SQL命令字符串。

·

afterlnsert()方法——清空登录图书界面的各输入项。

SelectBook类的属性和方法设计如下:

·

sql属性——定义执行插入操作的SQL命令字符串。

·

chpublish_id属性——定义出版社ID。

·

SelectBook()方法——类的构造方法。①调用DbChoice类的对象实例,以实现加载JDBC驱动程序,创建数据库连接等功能;②提供检索图书界面。

·

checkSelect()方法——检查是否输入要检索的图书ID。

·

makeSelectStmt()方法——定义执行检索操作的SQL命令字符串。

·

setSelectedData()方法——显示检索图书的结果。

·

clear()方法——清空图书检索界面各检索项。

UpdateBook类的属性和方法设计如下:

·

sql属性——定义执行插入操作的SQL命令字符串。

·

chpublish_id属性——定义出版社ID。

·

UpdateBook()方法——类的构造方法。①调用DbChoice类的对象实例,以实现加载JDBC驱动程序,创建数据库连接等功能;②提供检索图书界面;③提供修改图书功能。

·

checkSelect()方法——检查是否输人要检索的图书ID。

·

makeSelectStmt()方法——定义执行检索操作的SQL命令字符串。

·

setSelectedData()方法——显示检索图书的结果。

·

clear()方法——清空图书修改界面各修改项。

·

checkUpdate()方法——检查各修改项的修改格式是否正确。

·

makeUpdateStmt()方法——定义执行修改操作的SQL命令字符串。

读者信息管理详细设计: 1.设计类图

“读者信息管理”是一个用例,在“读者信息管理”用例确定了3个概念类:添加读者信息、修改读者信息、检索读者信息。但是,该用例的功能相对比较简单。可以用1个设计类Borrow实现这3个概念类的功能。如图所示为“读者信息管理”用例的设计类图。

图13.5 “读者信息管理”用例设计类图

· Borow类——属于业务模型包,继承BpupdateFrame类,实现读者信息添加修改和检索功能。

2.顺序图

如图13.6所示为添加的读者ID不重复的情况下“添加读者信息”用例的顺序图。

“添加读者信息”顺序图

通过分析如图所示的顺序图,可以得到下图所示为“读者信息管理”用例的设计类图。

图优化后的“读者信息管理”用例设计类图

3.属性和方法设计

如下图所示为添加了属性和方法“读者信息管理”用例的设计类图。

添加属性和方法后的“读者信息管理”类图

Borrow类的属性和方法设计如下:

· sql属性——定义执行插入操作的SQL命令字符串。

· Borrow()方法——类的构造方法。①调用DbChoice类的对象实例,以实现加载JDBC驱动程序,创建数据库连接等功能;②提供添加、修改和检索读者信

息界面。

· checkSelect()方法——检查是否输入要检索的读者ID。

· makeSeleetStmt()方法——定义执行检索操作的SQL命令字符串。

· setSelectedData()方法——显示检索读者的结果。

· ehecklnsert()方法——检查是否可执行插入操作。

· makeInsertStmt()方法——定义执行插入操作的SQL命令字符串。

· afterlnsert()方法——清空各输入项。

· checkUpdate()方法——检查是否可执行修改操作。

· makeUpdateStmt()方法——定义执行修改操作的SQL命令字符串。

· checkData()方法——检查各输入项的输人格式是否正确。

· clear()方法——清空各文本框。

出版社信息管理详细设计: 1.设计类图

“出版社信息管理”是一个用例,可以用1个设计类Publish实现添加出版社信息、修改出版社信息、检索出版社信息3个概念类。如图13.9所示为“出版社信息管理”用例的设计类图。

图13.9 “出版社信息管理”用例设计类图

· Publish类——属于业务模型包,继承BpUpdateFrame类,实现出版社信息添加、修改和检索功能。

2.顺序图

如图13.10所示为添加的出版社ID不重复情况下“添加出版社信息”用例的顺序图。

图13.10 “添加出版社信息”顺序图

3.属性和方法设计

如图13.1l所示为添加了属性和方法“出版社信息管理”用例的设计类图。

图13.11 添加属性和方法后的“出版社信息管理”类图

Publish类的属性和方法设计如下:

· sql属性——定义执行插入操作的SQL命令字符串。

· Publish()方法——类的构造方法。①调用DbChoice类的对象实例,以实现加载JDBC驱动程序,创建数据库连接等功能;②提供添加、修改和检索出版社信息界面。

· checkSelect()方法——检查是否输入要检索的出版社ID。

· makeSelectStmt()方法——定义执行检索操作的SQL命令字符串。· setSelectedData()方法——显示检索出版社的结果。· checklnsert()方法——检查是否可执行插入操作。

· makeInsertStmt()方法——定义执行插入操作的SQL命令字符串。· afterInsert()方法——清空各输人项。

· checkUpdate()方法——检查是否可执行修改操作。

· makeUpdateStmt()方法——定义执行修改操作的SQL命令字符串。· checkData()方法——检查各输入项的输人格式是否正确。· clear()方法——清空各文本框。

图书借还信息管理详细设计: 1.设计类图

“图书借还信息管理”是一个用例,在“图书信息管理”用例所提取的4个概念类的基础上,可以确定该用例有4个设计类:借阅图书(BorrowBook)、归还图书(RetumBook)、借出图书一览表(BorrowBookList)和未按期归还图书一览表(OverdueList)。如图所示为“图书借还信息管理”用例的设计类图。

图“图书借还信息管理”用例设计类图

· BorrowBook类——属于业务模型包,继承BpUpdateFrame类,与DbChoice类相关联,实现图书借阅功能。

· ReturnBook类——属于业务模型包,继承BpUpdateFrame类,与DbChoice类相关联,实现图书归还功能。

· BorrowBookList类——属于业务模型包,继承BpSelectFrame类,与DbChoice类相关联,显示借出图书清单一览表。

· OverdueList类——属于业务模型包,继承BpSelectFrame类,与DbChoice类相关联,显示未按期归还图书与读者清单一览表。

2.顺序图

如图所示为读者ID与图书ID都存在情况下的“借阅图书”用例的顺序图。

“登录图书信息”顺序图

3.属性和方法设计

如图所示为添加了属性和方法“图书借还信息管理”用例的设计类图。

添加属性和方法后的“图书借还信息管理”类图

BorrowBook类的属性和方法设计如下:

· sql属性——定义执行插入操作的SQL命令字符串。

· BorrowBook()方法——类的构造方法。①调用DbChoice类的对象实例,以实现加载JDBC驱动程序,创建数据库连接等功能;②提供添加图书信息界面。· checklnsert()方法——①检查各输入项的输入格式是否正确;②检查借阅图书ID是否存在。

· makeInsertStmt()方法——定义执行插入操作的SQL命令字符串。

· afterInsert()方法——清空借阅图书界面的各输入项。

· checkSelect()方法——检查是否输入读者ID和图书ID。

· makeSelectStmt()方法——显示检索结果。

· checkDelete()方法——检查是否可执行删除操作。

· makeDeleteStmt()方法——定义执行删除操作的SQL命令字符串。

· afterDelete()方法——清空删除操作后的各输入项。

· clear()方法——清空所有的文本框。ReturnBook类的属性和方法设计如下:

· sql属性——定义执行插人操作的SQL命令字符串。

· RetumBook()方法——类的构造方法。①调用DbChoice类的对象实例,以实现加载JDBC驱动程序,创建数据库连接等功能;②提供图书归还界面。

· checkUpdate()方法——检查各修改项的修改格式是否正确。

· makeUpdateStmt()方法——定义执行修改操作的SQL命令字符串。· afterUpdate()方法——清空所有的文本框。BorrowBookList类的属性和方法设计如下:

· sql属性——定义执行插入操作的SQL命令字符串。

· BorrowBookList()方法——类的构造方法。①调用DbChoice类的对象实例,以实现加载JDBC驱动程序,创建数据库连接等功能;②提供实现“借出图书一览表”功能的界面。

· makeSelectStmt()方法——定义执行检索操作的SQL命令字符串。

· setSelectedData()方法——显示检索结果。OverdueList类的属性和方法设计如下:

· sql属性——定义执行插入操作的SQL命令字符串。

· xOverdueList()方法——类的构造方法。①调用DbChoice类的对象实例,以实现加载JDBC驱动程序,创建数据库连接等功能;②提供实现“未按期归还图书一览表”功能的界面。

· makeSelectStmt()方法——定义执行检索操作的SQL命令字符串。

· setSelectedData()方法——显示检索结果。

组件包设计:

组件包包含被所有其他包使用的通用组件,图书管理系统的组件包由Const、DbChoice、BpUtil三个类组成,这三个类定义了系统所有其他类所使用的公共常量与公共方法。另外,IconCanvas(加载系统界面所使用的图标)、MsgDialog(信息显示对话框)、SQLExceptionDialog(显示数据库异常信息对话框)3个类也为系统所有其他类所公共使用。在此与组件包中的类一起进行说明。1.Const类

Const类定义了系统所使用的公共名称等常量,其类图如图所示。

Const类的类图

2.BpUtil类

BpUtil类定义了系统使用的公共方法,其类图如图所示。

BpUtil类的类图

BpUtil类的方法设计如下:

· repeateString()方法——返回指定个数的字符串对象。

· varchar2text()方法——返回按照指定长度调整的字符串对象。

· setComp()方法——在组件上按照CridBagConstraints布局配置Panel。· checkWaming()方法——检查数据库连接操作是否出现异常。· isNumeric()方法——验证字符串能否转换为数值。

· getToday()方法——以YYYY/MM/DD的格式返回今日的日期。

· getToday()方法——返回以今日为基点的指定为YYYY/MM/DD格式的日期。· isYMD()方法——验证能否识别YYYY/MM/DD格式的字符串。· GB2312Unicode()方法——GB2312转换为Unicode。· UnicodeGB2312()方法——Unicode转换为GB2312。

· getRowCount()方法——求数据表中满足条件的记录数。

· convYMD()方法——Java.util.Date类型数据转换为YYYY/MM/DD格式。

3.DbChoice类

DbChoice类定义了用于数据库操作的实例变量与实例方法,其类图如图所 示。

DbChoice类的类图

DbChoice类的属性和方法设计如下:

· con属性——定义用于数据库连接的实例变量。· query属性——定义用于SELECT语句的实例变量。· displayCol属性——定义用于检索结果的列数。

· valueCol属性——定义方法getSelectedVal()返回值的列数。

· vItem属性——定义用于保存方法getSelectedVal()返回值的Vector · DbChoice()方法——构造方法,用于初始化实例变量。· setQueryData()方法——执行检索操作。· getSelectedVal()方法——返回检索结果。· setValueCol()方法——设置列的值。· getValueCol()方法——返回列的值。

· setDisplayCol()方法——设置显示列的值。· getDisplayCol()方法——返回显示列的值。

· setDisplayhem()方法——设置显示项的列的值。4.IconCanvas类

IconCanvas类用于完成加载系统界面所使用图标的功能,其类图如图所示。

IconCanvas类的类图

IconCanvas类的方法设计如下:

· IconCanvas()方法——构造方法,用于完成加载图像文件的功能。· paint()方法——用于完成显示图像文件的功能。5.MsgDialog类

MsgDialog类用于完成显示系统界面所使用的信息对话框功能,其类图如图13.19所 示。

MsgDialog类的类图

MsgDialog类的属性和方法设计如下:

· MsgDialog()方法——构造方法,用于生成信息显示区域,定义信息对话框的标题、布局管理器等功能。

· actionPerformed()方法——用于处理发生的事件。

6.SQLExceptionDialog类

当发生数据库异常时,SQLExceptionDialog类定义了用于显示数据库异常信息对话框,其类图如图所示。

SQLExceptionDialog类的类图

SQLExceptionDialog类的属性和方法设计如下:

· SQLExceptionDialog()方法——构造方法,用于定义发生的SQL异常。· actionPerformed()方法——用于处理发生的事件。· setMessage()、方法——用于显示发生的异常信息。系统管理详细设计:

统管理由Bookplate和LoginDialog两个类组成,Bookplate类用于显示系统主功能界面,LoginDialog类用于显示用户登录对话框界面。Bookplate类与LoginDialog类之间有单向关联关系,即Bookplate类中定义的实例变量dialog可以调用LoginDialog类的构造函数,以实现系统登录界面的显示,描述两者之间关系的类图如图所示。

“系统管理”用例设计类图

Bookplate类的方法设计如下:

· main()方法——系统执行的入口点,用于显示系统主功能界面。

· Bookplate()——构造方法,用于设置系统框架(Frame)、标题、菜单、按钮布局、标签等系统组件。

· aetionPerformed()——当用鼠标左键点击各功能按钮时,分别调用各个子功能系统,同时实现生成、显示和隐藏对应的框架的功能。LoginDialog类的方法设计如下:

· LoginDialog()方法——构造方法,用于设置用户登录对话框界面的标题、显示信息区域、设置标签和文本域、生成按钮等功能。

· actionPerformed()——当用鼠标左键点击功能按钮时,处理所触发的事件。· getStatus()——返回按钮的状态值。· getUserID()——返回用户ID。· getPassword()——返回用户口令。

 数据库设计(表略)

篇3:uml图书管理系统需求分析与设计

随着信息技术的发展,软件复杂性的增长使确保程序的正确性变得越来越困难,同时业务的发展要求软件系统能够迅速改变。面向对象的分析与设计(OOAD)已经成为主流的软件开发方法,它是一种更易理解、使软件开发和维护变得更简单的方法,能够显著缩短系统分析和开发的时间,开发出有弹性的软件系统,以适应信息和功能的变化[2]。为了更好地理解即将开发的系统和更好地解决复杂的问题,面向对象的分析与设计采用面向对象的建模技术对系统构建业务模型。统一建模语言(UML,UnifieModeling Language)是面向对象技术的标准建模语言,对面向对象的系统进行可视化、规格说明、构建和文档化,它是一种富有表达力的语言,可以描述开发所需要的各种视图,然后以此为基础装配系统,广泛应用于信息系统、技术系统、嵌入式系统、分布式系统、业务系统、系统软件。

鉴于以上分析,该文根据OPAC系统开发的特点,首先阐述了引用瀑布方法学中的系统原型开发样式进行开发我馆的OPAC系统的缘由,接着着重报告UML建模技术在需求、分析与设计阶段的使用情况,并分析UML建模技术在系统开发中所发挥的作用。

1 OPAC系统业务需求

1) OPAC系统业务陈述

依据国外评价数字图书馆的五个方面:界面的可用性、馆藏资源的质量、服务质量、系统的效率、诱发用户反馈;以及南京大学评价数据库的五个层次:收录范围、检索功能、服务功能、收费情况、网络安全[3],结合我馆实际情况,制定OPAC系统的五个评价指标:检索功能、服务功能、界面设计、用户体验、系统网络安全。OPAC

OPAC系统的主要功能有检索功能、服务功能,主要是围绕用户如何方便快捷地检索文献信息、馆藏信息、流通信息展开的。因此,系统要以用户为中心,从用户的角度设计检索功能的主界面和服务功能,依据检索功能的两个评价指标“查准率”、“查全率”,相应地开发检索功能模块。检索主界面不仅要展现文献信息,还要展现流通信息,并提供根据“文献在馆数”自动隐藏或显示“预约”功能;服务功能聚集于“我的图书馆”模块,该模块聚集有关用户个人事务的功能,提供个人信息管理、违章信息查询、借还书信息查询、预约信息查询、荐购信息查询、挂失等功能;根据我馆使用校园卡作为借书证,“个人信息管理”模块提供读者“网上上传头像”功能。扩展的服务功能包括“读者参考咨询”、“读者荐购”,它们更好地提高系统的可用性,增强与读者的互动。“读者参考咨询”模块,提供留言与即时通讯两种交流方式。“读者荐购”模块,使图书馆和用户进行双向的书籍荐购,读者既能对图书馆发布的书目清单投票也可以提交自己推荐的书籍,并能跟踪荐购过程的一系列状态。购书是图书馆一项重要的日常工作,“读者荐购”模块能够提高书籍的可用性和读者的满意度。随着图书馆服务的延伸,服务功能还可扩展“书评”、“读书笔记”等功能。

2) 业务模型

根据OPAC系统的业务陈述,与我馆工作人员一起把业务陈述扩展为业参与者列表(带有描述)、业务用例列表(带有描述)、业务用例详细规格。

2 OPAC系统开发过程

在信息系统领域,由于用户需求的不确定性,如果开发团队在系统实施的前期不能有效地与用户明确需求,就会导致《需求规格说明书》不能正确地描述用户的需求。《需求规格说明书》是后续设计、开发、测试工作的重要依据,不正确、不明确的需求定义会使开发出来的系统出现偏差,从而引起了较大的返工,甚至导致项目失败。而原型开发正是解决上述问题的一种有效方法,已在许多应用中被证明。系统原型体现系统主要的功能、展现基本的界面风格和明确模糊的需求。它的主要价值在于可视化,强化沟通,降低风险,节省后期变更成本,提高项目成功率[4]。同时,系统原型有效地用于开发人员较少的中小项目的快速开发,因此本文将系统原型法引入OPAC系统的开发过程中,在系统开发的早期阶段,使用HTML创建一个系统原型,作为与用户交互的一个有效工具,与用户确认系统需求。系统原型也作为系统分析和设计的接口,方便开发团队的沟通。系统需求明确以后,着重采用UML技术进行系统分析和设计。OPAC系统的开发过程按照瀑布方法学经历了以下阶段:

1)需求分析。需求阶段要解答“要达到什么目的?”,通过系统原型与用户明确系统需求,并编制《需求规格说明书》以明确地定义系统需求。对于系统需求的功能性需求部分,通过UML用例建模,确定系统执行的一系列功能、与系统交互的参与者和二者之间的关系

2) 系统分析。分析阶段要解答“要解决问题必须完成哪些工作”,通过类建模确定用例的实体类及其属性以及实体类之间的关系,通过活动建模分析用例的事件流,通过交互建模分析用例对象的交互,通过状态建模分析用例对象状态的动态变化。

3) 系统设计。设计阶段要解答“应该使用哪些技术?应该如何解决问题”,通过架构设计把分析活动的结果扩展成技术解决方案,通过用例包设计、类包设计、构件设计、部署设计详细考虑系统实现的细节问题,完成业务模型到技术模型的映射。

4)编码。基于Struts/Hibernate/Spring框架、MVC设计模式、三层架构,在Eclipse开发平台下采用“视图à控制器Actionà业务逻辑模型à数据访问模型”的开发顺序实现OPAC系统。

5) 测试。

6) 部署。

3 基于UML的OPAC系统分析

3.1构建系统用例图

系统的需求是借助不同的用例描述的。用例为事务序列,其中的每个事务是从系统外部参与者调用的,且需要与内部对象合作,以便在对象和系统参与者之间创建关联。系统的参与者主要有任意用户、办证用户、参考咨询员、系统管理人员、图书馆自动化集成管理系统采购子系统。任意用户指的是不用账户登录OPAC系统的用户,可以检索馆藏书刊、浏览新书、创建账户;办证用户登录账户后,可以向参考咨询员咨询问题,登录“我的图书馆”查询个人事务,购书推荐;参考咨询员回复办证用户的提问、管理回帖和发帖;系统管理人员管理办证用户、参考咨询员账户,发布书商的书目清单以便读者荐购、审核读者自行荐购的书目清单,导入书目清单到图书馆自动化集成管理系统采购子系统等。办证用户、参考咨询员、系统管理人员都是系统的注册用户,可以维护自己的账户。通过上述分析,确定OPAC系统的参与者和用例,编制系统用例表(表1)。然后,通过用例建模构建系统用例图(图1),图1中采购子系统是图书馆自动化集成管理系统的一个子系统。系统用例表和用例图直观地展现OPAC系统的功能和参与者

构建系统用例图后,对每个用例进行详细规格说明。表2给出核心用例“书刊检索”的详细规格说明。然后,对每个用例进一步构建子用例,再对子用例进行描述和详细规格说明。

3.2 用例的事件流分析

分析表2中“书刊检索”用例主要的和附加的事件流后,找出活动及活动的时间次序,明确活动的执行步骤,通过活动建模画出活动图(图2)。活动图还没有将事件赋予对象。

3.3 系统内部对象的分析

在用例建模的同时,寻找实体类。通过参照OPAC系统业务陈述(2.0)、系统用例表(表1)和“书刊检索”用例的详细规格说明(表2),识别“书刊检索”用例的候选类,再经历一个迭代的过程,把候选类确定为实体类:Book(书目)、Search Book Item(书目检索项)。之后,考虑实体类的主要属性,即原始类型的属性。然后,依次对系统用例图(图1)中各个用例确定好实体类后,分析类的关联、聚合、组合和泛化等关系,以及关联的多重性,通过类建模绘制类图(图3)。类图是系统的静态结构,是面向对象系统的心脏和灵魂[5]。

3.4 对象交互的分析

用例对象之间的交互提供了对象操作及事件的详细规格说明。为了捕获用例的对象之间的交互,交互建模为每个用例构建一个独立的序列图。由于采用BCE方法建模很好地对应MVC设计模式,因此构造序列图基于BCE方法。BCE(边界—控制—实体是一种基于类的三因素对象建模方法。首先,将参与“书刊检索”用例的类划分为边界、控制和实体三种类型,然后参照“书刊检索”用例的活动图(图2),构造了序列图(图4)。

3.5 对象状态的分析

状态建模给出了类的详细的描述,描述了类的状态的动态变化。对每个对象状态,它决定这个对象在接收到一个事件时将采取什么行为。图5给出“读者荐购”模块中的对象Purchasing Info(采购信息)的状态变化过程。图中,状态建模的过程按“事件[监控条件]/动作”的方式进行。

4 基于UML的OPAC系统设计

4.1 架构设计

4.1.1体系结构

体系的基本结构采用B/S结构,扩展结构采用三层体系结构。从性能、开发效率、支持平台等角度综合考虑,开发平台采用J2EE技术[6]。开发系统时,按照三层体系结构组织包、类、JSP页面。三层体系结构图(图6),图中第二层J2EE服务器隐式地包含了中间层“WEB服务器”。Tomcat配置简单,运行稳定、性能可靠,适合作为JSP/Servlet引擎及WEB服务器。第三层的数据源为图书馆自动化集成管理系统使用的数据库。

4.1.2 复用策略

1)构架复用

构架复用了JAVA开源框架SSH,它集成了Struts、Spring、Hibernate框架。Struts是MVC设计模式的一个优秀实现。Hibernate是一个基于JDBC的持久化解决方案,是一个优秀的“对象—关系映射”框架。Spring是“依赖注入”模式和“面向方向编程”原理的优秀实现,使面向接口的编程容易实现[7]。

2)设计模式复用

设计模式复用了MVC,它将模型(业务逻辑)和视图(页面展示)分离,使模型和视图可以独立修改,而不会影响到对方。

4.1.3 数据库编程

1)应用—数据库交互

OPAC系统的编程涉及到用户界面、表现逻辑、应用功能、完整性逻辑、数据存取。应用功能是OPAC系统的主要逻辑部分,是将客户端(用户界面、表现逻辑)和数据库(完整性逻辑、数据存取)粘合在一起的粘合剂。该文采用J2EE中间件JDBC,实现应用功能访问数据库。应用功能在系统的开发阶段,作为SQL操作在前台编程,但在系统的最后部署阶段时作为存储过程移植到数据库中。OPAC系统不采用分布式数据库。

2)应用—数据库交互过程建模

采用BCE方法建模很好地对应MVC设计模式,采用BEC的扩展方法BCED,则很好地对应三层体系结构,因此系统应用—数据库交互的建模基于BCED方法,即边界—控制—实体—数据库方法,对应的层次模型为边界包←→控制包←→实体包←→数据库包。实体包作为数据暂存区,存放并缓存数据。数据库包除了提供两个基本服务,即从数据库中取数据存放到实体包和从实体包取数据存放到数据库,还提供了数据库连接、CRUD、处理用户权限、抽取和存储数据库对象的元数据信息等服务。数据库结构、应用与数据库交互协议的改变只影响到数据库包,而不影响到实体包中数据的存储。控制包有效地转发实体包的数据到边界包。

4.1.4网络及系统安全

系统的网络环境基于校园网,因此系统的WEB服务器构建于校园网,而为了系统数据的安全,数据库服务器则构建于从校园网虚拟出的一个内部局域网

系统安全方面,从系统安全机制、数据完整性、程序鲁棒性、用户教育等层次保障。其中的系统安全机制,利用了J2EE为分布式系统提供的安全体系结构和安全机制,主要采用身份认证访问存取控制、加密、信任机制等手段[8]。

4.2用例包设计

用例包展现系统功能模块的详细规格,因此使用用例包结构化系统的功能。用例包图(图7)扩展系统用例图(图1)中没有包含的一些隐式的系统级用例,从而更好地反映OPAC系统的功能模块,也更好地理解和管理OPAC系统,也体现系统以用户为中心进行设计。

4.3 类包设计

类包设计确定BCED层次。根据系统内部对象的分析(3.3)以及对象交互的分析(4.4),设计“书刊检索”用例的类包。视图上,要有一组WEB页面提供“书刊检索”,可以把这组GUI对象创建为一个边界类包,命名为search Catalog GUI;把实体类Search Book-Item(书目检索项)、Book(书目)组合成一个实体包,命名为book Entity;在用户提交“书刊检索”的请求后,需要一组控制类来接收用户的请求,粘合视图与实体类,并调用业务逻辑处理程序,返回数据。这组控制类组成控制包,命名为get Catalog Servlet,业务逻辑处理程序组成业务逻辑包,命名为get Catalog Biz,显示数据的页面命名为list Catalog.jsp,归入边界类包。业务逻辑处理程序访问数据库时涉及到数据库包—CRUD包,CRUD包介于实体类和数据库表之间,它依赖于两个数据库包—Connection、Schema。Connection包中的类负责处理连接、授权和事物处理。Schema包包含关于数据库对象的当前信息:表、列、存储过程等。“书刊检索”用例的类包图见图8。

4.4 构件设计

构件设计确定系统的功能单元。通过对类包设计的分析,以系统用户对页面通常的存取序列为线索,“书刊检索”用例的类包(图8)包含的构件有:search Catalog.jsp、list Catalog.jsp(页面)→Search Catalog Action.java(Struts)→Search Book Item.java、Book.java(实体类)→Search Catalog Biz.java(业务逻辑)→Search Catalog Dao.java(数据访问)→Base Jdbc Dao.java(连接数据库)→Database(数据库)。

4.5部署设计

对应OPAC系统的体系结构,系统的WEB应用的部署结构包含三层计算结点:带浏览器的客户端、WEB服务器、数据库服务器。

5 结果分析

开发团队按表3所示的开发进程和步骤开发OPAC系统,如期完成系统的开发。OPAC系统成功部署在我馆服务器,并稳定地运行。

从项目各阶段结果来看,在开发的每个阶段提供了模型和文档说明,使得本项目负责人、开发人员、我馆各部门之间有更好的交流,对系统的工作流、活动、任务和相互关联更容易理解,因此,等待时间减少了,发生误解的情况也较少,能够及时地完成各阶段的预期目标,使得开发本系统更有序,更有质量,使得本系统的开发取得了良好的效果。

6 结束语

本文以我馆开发OPAC系统为背景,在对OPAC系统进行业务需求分析后,为了降低开发OPAC系统失败的风险和避免开发周期长、成本高,提出了一种基于系统原型法的UML软件系统分析和设计方法;通过用例建模、类建模、活动建模、交互建模和状态建模分析了系统的静态结构和动态行为,通过架构设计、用例包设计、类包设计、构件设计、部署设计最终得出一个具体有效的解决方案。项目结果分析和成功实施,表明采用基于系统原型的UML建模技术分析和设计系统的方法,是开发图书馆OPAC系统的一个有效的解决方案。

摘要:为了高效地开发图书馆OPAC系统,将UML建模技术应用于OPAC系统的分析和设计中。首先提出了基于系统原型的UML系统分析和设计方法,其次通过用例建模、类建模、活动建模、交互建模和状态建模分析了系统的静态结构和动态行为,最后通过架构设计、用例包设计、类包设计、构件设计、部署设计设计了系统的技术解决方案并完成了业务模型到技术模型的映射。项目结果分析和成功实施表明提出的系统分析和设计方法是开发图书馆OPAC系统的一个有效的解决方案。

篇4:图书管理系统的需求分析与设计

关键词:图书管理 管理信息系统 数据库技术

一、应用需求分析

一个先进的图书管理系统应当了解并满足使用者的需求。对图书馆工作人员而言,不仅需要根据图书编号、借阅者编号查询借阅以及归还情况,还要能够对借阅者的借阅及归还请求进行操作,将操作结果形成报表让借阅者进行检查。而普通用户则是需要能够方便地了解图书馆的馆藏情况。图书借阅者不仅需要知道自己的借阅情况,并且需要对自己的相关个人信息进行管理。

根据图书管理人员对图书管理系统的相关需求,对其登录模块应谨慎设计,以求功能完备。图书馆工作人员可以对馆藏书籍数据进行查询、浏览、修改等,不过对于借出的未在馆内的书籍不能够进行修改。对借阅者的信息维护,工作人员可以对其个人信息中的借书、还书记录进行修改,并且需形成相应报表呈现给借阅者。对已借阅出书籍的信息维护中,一旦进行图书借阅信息删除操作,应当能够对其借阅者的借阅记录进行关联删除,以保证图书借阅数据的准确完备。

对普通人员只设有基本权限,即可对馆藏信息进行查询,并可通过多种标签对图书信息进行查询。此查询功能还应支持模糊查询,即可通过某关键字对图书信息进行查询。

对图书借阅者,在对个人信息进行查询维护时需要登录其账户,而在进行基本的对馆藏图书信息进行查询功能时则不需要。

二、系统设计

1.系统功能模块设计

系统共分为三个模块,即工作人员系统管理模块、图书信息查询模块、借阅者个人信息维护模块。

(1)工作人员系统管理模块的主要功能有管理借书、还书;对借阅者信息记录的维护;修改馆藏书籍数据;对书籍借阅情况进行查询。

(2)图书信息查询是指普通人员可通过书籍名称、出版社、作者等关键字对书籍信息进行查询。

(3)借阅者个人信息维护指借阅者可通过账号密码登录其个人界面,对个人的借阅情况进行查询,对密码进行修改,对院系、班级、联系方式等个人信息进行提出修改操作,由图书馆工作人员核对确认后修改成功。

2.用户类型

此系统的用户类型分为图书馆工作人员、借阅者及普通用户。

图书馆工作人员可以凭借账号、密码登录进入系统从而实现对整个图书管理系统的管理操作,对借阅者个人信息的确认修改,以实现对图书馆信息的维护管理。

普通用户可在本系统检索书籍名称、作者以及出版社等关键字实现对书籍信息的查询。

借阅者可以凭借个人账号密码进入个人信息管理界面,实现对个人借阅情况的查询,并实现对个人基本信息的申请修改。

三、系统数据库设计

1.概念设计

此过程中,设计者通过分析用户的数据处理要求和约束,形成具有用户特色的概念模式,并将之进一步转换为逻辑模式。将概念设计分立出来,使得设计的难度得到了显著下降,可实现度大大提升,各阶段的任务相对独立,摆脱了DBMS的设计桎梏。

通过使用ER方法,首先进行局部ER模式的设计,其次将之联合为一个全局的ER模式,再将其进行升级优化,从而实现对数据库的概念约束

(1)局部ER模式的设计,包括书籍、借阅者、图书状态。书籍包括书籍编号、入库时间、书籍名称、作者、出版日期、出版社、馆藏数目、价格;借阅者包括借阅者学号、姓名、性别、出生日期、民族、系别、专业、年级、联系方式;图书状态包括图书状态编号、借阅日期、借阅截止日期、借阅人信息。

实体之间的联系通过ER模型的联系来进行呈现。一种方式是通过分析需求,研究局部结构中任意两个实体类型之间是否存在联系。如果存在,则对其进行更深层次的确认。此外,还要对多个实体类型之间、两个实体类型之间、实体类型内部进行深入的研究分析,确认联系是否存在。

(2)全局ER模式的设计。通过对设计好的局部ER模式进行统一综合,形成一个相对完备合理的全局概念模式

第一,确定公共实体类型。把同名实体类型与相同键的实体类型分别作为公共实体类型的两类候选,来确认各局部结构的公共实体结构,给局部ER模式向全局ER模式的合并提供先决条件。

第二,局部ER模式的合并。合并时应遵循两两结合,先将实际中相关的局部结构合并,从公共实体类型到独立的局部结构。

第三,消除冲突。消除冲突是从本质上将若干局部模型进行合并,从而建立统一的和谐的全局模式,而不单单只是表面上的合并。

第四,全局ER模式的优化。此外,还应按照处理需求对模式进行升级优化,以达到提高数据库系统效率的目的。

2.关系数据库的逻辑设计

该设计过程是把ER图转换关系模式,这是因为概念设计的结果是ER图,而DBMS一般采用关系型。在逻辑设计过程中应当将关系数据库规范化理论合理运用,以发挥关系模型所具有的优势,将设计过程形式化。将用户所用数据记述为子模式。在指出子模式之外,再对子模式与概念模式相应数据对应联系做分析记录。

3.数据库的研究

本次开发的数据库由四部分组成。借阅者的信息存储在图书借阅者信息数据表中;工作人员账号及密码数据存储在工作人员信息数据表中;借阅图书的信息存储在图书借阅信息数据表中;所有图书的信息存储在所有入库图书数据表中。

(1)图书借阅者信息数据表。借阅者的信息存储在图书借阅者信息数据表中。由借阅者的学号、姓名、性别、出生年月、民族、系别、专业、联系方式、年级及登录密码数据10个字段组成。

(2)工作人员信息数据表。工作人员账号及密码数据存储在工作人员信息数据表中,由编号、用户名和密码3个字段组成。

(3)图书借阅信息数据表。图书借阅的信息存储在图书借阅信息数据表中。由书籍编号、借阅者姓名、学号、借阅数量、借阅时间、应该归还时间、实际归还时间、归还标志位8个字段组成。

(4)所有入库图书数据表。所有图书的信息存储在所有入库图书数据表中。由书籍编号名称、作者、价格、馆藏数目、图书状态、入库时间、馆藏地点8个字段组成。

四、小结

本文对图书管理系统设计时所需应用的服务器端脚本编辑开发工具、图书管理系统所需的功能模块及技术、相应数据库的特点及应用做了详细的分析与论述,为系统的实现过程、所实现的功能,以及每个功能模块中的具体功能做了铺垫。

参考文献:

[1]张正玺.数据库及其应用[M].北京:国防工业出版社, 2006.

[2]吴曙光,刘卫国.基于ASP.NET的图书管理系统设计与实现[J].湖南冶金职业技术学院学报,2006(3).

[3]冯建华,周立柱.数据库系统设计与原理[M].北京:清华大学出版社,2004.

篇5:uml图书管理系统需求分析与设计

一、图书馆管理系统可行性分析

随着政府机关与广大企事业单位内部网络的广泛建立,在通用信息平台上构筑高效实用的协同工作和自动化办公应用系统,满足信息高度共享和即时发布的需求,有效实现内部知识管理,已成为众多用户的共同需求。

该图书管理系统,为图书馆管理提供了一个较好的解决方案。在开发过程中,按照软件工程的步骤,从设计到开发采用了面向对象的思想和技术,采用了SQL SERVER 2000数据库,使得本系统可以方便的和其他子系统进行数据交换。同时,注意从软件的图形应用界面上优化软件质量,使得本系统具有很强的可操作性。

二、需求分析

需求分析的目的是深入描述软件功能和性能,确定软件设计的约束和软件同其他系统元素的接口细节,定义软件的其他有效性需求。2.

1、客户需求分析

①能够对图书进行注册登记,也就是将图书的基本信息(如:书的编号、书名、作者、价格等)预先存入数据库中,供以后检索。

②能够对借阅人进行注册登记,包括记录借阅人的姓名、编号、班级、年龄、性别、地址、电话等信息。

③提供方便的查询方法。如:以书名、作者、出版社、出版时间(确切的时间、时间段、某一时间之前、某一时间之后)等信息进行图书检索,并能反映出图书的借阅情况;以借阅人编号对借阅人信息进行检索;以出版社名称查询出版社联系方式信息。

④提供旧书注销功能,对于淘汰、损坏、丢失的书目可及时对数据库进行修改。

⑤能够对使用该管理系统的用户进行管理,按照不同的工作职能提供不同的功能授权。⑥对所借图书情况进行登记,包括借阅时间、借阅人等 ⑦对超出借阅时间、损坏或丢失图书的读者进行相应处理 ⑧读者可以查询自己的信息 ⑨借书、还书、续借书

2.2 定义系统的边界和范围 该系统的边界为学校的图书馆

该系统的范围可包括“读者管理子系统”、“书籍管理子系统”、“借阅管理子系统”、“系统管理子系统” 2.3确定执行者

根据前面介绍的客户需求分析可以看出。“图书馆管理系统”有三个执行者,即“读者”、“图书管理员”、“系统管理员”

1)2)读者:查询个人信息、查询图书信息、借阅图书、返还图书、续借图书、接受相应处理

图书管理员:借书处理、还书处理、新旧书登记处理、办理相应处理手续

3)系统管理员:系统维护工作——学生信息管理、图书信息管理、系统状态维护 2.4确定用例

(1)“图书馆管理系统”中的用例

在第一层,根据客户对“图书馆管理系统”的整体业务功能要求,可选的用例有:

·基本业务功能管理

·基本数据修改 ·信息查询

·数据库管理

(2)“基本业务功能子系统”中的用例

在第二层,客户对“基本业务功能子系统”的整体业务功能要求,可选的用例有: ·借阅管理 ·借书

·续借书 ·还书

(3)“基本数据修改功能子系统”中的用例

在第二层,客户对“基本数据修改功能子系统”的整体业务功能要求,可选的用例有: ·读者信息管理 ·读者信息录入 ·读者信息修改 ·读者信息注销 ·书籍信息管理 ·书籍信息录入 ·书籍信息修改

·书籍信息注销(4)“信息查询子系统”中的用例

在第二层,客户对“信息查询子系统”的整体业务功能要求,可选的用例有: ·图书信息查询 ·读者信息查询

(5)“数据库管理子系统”中的用例

在第二层,客户对“数据库管理子系统”的整体业务功能要求,可选的用例有: ·借阅管理 2.5分层绘制用例图

根据系统需求分析中客户对系统的功能要求,我们一确定了系统和子系统的边界、执行者和用例,现在就可以绘制用例图了。

1. 最高层用例图

根据客户对“图书馆管理系统”的整体业务功能要求,可以绘制如图1-1所示的最高层用例图 2. 第2层用例图

在第2层用例图中包括四个用例图:基本业务功能子系统、基本数据修改功能子系统、信息查询子系统、数据库管理子系统。如下图所示:

System<>借书<>续借书图书管理员借阅管理<><>还书超期罚款<>系统管理员丢失罚款图1-2 基本业务功能子系统System图书信息管查询图书管理员读者信息查询读者图1-4 信息查询子系统 读者

System读者信息销毁<><>读者信息录入读者信息管理<>读者信息修改系统管理员书籍信息管理<>书籍信息录入<><>书籍信息修改图书管理员书籍信息销毁图1-3 基本数据修改功能子系统

System借阅管理系统管理员图1-5 数据库管理子系统

2.6 描述用例

1.“借书”用例

用例编号:0102(共有两层用例图,每层用2位数字表示,采用4位编号)用例名:借书

执行者:直接执行者:图书管理员,涉及到的执行者有:读者、系统管理员 目的:借阅图书

过程描述:

(1)图书管理员登陆基本数据修改功能子系统,点击“借阅管理”中的“借阅”(2)输入图书证编号

若输入不正确,则提示“您输入的借阅证号码有误,请重新输入!”;输入正确后,显示读者已借阅图书信息,提示超期未归还的图书;(3)输入图书编号

若读者已借满,提示“您已借满,请先归还部分图书再来借,谢谢!”;若读者可以正常 4 借阅,提示“您确定要借阅这本书吗?”

(4)确定借阅图书,则借阅证号增加一条借阅信息记录;读者选择 “放弃”,回到步骤(3)重新选择图书;

(5)读者成功借阅图书,系统管理员保存借阅记录并修改库存图书数量、读者借出数量。

(6)借阅完成,点击“退出”,退出系统。2.“还书”用例 用例编号:0103 用例名:还书

执行者:直接执行者:图书管理员,涉及到的执行者有:读者、系统管理员 目的:归还图书 过程描述:

(1)图书管理员登陆基本数据修改功能子系统,点击“借阅管理”中的“还书”;(2)输入图书证编号

若输入不正确,则提示“您输入的借阅证号码有误,请重新输入!”;输入正确后,显示读者已借阅图书信息,提示超期未归还的图书,有超期未还的图书,调用“超期罚款”;若读者说自己丢失图书,调用“丢失罚款”

(3)输入要还的图书编号; 若输入错误,提示“您未借阅该图书!” 若输入正确,提示“您确定要归还这本书吗?”(4)读者选择“确定”,读者借阅的图书信息记录消失;读者选择 “放弃”,返回到步骤(3)

(5)完成还书,点击“退出”,退出系统;

(6)读者成功归还图书,系统管理员删除借阅记录,并修改数据库管理子系统的图书数量和读者借出数量。

3.“读者信息录入”用例

用例编号:0302 用例名:读者信息录入

执行者:直接执行者:系统管理员,间接执行者:读者 目的:录入新读者相关信息,包括姓名、身份、学院 过程描述:

(1)系统管理员登陆基本数据修改功能子系统,点击“读者信息录入”(2)写入读者相应信息,将读者信息保存至数据库

(3)发放图书证

(4)创建完成,读者信息录入成功,在数据库管理子系统增加图书信息,退出系统

4.“读者信息注销”用例 用例编号:0303 用例名:读者信息销毁

执行者:直接执行者:系统管理员,间接执行者:读者

目的:当读者由于工作地点变化或其他原因,无需再使用图书馆的图书资料时,应当为其办理注销

过程描述:

(1)系统管理员登陆基本数据修改功能子系统,点击“读者信息注销”(2)查询读者的借阅记录

若有未归还图书,给出提示:暂时不能注销

否则注销读者,提示:注销后,不能借阅图书 若不确定,返回上一层界面

(3)注销图书证,删除基本数据修改功能子系统中的读者信息(4)注销完成,在数据库管理子系统删除读者信息,退出系统 5.“书籍信息录入”用例 用例编号:0305 用例名:书籍信息录入

执行者:直接执行者:系统管理员,间接执行者:图书管理员,数据库管理子系统 目的:图书馆里的图书根据馆藏需求进行更新 过程描述:

(1)系统管理员登陆基本数据修改功能子系统,点击“书籍信息录入

(2)写入图书相应信息

(3)图书管理员给图书进行分类编号,记录条形码信息(4)图书管理员为图书张贴条形码

(5)图书管理员检查图书编号是否入库

(6)在数据库管理子系统增加图书信息,书籍信息录入成功,退出系统 相应活动图如下:

统管理员界面图书管理员数据库管理子系统登陆基本数据修改功能子系统点击书籍信息录入图书进行分类编号,记录条形码信息图书张贴条形码检查图书编号是否入库增加图书信息[否]退出系统[是]

6.“书籍信息注销”用例

用例编号:0306 用例名:书籍信息注销

执行者:直接执行者:系统管理员,间接执行者:图书管理员,数据库管理子系统

目的:当图书馆里藏书,由于受到毁损或其他意外的破坏而无法再使用的情况下,需要对馆藏图书进行注销。过程描述:

(1)系统管理员登陆基本数据修改功能子系统,点击“书籍信息注销

(2)输入图书编号,若该书借阅出库,则暂时不能注销,提示“该书借阅中,不能注销”;若该书未被借阅,提示“确定要注销此书吗?”若不确定,返回上一层界面(3)成功注销图书后,在数据库管理子系统删除图书信息,退出系统

三、系统分析

3.1建立对象类(1)reader 类名:reader 类的类型:该类创建的对象是持久对象,存储在服务器上的数据库中,不可以共享 功能:负责读者信息并对这些信息进行处理,便于对读者借阅信息进行统一管理。属性:读者的编号ID(reader_id)、姓名(reader_Name)、身份(identification)、学院(academy)、所借书籍的编号(borrowed)等 操作:借书和还书、接受相应处理

(2)system admin 类名:system admin 类的类型:该类创建的对象是持久对象,存储在服务器上的数据库中,不可以共享 属性:编号和姓名等

操作:读者信息管理、书籍信息管理、借阅管理、(3)books admin 类名:books admin

类的类型:该类创建的对象是持久对象,存储在服务器上的数据库中,不可以共享 属性:编号和姓名等

操作:借阅管理、书籍信息录入、书籍信息修改、书籍信息注销(3)Books 类名:Books 类的类型:该类创建的对象是持久对象,存储在服务器上的数据库中,可以共享 属性:书名、作者、书籍编码、类别、价钱、入库时间 操作:分类编号、记录条形码信息、(4)borrow 类名:borrow 类的类型:该类创建的对象是持久对象,存储在服务器上的数据库中,不可以共享 属性:借阅书籍的编号、借阅时间、操作:借书、还书、续借书、交欠款、交罚款(5)data 类的类型:该类创建的对象是持久对象,存储在服务器上的数据库中,不可以共享 属性:书籍信息、读者信息、借阅信息

操作:读者信息录入、读者信息修改、读者信息注销、书籍信息录入、书籍信息修改、书籍信息注销、增加借阅信息、删除借阅信息 3.2 建立对象类图

reader+编号+姓名+身份+学院+所借书籍的编号+借书()+还书()+接受相应处理()data+书籍信息+读者信息+Attribute1+读者信息录入()+读者信息修改()+读者信息注销()+书籍信息录入()+书籍信息修改()+书籍信息注销()+增加借阅信息()+删除借阅信息()system admin+编号+姓名+读者信息管理()+书籍信息管理()+借阅管理()Books+书名+作者+书籍编码+类别+价钱+入库时间+分类编号()+记录条形码信息()borrow+借阅书籍的编号+借阅时间+借书()+还书()+续借书()+交欠款()+交罚款()books admin+编号+姓名+借阅管理()+书籍信息录入()+书籍信息修改()+书籍信息注销()图2-1 图书馆管理系统类图

四、系统设计

4.1顺序图建模

◆在“借书”用例中涉及的对象间的交互分析如下:

1)登录系统。图书管理员登陆“基本数据修改功能子系统”,对读者的借书要求进行处理。涉及的对象:

·消息的发送者:“系统管理员”对象 ·消息的接收者:“基本数据修改功能子系统借阅窗口”对象 传递的消息:

·消息:口令密码()

·消息的类型:同步消息

·返回消息:口令密码正确或出错信息 2)输入图书证编号。涉及的对象:

·消息的发送者:“基本数据修改功能子系统借阅窗口”对象 ·消息的接收者:“基本数据修改功能子系统借阅窗口”对象

传递的消息:

·消息:核对图书证编号()·消息的类型:自调用消息

·返回消息:图书证编号正确或出错信息 3)输入图书编号。涉及的对象:

·消息的发送者:“基本数据修改功能子系统借阅窗口”对象 ·消息的接收者:“reader”对象

传递的消息:

·消息:[最大借书额为0]:核对借书额()·消息的类型:同步消息

·返回消息:可以借书 4)确定借阅图书。涉及的对象: ·消息的发送者:“reader”对象 ·消息的接收者:“reader”对象 传递的消息:

·消息:[确定借书]: 借阅证号增加借阅信息记录()·消息的类型:自调用消息 ·返回消息:借书成功 5)修改数据库。涉及的对象: ·消息的发送者:“reader”对象 ·消息的接收者:“数据库管理系统借阅管理”对象

传递的消息:

·消息:[借书成功]: 保存借阅记录并修改库存图书数量、读者借出数量()·消息的类型:同步消息

·返回消息:退出系统

根据以上确立的“借书”用例图中涉及的对象,建立“借书”用例的顺序图如图3-1:

基本数据修改功能子系统借阅窗口reader数据库管理系统借阅管理窗口 : 图书管理员1 : 登录系统()2 : 核对图书证编号()3 [最大借书额为0] : :核对借书额()4 [确定借书] : 借阅证号增加借阅信息记录()5 [借书成功] : 保存借阅记录并修改库存图书数量、读者借出数量()图3-1 “借书”用例顺序图

◆在“还书”用例中涉及的对象间的交互分析如下:

1)登录系统。图书管理员登陆“基本数据修改功能子系统”,对读者的还书要求进行处理。涉及的对象:

·消息的发送者:“系统管理员”对象 ·消息的接收者:“基本数据修改功能子系统还书窗口”对象 传递的消息:

·消息:口令密码()

·消息的类型:同步消息

·返回消息:口令密码正确或出错信息

2)输入图书证编号。涉及的对象:

·消息的发送者:“基本数据修改功能子系统还书窗口”对象 ·消息的接收者:“基本数据修改功能子系统还书窗口”对象

传递的消息:

·消息:核对图书证编号()

·消息的类型:自调用消息

·返回消息:图书证编号正确或出错信息

3)超期罚款处理。涉及的对象:

·消息的发送者:“基本数据修改功能子系统还书窗口”对象 ·消息的接收者:“基本数据修改功能子系统超期罚款窗口”对象 传递的消息:

·消息:[超期]:超期罚款()·消息的类型:同步消息 ·返回消息:销毁超期信息

3)丢失罚款处理。涉及的对象:

·消息的发送者:“基本数据修改功能子系统还书窗口”对象 ·消息的接收者:“基本数据修改功能子系统丢失罚款窗口”对象

传递的消息:

·消息:[丢失]:丢失罚款()·消息的类型:同步消息 ·返回消息:销毁超期信息

4)输入图书编号。涉及的对象:

·消息的发送者:“基本数据修改功能子系统还书窗口”对象 ·消息的接收者:“reader”对象 传递的消息:

·消息:[借阅]:核对是否借阅此书()·消息的类型:同步消息 ·返回消息:是否借阅此书 5)确定还书。涉及的对象: ·消息的发送者:“reader”对象 ·消息的接收者:“reader”对象

传递的消息:

·消息:[确定还书]: 借阅证号删除借阅信息记录()·消息的类型:自调用消息 ·返回消息:还书成功

6)修改数据库。涉及的对象:

·消息的发送者:“reader”对象 ·消息的接收者:“数据库管理系统借阅管理”对象

传递的消息:

·消息:[还书成功]: 删除借阅记录并修改库存图书数量、读者借出数量()·消息的类型:同步消息 ·返回消息:退出系统

根据以上确立的“还书”用例图中涉及的对象,建立“还书”用例的顺序图如图:

基本数据修改功能子系统还书窗口基本数据修改功能子系统超期罚款窗口基本数据修改功能子系统丢失罚款窗口reader : 图书管理员1 : 登录系统()2 : 核对图书证编号()3 [超期] : :超期罚款()4 [丢失] : :丢失罚款()5 [借阅] : :核对是否借阅此书()6 [确定还书] : : 借阅证号删除借阅信息记录()

图3-2 “还书”用例顺序图一

reader数据库管理系统借阅管理5 [确定还书] : : 借阅证号删除借阅信息记录()6 [还书成功] : :删除借阅记录并修改库存图书数量、读者借出数量()

图3-3 “还书”用例顺序图二

4.2 构件图建模

构件图主要用于建立系统的静态实现视图模型,通过构件之间的依赖关系描述系统软件的组织结构,展示了系统中的不同物理构件机器之间的联系。

图3-4所示的是图书馆管理系统部分构件图,图书管理员登陆“基本数据修改功能子系统”并成功通过验证后,进入基本数据修改功能子系统主界面

图书管理员登陆验证基本数据修改功能子系统主界面续借书借书还书丢失罚款超期罚款图3-4 基本数据修改功能子系统构件图

4.3 配置图建模

实用配置图定义的软硬件结构及通讯机制,表示软硬件系统之间的合作关系;使用构件图描述系统由哪些构件组成。

图书馆管理系统是一个客户/服务器和服务器/浏览器相结合的系统,可以同配置图显示系统的物理结构,如图3-5所示:

篇6:uml图书管理系统需求分析与设计

需求分析阶段的任务是确定软件系统功能,用例建模是面向对象软件开发技术中的一个重要部分,它从用户角度描述软件系统功能。以医学院临床管理信息系统为例,利用统一建模语言UML对系统进行抽象,建立用例模型;根据用例建模,采用结构化设计的方法设计出临床毕业实习管理系统功能模块,完成系统初步设计。

0引言

在系统工程及软件工程中,需求分析指在创建一个新的或改变一个现存的系统或产品时,确定新系统的目的、范围、定义和功能时所要做的所有工作。需求分析是软件工程中的一个关键过程[1],是整个系统开发的基础。需求分析的结果将直接影响到整个软件工程的成功与失败[2],需求分析阶段的任务是确定软件系统功能。

在UML中,需求模型又称为用例模型,主要用于描述系统的功能性需求,即软件可以实现的功能。将UML的用例模型应用到医学院校临床毕业实习管理系统的需求分析中可以更有效地获取系统功能需求,并清晰描绘出系统功能。

1医学院校临床毕业实习管理系统需求分析

医学院校临床毕业实习根据专业性质不同一般为36~52周,通常安排在第五学年进行。临床医学毕业实习工作主要包括:实习计划制订、实习医院落实、实习生分配、各实习医院学生名单公布,实习日期确定;学生分赴实习医院、确定实习科室轮转日程、确定实习指导教师、分配实习分管床位、按计划进入各实习科室、出科考试。参与这些工作的用户有管理员、教师、学生、系统管理员,不同的用户对系统有不同的功能需求。

学生用户的功能需求为:查询和修改个人信息,填报实习医院,查询实习医院,查看、下载、上传作业,查看各种公共信息,查询学生成绩等;教师用户的功能需求为:查询及维护个人信息,添加、修改、删除实习科目,查看、添加、删除、修改公告,查看、添加、修改、删除作业,查询学生记录、录入学生成绩;管理员用户的功能需求为:查询、添加、删除、修改、审核或导入医院信息、专业信息、实习科目信息和教师信息,发布、查看、修改公告审核和调整学生实习医院等;系统管理员用户的功能需求为:管理整个临床毕业实习管理系统,负责不同用户组的权限定义,进行整个系统的信息初始化及数据维护备份,注册系统用户,负责系统安全管理,硬件环境及网络的管理与维护

根据上述各种用户的功能需求描述,可以将临床毕业实习管理业务功能归纳为:用户管理、公用信息管理、作业管理、实习成绩管理、公告管理、实习医院管理,如图1所示。

2基于UML用例建模的系统用户功能需求描述

用例(Use Case)是一种描述系统需求的方法,使用用例的方法来描述系统需求的过程就是用例建模。用例方法最早由Iva Jackboson博士[3]提出,后来被综合到UML规范之中,成为一种标准化的需求表述体系。UML 是目前最常用的一种面向对象建模语言, 主要包括7种常见类型,即用例图、类图、序列图、状态图、活动图、组件图和部署图,分别用于不同的建模用途。 用例图主要用于对系统、子系统或类的行为进行建模。它只说明系统实现什么功能,而不必说明如何实现。用例图包括系统的执行者和若干个执行用例[4],以图形化的方式表示系统内部用例、系统外部参考者以及它们之间的交互[5],从系统外部用户的观点看系统所具功能的高级视图[6]。

医学院校临床毕业实习管理系统中的主要执行者有系统管理员、普通管理员、带教教师及实习学生等,常见的执行用例为数据备份与恢复、用户管理、公用信息管理、公告管理、作业管理、实习成绩管理、实习医院申报和审核管理,由此可以得到系统顶层用例如图2所示。

2.1用户管理用例建模

在医学院校临床实习毕业系统中,为了保证系统数据的安全,建立用户管理。用户管理实现系统中所有用户使用系统资源的权限管理。用户管理的执行者是系统管理员,执行用例为添加用户、修改和查询用户、删除用户、权限定义。具体用例如图3所示。

2.2公用信息管理用例建模

公用信息是维护整个系统正常运行所需的基础数据集,公用信息管理的执行者是各院系管理员,执行用例包括专业信息管理、班级信息管理、学生信息管理、管理员信息管理、部门信息管理、公告类型信息管理、实习科目信息管理、成绩系数管理,具体用例如图4所示。

2.3作业管理用例建模

为巩固学生实习所学知识,检测学生实习效果,并使所学知识转化为技能技巧,在实习过程中,带教教师常常布置相应的作业,教师通过批改学生作业,检查实习效果,因此在医学院校临床毕业实习管理系统中设置作业管理用例图。作业管理的执行者是带教教师和实习生,执行用例包括添加作业、管理作业、批改作业、做作业。具体用例如图5所示。

2.4成绩管理用例建模

医学院校临床毕业考试成绩通常由毕业实习成绩、毕业实践技能考核成绩、毕业理论考核成绩按一定比例构成。专业不同,实习科目不同,毕业实习成绩计算方法也不同。例如临床医学专业实习科目为内科、外科、妇产科、儿科,每个科目的出科考试成绩通常由医德医风考核、病历书写考核、临床实践技能考核、理论考试按一定比例构成,内科、外科、妇产科、儿科的出科考试的平均分构成毕业实习成绩录入成绩后,学生可查询成绩,各院系(或者医院)的管理员将学生每门实习科目的`出科考试成绩按一定系数比例汇总成毕业实习成绩,各院系管理员将毕业实习成绩、毕业实践技能考核成绩、毕业理论考核成绩按一定比例汇总成毕业考试成绩上交给教务处。成绩管理的执行者有教师、院系管理员和实习生,执行用例包括录入成绩系数、录入成绩、查询成绩、汇总成绩。具体用例如图6所示。2.5公告管理用例建模

公告管理的执行者为系统管理员、管理员和实习生,管理员又可分为教师、教务处管理员、院系管理员、医院管理员,执行用例包括添加公告、上传公告、查看公告、修改公告、删除公告。公告管理用例如图7所示。

公告管理系统内的任何用户都可以查看系统内所有已发布的公告。系统管理员、各院系临床实习教学管理员、医院临床实习管理员、教师都可以添加公告,在公告没有发布前可以修改自己添加的公告,各用户可以删除自己已发布的和未发布的公告。

2.6实习医院申报和审核管理用例建模

实习生在实习前首先要进行实习医院的申报,各院系管理员根据实习生的申报情况进行实习医院的调整,调整完后,学生可以查询具体实习医院信息。各医院管理员根据实习生分配情况,对每一实习科目指派带教教师。实习医院申报和审核管理的执行者为实习生和院系管理员,执行用例包括填报实习医院、查询实习医院(扩展用例包括查询实习科目、查看带教教师)、调整实习医院、管理带教教师。具体用例如图8所示。

3系统模块设计

综合上述需求分析和用例模型分析,采用结构化设计的方法设计出临床毕业实习管理系统功能模块,包括用户管理、公用信息管理、作业管理、实习成绩管理、公告管理、实习医院管理共6个子系统,这些子系统又包含了若干子模块,如图9所示。

4结语

注:本文为网友上传,旨在传播知识,不代表本站观点,与本站立场无关。若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:66553826@qq.com

上一篇:1教育心理学考试题 下一篇:图书管理信息系统设计