- 1、本文档共115页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[理学]第7章面向对象开发方法与UML
下面给出一个较完整的图书馆应用系统的用例图。用户或客户对它最初的需求描述如下: l?????? 这是一个图书馆支持系统。 l?????? 图书馆应用系统将图书和杂志借给读者,这些读者已经在系统中注册了,借阅的图书和杂志也已在系统中登记了。 l?????? 图书馆负责新书的购买。一本图书可以购买多个副本。 当书和杂志已经过时或破旧不堪时,将它们从系统中删除。 l? 读者可以预订图书馆当前还没有的图书或杂志,当预订的图书或杂志归还或购进时,应用系统就通知预订人。当读者借阅了它所预订的图书或杂志后,或者读者要求取消预订时,他的本次预订就被取消了。 l 图书馆应用系统能够很容易地建立、修改和删除系统中的信息,包括书名、借书者、借阅信息和预订信息。 用例描述了图书馆系统提供的所有功能——系统的功能需求。用例分析包括阅读和分析规格说明,同时也包括与潜在的用户一起讨论系统。 图书馆系统的执行者包括图书管理员和读者。图书管理员是软件系统的用户,而读者则是来借阅或预订图书和杂志的客户。读者不直接和软件系统打交道,读者的要求由图书管理员代为执行。 图书馆系统中的用例有: l? 借书 l? 还书 l??预订 l? 取消预订 l? 增加标题 l? 删除或更新标题 l?? 增加书目 l?? 删除书目 l???增加读者 l 删除或更新读者 因为一本书可能有多个副本,所以这里必须分离出标题的概念。标题可以是一本书的名称、书的作者或者是用来表示指定标题的一个物理副本的其他信息。而书目是指读者从图书馆中借阅的书。在图书馆拥有某本书之前,就可以在系统中增加该书的标题以允许读者预订此书。 上述列表中没有列出用例图中的维护用例,该用例是一个使用其他用例的更一般的用例,我们可以不将它作为一个用例画出来。这里将它作为一个用例,主要是为了能够将维护任务从系统的主要功能中清晰地分离出来。 图书馆应用系统分析的结果绘制在UML用例图中,如图7.5所示。每一个用例都附带有文本文档,用来描述用例以及用例与执行者之间的交互。下面是借书用例的描述: (1) 如果读者没有预订: a. 确定标题 b. 确定该标题下可用的书目 c. 确定读者 d. 图书馆将书借出 e. 登记一个新的借阅 (2) 如果读者有预订: a. 确定读者 b. 确定标题 c. 确定该标题下可用的书目 d. 图书馆将相应的书目借出 e. 登记一个新的借阅 f. 取消预订 图7.5 图书馆系统的一个用例图 7.3.2 类图、对象图和包 类(Class)、对象(Object)和它们之间的关联是面向对象技术中最基本的元素。对于一个想要描述的系统,其类模型和对象模型揭示了系统的结构。UML用类图和对象图分别表示类和对象模型。类图技术是OO方法的核心。例如,图7.6是一个金融保险系统的类图。 图7.6 类图 1. 类图 类图(Class Diagram)描述类和类之间的静态关系。它不仅显示了信息的结构,同时还描述了系统的行为。类图是定义其他图的基础。在类图的基础上,状态图、合作图等进一步描述了系统其他方面的特性。 UML中类的图形表示为一个划分成三个格子的长方形(下面两个格子可省略)。图7.6中的“客户”就是一个典型的类。 最顶部的格子包含类的名字,类的命名应尽量用应用领域中的术语,应明确、无二义性,以利于开发人员与用户之间的相互理解和交流。 中间的格子包含类的属性,用以描述该类对象的共同特点(该项可省略)。图7.6中“客户”类有“客户名”、“地址”等属性。 底部的格子表示该类的操作(Operation)。该项也可省略。操作名、返回类型和参数表组成操作界面。 定义了类之后,就可以定义类之间的各种关系了。类之间的关系主要有以下几种。 1) 关联关系 关联(Association)表示两个类之间存在某种语义上的联系。在图7.6中最上部存在一个 “属于”/“签定”关联:每个“保险单”属于一个“客户”,而“客户”可以签定多个“保险单”。 关联可以有方向,表示该关联单方向被使用。关联上加上箭头表示方向,在UML中称为导航(Navigability)。只在一个方向上存在导航表示的关联称作单向关联(Uni-Directional Association),在两个方向上都有导航表示的关联称作双向关联(Bi-Directional Association)。图7.6中,“保险单”到“保险单上的项目”是单向关联。UML规定,不带箭头的关联可以意味着未知、未确定或者该关联是双向关联三种选择,因此在图中应明确使用其中的一种选择。 双向关联可以在每个方向上给出一个名字,可以用小黑三角表示名
文档评论(0)