使用UML编写Java应用程序 - 编程入门网
书籍和杂志的人应该是借书者,但是有时候也可能是一个图书管理员或另外一个图书馆。借书者并不需要直接与系统打交道,借书者的功能通过图书管理员来代理完成。
图书馆系统的使用案例是: 借书 还书 生成预订 删除预订 增加书目 更新或删除书目 添加书籍 删除书籍 添加借书者 更新或删除借书者 因为图书馆中的一种畅销书常常有好几本,所以系统必须把畅销书从普通书目中区别开来。 如果借书者没有预借书籍: 识别像要借的书的书名。 识别馆中本书目前可借的书籍 识别借书者 图书馆借出这本书。 登记刚刚发生的借出情况。 如果借书者曾预借某本书籍: 识别借书者。 识别预借的书名。 识别馆中本书目前可借的书籍。 图书馆借给借书人相应的书。 登记借出情况 。 删除预借书籍的纪录。 除用于定义本系统的功能要求之外,使用案例还被用来分析检查适当的讨论域类是否已经被定义,以及在设计过程中它们是否能被用来确认该技术解决方案能够处理所需要功能。使用案例可以在序列图上看见,来实现一些技术细节。 使用UML编写Java应用程序(3)时间:2010-12-16第二节 讨论域分析 分析过程中还要详细地列举讨论域 (domain ,系统中关键的类 ),为了进行讨论域分析,需要充分理解规范和使用案例并且着眼于系统将要处理的 "概念 "; 或者与使用者及讨论域专家组织一次集体研讨会谈,尝试找出所有必须处理的关键概念以及它们之间的相互关系。 图书馆系统中的讨论域类如下:: BorrowerInformation(这样命名是为了区别于使用案例图表中的行动者 Borrower), Title, Book Title, Magazine, Item, Reservation和 Loan。 图 2是一张类图,标出它们的相互关系。这些讨论域类是用户自定义的类,指定该类的对象是关键域的一部分并将被持久的保存在系统中。 图二解释:域类结构。 域分析要详细列举系统中的关键的类。 对于每一个对象,它调用另外一个对象上的方法,就要在类之间加上一根线来说明它们的关系。每个用来表示类的矩形框被横向隔成三部分。 最上面一格是类的名称,中间是类的属性,最下面一格是类的方法。 两个类之间的关联用一根实现连接代表,象征一个对象调用了另外一个对象的方法。如果你仔细观察,还会发现在Loan和Item关联的Loan端的"0..1",代表那一端可取的对象数。 一些类用UML状态图来显示这些类的对象的不同状态以及能够使它们的状态改变的事件,如本文中的例子就是Item和 Title。图 3就是借书(Lend Item)的使用案例的序列图 (借书者没有预借书籍 )。 图三解释:借书情景的序列图。本情景给出的是使用案例的特定的过程,情景总是以一个行动者为开端,即系统以外的人。然后记录通过系统直到以所有的行动者角度来看这个的行动都已完成的完整的路线。用于标注一个情景的UML记号法就是序列图。这张序列图用来说明一个情景,即借书者没有预借某本书时的借书情景。 当我们给序列图建模的时候,很明显,我们需要给行动者提供一个与窗口或对话框的接口界面。在本案例分析中,为了把窗口类从讨论域类中区分开的,就把窗口类放入一个名为 " GUI Package "的包中,而把讨论域类放入一个名为" Business Package "的包,应当明确需要提供借书、预借书籍和还书界面窗口,此时还不需要定义具体的用户界面。 设计 当已经考虑了所有的技术细节和限制条件,我们就可以进入设计阶段,设计阶段需要展开和细化分析模型。设计的目的是为了说明一种可以很容易地翻译成程序设计代码的工作解决方案。 设计阶段可以分成两部分: 1、结构设计 这是非常高级的设计,说明在什么地方定义包(子系统),以及包与包之间的相互依赖与通信机制。自然,我们的目标是构建一种清晰而又简单的体系 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |