版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实例精解图书管理系统的分析与设计 1 系统需求分析 2 静态结构模型 3 动态行为模型与物理模型1 系统需求分析 1.1 系统需求 1.2 识别参与者 1.3 识别用例 1.4 用例的事件流描述1.1 系统需求系统需求分类(1) 功能性需求:描述系统的功能,即系统可以做什么或被期望做什么;(2) 非功能性需求:描述系统与更好地提供功能需求相关的方面,如性能、安全性等;(3) 可用性需求:描述特定用户在特定环境下有效地、舒服地达到特定目标的程度。1.1 系统需求图书馆图书管理系统的域描述(1) 借阅者帐号:为每个借阅者建立一个帐号,发送借阅卡,存储借阅相关信息;(2) 借阅者操作:借阅书刊、返还
2、书刊、查询书刊信息、预订书刊、取消预订,所有操作与图书管理员交互进行;(3) 系统简化:不考虑书刊的最长借阅期限,假设借阅者可以无限期地保存所借阅的书刊。1.1 系统需求图书管理系统功能性需求(1) 借阅者持有借阅卡;(2) 图书管理员作为借阅者的代理借书;(3) 图书管理员作为借阅者的代理预订书刊;(4) 图书管理员作为借阅者的代理取消预订;(5) 图书管理员作为借阅者的代理还书;(6) 图书管理员可以创建新的借阅者帐户;1.1 系统需求图书管理系统功能性需求(7) 图书管理员可以修改借阅者帐号;(8) 图书管理员可以删除已存在的借阅者帐号;(9) 图书管理员可以添加新书刊种类;(10) 图
3、书管理员可以修改书刊种类信息;(11) 图书管理员可以删除系统中的书刊种类;1.1 系统需求图书管理系统功能性需求(12) 图书管理员可以在系统中添加书刊信息(注意区分“书刊种类”与“书刊”);(13) 图书管理员可以编辑书刊信息;(14) 图书管理员可以删除书刊信息。1.1 系统需求需求分析采用用例驱动的分析方法进行需求分析,主要任务是识别出系统中的参与者和用例,并建立用例模型。本系统中“书刊种类”与“书刊”,对应地用“书刊”和“物理书刊”来表示。1.2 识别参与者识别参与者系统有两个参与者,BorrowerActor(借阅者)和Librarian(图书管理员)。参与者描述(1) Borro
4、werActor描述:借阅者可以借阅、预定、归还物理书刊,还可取消预定。示例:持有借阅卡的任何人或组织。1.2 识别参与者参与者描述(2) Librarian描述:图书管理员维护系统,可以创建、修改、删除借阅者的信息,可以添加、编辑、删除书刊信息,即维护目录,还可添加、编辑、删除物理书刊信息。示例:图书管理员1.3 识别用例识别用例(1) Borrow Book(借书):提供借阅物理书刊的功能。(2) Return Book(还书):提供返还物理书刊的功能。(3) Reserve Book(预定书刊):一般针对种类,而非某个物理拷贝。1.3 识别用例识别用例(4) Cancel Reserva
5、tion(取消预定):提供取消预定功能。(5) Maintain Borrower Info(维护借阅者信息):提供创建、修改、取消借阅者帐号的功能。 (6) Maintain Title Info(维护书刊信息):提供添加、修改、删除书刊信息的功能。1.3 识别用例识别用例(7) Maintain Book Info(维护物理书刊信息):提供添加、修改、删除物理书刊信息的功能。(8) Log In(登录):描述用户如何登录进入软件系统。1.3 识别用例系统用例图1.3 识别用例系统用例图1.4 用例的事件流描述用例的事件流描述描述:事件流描述系统应该做什么,而不是应该如何做,即用域语言描述,
6、而非实验语言描述。文档:事件流文档的建立主要在细化阶段进行。细化步骤:常规流细化流例外流。2 静态结构模型2.1 定义系统对象 2.2 定义用户界面类2.3 建立类图2.1 定义系统对象识别系统对象根据系统需求识别出系统中存在的对象。系统对象的识别可以通过寻找域描述和需求描述中的名词来进行。名词(候选对象)借阅者(Borrower)、物理书刊(Book) 、书刊(Book) 、借阅记录(Loan) 、预定记录(Reservation) 。2.1 定义系统对象确定系统对象判断是否有与该对象相关的身份和行为,是则该候选对象应为系统模型的一个对象。系统对象(1) 借阅者(Borrower)借阅者有身
7、份,比如说身份证可表征其身份;借阅者有相关行为,如借阅、返还、预定等,所以它是系统中的一个对象。2.1 定义系统对象系统对象(2) 书刊(Title)书刊有身份,如ISBN/ISSN可表征其身份;书刊有相关行为,如可被预定或取消预定等,所以它是系统中的一个对象。(3) 物理书刊(Book)物理书刊有身份,如索引号可表征其身份;物理书刊有相关行为,如可被借阅或返还等,所以它是系统中的一个对象。2.1 定义系统对象系统对象(4) 借阅记录(Loan)借阅记录有身份,如同一人借不同的书则记录不同;借阅记录有相关行为,如可被预定或取消预定等,所以它是系统中的一个对象。(5) 预定记录(Reservat
8、ion)预定记录有身份,如同一书刊被不同人预定则记录不同;预定记录有相关行为,如可被创建或删除等,所以它是系统中的一个对象。2.1 定义系统对象数据库相关类以上5个类都是实体类,是持久性的,需要保存在数据库中。为便于在数据库中引用和检索对象,建立一个描述对象id的类(OID);为便于对数据库进行读、写、存储等操作,在5个持久类的基础上抽象出一个持久性父类(Persistent)。2.1 定义系统对象数据库相关类(1) Persistent它是以上5个类的父类。用它来支持对象的持久存储,其子类必须实现从数据库文件中读、写对象属性的操作。(2) OID它实现了对象ID。可用来引用系统中的持久对象,
9、以易于从数据库文件中引用和检索对象。2.1 定义系统对象对象的属性和行为(1) Borrower描述物理借阅者的信息,包括姓名、地址、邮编区号、身份证号码和电话号码。它与BorrowerActor不同,BorrowerActor代表系统外的物理借阅者,而Borrower代表系统中存储的物理借阅者的信息。Borrower继承Persistent并实现数据库读/写操作。 详细说明(属性和行为)2.1 定义系统对象对象的属性和行为(2) Title描述书刊的种类信息,包括书刊名、作者、ISBN/ISSN号等信息。Title可以没有预定记录或有多个预定记录。 Title继承Persistent并实现数
10、据库读/写操作。 详细说明(属性和行为)2.1 定义系统对象对象的属性和行为(3) Book代表可借阅的物理书刊,有两个状态“已借出”和“未借出”。Book与Title对应,一种书刊通常有多本物理拷贝,每个物理书刊使用唯一ID号来区分。 Book继承Persistent并实现数据库读/写操作。 详细说明(属性和行为)2.1 定义系统对象对象的属性和行为(4) Loan描述借阅者从图书馆借阅物理书刊的借阅记录,一个Loan对象对应一个物理书刊。 物理书刊被借阅/返还时,Loan对象被创建/删除。 Loan继承Persistent并实现数据库读/写操作。 详细说明(属性和行为)2.1 定义系统对象
11、对象的属性和行为(5) Reservation当无物理书刊在馆中,借阅者可以预定书刊,在物理书刊返还图书馆时预定者可以优先借阅该物理拷贝。预定者借阅了书刊物理拷贝后,删除预定记录。它继承Persistent并实现数据库读/写操作。 详细说明(属性和行为)2.1 定义系统对象对象的属性和行为(6) Persistent支持对象的持久存储,可以将对象写入数据库和从数据库中读取对象。通过OID来检索对象,获得存储、删除、更新对象的方法。 Persistent的子类继承并实现了对数据库的读/写操作。 详细说明(属性和行为)2.1 定义系统对象对象的属性和行为(7) OID实现了对象ID。OID的对象可
12、用来引用系统中的持久对象,使得从数据库中引用和检索对象容易。由所引用的类的类名和唯一的idNumber组成。 将OID传递给Persistent的方法getObject,可读取数据库对象返回给调用者。 详细说明(属性和行为)2.1 定义系统对象类图与时序图(1) 绘制时序图类图与时序图的建立相辅相成,时序图中出现的消息基本上都将成为类中的方法。因此,在设计阶段,在设计类图的同时绘制时序图。(2) 识别类的方法绘制时序图时,尽量使用类中已识别出的方法来描述消息,如果无法使用这些方法来描述消息,则考虑该消息是否为类的一个待识别的方法。若是,则加入到类的方法列表中。2.2 定义用户界面类用户界面类(
13、1) MainWindow系统的主界面,包括菜单和菜单项,不同的菜单项执行不同的操作。程序退出,主界面窗口关闭。(2) BorrowerDialog进行操作“添加借阅者”、 “修改借阅者” 、 “删除借阅者”。2.2 定义用户界面类用户界面类(3) FindBwrDialog根据借阅者ID来查找借阅者的对话框。当主窗口中执行“删除借阅者”和“修改借阅者”时,该对话框弹出。(4) TitleDialog进行操作“添加书种”、 “修改书种” 、 “删除书种”。调用FindTDialog查询ISBN/ISSN,以调出此对话框。2.2 定义用户界面类用户界面类(5) FindTDialog根据书刊种类
14、的ISBN/ISSN信息查找书刊种类的对话框。(6) BorrowDialog进行借阅操作时所需的对话框。主窗口中选择借阅,弹出此对话框。图书管理员输入书刊名、书刊ISBN/ISSN信息和借阅者信息,执行借阅操作,系统保存借阅记录。2.2 定义用户界面类用户界面类(7) ReturnDialog还书操作对话框。操作步骤与BorrowDialog基本相同。(8) RsvDialog进行操作“预定”、 “取消预定”。操作步骤与BorrowDialog基本相同。2.2 定义用户界面类用户界面类(9) MessageWindow显示提示信息的窗口。(10) LoginDialog输入用户名和密码的对话
15、框。详细说明2.3 建立类图建立类图识别了系统中的类后,还需识别出类间的关系,而后即可建立类图。可将系统中的类大体上分为三类,分别包含在3个包中,GUI包、Library包、DB包。GUI包由界面类组成,Library包由实体类组成,DB包由数据库相关类组成。2.3 建立类图系统包图2.3 建立类图用户界面类的类图2.3 建立类图实体类的类图2.3 建立类图界面类与实体类关系2.3 建立类图界面类与实体类关系2.3 建立类图界面类与实体类关系2.3 建立类图界面类与实体类关系3 动态行为模型与物理模型3.1 动态行为模型3.2 物理模型3.1 动态行为模型动态行为模型系统的动态行为模型由交互作
16、用图(时序图和协作图)、状态图和活动图描述。本系统使用时序图描述用例的主要场景,使用状态图描述对象的动态行为。3.1 动态行为模型建立交互作用图描述系统用例的主要场景。(1) 添加借阅者图书管理员选择菜单项“添加借阅者”,对话框弹出,图书管理员输入借阅者信息,提交,系统根据借阅者ID号查询数据库,看数据库中是否已存在借阅者,若不存在,创建借阅者帐号,并存储借阅者信息。3.1 动态行为模型添加借阅者3.1 动态行为模型建立交互作用图(2) 删除借阅者图书管理员选择菜单项“删除借阅者”,查询对话框弹出,图书管理员输入借阅者ID号,系统查询数据库,显示借阅者信息,按下删除按钮,系统确定是否存在与该借
17、阅者相关的借阅记录,若有,给出提示信息,结束删除操作,若无,查询是否存在与该借阅者相关的预定记录,有则删除预定记录。而后从系统中删除借阅者。3.1 动态行为模型删除借阅者3.1 动态行为模型建立交互作用图(3) 添加书种图书管理员选择菜单项“添加书种”,对话框弹出,图书管理员输入书刊名、ISBN/ISSN、作者等信息,提交,系统根据ISBN/ISSN号查询书种信息是否已存在,若不存在,创建书种,并存储书种信息。3.1 动态行为模型添加书种3.1 动态行为模型建立交互作用图(4) 删除书种图书管理员选择菜单项“删除书种”,对话框弹出,图书管理员输入书刊的ISBN/ISSN号,提交,系统查询数据库
18、,显示书刊信息。检查物理书刊是否有借出,如有,给出提示信息,结束删除动作;若无,删除物理书刊信息。检查是否有预定记录,若有,删除预定记录并通知借阅者。确认后删除书种。3.1 动态行为模型删除书种3.1 动态行为模型建立交互作用图(5) 添加物理书刊图书管理员选择菜单项“添加物理书刊”,对话框弹出,图书管理员输入书刊的ISBN/ISSN号,提交,系统查询数据库,显示书刊信息,图书管理员添加物理书刊,单击按钮确认添加,系统创建并存储物理书刊对象,而后将物理书刊添加到书刊种类中,更新书刊种类信息。3.1 动态行为模型添加物理书刊3.1 动态行为模型建立交互作用图(6) 删除物理书刊图书管理员选择菜单
19、项“删除物理书刊”,对话框弹出,图书管理员输入书刊的ISBN/ISSN号,提交,系统查询数据库,显示书刊信息,图书管理员从物理书刊列表中删除物理书刊,单击确认按钮删除,系统删除物理书刊对象,并从书刊种类信息中删除物理书刊,最后更新书刊种类信息。3.1 动态行为模型删除物理书刊3.1 动态行为模型建立交互作用图(7) 预定书刊图书管理员选择菜单项“预定书刊”,对话框弹出,图书管理员输入书刊和借阅者信息,提交。系统查询数据库,确定该种书刊是否存在。若存在,确定借阅者是否有效;若不存在,则显示提示信息,图书管理员重新输入书刊信息或终止预定操作。3.1 动态行为模型建立交互作用图(7) 预定书刊若借阅
20、者有效,创建并存储预定记录,并将预定记录添加到相应的借阅者和书刊种类信息中;若借阅者无效,则显示提示信息,图书管理员重新输入借阅者信息或终止预定操作。3.1 动态行为模型预定图书3.1 动态行为模型建立交互作用图(8) 取消预定图书管理员选择菜单项“取消预定”,对话框弹出,图书管理员输入书刊和借阅者信息,提交,系统查询数据库,确定该种书刊是否存在,若存在,确定借阅者是否有效,若有效,确定预定记录是否存在,若存在从借阅者和书刊种类信息中删除预定记录,并更新借阅者和书刊种类信息,最后删除预定记录。3.1 动态行为模型取消预定3.1 动态行为模型建立交互作用图(9) 借书图书管理员选择菜单项“借阅”
21、,对话框弹出,图书管理员输入书刊和借阅者信息,提交,系统查询数据库,确定该种书刊是否存在,若存在,确定是否有可借阅的物理图书,如有,确定借阅者是否有效,若有效,创建并存储借阅记录,并将借阅记录添加到物理书刊和借阅者信息中,更新物理书刊和借阅者信息。3.1 动态行为模型借书3.1 动态行为模型建立交互作用图(10) 还书图书管理员选择菜单项“还书”,对话框弹出,图书管理员输入物理书刊的ID号,提交,系统查询数据库,确定指定ID号的物理书刊是否存在,若存在,确定是否有借阅记录,若有,从物理书刊和借阅者信息中删除借阅记录,更新物理书刊和借阅者信息。最后,删除借阅记录。3.1 动态行为模型还书3.1
22、动态行为模型建立交互作用图(11) 登录图书管理员运行系统,弹出登录对话框。管理员输入用户名和密码,提交,在验证用户名和密码后正确后,启动系统,显示系统主界面。3.1 动态行为模型登录3.1 动态行为模型建立状态图(1) Book对象状态图对象BooK有两个状态,“Loaned”(借出)状态和“Unloaned”(未借出)状态。对象Book开始处于“Unloaned”状态,当事件“borrow()”(借书)发生时,对象跃迁到“Loaned”状态,同时执行动作loan.store()将借阅记录存储到数据库中。如果对象处于”Loaned”状态,事件“return()”(还书)发生,对象Book返回状态“unloaned”,同时执行动作loan.delete()从数据库中删除借阅记录。3.1 动态行为模型建立状态图(1) Book对象状态图3.1 动态行为模型建立状态图(2) Title对象状态图对象Title有两个状态,“Reserved”(预定)状态和“Unreserved”(未预定)状态。对象Title开始处于“Unreserved”状态,当事件“reserve()”(预定)发生时,对象跃迁到“Reserved”状态,同时执行动作reservation.store()将预定记录存储
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年全国税务系统企业所得税业务知识试题及答案
- 幕墙施工方案动画制作(3篇)
- 柔性防水宝施工方案(3篇)
- 泵管搭设施工方案(3篇)
- 湖泊生态护岸施工方案(3篇)
- 生态植物墙面施工方案(3篇)
- 砭石疗法营销方案(3篇)
- 红砖清水漆施工方案(3篇)
- 路基灰土垫层施工方案(3篇)
- 酸化现场应急预案(3篇)
- 2026年湖南省长沙市初二地理生物会考真题试卷(+答案)
- (2025年)镇雄县辅警协警笔试笔试真题(附答案)
- 湖北省2025年普通高中学业水平选择性考试政治试题(解析版)
- 第23课 医疗设施新功能 课件 2025-2026学年人教版初中信息科技八年级全一册
- 万邑通在线测评题库及答案
- 内蒙古自治区矿山地质环境治理工程预算定额标准
- 露天矿山施工组织设计方案
- MOOC 无机非金属材料工学-南京工业大学 中国大学慕课答案
- 血细胞分析课件
- 手术麻醉安全管理及护理配合课件
- 劳动纠纷应急预案
评论
0/150
提交评论