1、,第13章 图书管理系统本章以图书管理系统为例,将前面介绍的UML的各种图形以及模型元素综合起来,形成一个对图书管理系统的建模实例。需求分析系统建模,13.1 需 求 分 析软件的需求(Requirement)是系统必须满足的条件或必须实现的性能,是用户对目标软件系统在功能、行为、性能、约束等方面的期望。可以将系统的需求划分为以下几个方面:功能性需求非功能性需求设计约束条件,图书管理系统是一个面向学校图书馆用来进行图书管理的管理信息系统MIS。能够方便地为借阅者提供各种借阅服务,也能够为图书管理员和系统管理员提供方便的管理服务。图书管理系统的功能性需求包括以下内容: 1.系统能够为借阅者提供服
2、务查询图书信息、查询个人信息、预定图书 2.系统通过图书管理员实现图书的借与还借阅图书、归还图书 3.系统管理员负责系统的管理维护查询借阅者信息、查询图书信息、书目的管理、图书的管理、借阅者的管理,满足上述需求的系统主要包括以下几个模块: 1.信息查询模块实现借阅者对信息的查询,包括查询图书信息、查询个人信息和预定图书等功能。2.基本业务处理模块实现图书管理员对借阅者借阅图书和归还图书的处理。3.系统维护模块实现系统管理员对系统的管理和对数据库的维护。对系统的管理包括查询借阅者信息、查询图书信息、书目的增删、图书的增删改、借阅者的增删改。对数据库的维护包括数据库的备份、恢复等数据库管理操作。,
3、13.2 系 统 建 模以图书管理系统为例系统地介绍如何使用Rational Rose 2003对该系统进行系统建模。首先,使用用例驱动创建用例模型,获取系统的需求; 其次,使用系统的静态模型创建系统内容; 再次,使用动态模型对系统的内容进行补充和说明; 最后,使用部署模型完成系统的部署。,13.2.1 创建系统用例模型进行系统分析和设计的第一步就是创建系统的用例模型。作为描述系统的参与者所能操作的图,它在需求分析阶段有着非常重要的作用,整个开发过程都是围绕系统的需求用例表述的问题和问题模型进行的。1.确定参与者 2.确定用例 3.画用例图,1.确定参与者借阅者:通过系统查询图书、查询个人信息
4、、预定图书、借阅图书、归还图书等。图书管理员:通过系统处理借阅者的借书和还书。系统管理员:负责查询借阅者信息、查询图书信息、管理书目、管理图书、管理借阅者,还需要对数据库进行维护。,2.确定用例 2.1 借阅者用例图 借阅者能够通过该系统进行如下活动: 查找图书 登录系统 查询个人信息 预定图书 借阅图书籍 归还图书,2.2 图书管理员用例图图书管理员能够通过该系统进行如下活动: 处理借阅 处理归还,2.3 系统管理员用例图系统管理员能够通过该系统进行如下活动: 查询书籍信息 添加书籍 删除书籍 修改书籍 查询读者信息 添加读者 删除读者 修改读者信息 添加书目 删除书目,13.2.2 创建系
5、统静态模型在获得系统基本需求的用例模型后,通过考察系统对象的各种属性创建系统的静态模型。首先,确定系统参与者的属性。,其次,可以确定在系统中的主要业务实体类及其 属性,这些类通常需要在数据库中进行存储。,再次,确定类与类之间的关系。,13.2.3 创建系统动态模型对象之间的相互作用构成系统的动态模型。交互图:序列图与协作图,以相互作用的一组对象为中心。序列图描绘了系统中的一组对象在时间上交互的整体行为。协作图描绘了系统中的一组对象在几何排列上的交互行为行为图:状态图与活动图,以独立的对象为中心。,“借阅者查找图书”用例P287 表13-1根据基本流程,创建借阅者查找图书的序列图。,与序列图等价
6、的协作图如下:,2. “借阅者查询个人信息”用例P289 表13-2根据基本流程,创建借阅者查询个人信息的序列图。,与序列图等价的协作图如下:,3. “借阅者预定图书”用例P290 表13-3根据基本流程,创建借阅者预定图书的序列图。,与序列图等价的协作图如下:,4. “图书管理员处理借阅”用例P291 表13-4根据基本流程,创建图书管理员处理借阅的序列图。,与序列图等价的协作图如下:,5. “图书管理员处理还书”用例P293 表13-5根据基本流程创建图书管理员处理还书的序列图。,与序列图等价的协作图如下:,6. “系统管理员查询书籍”用例P294 表13-6根据基本流程,创建系统管理员查
7、询书籍信息的序列图。,与序列图等价的协作图如下:,7. “系统管理员添加书籍”用例P296 表13-7根据基本流程,创建系统管理员添加书籍的序列图。,与序列图等价的协作图如下:,8. “系统管理员删除书籍”用例P297 表13-8根据基本流程,创建系统管理员删除书籍的序列图。,与序列图等价的协作图如下:,9. “系统管理员修改书籍”用例P298 表13-9根据基本流程,创建系统管理员修改书籍的序列图。,与序列图等价的协作图如下:,10. “系统管理员查询借阅者信息”用例P300 表13-10根据基本流程,创建系统管理员查询借阅者信息的序列图。,与序列图等价的协作图如下:,11. “系统管理员添
8、加借阅者”用例P301 表13-11根据基本流程,创建系统管理员添加借阅者的序列图。,与序列图等价的协作图如图下:,12. “系统管理员删除借阅者”用例P302 表13-12根据基本流程,创建系统管理员删除借阅者的序列图。,与序列图等价的协作图如图下:,13. “系统管理员修改借阅者信息”用例P303 表13-13根据基本流程,创建系统管理员修改借阅者信息的序列图。,与序列图等价的协作图如下:,14. “系统管理员添加书目”用例P305 表13-14根据基本流程,创建系统管理员添加书目的序列图。,与序列图等价的协作图如下:,15. “系统管理员删除书目”用例P306 表13-15根据基本流程,
9、创建系统管理员删除书目的序列图。,与序列图等价的协作图如下:,根据图书的各种状态以及转换规则,创建图书的状态图。,根据借阅者的各种状态以及转换规则,创建借阅者的状态图。,根据借阅者在自助服务中所进行的活动,可以创建借阅者的活动图。,根据图书管理员在基本服务中所进行的活动,可以创建图书管理员的活动图。,根据系统管理员管理借阅者信息的活动,可以创建系统管理员管理借阅者信息的活动图。,根据系统管理员维护图书信息的活动,可以创建系统管理员维护图书信息的活动图。,根据系统管理员维护图书目录信息的活动,可以创建系统管理员维护图书目录信息的活动图。,13.2.4 创建系统部署模型 根据这些构件以及其关系创建的构件图。,图书管理系统的部署图如下。,13.3 本 章 小 结本章以一个简单的图书管理系统为例介绍了如何使用Rational Rose 2003进行UML建模。,