版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
面向对象课程设计——图书馆管理系统.ppt目录第1章建立需求模型第2章建立基本模型第3章建立辅助模型
3.1建立包图
3.2建立顺序图
3.3建立活动图
3.4建立状态图
3.5建立协作图Date2第1章建立需求模型1.1系统功能需求分析系统的功能需求包括以下几个方面:(1)借阅者可以通过网络查询图书信息和预定图书。(2)借阅者能够借阅图书和还书。(3)图书管理员能够处理借阅者的借阅和还书请求。(4)系统管理员可以对系统的数据进行维护,如增加、删除和更新书目,增加、删除和更新借阅者账户,增加和删除图书。Date3满足上述需求的系统主要包括以下模块:(1)基本数据维护模块。该模块提供了使用者录入、修改并维护基本数据的途径。例如对借阅者的、图书的各项信息的更新与修改。(2)基本业务模块。主要用于实现用户借书与还书的管理,例如借阅者可以登录系统预定图书,图书管理员可以取消图书的预定,当然还可以进行借书、还书等操作。(3)数据库管理模块。在系统中,所有图书的信息以及借阅者的账户信息都要统一管理,图书的借阅情况、预定情况也要进行详细的记录,所以要用统一的数据库平台进行管理。(4)信息查询模块。主要用于查询图书的信息和借阅者的信息。Date4上述4个模块又分别包含几个子模块:(1)基本数据维护模块1)添加借阅者信息。系统管理员可以添加借阅者账户。2)修改更新借阅者信息。系统管理员可以修改更新借阅者信息。3)添加书目信息。系统管理员可以添加书目。4)修改更新书目信息。系统管理员可以修改和更新书目信息。5)添加图书信息。系统管理员可以添加图书。6)删除图书信息。系统管理员可以删除图书。Date5(2)基本业务模块1)借书。处理借书业务。2)还书。处理还书业务。3)图书预订。借阅者可以通过网络进行图书预定。4)取消图书预定。图书馆管理员可以根据情况取消图书预订,如果借阅者已经借了此书或者借阅者要求取消预定都涉及此项业务。Date6(3)数据库模块1)借阅信息管理。图书借阅信息包括所借书的书名、ISBN以及借书的时间等。2)图书信息管理。图书信息包括图书的名字、ISBN、作者、入库时间以及图书在相应书目下的编号等。3)账户信息管理。账户信息包括借阅者的账户ID、姓名、地址、邮编和所借图书的书目等。4)图书预订信息管理。负责管理图书预订信息。Date7(4)信息查询模块1)查询图书信息。负责图书信息的查询。2)查询借阅者信息。负责借阅者信息的查询。Date81.2画用例图用例图在需求分析阶段有着很重要的作用,它是作为参与者的外部用户所能观察到的系统功能的模型图。整个开发过程都是围绕需求阶段的用例进行的。一、创建用例图之前首先需要确定参与者:(1)作为一个图书馆管理系统,首先需要读者(借阅者)的参与,读者可以登录系统查询所需要的图书,查到所需图书后可以考虑预定,当然最重要的是借书、还书操作。Date9(2)对于系统来说,读者发起的借书、还书等操作最终还需要图书馆管理员来处理,它们还可以负责图书的预定和预定取消。(3)对于图书馆管理系统来说,系统的维护也是相当重要的。维护操作主要包括增加书目,删除或更新书目,增加图书和减少图书等操作,这些需要系统维护者来做。由以上分析可以看出,系统的参与者主要有3类:读者(借阅者)(Borrower)、图书馆管理员(Librarian)、图书馆管理系统维护者(Administrator)。Date10二、确定了参与者之后,下面来确定用例。识别用例最好的方法就是从分析系统的参与者开始,考虑每个参与者是如何使用系统的,从而针对每个参与者建立用例图。(也可以根据参与者之间的关系将系统的用例图合为一张,这样画出的用例图略显复杂,本节为简单起见,将系统的用例图分为3个,分别画。)Date111、借阅者(Borrower)请求服务的用例图借阅者请求服务的用例图包含如下用例:(1)登录系统(Logonthesystem)。借阅者可以登录系统查询图书信息、个人借阅信息以及预定图书。(2)查询自己的借阅信息(QueryInfo)。借阅者可以查询自己的借阅信息,例如已借图书的信息,所借图书应归还的最后期限等。(3)查询图书信息(Searchforbook)。借阅者可以查询书库里的图书信息,例如自己所要借的书是否存在,图书的索书号等。Date12(4)预订图书(Reservethebook)。如果查到自己想借的书,就可以登录系统进行预订。(5)借阅图书(Borrowthebook)。如果想借的书状态为可借,就可以借阅。(6)归还图书(Returnthebook)。如果借阅者所借图书超过借阅期限未还,还书的时候就要交纳一定的罚金(ReturnWithFine)。具体画法:Date13首先:建立UML初始模型选择菜单【File->New】,出现【CreateNewModel】对话框,单击【Cancel】按钮。(或重新打开Rose软件也可打开)此时,就可以开始设计自己的模型了,在此之前应该保存该模型,并且将模型取名为“图书馆管理系统”。Date14在RationalRose中,在【UseCaseView】图标上单击右键,在弹出的菜单中选择【New】->【UseCaseDiagram】。此时,在【UseCaseView】树形结构下多个一个名为【NewDiagram】的图标,就是新建的用例图的图标,给它取个有意义的名字【BorrowerUseCase】。双击【BorrowerUseCase】。在【UseCaseDiagram:UseCaseView/BorrowerUseCase】工具栏中,选择(单击)相应图标,然后,在编辑区(空白区)内单击。给各种图形元素取名称,添加各种关系。其次:画用例图Date15如图所示:UseCaseView中的用例图BorrowerUseCase延伸用例基用例基用例被包含用例Date16画好用例图后,可以给每个图形元素加规约。在OOA各模型中,图形直观地表达了系统的总体结构、基本成分、每个成分内部的主要特征以及彼此之间的关系。但是,只靠这些图形文档还不足以详细、精确地表达建模阶段应该给出的全部系统信息。在软件工程中,各种分析与设计方法一般都需要在以图形方式表达系统模型的同时,又以文字的方式对模型进行解释和说明。对面向对象的建模中产生的模型所做的详细解释与说明,称之为模型规约(modelspecification)。再次:添加用例规约Date17Rationalrose软件可以结合RequisitePro(一种最常见的需求和用例管理工具)来创建用例规约文档。前提是要将Rose模型与RequisitePro项目相关联。但由于缺少RequisitePro,因此缺少一些功能,无法描述有关用况的文档。如图所示。缺少内容:UseCaseDocument,建立新的用例文档或将该用例与已有RequisitePro用例相关联。RequirementProperties,查看和编辑该用例的属性及可追踪性。ViewRequisiteProAssociation,查看该用例的RationalRequisitePro上下文。添加用例规约的方法Date18但是可以通过以下方法描述用例:1、详细说明和事件流可以写在usercasespecification的Documentation中。(在本例中:在《图书馆管理系统1.mdl》文件中,Usecaseview中的参与者Borrower的用例图BorrowerUseCase中,用例BorrowBook的usercasespecification的Documentation中)添加用例规约的方法(续)看《模型规约举例.mdl》文件。用例图:“用例规约举例”Date19添加用例规约的方法(续)2、用活动图来替代。(例如:在《图书馆管理系统1.mdl》文件中,LogicalView中BusinessPackage包中Borrower类中State/ActivityModel4中的BorrowActivity)Date203、可以打开UseCaseSpecification,在Files列表中使用右键菜单insert一个文件。该文件可以是word等文字处理软件。下面来看一下如何写用例:对于用例描述的内容,一般没有硬性规定的格式,但一些重要的内容还是必须要写进用例描述里面的。用例描述一般包括:简要描述:对用例的角色、目的的简要描述;前置条件:执行用例之前系统必须要处于的状态,或要满足的条件;添加用例规约的方法(续)Date21基本事件流:描述该用例的基本流程,指每个流程都“正常”运作时所发生的事情,没有所有备选流和异常流,而只有最有可能发生的事件流;其他事件流:表示这个行为或流程是可选的或备选的,并不是总要执行他们;异常事件流:表示发生了某些非正常的事情所要执行的流程;后置条件:用例一旦执行后系统所处的状态。添加用例规约的方法(续)(例如:在《图书馆管理系统1.mdl》文件中,Usecaseview中的参与者Borrower的用例图BorrowerUseCase中,用例BorrowBook的usercasespecification的Files中)Date222、图书馆管理员(Librarian)处理借书、还书等的用例图包含如下用例:(1)处理图书借阅(Lendbook)。图书馆管理员可以处理借阅者的借书请求。借书之前需检查用户借阅凭证的合法性(CheckUserAccount)。(2)处理图书归还(Getbook)。图书管理员可以处理借阅者的还书请求。还书时对超期的要收取罚金(GetWithFine)。(3)删除预订信息(RemoveReservation)。图书管理员可以删除借阅者的图书预订信息。Date23如图所示:UseCaseView中的用例图LibrarianUseCaseDate243、系统管理员(Administrator)进行系统维护的用例图包含如下用例:(1)查询借阅者信息(QueryBorrowerInfo)。系统管理员可以查询借阅者的基本信息和借阅信息。(2)查询图书信息(QueryBookInfo)。可以查询书库里的图书信息。(3)增加书目(AddTitle)。可以向书库里增加书目。(指某一本(类)书的书名、作者等详细信息。)(4)删除书目(RemoveTitle):可以从书库中删除书目。Date25(5)更新书目(UpdateTitle)。可以从书库中更新书目。(6)增加图书(AddBook)。可以向书库中增加图书。(指某个书目下具体几本图书。)(7)删除图书(RemoveBook)。可以从书库中删除图书。(8)添加借阅者账户(AddBorrower)。可以向系统中添加借阅者账户。(9)删除借阅者账户(RemoveBorrower)。可以删除借阅者账户。(10)更新借阅者账户(UpdateBorrower)。可以更新借阅者账户。Date26如图所示:UseCaseView中的用例图AdministratorUseCaseDate27第2章建立基本模型类图的设计是系统设计中最核心的部分。在图书馆管理系统中用到的主要类有7个:Book、Title、Loan、Reservation、Borrower、Administrator和Librarian,前5个类之间有一定的关系。1、参与者相关的类(1)Borrower类是借阅者的类,它的属性很多,包括借阅者的账户ID(UserID)、姓名(Name)、地址(Address)、邮编(Zip)、所借图书的书目(borrow_number)等。其中主要操作有借书(borrow)和还书(return_back)。Date28(2)Librarian类是图书管理员的类,包括工作账号(WorkID)、名字(Name)和地址(Address)等属性。(3)Administrator类是系统管理员类,包括工作账号(WorkID)属性。2、系统中用到的其他类(1)Title类是记录书目信息的类,包括图书的名字(name)、作者(author)、ISBN、此种图书的总数量(total_number)、借出的数量(borrowed_number)、是否允许借出(isAllowForBorrow)等属性。Date29(2)Book类是具体某本书的类,属性包括图书号(id)。操作包括预订(reserve)、按书目查找(find_on_title)等。(3)Loan类是某本书的借阅信息类,包括所借阅图书的ISBN、借阅的时间(date)等。(4)Reservation类是预订信息类,每个预订信息包括预订日期(date)、所预订图书的ISBN、预订图书的用户ID(UserID)等属性。Date303、各类之间的关系Title类是书库里的一条记录,而Book类则是指具体的图书。现实世界里,每条记录都会有多本书存在,所以Title与Book之间是一对多的关系,但是也可以没有具体的书;Title与Reservation之间也是一对多的关系,也就是说Title可以有多个预订记录,但是也可以没有预订记录;Book与Reservation之间是一对一的关系,不可能存在同一本书被两个人预订的情况;Borrower与Loan以及Borrower与Reservation之间是一对多的关系。Date31具体画法:在【RationalRose】中,在【LogicView】逻辑视图图标上单击鼠标右键,从弹出的菜单中选择【New】->【ClassDiagram】。此时,在【LogicView】树形结构下多个一个名为【NewDiagram】的图标,就是新建的用例图的图标,给它取个有意义的名字,如【LibraryClass】。双击【LibraryClass】。在【ClassDiagram:LogicalView/LibraryClass】工具栏中,选择(单击)相应图标,然后,在编辑区(空白区)内单击。给各种图形元素取名称,添加各种关系。Date32如图所示:LogicalView中BusinessPackage包中类图LibraryClassDate33第3章建立辅助模型3.1建立包图创建包的具体画法:在【RationalRose】中,在【LogicView】节点上单击鼠标右键,在弹出的菜单中选择【New】->【Package】,就可以建立包。例如,本例中可以创建一个包【BusinessPackage】。然后将包的图标用鼠标拖到右边的绘制区域,此时,在绘图区可以看到创建的包的图标,如图所示:Date34增加包的信息:将想要加入该包的类分别用鼠标左键单击拖到包中。在包的图标上单击鼠标右键,选择【SelectCompartmentItems】,出现【EditCompartment】对话框,选中要加入包的类,按【>>>>】或【All>>】按钮,加入包中。如图所示:(包变为后图)。Date353.2建立顺序图顺序图按时间顺序描述系统元素之间的交互。在图书馆管理系统中,每个用例都可以建立一个顺序图,将用例执行中各个参与的对象之间的消息传递过程表现出来。具体画法:在RationalRose中,在【UseCaseView】图标上单击鼠标右键,在弹出的菜单中选择【New->SequenceDiagram】。在出现的新图标上双击,出现顺序图的绘图区。在工具栏上选择相应图标绘制。Date36图书馆管理系统的顺序图主要有如下几个:1、系统管理员添加图书的顺序图2、系统管理员添加借阅者账户的顺序图3、系统管理员添加书目的顺序图4、系统管理员删除书目的顺序图5、系统管理员更新书目的顺序图6、系统管理员删除借阅者账户的顺序图7、系统管理员更新借阅者账户的顺序图8、图书管理员处理图书借阅的顺序图9、图书管理员处图书归还的顺序图10、借阅者查询图书信息的顺序图11、借阅者预订图书的顺序图下面,只选择其中2个举例画:Date37图Bor_ResBook_Seq中,Login()是登陆系统的函数,find(String)是查找相应图书的函数,reserve()是预订图书的函数。1、借阅者预订图书的顺序图Date38图Adm_DelTitle_Seq中,MaintenaceWindow为系统维护窗口,find(String)是书目类的查询函数,find_on_title(Title)是查找此书目下图书信息的函数,destroy()是分别删除书目和图书信息的函数。2、系统管理员删除书目的顺序图Date393.3建立活动图活动图描述活动是如何协同工作的。当一个操作必须完成一系列事情,而又无法确定以什么样的顺序来完成这些事情时,活动图可以更清晰地描述这些事情。具体画法:在RationalRose中,在【LogicalView】的图标上单击鼠标右键,在弹出的菜单中选择【New->ActivityDiagram】。双击新出现的活动图图标后,出现绘图区域。在图书馆管理系统中,有明确活动的类包括:借阅者、图书馆管理员和系统管理员。可以在系统中为这3个类建立活动图。Date401、借阅者的活动图借阅者进行自助服务时,可以首先登陆系统,然后进行书目查询、图书信息查询、图书预订等活动,也可以先查询书目和图书信息后登陆系统预订图书。图中,Self-helpService是打开图书馆负责自助服务的计算机;Searchforbooks是查询需要的图书;Login是登陆管理系统;Viewbookinformation是查看图书信息;Reservethebook是预订图书;exitsystem是退出系统;LeaveComputer是离开自助服务的计算机。Date41图书管理员可以处理两种情况,借书操作和还书操作。当用户借书时,图书管理员要查看借阅者借书凭证上显示的可借书的数目是否满足要求;当用户还书时,图书管理员要检查所借图书是否已经超过期限,如果超期,要收取一定的罚金。图中,Loginthesystem是图书管理员登陆系统;Getbook是处理还书操作;Lendbook是处理借书操作;Update是更新借阅者借阅凭证上的信息;Acceptmoney是收取罚金。2、图书管理员的活动图Date42系统管理员登陆系统后,可以进行查询借阅者信息、添加借阅者账户、删除或更新借阅者账户等活动。图中,Login是登陆系统;operate是对借阅者操作;Query是查询信息;New是添加信息;Remove是删除信息;Exit是退出系统。3、系统管理员的活动图(内容比较多,分3个图:)(1)系统管理员维护借阅者账户的活动图Date43(2)系统管理员维护书目信息的活动图Date44(3)系统管理员维护图书信息的活动图Date453.4建立状态图具体画法:在RationalRose中,右键单击【LogicView】,在弹出的菜单中选择【New->StatechartDiagram】。双击新建的状态图图标,进入绘图区。在图书馆管理系统中,有明确状态转换的类有:图书
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论