当前位置:文档之家› 实例:图书管理系统的分析与设计

实例:图书管理系统的分析与设计


11.1.1 系统需求
图书管理系统功能性需求
(1) 借阅者持有借阅卡;
(2) 图书管理员作为借阅者的代理借书;
(3) 图书管理员作为借阅者的代理预订书刊;
(4) 图书管理员作为借阅者的代理取消预订;
(5) 图书管理员作为借阅者的代理还书;
(6) 图书管理员可以创建新的借阅者帐户;
11.1.1 系统需求
11.2.1 定义系统对象

系统对象
(4) 借阅记录(Loan)
借阅记录有身份,如同一人借不同的书则记录不 同;借阅记录有相关行为,如可被预定或取消预 定等,所以它是系统中的一个对象。 (5) 预定记录(Reservation)
预定记录有身份,如同一书刊被不同人预定则记 录不同;预定记录有相关行为,如可被创建或删 除等,所以它是系统中的一个对象。
11.1.3 识别用例 11.1.4 用例的事件流描述
主编:汤文亮
11.1.1 系统需求
系统需求分类
(1) 功能性需求:描述系统的功能,即系统可以做
什么或被期望做什么;
(2) 非功能性需求:描述系统与更好地提供功能需
求相关的方面,如性能、安全性等;
(3) 可用性需求:描述特定用户在特定环境下有效
GUI包由界面类组成,Library包由实体类组成, DB包由数据库相关类组成。
主编:汤文亮
11.2.3 建立类图

系统包图
系统包图
GUI Library
DB
11.2.3 建立类图—用户界面类的类图
(4) Loan
描述借阅者从图书馆借阅物理书刊的借阅记录, 一个Loan对象对应一个物理书刊。 物理书刊被借阅/返还时,Loan对象被创建/删除。 Loan继承Persistent并实现数据库读/写操作。 详细说明(属性和行为)
11.2.1 定义系统对象

对象的属性和行为
(5) Reservation
软件开发实例 图书管理系统的 分析与设计
汤文亮 华东交通大学软件学院 E-mial:twlecjtu@
目录
11.1 系统需求分析

11.2 静态结构模型 11.3 动态行为模型与物理模型
主编:汤文亮
11.1 系统需求分析
11.1.1 系统需求


11.1.2 识别参与者
11.2.1 定义系统对象

对象的属性和行为
(7) OID
实现了对象ID。OID的对象可用来引用系统中的 持久对象,使得从数据库中引用和检索对象容易。 由所引用的类的类名和唯一的idNumber组成。 将OID传递给Persistent的方法getObject,可读 取数据库对象返回给调用者。 详细说明(属性
主编:汤文亮
11.2.2 定义用户界面类

用户界面类
(7) ReturnDialog
还书操作对话框。操作步骤与BorrowDialog基 本相同。 (8) RsvDialog 进行操作“预定”、 “取消预定”。操作步骤 与BorrowDialog基本相同。
主编:汤文亮
11.2.2 定义用户界面类
(1) Borrower
描述物理借阅者的信息,包括姓名、地址、邮编区号、 身份证号码和电话号码。
它与BorrowerActor不同,BorrowerActor代表系统外的物 理借阅者,而Borrower代表系统中存储的物理借阅者的 信息。 Borrower继承Persistent并实现数据库读/写操作。

参与者描述
(2) Librarian
描述:图书管理员维护系统,可以创建、修改、
删除借阅者的信息,可以添加、编辑、删除书刊
信息,即维护目录,还可添加、编辑、删除物理 书刊信息。 示例:图书管理员
主编:汤文亮
11.1.3 识别用例

识别用例
(1) Borrow Book(借书):提供借阅物理书刊的功
图书管理系统功能性需求
(7) 图书管理员可以修改借阅者帐号;
(8) 图书管理员可以删除已存在的借阅者帐号;
(9) 图书管理员可以添加新书刊种类;
(10) 图书管理员可以修改书刊种类信息;
(11) 图书管理员可以删除系统中的书刊种类;
11.1.1 系统需求
图书管理系统功能性需求
(12) 图书管理员可以在系统中添加书刊信息(注意
11.2 静态结构模型
11.2.1 11.2.2 11.2.3
定义系统对象 定义用户界面类 建立类图
主编:汤文亮
11.2.1 定义系统对象

识别系统对象
根据系统需求识别出系统中存在的对象。
系统对象的识别可以通过寻找域描述和需求描述 中的名词来进行。

名词(候选对象)
借阅者(Borrower)、物理书刊(Book) 、
和行为)
11.2.1 定义系统对象

类图与时序图
(1) 绘制时序图 类图与时序图的建立相辅相成,时序图中出现的 消息基本上都将成为类中的方法。因此,在设计 阶段,应在设计类图的同时绘制时序图。 (2) 识别类的方法 绘制时序图时,尽量使用类中已识别出的方法来 描述消息,如无法使用这些方法来描述消息,则 应考虑该消息是否为类的一个待识别的方法。若 是,则加入到类的方法列表中。
11.2.1 定义系统对象

系统对象
(2) 书刊(Title)
书刊有身份,如ISBN/ISSN可表征其身份;书刊 有相关行为,如可被预定或取消预定等,所以它 是系统中的一个对象。 (3) 物理书刊(Book)
物理书刊有身份,如索引号可表征其身份;物理 书刊有相关行为,如可被借阅或返还等,所以它 是系统中的一个对象。
供创建、修改、取消借阅者帐号的功能。
(6) Maintain Title Info(维护书刊信息):提供添加、
修改、删除书刊信息的功能。
主编:汤文亮
11.1.3 识别用例

识别用例
(7) Maintain Book Info(维护物理书刊信息):提供
添加、修改、删除物理书刊信息的功能。
(8) Log In(登录):描述用户如何登录进入软件系
11.1.2 识别参与者

识别参与者
系统有两个参与者,BorrowerActor(借阅者)和 Librarian(图书管理员)。

参与者描述
(1) BorrowerActor
描述:借阅者可以借阅、预定、归还物理书刊, 还可取消预定。
示例:持有借阅卡的任何人或组织。
主编:汤文亮
11.1.2 识别参与者
能。
(2) Return Book(还书):提供返还物理书刊的功
能。
(3) Reserve Book(预定书刊):一般针对种类,而
非某个物理拷贝。
主编:汤文亮
11.1.3 识别用例

识别用例
(4) Cancel Reservation(取消预定):提供取消预
定功能。
(5) Maintain Borrower Info(维护借阅者信息):提

用户界面类
(3) FindBwrDialog
根据借阅者ID来查找借阅者的对话框。当主窗 口中执行“删除借阅者”和“修改借阅者”时, 该对话框弹出。 (4) TitleDialog
进行操作“添加书种”、 “修改书种” 、 “删 除书种”。调用FindTDialog查询ISBN/ISSN, 以调出此对话框。
主编:汤文亮
11.2.2 定义用户界面类

用户界面类
(5) FindTDialog
根据书刊种类的ISBN/ISSN信息查找书刊种类的 对话框。 (6) BorrowDialog 进行借阅操作时所需的对话框。主窗口中选择 借阅,弹出此对话框。图书管理员输入书刊名、 书刊ISBN/ISSN信息和借阅者信息,执行借阅操 作,系统保存借阅记录。
统。
主编:汤文亮
11.1.3 识别用例—系统用例图
Borrow Book <<uses>>
Cancel Reservation Librarian
Return Book
Reserve Title BorrowerActor
主编:汤文亮
11.1.3 识别用例—系统用例图
Log In
Maintain Borrower Info Librarian
Maintain Title Info
Maintain Book Info
主编:汤文亮
11.1.4 用例的事件流描述

用例的事件流描述
描述:事件流描述系统应该做什么,而不是应该
如何做,即用域语言描述,而非实验语言描述。
文档:事件流文档的建立主要在细化阶段进行。
细化步骤:常规流—细化流—例外流。
主编:汤文亮
详细说明(属性和行为)
11.2.1 定义系统对象

对象的属性和行为
(2) Title
描述书刊的种类信息,包括书刊名、作者、 ISBN/ISSN号等信息。 Title可以没有预定记录或有多个预定记录。 Title继承Persistent并实现数据库读/写操作。 详细说明(属性和行为)
11.2.1 定义系统对象
当无物理书刊在馆中,借阅者可以预定书刊,在 物理书刊返还图书馆时预定者可以优先借阅该物 理拷贝。 预定者借阅了书刊物理拷贝后,删除预定记录。 Title继承Persistent并实现数据库读/写操作。 详细说明(属性和行为)
11.2.1 定义系统对象

对象的属性和行为
(6) Persistent
支持对象的持久存储,可以将对象写入数据库和 从数据库中读取对象。 通过OID来检索对象,获得存储、删除、更新对 象的方法。 Persistent的子类继承并实现了对数据库的读/写 操作。 详细说明(属性和行为)
相关主题