实例:图书管理系统的分析与设计PPT文档格式.ppt
《实例:图书管理系统的分析与设计PPT文档格式.ppt》由会员分享,可在线阅读,更多相关《实例:图书管理系统的分析与设计PPT文档格式.ppt(81页珍藏版)》请在冰豆网上搜索。
![实例:图书管理系统的分析与设计PPT文档格式.ppt](https://file1.bdocx.com/fileroot1/2022-10/30/035a47dc-dcdf-4d1b-88c7-8ec256a2e3e9/035a47dc-dcdf-4d1b-88c7-8ec256a2e3e91.gif)
(3)系统简化:
不考虑书刊的最长借阅期限,假设借阅者可以无限期地保存所借阅的书刊。
11.1.1系统需求v图书管理系统功能性需求
(1)借阅者持有借阅卡;
(2)图书管理员作为借阅者的代理借书;
(3)图书管理员作为借阅者的代理预订书刊;
(4)图书管理员作为借阅者的代理取消预订;
(5)图书管理员作为借阅者的代理还书;
(6)图书管理员可以创建新的借阅者帐户;
11.1.1系统需求v图书管理系统功能性需求(7)图书管理员可以修改借阅者帐号;
(8)图书管理员可以删除已存在的借阅者帐号;
(9)图书管理员可以添加新书刊种类;
(10)图书管理员可以修改书刊种类信息;
(11)图书管理员可以删除系统中的书刊种类;
11.1.1系统需求v图书管理系统功能性需求(12)图书管理员可以在系统中添加书刊信息(注意区分“书刊种类”与“书刊”);
(13)图书管理员可以编辑书刊信息;
(14)图书管理员可以删除书刊信息。
11.1.1系统需求v需求分析采用用例驱动的分析方法进行需求分析,主要任务是识别出系统中的参与者和用例,并建立用例模型。
本系统中,“书刊种类”与“书刊”,对应地用“书刊”和“物理书刊”来表示。
主编:
汤文亮11.1.2识别参与者v识别参与者系统有两个参与者,BorrowerActor(借阅者)和Librarian(图书管理员)。
v参与者描述
(1)BorrowerActor描述:
借阅者可以借阅、预定、归还物理书刊,还可取消预定。
示例:
持有借阅卡的任何人或组织。
汤文亮11.1.2识别参与者v参与者描述
(2)Librarian描述:
图书管理员维护系统,可以创建、修改、删除借阅者的信息,可以添加、编辑、删除书刊信息,即维护目录,还可添加、编辑、删除物理书刊信息。
图书管理员主编:
汤文亮11.1.3识别用例v识别用例
(1)BorrowBook(借书):
提供借阅物理书刊的功能。
(2)ReturnBook(还书):
提供返还物理书刊的功能。
(3)ReserveBook(预定书刊):
一般针对种类,而非某个物理拷贝。
汤文亮11.1.3识别用例v识别用例(4)CancelReservation(取消预定):
提供取消预定功能。
(5)MaintainBorrowerInfo(维护借阅者信息):
提供创建、修改、取消借阅者帐号的功能。
(6)MaintainTitleInfo(维护书刊信息):
提供添加、修改、删除书刊信息的功能。
汤文亮11.1.3识别用例v识别用例(7)MaintainBookInfo(维护物理书刊信息):
提供添加、修改、删除物理书刊信息的功能。
(8)LogIn(登录):
描述用户如何登录进入软件系统。
汤文亮11.1.3识别用例系统用例图主编:
汤文亮11.1.4用例的事件流描述v用例的事件流描述描述:
事件流描述系统应该做什么,而不是应该如何做,即用域语言描述,而非实验语言描述。
文档:
事件流文档的建立主要在细化阶段进行。
细化步骤:
常规流细化流例外流。
汤文亮11.2静态结构模型v11.2.1定义系统对象v11.2.2定义用户界面类v11.2.3建立类图11.2.1定义系统对象v识别系统对象根据系统需求识别出系统中存在的对象。
系统对象的识别可以通过寻找域描述和需求描述中的名词来进行。
v名词(候选对象)借阅者(Borrower)、物理书刊(Book)、书刊(Book)、借阅记录(Loan)、预定记录(Reservation)。
11.2.1定义系统对象v确定系统对象判断是否有与该对象相关的身份和行为,是则该候选对象应为系统模型的一个对象。
v系统对象
(1)借阅者(Borrower)借阅者有身份,如省份证可表征其身份;
借阅者有相关行为,如借阅、返还、预定等,所以它是系统中的一个对象。
11.2.1定义系统对象v系统对象
(2)书刊(Title)书刊有身份,如ISBN/ISSN可表征其身份;
书刊有相关行为,如可被预定或取消预定等,所以它是系统中的一个对象。
(3)物理书刊(Book)物理书刊有身份,如索引号可表征其身份;
物理书刊有相关行为,如可被借阅或返还等,所以它是系统中的一个对象。
11.2.1定义系统对象v系统对象(4)借阅记录(Loan)借阅记录有身份,如同一人借不同的书则记录不同;
借阅记录有相关行为,如可被预定或取消预定等,所以它是系统中的一个对象。
(5)预定记录(Reservation)预定记录有身份,如同一书刊被不同人预定则记录不同;
预定记录有相关行为,如可被创建或删除等,所以它是系统中的一个对象。
11.2.1定义系统对象v数据库相关类以上5个类都是实体类,是持久性的,需要保存在数据库中。
为便于在数据库中引用和检索对象,建立一个描述对象id的类(OID);
为便于对数据库进行读、写、存储等操作,在5个持久类的基础上抽象出一个持久性父类(Persistent)。
11.2.1定义系统对象v数据库相关类
(1)Persistent它是以上5个类的父类。
它为商业对象的持久存储提供支持,其子类必须实现从数据库文件中读、写对象属性的操作。
(2)OID它实现了对象ID。
它的对象可用来引用系统中的持久对象,使得从数据库文件中引用和检索对象变得容易。
11.2.1定义系统对象v对象的属性和行为
(1)Borrower描述物理借阅者的信息,包括姓名、地址、邮编区号、身份证号码和电话号码。
它与BorrowerActor不同,BorrowerActor代表系统外的物理借阅者,而Borrower代表系统中存储的物理借阅者的信息。
Borrower继承Persistent并实现数据库读/写操作。
详细说明(属性和行为)11.2.1定义系统对象v对象的属性和行为
(2)Title描述书刊的种类信息,包括书刊名、作者、ISBN/ISSN号等信息。
Title可以没有预定记录或有多个预定记录。
Title继承Persistent并实现数据库读/写操作。
详细说明(属性和行为)11.2.1定义系统对象v对象的属性和行为(3)Book代表可借阅的物理书刊,有两个状态“已借出”和“未借出”。
Book与Title对应,一种书刊通常有多本物理拷贝,每个物理书刊使用唯一ID号来区分。
Book继承Persistent并实现数据库读/写操作。
详细说明(属性和行为)11.2.1定义系统对象v对象的属性和行为(4)Loan描述借阅者从图书馆借阅物理书刊的借阅记录,一个Loan对象对应一个物理书刊。
物理书刊被借阅/返还时,Loan对象被创建/删除。
Loan继承Persistent并实现数据库读/写操作。
详细说明(属性和行为)11.2.1定义系统对象v对象的属性和行为(5)Reservation当无物理书刊在馆中,借阅者可以预定书刊,在物理书刊返还图书馆时预定者可以优先借阅该物理拷贝。
预定者借阅了书刊物理拷贝后,删除预定记录。
详细说明(属性和行为)11.2.1定义系统对象v对象的属性和行为(6)Persistent支持对象的持久存储,可以将对象写入数据库和从数据库中读取对象。
通过OID来检索对象,获得存储、删除、更新对象的方法。
Persistent的子类继承并实现了对数据库的读/写操作。
详细说明(属性和行为)11.2.1定义系统对象v对象的属性和行为(7)OID实现了对象ID。
OID的对象可用来引用系统中的持久对象,使得从数据库中引用和检索对象容易。
由所引用的类的类名和唯一的idNumber组成。
将OID传递给Persistent的方法getObject,可读取数据库对象返回给调用者。
详细说明(属性和行为)11.2.1定义系统对象v类图与时序图
(1)绘制时序图类图与时序图的建立相辅相成,时序图中出现的消息基本上都将成为类中的方法。
因此,在设计阶段,应在设计类图的同时绘制时序图。
(2)识别类的方法绘制时序图时,尽量使用类中已识别出的方法来描述消息,如无法使用这些方法来描述消息,则应考虑该消息是否为类的一个待识别的方法。
若是,则加入到类的方法列表中。
汤文亮11.2.2定义用户界面类v用户界面类
(1)MainWindow系统的主界面,包括菜单和菜单项,不同的菜单项执行不同的操作。
程序退出,主界面窗口关闭。
(2)BorrowerDialog进行操作“添加借阅者”、“修改借阅者”、“删除借阅者”。
汤文亮11.2.2定义用户界面类v用户界面类(3)FindBwrDialog根据借阅者ID来查找借阅者的对话框。
当主窗口中执行“删除借阅者”和“修改借阅者”时,该对话框弹出。
(4)TitleDialog进行操作“添加书种”、“修改书种”、“删除书种”。
调用FindTDialog查询ISBN/ISSN,以调出此对话框。
汤文亮11.2.2定义用户界面类v用户界面类(5)FindTDialog根据书刊种类的ISBN/ISSN信息查找书刊种类的对话框。
(6)BorrowDialog进行借阅操作时所需的对话框。
主窗口中选择借阅,弹出此对话框。
图书管理员输入书刊名、书刊ISBN/ISSN信息和借阅者信息,执行借阅操作,系统保存借阅记录。
汤文亮11.2.2定义用户界面类v用户界面类(7)ReturnDialog还书操作对话框。
操作步骤与BorrowDialog基本相同。
(8)RsvDialog进行操作“预定”、“取消预定”。
汤文亮11.2.2定义用户界面类v用户界面类(9)MessageWindow显示提示信息的窗口。
(10)LoginDialog输入用户名和密码的对话框。
详细说明主编:
汤文亮11.2.3建立类图v建立类图识别了系统中的类后,还需识别出类间的关系,而后即可建立类图。
可将系统中的类大体上分为三类,分别包含在3个包中,GUI包、Library包、DB包。
GUI包由界面类组成,Library包由实体类组成,DB包由数据库相关类组成。
11.2.3建立类图v系统包图主编:
汤文亮11.2.3建立类图用户界面类的类图主编:
汤文亮11.2.3建立类图实体类的类图主编:
汤文亮11.2.3建立类图界面类与实体类关系主编:
汤文亮11.3动态行为模型与物理模型v11.3.1动态行为模型v11.3.2物理模型主编:
汤文亮11.3.1动态行为模型v动态行为模型系统的动态行为模型由交互作用图(时序图和协作图)、状态图和活动图描述。
本系统使用时序图描述用例的主要场景,使用状态图描述对象的动态行为。
汤文亮11.3.1动态行为模型v建立交互作用图描述系统用例的主要场景。
(1)添加借阅者图书管理员选择菜单项“添加借阅者”,对话框弹出,图书管理员输入借阅者信息,提交,系统根据借阅者ID号查询数据