图示完备的图书馆UML管理系统_第1页
图示完备的图书馆UML管理系统_第2页
图示完备的图书馆UML管理系统_第3页
图示完备的图书馆UML管理系统_第4页
图示完备的图书馆UML管理系统_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

经典地,由系统最终顾客的代表写出文本形式的需求规范文档。4.图书管理员是图书馆的员工。他们的工7.系统可以运行在所有流行的技术环境中,包括Unix,Windows和OS/2,并应有一种现代booksextendedorwornout,remo系统分析的目的是捕捉和描述所有的系统需求,并且建立一在这个阶段,程序开发者不应当考虑代码或程序的问题;它只是理解需2.1需求分析(RequirementsAnalysis)分析的第一步是确定系统可以做什么?谁来使用这个系统?这些分别叫角色(actors)和developersanddemandersunderstandingandcommunicat1.借书bibliographyconceptsepcustomerinteractiondetails.TextisdiscussedwilibrarywillcorrespcancellationofreservatiInadditiontodefineffectivelyprocessings△caseswillbefleshedoutintextdefinedv图1:角色和用例。分析中的第一步就是指出系统能被用来做什么,谁将去使用它。它们分系统分析也详细地列出了域(系统中的关键类)。为了导出一种域分析,可以阅读规范文borrower辨别开来),title,booktitle,magazinetitle,item,reservation和loan。这些类以及它们之间的关系记录在类图文档中,如图2所示。域类定义为Businessobject版型,的状态发生变化的事件。该例子中有状态图的类是item和title类。用例lenditem(借阅者没有预定的状况)的次序图显示在图3中。所有用例的次序图都可betweenthemarerecEQ\*jc3\*hps15\o\al(\s\up0(tfin),cre)EQ\*jc3\*hps15\o\al(\s\up0(o),e)meaningexactlyone,"O",meaningexactlyzero,an图2:域类构造。域分析详细阐明了系统中的关键类。对每一种对象而言,假如它调用了其他对象的措施,那么在他们之间就用一条直线连结起来,以显示他们之间的关系。每一种代表类的四边形被提成了三部分,最顶层包括类的名称,中间一层是类的属性,最底层是类的措施。类“0”表达就是0,“1..*”表达1或多。为了把系统中的窗体类和域类分开,所有的窗体类组织在一起放在GUIPackage包man-machineinterface.InthisanFigure3.SequenceDiagramfthatareinteracting.Timegoesdownthepage.labeled"LendingWindow"istheuserinterface,t图3:Lenditem场景的次序图。场景是从头到尾实现一种用例的一次特定的过程。场景总尝试去查找标题。标有“LendingWindow”的是顾客界面,在分析阶段作为一种粗略的对象。横在次序图中的每一种箭头都是一次措施的调用,箭头的首端是调用的对象,箭头的末端是被调用的对象。设计阶段对分析模型进行扩展并将模型深入细化,并考虑技术义包(子系统),描述包之间的依赖性及通信机制。很自然,目的是要设计一种清晰简朴的体系3.1体系构造设计一种良好的体系构造设计是一种可扩展的和可变化的系统的基领域或关注特定的技术领域。把应用程序逻辑(域类)和技术逻辑分开是至关重要的,这样不管Business-objectPackage。该包包括域类,这些域类(如borrowerinformation,title,item,loan等)来自于分析模型。设计阶段完整地定义了这些类的操作,并增长了某些其他细Designstagesofanalysismodelandwillexpandfmodelofthetechnicaldetailsandconstraisolutions,sothatcaneasiwritecodeprogrammersaclearPackagemayconcernspecifiuserinterfaceapplicaDesignstagecompletelydefinesthsupportcontinuedstorage.Afriend-objsothattheycancontinuetosubclassobjectstoragetothefilesystemfile.…《7”包括了某些服务,用来被系统中其他包调用。目前,ObjId类是该包中的唯一的类。用来被整个系统包括User-Interfac这些包的内部设计如图4所示.图4:图书馆应用程序体系构造设计总览。本类图显示了应用程序包以及它们之间的依赖性。Database包提供了persistence类。Utility包提供了ObjectID类。Business-0bject包包括了域类(详细状况参见图5)最终,UI包(在本例中它是基于原则JaaAWT库)调用business对象中的操作来实现对他们的数据存取操作。,3.2详细设计细节设计描述了新的技术性的类,如User-Interface和Database包中的类,并且丰富了分析阶段所形成的Business-Object类。类图、状态图和动态图用的还是分析阶段所形成的图,DatabasePackage。应用只需调用诸如store(),update(),delete()和find()这对类进行持续处理的一种重要因子就是ObjId类。它的对象用来引用系统中的任何持续对象(不管这个对象是在磁盘上还是已经被读进了应用程序之中)。ObjId是ObjectIdentity的简写,它是一种广为应用的技术,用来有效地处理应用程序中的对象引用。通过使用objectidentifiers,一种对象ID能被传递到一般的persistent.getobject()操作中,进而该对象过objectid传递给另一种窗口)。ObjId是一种系统中所有的包(UserInterface,BusinessObject和Database)用的通用类,因此在设计阶段它被放置在Util目前对persistent类的实现还能改善。为此,定义persistent类的接2.除了最长借阅期外,对杂志和书标题的处理方式是同样的。因此分析阶段的子类magazinetitle和booktitle被认为在设计阶段是不必要的,而是在tit分析阶段的状态图也在设计阶段细化了。状态图显示了怎样表达状态。设计阶段的title类的状态图如图6所示。其他的对象可以通过调用如图所示的操作addreservation()和removUser-InterfacePackage。User-InterfacePackage位于其他包的“上面”。在系统中它次序图由一系列的交互构成。在实现阶段(编码),考虑到详细状况,也许会有更多的交互。图7显示了addtitle用例的次序图。实际的操作和特性值从在线模型代码中可以看到。EQ\*jc3\*hps14\o\al(\s\up3(ad),cit)EQ\*jc3\*hps14\o\al(\s\up3(dr),y:)EQ\*jc3\*hps14\o\al(\s\up3(ess),Sti)EQ\*jc3\*hps14\o\al(\s\up3(S),n)EQ\*jc3\*hps14\o\al(\s\up3(tr),g)EQ\*jc3\*hps14\o\al(\s\up2(a),re)EQ\*jc3\*hps14\o\al(\s\up2(L),o)EQ\*jc3\*hps14\o\al(\s\up2(o),v)EQ\*jc3\*hps14\o\al(\s\up2(a),e)EQ\*jc3\*hps14\o\al(\s\up2(n),L)EQ\*jc3\*hps14\o\al(\s\up3(re),ge)EQ\*jc3\*hps14\o\al(\s\up3(v),o)EQ\*jc3\*hps14\o\al(\s\up3(R),e)EQ\*jc3\*hps14\o\al(\s\up3(e),s)EQ\*jc3\*hps14\o\al(\s\up3(s),e)EQ\*jc3\*hps14\o\al(\s\up3(o),n)EQ\*jc3\*hps14\o\al(\s\up3(n),s)+getReservatian():REQ\*jc3\*hps14\o\al(\s\up5(·),-)EQ\*jc3\*hps14\o\al(\s\up0(ji),b)EQ\*jc3\*hps14\o\al(\s\up0(d),jl)EQ\*jc3\*hps14\o\al(\s\up5(int),d)☑EQ\*jc3\*hps14\o\al(\s\up4(o),e)EQ\*jc3\*hps14\o\al(\s\up4(re),et)&&+getReservatian():R区specified,datatypesforattributes图5:商业对象设计(Business-0bjectdesign)。本图描述了在Business-Object包中的不一样类的设计。设计包括定型模型,更完全地定制界面,给属性选择数据类型等等。/reservations.remove(/reservations.remove(6:Title的状态图。Title具有预定和非预定状态,在设计中,通过称为“reservations”的矢量来实现。论范围。Title的次序图。本图中所波及到的顾客界面问题的详细状况已经超过了本文的讨EQ\*jc3\*hps17\o\al(\s\up1(2),2)EQ\*jc3\*hps17\o\al(\s\up1(.),.)EQ\*jc3\*hps17\o\al(\s\up1(4),5)EQ\*jc3\*hps17\o\al(\s\up1(:),:)EQ\*jc3\*hps17\o\al(\s\up1(em),tor)协作图可以作为次序图的替代,如图8所示:图8:AddTitle的协作图。本图中波及到的顾客界面问题的详细状况已经超过了本文讨论的范围3.3顾客界面设计(User-lnterfaceDesign)设计阶段的一种特定的活动是创立顾客界面。图书馆系统的顾客界面基于用例,分为如下几部分,每一部分都在主窗体菜单上给出一种单独的菜单项。图9显示了一种User-InterfacePackage中类图的例子。其中包括了经典的AWT事件句柄。按钮(button)、标签(label)和编辑(edit)等的属性

温馨提示

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

评论

0/150

提交评论