UML建模案例之图书管理系统

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
面向对象技术及其UML实践 课堂练习
用UML建立图书馆管理系统模型
同济大学需要开发一个处理图书馆借阅和预定图 书和杂志的应用系统。
一、用户需求
用户提出的需求包括下列内容:
1. 这是一个图书馆支持系统;
2. 图书馆将图书和杂志借给借书者。借书者已经预先注册,图书和杂志 也预先注册;
3. 图书馆负责新书的购买。每一本图书都购进多本书。当旧书超期或破 旧不堪时,从图书馆中去掉。
图书馆系统中的用例有: 1. 借书 2. 还书 3. 预定 4. 取消预定 5. 书籍入库??
6. 扣款?? 7. 增加书目 8. 删除书目 9. 增加借书者 10. 修改或删除借书者
系统的用例图
1. 借阅者请求服务的用例图 2. 图书馆管理员处理借书、还书等的用例图 3. 系统管理员进行系统维护的用例图
: Librarian
: Lend Window
: Title
1: find title ( )
2: find (String)
: Borrower information
: Loan
3: find Item ( )
4: find on title (Title)
: Item
5: identify borrower ( )
质量属性
非功能需求
软件需求说明书
约束条件
二、分析
系统分析的目的是捕获和描述所有的系统需求,并且建立 一个模型来定义系统中主要的域类。通过系统分析达到开 发者和需求者的理解和沟通。因此,分析一般都是分析员 和用户协作的产物。
§2.1 系统功能需求
系统的功能需求主要包括以下几个方面: ① 借阅者可以通过网络查询书籍信息和预定书籍。 ② 借阅者能够借阅书籍和还书。 ③ 图书管理员能够处理借阅者的借阅和还书请求。 ④ 系统管理员可以对系统的数据进行维护,如增加、
删除和更新书目,增加、删除和更新借阅者帐户, 增加和删除书籍。
§2.1 系统功能需求
系统主要包括以下几个模块: ① 基本数据维护模块 ② 基本业务模块 ③ 信息查询模块
§2.2 基本数据维护模块
基本数据维护模块包括的主要功能模块: ①添加借阅者帐户 ②修改更新借阅者帐户信息 ③添加书目 ④修改和更新书目信息 ⑤添加书籍 ⑥删除书籍
的文档说明。
软件wk.baidu.com求的层次
软件需求包括三个层次: 业务需求:反映了组织机构或客户对系统高层
次的目标要求。 用户需求:描述了用户使用产品所能完成的任
务。 功能需求:说明了软件的功能,用户使用这些
功能以完成任务。
软件需求的层次
需求层次图:
业务需求
项目视图与范围文档 用户需求
系统需求
用例文档 功能需求
4. 图书管理员是图书馆的员工。他们的工作就是和读者打交道并在软件 系统的支持下工作。
5. 借阅人可以预定当前没有的图书和杂志。这样,当他所预定的图书和 杂志归还回来或购进时,就通知预定人。当预定了某书的借书者借阅了 该书后,预定就取消。或者通过显式的取消过程强行取消预定。
6. 图书馆能够容易地建立、修改和删除标题、借书者、借阅信息和预定 信息。
7.如果读者还书超过期限(本科生1个月,研究生2个月,教师3个月), 需扣款。
软件需求的定义
IEEE软件工程标准词汇表中需求的定义: ① 用户解决问题或达到某种目的所需要的条件
或权能。 ② 系统或系统组件要满足合同、标准、规范或
其他正式规定的文档所需要的条件或权能。 ③ 反映以上(1)或(2)中描述的条件或权能
6: find (String) 7: create (Borrower information, Item)
三、设计
设计阶段对分析模型进行扩展并将模型进一步细化,并考 虑技术细节和限制条件。设计的目的是指定一个可行的解 决方案,以便能很容易地转变成为编程代码。
3、1 设计--体系结构设计
这是一个从较高层次的进行的设计,用来定义包(子系统), 描述包之间的依赖性及通信机制。目的是要设计一个清晰简 单的体系结构,有很少的依赖性,而且尽可能避免双向依赖。
2、2 分析--需求分析
1、识别角色:系统角色是人或其它外部系统。他/它将在 系统开发和运行过程中和系统进行交互、对话。
Librarian maintain
Borrower Account??
2、识别用例 用例描述了系统对外表现的特征和性能
–每个用例是由系统用户通过对话框进行的一系列相关活动
对每个系统用户进行分析,抽象他和系统之间可能的交互方 法
图书馆系统中的域类如下:borrowerinformation(如此命名 是为了与用例图中的角色borrower 区分开来),title,book title, magazine title, item, reservation 和loan。
领域类模型
通过顺序事件流描述说明你的每一个用例
用例lend item(借阅者没有预定的情况)的顺序图
§2.3 基本业务模块
基本业务模块包含的功能: ① 借书 ② 还书 ③ 书籍预留 ④ 取消书籍预定
§2.4 信息查询模块
信息查询模块主要是查询数据库中的相关信 息:
① 查询书籍信息 ② 查询借阅者信息
系统的用例图
创建用例图之前首先需要确定参与者。 系统的参与者主要有三类: ① 读者(也可称为借阅者,包括教师和学生) ② 图书馆管理员 ③ 图书馆管理系统维护者
Lend item
Return of item
Remove Item
<<uses>> <<uses>>
Add Borrower
Remove or Update Borrower
2、2 分析--领域分析
系统分析也详细地列出了域(系统中的关键类)。为了导出 一个域分析,可以阅读规范文档(specifications)和用例,查 找哪一些概念应该被系统处理。或者组织一个集体讨论,在 用户及领域专家共同的参与下指出系统中必须处理的关键概 念,以及它们之间的关系。
系统的用例模型(供参考)
Librarian
Make reservation
Add Title
Librarian
Remove Reservation <<uses>>
<<uses>> Remove or Update Title
<<uses>>
Add Item
<<uses>>
Maintenance
Borrower
相关文档
最新文档