资源描述
UML分析与设计:图书管理系统,李润知2014-5-16,学习内容,需求分析创建系统用例模型创建系统静态模型创建系统动态模型创建系统部署模型,需求分析,图书管理系统是一个面向学校图书馆用来进行图书管理的管理信息系统(MIS)。该信息系统能够方便的为借阅者提供各种借阅服务,也能够为图书管理员和系统管理员提供方便的管理服务。图书管理系统的功能性需求包括以下内容:(1)图书管理系统能够为一定数量的借阅者提供服务。每个借阅者能够拥有唯一标识其存在的编号。图书馆向每一个借阅者发放图书证,图书证中包含每一个借阅者的编号和个人信息。系统通过一个单独的程序为借阅者提供服务,不需要管理人员的干预,这些服务包括提供查询图书信息、查询个人信息服务和预定图书服务等。(2)当借阅者需要借阅书籍、归还书籍时需要通过图书管理员进行,也就是说借阅者不直接与系统交互,而是图书管理员充当借阅者的代理与系统交互。当借阅者借阅的图书数量超过限制时,不运行借阅者再进行借阅。当借阅者借阅的图书超过一定的期限时,需要对其进行处罚。借阅图书时需要图书证作为凭据,归还时不需要。(3)系统管理员负责系统的管理维护工作,维护工作包括图书的添加、删除和修改,书目的添加和删除,借阅者的添加、删除和修改,并且系统管理员能够查询借阅者、图书和图书管理员的信息。(4)查询图书可以通过图书的名称或图书的ISBN/ISSN号进行查找。,4,需求分析,功能性需求:(1)借阅者持有借阅卡(借阅者名和借阅卡号)。(2)图书管理员作为借阅者的代理借书。(3)图书管理员作为借阅者的代理预订书刊。(4)图书管理员作为借阅者的代理取消预订。(5)图书管理员作为借阅者的代理还书。(6)图书管理员可以创建新的借阅者账户。(7)图书管理员可以修改借阅者的账户信息。(8)图书管理员可以删除已存在的借阅者账户。(9)图书管理员可以添加新书刊种类。(10)图书管理员可以修改书刊种类信息。(11)图书管理员可以删除系统中的书刊种类。(12)图书管理员可以在系统中添加书刊信息(注意区分“书刊种类”与“书刊”)。(13)图书管理员可以编辑书刊信息。(14)图书管理员可以删除书刊信息。,创建系统用例模型,1.借阅者用例图借阅者能够通过该系统进行如下活动:(1)查询书籍信息。借阅者可以通过图书名称或ISBN/ISSN号查找图书的详细信息。(2)登录自助系统。借阅者能够根据自己图书证编号和相关密码登录自助机器,查询图书信息、个人信息和进行图书预定。(3)查询借阅者信息。每一个借阅者都可以通过自助机器在登录后查询自己的信息,但是不允许在未授权的情况下查询其他人信息。(4)预定图书。在登录自助机器后,借阅者可以预定相关书籍内容。(5)借阅书籍。借阅者可以通过图书管理员借阅相关书籍。(6)归还书籍。借阅者通过图书管理员归还书籍,如果未按时归还,需要交纳罚金。,创建系统用例模型,2.图书管理员用例图图书管理员能够通过该系统进行如下活动:(1)处理借阅。借阅者可以通过图书管理员借阅书籍。当图书管理员处理借阅时,需要检查用户的合法性,如果不合法,不允许借阅书籍。如果之前该图书已经被该借阅者预定,需要删除该图书的预定信息。(2)处理归还。借阅者可以通过图书管理员归还书籍。当借阅者借阅的书籍超过一定的期限时,图书管理员需要收取罚金。,创建系统用例模型,3.系统管理员用例图系统管理员能够通过该系统进行如下活动:(1)查询书籍信息。系统管理员有权限去查询各种图书的信息。(2)添加书籍。书籍的添加是通过系统管理员进行的,图书添加时,要输入书籍的详细信息。(3)删除书籍。书籍的删除也是通过系统管理员进行的,图书删除时,书籍的所有信息将被删除。(4)修改书籍。书籍的信息可以被系统管理员进行修改。(5)查询读者信息。系统管理员有权限去查询读者的信息。(6)添加读者。读者的添加是通过系统管理员进行的,读者被添加时,要输入读者的详细信息。(7)删除读者。读者的删除也是通过系统管理员进行的,读者被删除时,读者的所有信息将被删除。(8)修改读者信息。读者的信息可以被系统管理员进行修改。(9)添加书目。书目的添加是通过系统管理员进行的,书目被添加时,要输入书目的描述信息。(10)删除书目。书目的删除也是通过系统管理员进行的,书目被删除时,所有关于该书目的图书信息的书目内容将被清空。,8,用例的事件流描述:例,1借阅物理书刊(BorrowBook)1.1前置条件(Pre-Conditions)在这个用例开始前,Librarian必须登录到系统中。1.2后置条件(Post-Conditions)如果这个用例成功,在系统中建立并存储借阅记录,如果必要还要删除预订记录。反之,系统的状态没有变化。1.3扩充点(ExtensionPoints)没有。1.4事件流1.4.1基流(BasicFlow)当借阅者从图书馆借阅物理书刊时,用例启动。如果Librarian选择“借书”,则执行分支流S-1:借阅物理书刊。如果所借的物理书刊是经过预订的,则执行分支流S-2:通过预订借阅物理书刊。1.4.2分支流(Subflows)S-1:借阅物理书刊(1)提供书刊种类、借阅者信息。(2)检索书刊种类(Title)(E-1)。(3)确定所借阅的物理书刊是否可以获得(E-2),也即物理书刊是否都已借出。,9,用例的事件流描述:例,(4)检索借阅者(E-3)。(5)图书馆将物理书刊借给借阅者。(6)创建借阅记录。(7)存储借阅记录。S-2:通过预订借阅物理书刊(1)提供书刊种类、借阅者信息。(2)检索书刊种类(Title)(E-1)。(3)检索借阅者(E-3)。(4)确定该种类书刊的物理拷贝是否可以获得(E-2)。(5)将物理书刊发给借阅者。(6)创建借阅记录。(7)存储借阅记录。(8)删除预订记录。1.4.3替代流(AlternativeFlow)E-1:该种书刊不存在,系统显示提示信息,用例终止。E-2:物理书刊都已借出,系统显示提示信息,用例终止。E-3:系统中不存在该借阅者,系统显示提示信息,用例终止。,10,用例的事件流描述:例,5维护借阅者信息(MaintainBorrowerInfo)5.1前置条件(Pre-Conditions)在这个用例开始前,Librarian必须登录到系统中。5.2后置条件(Post-Conditions)如果这个用例成功,系统添加、修改或删除借阅者信息。反之,系统的状态没有变化。5.3扩充点(ExtensionPoints)没有。5.4事件流5.4.1基流(BasicFlow)当Librarian想维护借阅者信息时,用例启动,系统要求Librarian选择所想执行的活动(添加借阅者、删除借阅者、或修改借阅者)如果所选的活动是“添加借阅者”,则执行分支流S-1:添加借阅者。如果所选的活动是“删除借阅者”,则执行分支流S-2:删除借阅者。如果所选的活动是“修改借阅者”,则执行分支流S-3:修改借阅者。5.4.2分支流(Subflows)S-1:添加借阅者(1)提供借阅者的信息,如姓名、地址、邮政编码和身份证号码等。(2)系统存储借阅者信息(E-1)。,11,用例的事件流描述:例,S-2:删除借阅者(1)提供借阅者的信息。(2)查询借阅者(E-2)。(3)查询借阅者的借阅记录(E-3)。(4)从系统中删除借阅者的信息,以及借阅者的预订记录。S-3:更改借阅者(1)提供借阅者的信息。(2)查询并显示借阅者的信息(E-2),修改相应的信息。(3)更新系统中借阅者的信息。5.4.3替代流(AlternativeFlow)E-1:若借阅者已存在,系统显示提示信息,用例终止。E-2:若查询不到借阅者,系统显示提示信息,用例终止。E-3:若存在借阅记录,系统显示提示信息,用例终止。,创建系统静态模型,在获得系统的基本需求用例模型以后,我们通过考察系统对象的各种属性,创建系统静态模型。首先,我们先确定系统的参与者的属性。系统管理员登录系统,需要提供系统管理员的用户名称和密码,因此每一个系统管理员应该拥有用户名称和密码属性,我们命名为administartorName和passwords。同理,图书管理员也一样,我们命名为librarianName和passwords。对于每一个借阅者,我们对每一个借阅者进行了一个图书编号,图书证中包含借阅者的名称、地址等,不同类型的借阅者可以借阅不同数目的图书,并且,不同的借阅者允许借阅和预定的天数也是不一样的。借阅者登录自助系统的时候需要密码,因此,我们可以创建借阅者编号userId、借阅者名称name、借阅者地址address、最大允许借阅书籍数目maxBooks、最大借阅日期maxBorrowDays、密码paddwors和最大预定天数maxReserveDays。,创建系统静态模型,其次,我们可以确定在系统中的主要业务实体类,这些类通常需要在数据库中进行存储。例如,我们需要存储图书的信息,因此需要一个图书类,同样,预定信息我们可以确定预定类;借阅信息可以确定借阅类;对于书目信息的存储同样需要一个书目类。在确定需要的这些存储类后,我们需要确定这些类的主要属性。,创建系统动态模型,1.借阅者查找图书序列图和交互图工作流程如下:(1)借阅者希望通过系统查询某本图书的信息。(2)借阅者通过自助系统用户界面SearchBookWindow录入图书的ISBN/ISSN号请求查找图书信息。(3)用户界面SearchBookWindow根据图书的ISBN/ISSN号将Book类实例化并请求图书信息。(4)Book类实例化对象根据图书的ISBN/ISSN号加载图书信息并提供给用户界面SearchBookWindow。(5)用户界面SearchBookWindow向读者显示图书信息。,创建系统动态模型,2.借阅者查询个人信息序列图和交互图工作流程如下:(1)借阅者希望通过系统查询个人信息。(2)借阅者通过自助系统用户登录界面LoginWindow录入图书证编号请求查找个人信息。(3)用户登录界面LoginWindow根据图书证编号将Borrower类实例化并返回给用户信息显示界面PersonInfoWindow。(4)用户信息显示界面PersonInfoWindow向借阅者显示借阅者信息。,创建系统动态模型,3.借阅者预订图书序列图和交互图工作流程如下:(1)借阅者希望通过系统预定某本图书。(2)借阅者通过自助系统预定界面ReserveWindow录入图书的名称或ISBN/ISSN号请求查找该图书。(3)预定界面ReserveWindow根据图书的名称或ISBN/ISSN号将Book类实例化并返回图书信息。(4)预定界面ReserveWindow将图书信息添加到预定中,并返回是否预定成功信息。(5)预定界面ReserveWindow向读者显示是否预定成功信息。,创建系统动态模型,4.图书管理员处理借阅序列图和交互图工作流程如下:(1)借阅者希望通过图书管理员借阅某本图书。(2)借阅者将图书证和图书交给图书管理员。(3)图书管理员将读者图书证编号录入借阅图书界面LendBookWindow。并根据图书的ISBN/ISSN号将Book类实例化并显示图书信息。(4)借阅图书界面LendBookWindow根据图书的ISBN/ISSN号将Book类实例化并加载图书信息。(5)借阅图书界面LendBookWindow将图书信息和读者信息添加到借阅实例中。(6)借阅实例检查读者的借书数目,并添加借阅信息,返回借阅是否成功。(7)借阅图书界面LendBookWindow显示是否成功。(8)图书管理员将图书证和图书归还给借阅者。,创建系统动态模型,5.图书管理员处理还书序列图和交互图工作流程如下:(1)借阅者希望通过图书管理员归还所借书籍。(2)借阅者将所借图书交给图书管理员。(3)图书管理员通过归还图书界面SearchBookWindow根据图书的ISBN/ISSN号将Book类实例化并请求图书信息。(4)Book类实例化对象根据图书的编号请求Loan对象删除借阅信息。(5)Loan对象检查借阅图书是否超期。(6)Loan对象删除借阅信息。(7)Loan对象返回是否成功删除借阅信息。(8)归还图书界面SearchBookWindow提示归还是否成功显示。,创建系统动态模型,6.系统管理员查询书籍序列图和交互图工作流程如下:(1)系统管理员在登录后希望通过管理系统查询某本图书的信息。(2)系统管理员通过管理系统查询图书界面SearchBookWindow录入图书的ISBN/ISSN号请求查找图书信息。(3)查询图书界面SearchBookWindow根据图书的ISBN/ISSN号将Book类实例化并请求图书信息。(4)Book类实例化对象根据图书的ISBN/ISSN号加载图书信息并提供给查询图书界面SearchBookWindow。(5)查询图书界面SearchBookWindow向统管理员显示图书信息。,创建系统动态模型,7.系统管理员添加图书序列图和交互图工作流程如下:(1)系统管理员希望通过系统添加某些图书。(2)系统管理员通过添加书籍界面AddBookWindow添加图书信息。(3)系统管理员通过添加书籍界面AddBookWindow选择图书的书目信息。(3)系统管理员通过添加书籍界面AddBookWindow添加图书的其它描述信息。(4)添加书籍界面AddBookWindow通过Book实例添加到数据库中。(5)Book实例返回图书是否添加成功信息。(6)添加书籍界面SearchBookWindow显示图书是否添加成功信息。,创建系统动态模型,8.系统管理员删除图书序列图和交互图工作流程如下:(1)系统管理员希望通过系统删除某些图书。(2)系统管理员通过删除书籍界面DeleteBookWindow删除图书。(3)系统管理员通过删除书籍界面DeleteBookWindow查找图书的信息,返回图书信息。(4)删除书籍界面DeleteBookWindow通过Book实例将图书删除图书,返回删除信息。(5)删除书籍界面DeleteBookWindow向系统管理员显示删除是否成功信息。,创建系统动态模型,9.系统管理员修改图书序列图和交互图工作流程如下:(1)系统管理员希望通过系统修改某些图书。(2)系统管理员通过修改书籍界面UpdateBookWindow修改图书信息。(3)系统管理员通过修改书籍界面UpdateBookWindow查找图书的信息,返回图书信息。(4)修改书籍界面UpdateBookWindow修改图书信息。(5)修改书籍界面UpdateBookWindow通过Book实例将修改后的图书信息修改到数据库中,返回是否修改成功信息。(6)修改书籍界面UpdateBookWindow向系统管理员显示修改是否成功信息。,创建系统动态模型,10.系统管理员查询读者序列图和交互图工作流程如下:(1)系统管理员希望通过系统查询某个借阅者信息。(2)系统管理员通过查询借阅者信息界面SearchBorrowerWindow查询借阅者信息。(3)查询借阅者信息界面SearchBorrowerWindow通过Borrower实例查找借阅者信息,并返回借阅者信息。(4)查询借阅者信息界面SearchBorrowerWindow显示借阅者信息。,创建系统动态模型,11.系统管理员添加读者序列图和交互图工作流程如下:(1)系统管理员希望通过系统添加借阅者信息。(2)系统管理员通过添加借阅者信息界面AddBorrowerWindow添加借阅者信息。(3)系统管理员通过添加借阅者信息界面AddBorrowerWindow填写借阅者信息。(4)添加借阅者信息界面AddBorrowerWindow通过Borrower实例添加借阅者信息,并返回是否添加成功信息。(5)添加借阅者信息界面AddBorrowerWindow显示添加借阅者是否成功信息。,创建系统动态模型,12.系统管理员删除读者序列图和交互图工作流程如下:(1)系统管理员希望通过系统删除借阅者信息。(2)系统管理员通过删除借阅者信息界面DeleteBorrowerWindow删除借阅者信息。(3)删除借阅者信息界面DeleteBorrowerWindow通过Borrower实例查询借阅者信息,并返回借阅者信息。(4)删除借阅者信息界面DeleteBorrowerWindow通过Borrower实例删除借阅者信息,并返回是否删除成功信息。(5)删除借阅者信息界面DeleteBorrowerWindow显示删除借阅者是否成功。,创建系统动态模型,13.系统管理员修改读者序列图和交互图工作流程如下:(1)系统管理员希望通过系统修改借阅者信息。(2)系统管理员通过修改借阅者信息界面UpdateBorrowerWindow修改借阅者信息。(3)修改借阅者信息界面UpdateBorrowerWindow通过Borrower实例查询借阅者信息,并返回借阅者信息。(4)修改借阅者信息界面UpdateBorrowerWindow修改借阅者信息。(5)修改借阅者信息界面UpdateBorrowerWindow通过Borrower实例保存修改后的借阅者信息,并返回是否保存成功信息。(6)修改借阅者信息界面UpdateBorrowerWindow显示修改借阅者是否成功信息。,创建系统动态模型,14.系统管理员添加书目序列图和交互图工作流程如下:(1)系统管理员希望通过系统添加书目。(2)系统管理员通过添加书目界面AddTitleWindow添加书目信息。(3)系统管理员通过添加书目界面AddTitleWindow填写书目信息。(4)添加书目界面AddTitleWindow通过Title实例保存书目信息。(5)Title实例检查是否存在该图书书目。(6)Title实例返回是否保存成功信息。(7)添加书目界面AddTitleWindow显示是否保存成功信息。,创建系统动态模型,15.系统管理员删掉书目序列图和交互图工作流程如下:(1)系统管理员希望通过系统删除书目。(2)系统管理员通过删除书目界面DeleteTitleWindow删除书目信息。(3)系统管理员通过删除书目界面DeleteTitleWindow通过Title实例查找书目信息。(4)Title实例返回书目信息。(5)系统管理员通过删除书目界面DeleteTitleWindow通过Title实例删除书目信息。(6)Title实例返回是否删除成功信息。(7)删除书目界面DeleteTitleWindow显示是否删除成功信息。,创建系统动态模型,16.图书状态图图书包含以下的状态:刚被购买后的新书、被添加能够借阅时的图书、图书被预定、图书被借阅、图书被管理员删除。它们之间的转化规则是:(1)刚被购买后的新书可以通过系统管理员添加成为能够被借阅的图书。(2)图书被预定成为被预定状态。(3)当被预定的图书超过预定期限或者被借阅者取消预定时,转换为能够被借阅的图书状态。(4)被预定的图书可以被预定的借阅者借阅。(5)图书被借阅后成为被借阅状态。(6)图书被借阅后归还成为能够借阅状态。(7)图书被删除时成为被删除状态。,创建系统动态模型,17.借阅者状态图借阅者包含以下的状态:借阅者帐户创建、借阅者能够借阅图书、借阅者不能够借阅图书、借阅者被管理员删除。它们之间的转化规则是:(1)借阅者通过创建借阅者帐户成为能够借阅图书的借阅者。(2)当借阅者借阅图书数目超过一定限额,不能够借阅图书。(3)当借阅者处于不能够借阅图书时,借阅者归还借阅图书,成为能够借阅状态。(4)借阅者能够借阅一定数目的图书。(5)借阅者能够被系统管理员删除。,创建系统动态模型,18.借阅者活动图(1)借阅者需要进入自助服务系统才能够获得服务。(2)借阅者在自助系统中可以选择直接搜索图书或者登录。(3)在搜索图书后可以查看图书的详细信息,也可以预定图书,但是预定图书需要借阅者登录系统,如果没有登录,需要进入登录界面进行登录;如果以及登录,可以直接预定该图书。(4)在离开时,如果借阅者登录系统,需要进行退出。(5)借阅者完成所有操作后离开电脑。,创建系统动态模型,19.图书管理员处理图书归还和借阅活动图(1)图书管理员在处理图书归还或借阅前需要登录系统。(2)图书管理员在登录系统后可以处理图书借阅和归还。(3)在处理借阅图书时,检查借阅者借阅书籍数目是否超过允许借阅数目,如果超过允许数目,将不允许借阅者借阅;如果未超过允许数目,更新数据库记录,借阅者借阅图书成功。(4)在处理归还图书时,图书管理员需要检查借阅者归还的图书是否超期,如果超期,需要对借阅者进行罚款;如果未超期,更新数据库记录,借阅者归还图书成功。,创建系统动态模型,20.系统管理员管理借阅者信息活动图(1)系统管理员在处理借阅者信息前需要登录到管理系统。(2)系统管理员在登录后进入管理借阅者界面。(3)系统管理员在管理借阅者界面中可以添加、查询、删除和修改借阅者。(4)系统管理员在删除和修改借阅者时,需要首先查找到该借阅者。(5)活动完毕后需要退出管理界面。,创建系统动态模型,21.系统管理员维护图书信息活动图(1)系统管理员在维护图书信息前需要登录到管理系统。(2)系统管理员在登录后进入维护图书信息界面。(3)系统管理员在维护图书信息界面中可以添加、查询、删除和修改图书信息。(4)系统管理员在删除和修改图书信息时,需要首先查找到该图书。(5)活动完毕后需要退出系统管理界面。,创建系统动态模型,22.系统管理员维护图书目录活动图(1)系统管理员在维护图书目录信息前需要登录到管理系统。(2)系统管理员在登录后进入维护图书目录信息界面。(3)系统管理员在维护图书信息界面中可以添加、删除和修改图书目录信息。(4)活动完毕后需要退出系统管理界面。,创建系统部署模型,1.系统构件图在图书管理系统中,我们可以对系统的主要参与者和主要的业务实体类分别创建对应的构件进行映射。例如,我们创建Borrower、Loan、Book、Reserve、Title、Administrator和Librarian构件,并且Borrower构件使用Loan和Reserve构件,Loan和Reserve构件使用Book构件,Book构件使用Title构件。,创建系统部署模型,2.系统部署图在图书管理系统中,系统包括四种节点,分别是:数据库节点,负责数据存储,处理等;后台系统维护节点,系统管理员通过该节点进行后台维护,执行系统管理员允许的所以操作;借阅者自助系统节点,借阅者通过该节点进行自助服务;图书管理员业务处理节点,图书管理员通过该节点处理借阅者还书和归还业务。,结束!,
展开阅读全文