- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第09章UML用建模
第9章 应用建模 * 用面向对象的方式设计一个系统是一个高度反复的过程。 随着顺序图中的类被逐一开发,设计者会意识到系统中应该新增加一个元素,用于管理“Batch”对象的创建和数据传输。 因此,类图中增加了一个名为“Batch Controller (批数据控制器)”的类。 在一个严格的开发过程中,顺序图应该被相应地更新,并应该包含新增加的Batch Controller类。各种图之间的循环迭代和变更在应用的设计过程中十分常见。 第9章 应用建模 * 小心提防——违反规则 与人们经常不加区别地互换使用术语“类”和“对象”类似, 当讨论UML模型时,你经常会听到人们互换地使用术语“操作”和“方法”。这在技术上也是不正确的。尽管操作描述了类提供的一个服务,但方法只是操作的一个具体实现。 例如,如果有一个名为“Sort”的操作,那么实现这个操作的方法可以是一个冒泡排序算法、哈希排序算法或者其他某种排序算法。 第9章 应用建模 * 可能还会遇到一种加注了“{abstract}约束的操作。这个约束表明操作所在的类并不实现被加注的操作。 这个操作是由它所在的类的子类实现,在子类的操作栏中可以看到与这个操作同名的子类操作。这是实现操作的一种具体方法。 例如,一个名为“load(装弹)”的操作在“Rifle(来福枪)”和“Blowngun(火箭筒)”这两个不同类中的实现将会有很大区别。 这便是多态(ploymorphism)这一概念的中心思想(参见图):如果子类描述的操作同时也在父类中描述,那么子类的操作将重载(override)父类的操作。用多态的方式,父类的行为可以被子类的功能所细化或替换。 第9章 应用建模 * 第9章 应用建模 * 一个类的操作可以是类自身执行的某种功能,也可以是其他对象要求这个类执行的功能。其他类可以执行的操作受到操作的可见性的影响(参见表),可见性规则对属性和操作都适用。 第9章 应用建模 * 另一个限制其他类对本类可访问的服务的UML元素是类的接口(interface)。 接口仅仅是类的外部元素可见的和可访问的一组操作(见图)。 哪些操作可通过接口访问由类的设计者决定。 第9章 应用建模 * 关联 显示了系统中对象之间的关系。 通常说明了两个对象之间的通信路径,既可是单向的也可是双向的。 第9章 应用建模 * 进一步理解关联: (1)依赖 依赖是对象之间最弱的一种关系。一个对象依赖于另一个对象是指这个对象和它之间存在短期的(short-term)关系。在这个短暂的(short-lived)关系中,依赖的对象通过调用被依赖对象的方法来获取它提供的服务,或者以此来配置被依赖的对象。现实生活中充满着依赖关系。 我们向杂货店的出纳员购买食物,但我们并没有和那个人建立长期的(long-term)关系。 依赖 第9章 应用建模 * 在面向对象的系统中,依赖关系有一些通用的模式(pattern)。 作为方法的一个部分,一个对象可能创建另一个对象,让它执行一定的功能,然后就不再管它了。 一个对象还可能在一个方法中创建另一个对象,对它进行配置,然后将它作为方法的返回值传给方法的调用者(caller)。 一个对象也可以在调用方法的时候接收一个作为参数的对象,使用或修改它,然后在这个方法结束之后就不再理会这个对象。 依赖 第9章 应用建模 * 在UML中,依赖是用一根带箭头的虚线来表示,箭头指向被依赖的类。 下图显示了Customer类和Cashier类之间的依赖关系。这个依赖关系读作“每一个Customer对象都依赖于Cashier对象”。改变Cashier类的接口可能会影响Customer类。 依赖 第9章 应用建模 * (2)关联 关联是对象之间的长期关系。 在关联中,一个对象保存对另一个对象的引用,并在需要的时候调用这个对象的方法。 现实生活中也有很多关联的例子。比如人和他的车之间的关系。只要这个人记得他的车放在什么地方,他就可以上车然后开着它到想去的地方。 在UML中,关联是由两个类之间的实线来表示。 关联 在某些情况中,一个对象可能对另一个对象实例化(instantiate),并保存了对它的引用以备使用。 一个对象也可以从配置方法中接收一个作为参数的对象,然后保存对这个对象的引用。 关联 第9章 应用建模 * 下图中显示一个Person类和Car类之间的关联关系。这个关系读作“每一个person对象都和不定数目的Car对象相关联”,以及“每一个Car对象都和不定数目的Person对象相关联”。把这个关系想像成一个“知道一”(knows-about-a)的关系可能会更容易理解。比如“每一个Person对象都知道一些Car对象”。 关联 第9章 应用建模 * (3)聚合 聚合关系表明一个对象是一个更大的整体的一部分。 这
您可能关注的文档
最近下载
- 党委前置研究讨论重大事项清单及程序.docx VIP
- 第三单元(知识清单)-2024-2025学年二年级语文上册单元复习(统编版).docx VIP
- 新版高中物理必做实验目录及器材--(电子版).xls VIP
- 学习贯彻《关于加强党的作风建设论述摘编》PPT:持之以恒推进作风建设常态化长效化,保持党的先进性和纯洁性(附文稿).pptx VIP
- 工作饱和度分析.doc VIP
- 上海沪教版六年级有理数综合复习讲义.docx VIP
- 《Linux网络操作系统实用教程》全套教学课件.pptx
- CCC强制性产品认证培训教材(PPT 89页).ppt VIP
- 2025全国青少年模拟飞行考核理论知识题库40题及完整答案1套.docx VIP
- 中石化安全培训考试试题及答案安全教育培训考试试题及答案.docx VIP
原创力文档


文档评论(0)