图书馆管理系统-系统建模_第1页
图书馆管理系统-系统建模_第2页
图书馆管理系统-系统建模_第3页
图书馆管理系统-系统建模_第4页
图书馆管理系统-系统建模_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

,.],宁波工程学院电信学院计算机教研室.6,■.电信学院《软件模型》实验报告实验名称 图书管理系统实例 专业、班级 计科07级软件工程(一)班姓名 学号07401010112实验日期 2010.6.20指导教师 王宇宁波工程学院电信学院计算机教研室第十一次实验:图书管理系统实例实验目的:通过四次实验,以图书管理系统为例,使学生掌握使用UML统一建模语言为软件系统建模的方法步骤。实验内容与要求:图书管理系统需要满足三方面的需求,这三个方面分别是图书借阅者、图书馆工作人员(图书管理员)和图书馆管理人员(系统管理员)。郤借阅者的需求是查询图书馆所存的图书、个人借阅情况及个人信息的修改;图书管理员对图书借阅者的借阅及还书要求进行操作,同时形成借书或还书记录;系统管理员的功能最为复杂,包括对图书借阅者和图书进行管理和维护,及系统状态的查看、维护。(可参考的)图书管理系统结构图图艺管理系虢1、系统需求分析宁波工程学院电信学院计算机教研室建立用例图并进行用例描述2、建立系统静态模型类图的建立3、建立系统动态模型建立顺序图、协作图、活动图和状态图4、程序代码生成选择Java语言实现类,并生成代码,可以一次生成一个类、一个组件或者一个包。选择要生成代码的类,使用“Tools”>“Java”>“GenerateCodes”命令生成代码,Rose帮助用户生成所需要的Java框架代码。图书馆系统需求:宁波工程学院电信学院计算机教研室图书管理系统的域描述如下:在图书管理系统中,图书管理员为每个借阅者建立一个帐户,并给借阅者发放借阅卡(借阅卡包括借阅卡号、借阅者名),帐户中存储借阅者的个人信息、借阅者信息以及预定信息。持有借阅卡的借阅者可以借阅书刊、返还书刊、查询书刊信息、预定书刊并取消预定,但这些操作都是通过图书管理员进行的,也即借阅者不直接与系统交互,而是图书管理员充当借阅者的代理与系统交互。在借阅书刊时,需要输入所借阅的书刊名、书刊号,然后输入借阅者的图书卡号和借阅者名,完成提交所填表格,系统验证借阅者是否有效(在系统中存在帐户),若有效,借阅请求被接受,系统查询数据库系统,看借阅者所借阅的书刊是否存在,若存在,则借阅者可借出书刊,建立并在系统中存储借阅记录。借阅者还书后,删除关于所还书刊的借阅记录。如果借阅者所借的书刊被借出,借阅者还可以预定该书刊,一旦借阅者预定的书刊可以获得,将书保存给借阅者,如果过期归还,借阅者还书时交罚金。对图书管理系统的域描述进行分析,可以获得如下功能性需求:系统的功能需求主要包括以下几个方面:①借阅者可以通过网络查询书籍信息和预定书籍。②借阅者能够借阅书籍和还书。③图书管理员能够处理借阅者的借阅和还书请求。④系统管理员可以对系统的数据进行维护,如增加、删除和更新书目,增力口、删除和更新借阅者帐户,增加和删除书籍。系统主要包括以下几个模块:①基本数据维护模块②基本业务模块③数据库管理模块④信息查询模块基本数据维护模块包括的主要功能模块①添加借阅者帐户②修改更新借阅者帐户信息③添加书目④修改和更新书目信息⑤添加书籍宁波工程学院电信学院计算机教研室⑥删除书籍基本业务模块包含的功能:①借书②还书③书籍预留④取消书籍预定数据库模块的功能:①借阅信息管理②书籍信息管理③帐户信息管理④书籍预留信息管理信息查询模块主要是查询数据库中的相关信息:①查询书籍信息②查询借阅者信息二.需求分析:识别参与者通过对系统需求的分析,可以确定系统中有三个参与者:管理员Administrator:借阅者:Borrower、图书管理员:Librarian。参与者的描述如下:orrower描述:借阅者可以查询书籍、预定书籍、取消预定,新书浏览,借阅书籍,归还书籍,借阅信息查询,归还书籍,还书时交纳罚金,登录系统。示例:持有借阅卡的任何人或组织。2.Librarian图书管理员能够处理借阅者的借阅和还书请求等用例。描述:书籍归还处理。书籍借阅处理,删除书籍预定信息,还书时收取罚金,检查用户借阅凭证合法性。3.Administrator描述:管理员维护系统可以创建、查询,修改、删除借阅者的信息,可以添加、编辑、删除书刊信息即维护目录,还可以添加、编辑、删除物理书刊信息。宁波工程学院电信学院计算机教研室2.2识别用例前面已经识别出了参与者,通过对需求的进一步分析,可以确定系统中有如下用例存在:BorrowBook(借书)本用例提供了借阅物理书刊的功能。ReturnBook(还书)本用例提供了返还物理书刊的功能。ReserveTitle(预定书刊)本用例提供了预定书刊的功能。CancelReservation(取消预定)本用例提供了取消预定的功能。MaintainBorrowerInfo(维护借阅者信息)本用例提供了创建、修改以及取消借阅者帐户的功能。MaintainTitleInfo(维护书刊信息)本用例提供了添加、修改、以及删除书刊信息的功能。MaintainBookInfo(维护物理书刊信息)本用例提供了添加、修改以及删除物理书刊信息的功能。LogIn(登录)图书管理系统的用例事件流描述如下。S-1:借阅物理书籍(1)提供书刊种类、借阅者信息。(2)检索书刊种类(3)确定所借阅的物理书刊是否可以获得,也即物理书刊是否已借出。(4)检索借阅者(5)图书馆将物理书刊借给借阅者。(6)创建借阅记录。(7)存储借阅记录。S-2:通过预定借阅书籍(1)提供书刊种类、借阅者信息。(2)检索书刊种类。(3)检索借阅者。(4)确定该种类书刊的物理拷贝是否可以获得。宁波工程学院电信学院计算机教研室⑸将物理书刊发给借阅者。(6)创建借阅记录。⑺存储借阅记录。(8)删除预定记录。E-1:该种书刊不存在,系统显示提示信息,用例终止。E-2:物理书刊都已借出,系统显示提示信息,用例终止。E-3:系统中不存在该借阅者,系统显示提示信息,用例终止。S-3:返还物理书刊在这个用例开始前,Librarian必须登录到系统中。如果这个用例成功统删除借阅记录。否则,系统的状态没有变化。当借阅者返还所借的物理书刊时,用例启动。(1)提供所还物理书刊信息。(2)检索物理书刊。(3)查询物理书刊的借阅记录。(4)删除借阅记录。E-1:物理书刊不存在,系统显示提示信息,用例终止。E-2:若借阅记录不存在,系统显示提示信息,用例终止。S-4:查询书籍信息在这个用例开始前,Librarian必须登录到系统中。如果这个用例成功统建立预定记录。否则,系统的状态没有变化。当Librarian为借阅者预定书刊时,用例启动。(1)提供书刊种类、借阅者信息。(2)检索书刊种类。(3)检索借阅者。(4)系统接收预定,创建预定记录。(5)将预定记录存储在系统中。E-1:该种书刊不存在,系统显示提示信息,用例终止。E-2:系统中不存在该借阅者,系统显示提示信息,用例终止。S-5:取消预定在这个用例开始前,Librarian必须登录到系统中。如果这个用例成功统删除预定记录。否则,系统的状态没有变化。(1)提供所预定的书刊种类、借阅者信息。(2)检索所预定的书刊种类。宁波工程学院电信学院计算机教研室(3)检索借阅者。(4)从系统中删除预定记录。E-1:该种书刊不存在,系统显示提示信息,用例终止。E-2:系统中不存在该借阅者,系统显示提示信息,用例终止。E-3:预定信息不存在,系统显示提示信息,用例终止。S-6:维护借阅者信息在这个用例开始前,Librarian必须登录到系统中。如果这个用例成功,系统添加、修改或删除借阅者信息。否则,系统的状态没有变化。当 Librarian想维护借阅者信息时,用例启动。系统要求Librarian选择所想执行的活动(添加借阅者、删除借阅者、修改借阅者)。如果所选的活动是“添加借阅者”,则执行分支流S-1:添加借阅者。如果所选的活动是“删除借阅者”,贝执行分支流S-2:删除借阅者。如果所选的活动是“修改借阅者”,贝执行分支流S-3:修改借阅者。S-1:添加借阅者(1)提供借阅者的信息,如姓名、地址、邮政编码和身份证号码等。(2)系统存储借阅者信息。S-2:删除借阅者(1)提供借阅者的信息。(2)查询借阅者。(3)查询借阅者的借阅记录。(4)从系统中删除借阅者的信息,以及借阅者的预定记录。S-3:更改借阅者(1)提供借阅者的信息。(2)查询并显示借阅者的信息,修改相应的信息。(3)更新系统中借阅者的信息。E-1:若借阅者已存在,系统显示提示信息,用例终止。E-2:若查询不到借阅者,系统显示提示信息,用例终止。E-3:若存在借阅记录,系统显示提示信息,用例终止。S-7:维护书籍信息在这个用例开始前,Librarian必须登录到系统中。如果这个用例成功,系统添加、修改或删除书刊种类信息。否则,系统的状态没有变化。当Librarian想维护书刊信息时,用例启动。系统要求Librarian选择所想执行的活动(添加书种、删除书种、修改书种)如果所选的活动是“添加书种”,贝执行分支流:添加书刊信息。如果所选的活动是“删除书种”,贝执行分支流:删除书刊信息。如果所选的活动是“修改书种”,贝执行分支流:修改书刊信息。宁波工程学院电信学院计算机教研室S-1:添加书刊信息(1)提供书刊的书名、作者号等信息。(2)在系统中添加该书刊信息。S-2:删除书刊信息(1)提供所要删除的书刊信息。(2)查询所要删除的书刊。(3)删除该书刊的所有物理书刊的信息。(4)删除书刊信息,以及相关的预定信息。S-3:更改书刊信息(1)提供要修改的书刊信息。(2)查询并显示书刊信息。(3)修改相应的信息。(4)更新系统中的书刊信息。E-1:若书刊信息已存在,系统显示提示信息,用例终止。E-2:若查询不到该书刊,系统显示提示信息,用例终止。E-3:若有物理书刊借出,系统显示提示信息,用例终止。S-8:管理员处理书籍信息在这个用例开始前,Librarian必须登录到系统中。如果这个用例成功,系统添加、修改或删除物理书刊种类信息。否则,系统的状态没有变化。当Librarian想维护物理书刊信息时,用例启动。系统要求Librarian选择所想执行的活动(添加物理书刊、删除物理书刊、修改物理书刊)。如果所选的活动是“添加物理书刊”,贝执行分支流S-1:添加物理书刊信息。如果所选的活动是“删除物理书刊”,贝执行分支流S-2:删除物理书刊信息。如果所选的活动是“修改物理书刊”,贝执行分支流S-3:修改物理书刊信息。S-1:添加物理书刊信息(1)提供物理书刊种类信息。(2)查询物理书刊的种类(Title),确定系统中已存在该书刊种类。(3)添加物理书刊。(4)将物理书刊信息存储到系统中。S-2:删除物理书刊信息(1)提供物理书刊的种类信息。(2)查询物理书刊的种类(Title)。(3)删除物理书刊。(4)从系统中删除物理书刊信息,并更新相关信息。S-3:修改物理书刊信息(1)提供物理书刊的种类信息。(2)查询物理书刊的种类(Title)。(3)查询并显示该种书刊的所有物理书刊。宁波工程学院电信学院计算机教研室(4)选择物理书刊并修改其信息。(5)更新系统中物理书刊的信息。E-1:若系统中不存在该书刊种类,添加该书刊种类信息S-9:登录如果用例成功,参与者可以启动系统并使用系统所提供的功能。反之,系统的状态不变。当用户希望登录到系统中时,用例启动。(1)系统提示用户输入用户名和密码。(2)用户输入用户名和密码。(3)系统验证输入的用户名和密码,若正确,则用户登录到系统中。E-1:如果用户输入无效的用户名和/或密码,系统显示错误信息。用户可以选择返回基流⑹的起始点,重新输入正确的用户名和/或密码;或者取消登录,用例结束。统的用例图借阅者请求服务的用例图用例图说明:Searchforbook:书籍查询用例。Reservethebook:书籍预定用例。Logonthesystem:登陆系统。QueryInfo:查询借阅信息。Borrowthebook:借阅书籍。Retrunthebook:归还书籍。Returnwithfine:还书时交罚金。Cancelreserve:取消预定。10

宁波工程学院电信学院计算机教研室书馆管理员处理借书、还书等的用例图用例图说明:Getbook:书籍归还处理。Lendbook:s书籍借阅处理。Removereservation:删除书籍预定信息。Getwithfine:还书时收取罚金。Checkuseaccount;检查用户证件合法性。11

Getbook宁波工程学院电信学院计算机教研室<<flxtend?GetthGetbook宁波工程学院电信学院计算机教研室<<flxtend?GetthfineLendbookw*nclud 、-checkuseraccountLbrananRemoveReservation统管理员进行系统维护的用例图QueryborrowerInfo:查询读者信息。QuerybookInfo:查询书籍信息。AddTitle:增加数目。RemoveorUpdateTitle:删除或更新数目。AddBook:增加书籍。RemoveBook:删除书籍。AddBorrower:添加借阅者账户。RemoveorUpdateBorrower:删除或更新借阅者账户信息。12

宁波工程学院电信学院计算机教研室AdmimstraiorRemoveBook\ORenqoveorUpdateBoffereroQuefyBorrower宁波工程学院电信学院计算机教研室AdmimstraiorRemoveBook\ORenqoveorUpdateBoffereroQuefyBorrowerInfoRemavecrUpdateTitleAddB。『「。用E「Qiuer\-BackInfoAddBookAddTite三.系统静态模型分析进一步分析系统需求,发现类以及类之间的关系,确定它们的静态结构和动态行为,是面向对象⑺分析的基本任务。系统的静态结构模型主要用类图和对象图描述系统中主要的类。参与者相关的类:Borrower类是借阅者的类。Librarian类是图书管理员类。Administrator类是系统管理员类。13宁波工程学院电信学院计算机教研室□itarrit!:Stringn s:Siring凸gity'StringBetate:String目wip:Stri力学Bmob。。卜'i.4七EmudftyIiMqustrlD:Strips口borrdw-numb4r:imt0find0:voidQcreate(]:void0iestroy0:vaid0borrow(3:void。retui_n_baci():vcuid0check_if_maM0:voidGAdMinistratoraworkID:StringGLib"rjwavorkID■StriikfElhWlift:StF:立牌aHddtatl:Stlfihgu也ity:StringHstate:String。create0:void❷destroy0:void❷update0:void系统中用到的其他类

lies□id:int④fmd_on_titie0:void&create:ToidSiejtroy0:voidQfin日口:void。chtck0:tqi40u.pdtteQ;TQid0reserve0.voidTitle二mafli电:String二author二String□LEbn:Stringdtotal-niiffiber:int口borrewed_iwmb&r:int□tjnp■EiwiOmro■EiwiOmroid电crtAtt0;ypid• 0;gid^jname-岫String曼定ipCad白iString^borrowerIDIStringS^tefeNurribBnString^oansiOlD[]IS^reservationsrOID[]*newBorrower(]^getBorr-owert)^addLoanQ^getNumLQar>s()•g白tLdhferi0^delLaanf)•addKe国aruati口nQ^getNumFis^Q^getReservation()“零€、*。门口•writ40/ea叫♦sotNam白。口IsKllowedForB&rrcw;BoeileaiiGGLo.anD3:tate士mrrcutnTitleJSEH:StTinfQrftoney:daululed工eF电y:BaoleanQcreate0:voidiQdestroy():vaid3timi():voddQP:iy('I:vaidGReservation"date:Date=currentDateO-TatleJSBS:Strmg0UserID'String3number"intOcreate0:void拿destroy0Ivoid•finiO二void14

宁波工程学院电信学院计算机教研室几种类的属性方法说明:类Borrower属性、方法见下图.类Title属性、方法见下图.类Book属性、方法见下图.BookBook觐d:Integer电tit©:OIO勖oan:OID■^n.ewBookO甯ind日。口k。1^h-as-LaanO•眄Lq日n。1^setLoanO•setlDO•券tTitle。*getTrtteNfflneQ,前。01%/riteO*nsad()图:Book类BorrowerTrtfe助■口mrn平:5廿后9^.3U=thgj-:String%i白匕5Tl:String纵y口白:Integer电匕mK:。1DQ^resefxation:Ol口口■^,new'ntleO^dTitleO*ge1Aw^bleB(x)kO,包TH恸)•gel白口口蚓)*getNumR.e-us()getResei^atia-rtQ•addRjes白■setAddress()setAddress()♦s的1pCtfd-e(>与印犹)*setTele()*getNsms0*getA<JdressQnCod■住()*getld()*getTele()图:Borrower类*addBookO,ElNumBooK3Q,睢ook()「白皿”日oqK。*writ§0*readQ*selName()setAutSiorQ*$eilSBSN{)■^setTypeO*geiNameO眄Rut价制。*geHS8SN(),nTypeG图:Title类类Loan属性、方法见下图.类Reservation属性、方法见下图.类Persistent属性、方法见下图.类OID属性、方法见下图.15宁波工程学院电信学院计算机教研室Loan电bgk:Loan电bgk:OID电bcxiuw日「:OO^xiate:Date^nawLoan()^getBorra7je^>领国有口叫}^gatDare(j*write()■Read。图:类LoanReser^tion^>tiiie7dlD^borrower:OID戋血帖:Date*newReservation()MrxlRsK)*gecntie()*getBorrwen()*getDate()・write。%esd()图:类ReservationPeraistent觌id:OIDPeraistent觌id:OID%)ewPersis!ent()*getObj&ct(}*getClD()帆tQTR。*delete()・upd吕旭0、Mi怡°图:类PersistentOID

^classMame:String

^idNumber:htaser♦newOlD。^g&tCfassNamaQ>g&tldNumbsn()♦◎quHTd。♦writ可)♦修ad()图:类OID在定义类、类的方法和属性时,建立动态模型的时序图是很有帮助的,类图和时序图的建立是相辅相成的,因为时序图中出现的消息基本上都会成为类中的方法,因此在设计阶段绘制系统的时序图时,要尽量使用类的已识别出的方法来描述消息[11],若出现无法用类的已识别出的方法来描述的消息,就要考虑消息是否是类的一个待识别的方法,若是,就要将这个方法及时添加到类的操作类表中,并用这个新方法来描述消息。16宁波工程学院电信学院计算机教研室3.4各个类之间的关系:,口dmti呵)*create()the%,的白的)ReiefvalionBorrowern\reate()飞四喻*d的口4*return_back()*checkjLmaxj)MeateQ,而3就*borrow!),旧用用J削的*reseive()*remove%daie=currentDate%TNe_ISBN.String^UserIDString^liumberInfeger%name:Stringess:StringString觎加String蚓:String^maodDOok:Integerj%naxday.Integer—^jsertD;String^borro^riumber.IntegerTitleCarrie:StringEither'String如bn:String瑜忸Lnufnb即Integer^bmowed_nuniba:Integerpyoi觌联.SWg1,^IsAllowForBorowBoolearLoanD..n^at?:Date=currentMe嗨的痴啊Md喇:Double明#WBootean临薪物%ndQ*P#)十怕如17宁波工程学院电信学院计算机教研室四.建立系统动态模型4.1系统时序图建立1.系统管理员添加书籍的时序图2.系统管理员添加借阅者帐户的时序图Adminim侬n1createborrower2 2(Stnng&什1门94/ImMqiRtenanc空Win也■&Borrower18宁波工程学院电信学院计算机教研室3.系统管理员删除书目的时序图二■口nri।军廿事I1二门I:毛F4destprv()3fim_anJi:le(Title)5:destoryt) .Mniinist「atw1removetillc:j_2find(String)Heint《nan匚白4.图书管理员处理书籍借阅的时序图fnd(stnng;£ 出ifyborrp"华r"3hnditemsQ€麻d赤ng()t nJVcteatefBorrowertern)4findofrititled]Librarian1findtitlefjLesLBarrow贸19宁波工程学院电信学院计算机教研室5.图书管理员处理书籍归还的时序图6.借阅者查询书籍信息的时序图hnd_on_title(TitleJ:日口唐匚诘年厂 | hl宣1口国门自二关Wicdoff | Itsrri31Tl8。仃。阳MaintenanceWindow七0uerymook()、20宁波工程学院电信学院计算机教研室7.借阅者预留书籍的时序图th三Eetc.'.ntSens宁波工程学院电信学院计算机教研室7.借阅者预留书籍的时序图th三Eetc.'.ntSensr=r一工匚liwzi口」Till二Tills3Returntrue4reserve02find{Stnng)WebApplicationtheBorrMer:BorRwer4.2系统协作图建立在这里可以由时序图按F5直接转化:1.系统管理员添加书籍的协作图2find(stnng)1:add在这里可以由时序图按F5直接转化:1.系统管理员添加书籍的协作图2find(stnng)1:addite-mfiAdministrator3update0:MamtenanceWindow,隹m21宁波工程学院电信学院计算机教研室叫iridow2.图书管理员处理借书的协作图2 reserveon()3.图书管理员处理还书的协作图7checl_if_max()4borrowt):Librarian1idenrtiiYborrowerR曰号闩l^vwt<lrl3:find(0orrc^rTitleiBq『「q'ww 5:update^ 二The 、JejuLaan3:ch&ck)()5:updateQ:朋皿馆1rLibradanPerurnWirxlSMr1:giveIhe-book02:returniteiri.22宁波工程学院电信学院计算机教研室4.3系统的状态图的建立1.书的状态图2.借阅者帐户的状态图23宁波工程学院电信学院计算机教研室LeavecomputerSelth即service4.4系统的活动图的建立1.借阅者的活动图thebookViewbookinformationSearchforbooksExitSystem24宁波工程学院电信学院计算机教研室2.图书管理员的活动图3.系统管理员维护借阅者帐户的活

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论