实例图书管理系统分析及设计

上传人:第*** 文档编号:62919731 上传时间:2018-12-23 格式:PPT 页数:81 大小:2.32MB
返回 下载 相关 举报
实例图书管理系统分析及设计_第1页
第1页 / 共81页
实例图书管理系统分析及设计_第2页
第2页 / 共81页
实例图书管理系统分析及设计_第3页
第3页 / 共81页
实例图书管理系统分析及设计_第4页
第4页 / 共81页
实例图书管理系统分析及设计_第5页
第5页 / 共81页
点击查看更多>>
资源描述

《实例图书管理系统分析及设计》由会员分享,可在线阅读,更多相关《实例图书管理系统分析及设计(81页珍藏版)》请在金锄头文库上搜索。

1、图书管理系统的 分析与设计,软件开发实例,汤文亮 华东交通大学软件学院 E-mial:,目录,11.1 系统需求分析 11.2 静态结构模型 11.3 动态行为模型与物理模型,11.1 系统需求分析,11.1.1 系统需求 11.1.2 识别参与者 11.1.3 识别用例 11.1.4 用例的事件流描述,11.1.1 系统需求,系统需求分类 (1) 功能性需求:描述系统的功能,即系统可以做什么或被期望做什么; (2) 非功能性需求:描述系统与更好地提供功能需求相关的方面,如性能、安全性等; (3) 可用性需求:描述特定用户在特定环境下有效地、舒服地达到特定目标的程度。,11.1.1 系统需求,

2、图书馆图书管理系统的域描述 (1) 借阅者帐号:为每个借阅者建立一个帐号,发送借阅卡,存储借阅相关信息; (2) 借阅者操作:借阅书刊、返还书刊、查询书刊信息、预订书刊、取消预订,所有操作与图书管理员交互进行; (3) 系统简化:不考虑书刊的最长借阅期限,假设借阅者可以无限期地保存所借阅的书刊。,11.1.1 系统需求,图书管理系统功能性需求 (1) 借阅者持有借阅卡; (2) 图书管理员作为借阅者的代理借书; (3) 图书管理员作为借阅者的代理预订书刊; (4) 图书管理员作为借阅者的代理取消预订; (5) 图书管理员作为借阅者的代理还书; (6) 图书管理员可以创建新的借阅者帐户;,11.

3、1.1 系统需求,图书管理系统功能性需求 (7) 图书管理员可以修改借阅者帐号; (8) 图书管理员可以删除已存在的借阅者帐号; (9) 图书管理员可以添加新书刊种类; (10) 图书管理员可以修改书刊种类信息; (11) 图书管理员可以删除系统中的书刊种类;,11.1.1 系统需求,图书管理系统功能性需求 (12) 图书管理员可以在系统中添加书刊信息(注意区分“书刊种类”与“书刊”); (13) 图书管理员可以编辑书刊信息; (14) 图书管理员可以删除书刊信息。,11.1.1 系统需求,需求分析 采用用例驱动的分析方法进行需求分析,主要任务是识别出系统中的参与者和用例,并建立用例模型。 本

4、系统中,“书刊种类”与“书刊”,对应地用“书刊”和“物理书刊”来表示。,11.1.2 识别参与者,识别参与者 系统有两个参与者,BorrowerActor(借阅者)和Librarian(图书管理员)。 参与者描述 (1) BorrowerActor 描述:借阅者可以借阅、预定、归还物理书刊,还可取消预定。 示例:持有借阅卡的任何人或组织。,11.1.2 识别参与者,参与者描述 (2) Librarian 描述:图书管理员维护系统,可以创建、修改、删除借阅者的信息,可以添加、编辑、删除书刊信息,即维护目录,还可添加、编辑、删除物理书刊信息。 示例:图书管理员,11.1.3 识别用例,识别用例 (

5、1) Borrow Book(借书):提供借阅物理书刊的功能。 (2) Return Book(还书):提供返还物理书刊的功能。 (3) Reserve Book(预定书刊):一般针对种类,而非某个物理拷贝。,11.1.3 识别用例,识别用例 (4) Cancel Reservation(取消预定):提供取消预定功能。 (5) Maintain Borrower Info(维护借阅者信息):提供创建、修改、取消借阅者帐号的功能。 (6) Maintain Title Info(维护书刊信息):提供添加、修改、删除书刊信息的功能。,11.1.3 识别用例,识别用例 (7) Maintain Bo

6、ok Info(维护物理书刊信息):提供添加、修改、删除物理书刊信息的功能。 (8) Log In(登录):描述用户如何登录进入软件系统。,11.1.3 识别用例系统用例图,11.1.3 识别用例系统用例图,11.1.4 用例的事件流描述,用例的事件流描述 描述:事件流描述系统应该做什么,而不是应该如何做,即用域语言描述,而非实验语言描述。 文档:事件流文档的建立主要在细化阶段进行。细化步骤:常规流细化流例外流。,11.2 静态结构模型,11.2.1 定义系统对象 11.2.2 定义用户界面类 11.2.3 建立类图,11.2.1 定义系统对象,识别系统对象 根据系统需求识别出系统中存在的对象

7、。 系统对象的识别可以通过寻找域描述和需求描述中的名词来进行。 名词(候选对象) 借阅者(Borrower)、物理书刊(Book) 、 书刊(Book) 、借阅记录(Loan) 、 预定记录(Reservation) 。,11.2.1 定义系统对象,确定系统对象 判断是否有与该对象相关的身份和行为,是则该候选对象应为系统模型的一个对象。 系统对象 (1) 借阅者(Borrower) 借阅者有身份,如省份证可表征其身份;借阅者有相关行为,如借阅、返还、预定等,所以它是系统中的一个对象。,11.2.1 定义系统对象,系统对象 (2) 书刊(Title) 书刊有身份,如ISBN/ISSN可表征其身份

8、;书刊有相关行为,如可被预定或取消预定等,所以它是系统中的一个对象。 (3) 物理书刊(Book) 物理书刊有身份,如索引号可表征其身份;物理书刊有相关行为,如可被借阅或返还等,所以它是系统中的一个对象。,11.2.1 定义系统对象,系统对象 (4) 借阅记录(Loan) 借阅记录有身份,如同一人借不同的书则记录不同;借阅记录有相关行为,如可被预定或取消预定等,所以它是系统中的一个对象。 (5) 预定记录(Reservation) 预定记录有身份,如同一书刊被不同人预定则记录不同;预定记录有相关行为,如可被创建或删除等,所以它是系统中的一个对象。,11.2.1 定义系统对象,数据库相关类 以上

9、5个类都是实体类,是持久性的,需要保存在数据库中。 为便于在数据库中引用和检索对象,建立一个描述对象id的类(OID);为便于对数据库进行读、写、存储等操作,在5个持久类的基础上抽象出一个持久性父类(Persistent)。,11.2.1 定义系统对象,数据库相关类 (1) Persistent 它是以上5个类的父类。它为商业对象的持久存储提供支持,其子类必须实现从数据库文件中读、写对象属性的操作。 (2) OID 它实现了对象ID。它的对象可用来引用系统中的持久对象,使得从数据库文件中引用和检索对象变得容易。,11.2.1 定义系统对象,对象的属性和行为 (1) Borrower 描述物理借

10、阅者的信息,包括姓名、地址、邮编区号、身份证号码和电话号码。 它与BorrowerActor不同,BorrowerActor代表系统外的物理借阅者,而Borrower代表系统中存储的物理借阅者的信息。 Borrower继承Persistent并实现数据库读/写操作。 详细说明(属性和行为),11.2.1 定义系统对象,对象的属性和行为 (2) Title 描述书刊的种类信息,包括书刊名、作者、ISBN/ISSN号等信息。 Title可以没有预定记录或有多个预定记录。 Title继承Persistent并实现数据库读/写操作。 详细说明(属性和行为),11.2.1 定义系统对象,对象的属性和行为

11、 (3) Book 代表可借阅的物理书刊,有两个状态“已借出”和“未借出”。 Book与Title对应,一种书刊通常有多本物理拷贝,每个物理书刊使用唯一ID号来区分。 Book继承Persistent并实现数据库读/写操作。 详细说明(属性和行为),11.2.1 定义系统对象,对象的属性和行为 (4) Loan 描述借阅者从图书馆借阅物理书刊的借阅记录,一个Loan对象对应一个物理书刊。 物理书刊被借阅/返还时,Loan对象被创建/删除。 Loan继承Persistent并实现数据库读/写操作。 详细说明(属性和行为),11.2.1 定义系统对象,对象的属性和行为 (5) Reservatio

12、n 当无物理书刊在馆中,借阅者可以预定书刊,在物理书刊返还图书馆时预定者可以优先借阅该物理拷贝。 预定者借阅了书刊物理拷贝后,删除预定记录。 Title继承Persistent并实现数据库读/写操作。 详细说明(属性和行为),11.2.1 定义系统对象,对象的属性和行为 (6) Persistent 支持对象的持久存储,可以将对象写入数据库和从数据库中读取对象。 通过OID来检索对象,获得存储、删除、更新对象的方法。 Persistent的子类继承并实现了对数据库的读/写操作。 详细说明(属性和行为),11.2.1 定义系统对象,对象的属性和行为 (7) OID 实现了对象ID。OID的对象可

13、用来引用系统中的持久对象,使得从数据库中引用和检索对象容易。 由所引用的类的类名和唯一的idNumber组成。 将OID传递给Persistent的方法getObject,可读取数据库对象返回给调用者。 详细说明(属性和行为),11.2.1 定义系统对象,类图与时序图 (1) 绘制时序图 类图与时序图的建立相辅相成,时序图中出现的消息基本上都将成为类中的方法。因此,在设计阶段,应在设计类图的同时绘制时序图。 (2) 识别类的方法 绘制时序图时,尽量使用类中已识别出的方法来描述消息,如无法使用这些方法来描述消息,则应考虑该消息是否为类的一个待识别的方法。若是,则加入到类的方法列表中。,11.2.

14、2 定义用户界面类,用户界面类 (1) MainWindow 系统的主界面,包括菜单和菜单项,不同的菜单项执行不同的操作。程序退出,主界面窗口关闭。 (2) BorrowerDialog 进行操作“添加借阅者”、 “修改借阅者” 、 “删除借阅者”。,11.2.2 定义用户界面类,用户界面类 (3) FindBwrDialog 根据借阅者ID来查找借阅者的对话框。当主窗口中执行“删除借阅者”和“修改借阅者”时,该对话框弹出。 (4) TitleDialog 进行操作“添加书种”、 “修改书种” 、 “删除书种”。调用FindTDialog查询ISBN/ISSN,以调出此对话框。,11.2.2

15、定义用户界面类,用户界面类 (5) FindTDialog 根据书刊种类的ISBN/ISSN信息查找书刊种类的对话框。 (6) BorrowDialog 进行借阅操作时所需的对话框。主窗口中选择借阅,弹出此对话框。图书管理员输入书刊名、书刊ISBN/ISSN信息和借阅者信息,执行借阅操作,系统保存借阅记录。,11.2.2 定义用户界面类,用户界面类 (7) ReturnDialog 还书操作对话框。操作步骤与BorrowDialog基本相同。 (8) RsvDialog 进行操作“预定”、 “取消预定”。操作步骤与BorrowDialog基本相同。,11.2.2 定义用户界面类,用户界面类 (

16、9) MessageWindow 显示提示信息的窗口。 (10) LoginDialog 输入用户名和密码的对话框。 详细说明,11.2.3 建立类图,建立类图 识别了系统中的类后,还需识别出类间的关系,而后即可建立类图。 可将系统中的类大体上分为三类,分别包含在3个包中,GUI包、Library包、DB包。 GUI包由界面类组成,Library包由实体类组成,DB包由数据库相关类组成。,11.2.3 建立类图,系统包图,11.2.3 建立类图用户界面类的类图,11.2.3 建立类图实体类的类图,11.2.3 建立类图界面类与实体类关系,11.2.3 建立类图界面类与实体类关系,11.2.3 建立类图界面类与实体类关系,11.2.3 建立类图界面类与实体类关系,11.3 动态行为模型与物理模型,11.3.1 动态行为模型 11.3.2 物理模型,11.3.1 动态行为模型,动态行为模型 系统的动态行为模型由交互作用图(时

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 述职报告

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号