利用UML描述常见的几种设计模式

上传人:cl****1 文档编号:486980471 上传时间:2022-10-09 格式:DOC 页数:13 大小:308.50KB
返回 下载 相关 举报
利用UML描述常见的几种设计模式_第1页
第1页 / 共13页
利用UML描述常见的几种设计模式_第2页
第2页 / 共13页
利用UML描述常见的几种设计模式_第3页
第3页 / 共13页
利用UML描述常见的几种设计模式_第4页
第4页 / 共13页
利用UML描述常见的几种设计模式_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《利用UML描述常见的几种设计模式》由会员分享,可在线阅读,更多相关《利用UML描述常见的几种设计模式(13页珍藏版)》请在金锄头文库上搜索。

1、.软件体系结构实验六利用UML描述常见的几种设计模式一:实验目的掌握设计模式在软件设计中的作用,熟悉并了解一些常用的设计模式,进一步熟悉并巩固Rational Rose 2003与Visio2003工具的使用,熟悉并了解IBM Rational Software Architecture 6.0工具的建模方法。二:实验准备(1) 熟悉利用UMLRose2003与Visio2003建模的方法(2) 熟悉并了解软件设计模式(3) 熟悉并了解IBM Rational Software Architecture 6.0的建模方法。三:实验内容设计面向对象软件比较困难,而设计可复用的面向对象软件就更加困

2、难。你必须找到相关的对象,以适当的粒度将它们归类,再定义类的接口和继承层次建立对象之间的基本关系。 在设计时,应该对手头的问题有针对性,同时对将来的问题和需求也要有足够的通用性,同时也希望避免重复设计或尽可能少做重复设计。一个设计模式是软件开发中重复出现问题的解决方案;一种来源于具体问题形式的抽象,这种抽象在特定环境中出现;在给定的问题环境和约束条件下,对通用问题的重复解决方案;一种经过证明的、在给定条件下问题的有效的重复解决方案。它象一个“大金块”传递了解决方案的本质。(点石成金的方法)。经过多次成功使用,已经被证明的“最佳实践方法”;用文字、图表描述的方式来捕捉设计专家的智慧和经验,并把这

3、些经验传递给新手。对通用设计问题的重复解决方案,对真实世界问题的实践的/具体的解决方案面向特定的问题环境权衡利弊之后得到的“最佳”解决方案,领域专家和设计老手的“杀手锏”,用文档的方式记录的最佳实践,在讨论问题的解决方案时,一种可交流的词汇,在使用(重用)、共享、构造软件系统中,一种有效地使用已有的智慧/经验/专家技术的方式。在面向对象的软件设计中,可以利用UML对设计进行建模,对设计模式的建模包括建立内部视图和外部视图 设计模式的内部视图是一组类图和一组交互图。 设计模式的外部视图是一个参数化协作,协作参数命名。是模式的用户必须绑定的元素。本次实验要求同学们理解常见的组合模式(结构类型)、工

4、厂模式(构造类型)、责任链模式(行为类型)。并能根据具体的案例,选择相应的设计模式,并根据该设计模式所定义的组成元素,组成元素之间的关连关系、约束关系,利用UML作出具体的设计。 在IBM Rational Software Architecture 6.0中,提供了Goff所总结的23种常见模式的模板,我们可以根据这些模板,实例化模板的参数,最后得到一个具体的某种模式的设计。图1-图3描述了组件的一个设计。精品.图一:组件的设计模式图(IBM RSA6.0中建模)精品.图二:组件的设计模式图主题图(IBM RSA6.0中建模)图三:组件的浏览图(IBM RSA6.0中建模)一:组合模式:一个

5、例子:组件可以分为原子组件与组合组件,原子组件是不能再分解的一个组件单元,组合组件则是由多个组件组成,而组成组合组件的这些组件既可以是原子组件,也可以是组合组件。这样,原子组件可以通过组合构成一个组合组件,原子组件与组合组件又可以通过组合构成更大的组合组件。我们可以通过组合模式来设计一个组合组件的模型,图三是利用IBM RationalSoftwareArchitecture所提供的组合模式设计出来的组件的结构。图四是利用Rational Rose类图描述的组件的结构图。精品.图四:组件类图(Rose2003) 图形可以看成是一些基本图形元素与组合图形元素的组合体,其中基本的图形元素包括点,线

6、,园,矩形,椭圆形,射线等基本元素。而一个最简单的组合图形元素是这些基本图形元素组合在一块形成的组合。通过组合,最终可以构成用户所需要的图形。图五描述了一个构成的例子。一个文件夹由文件以及文件夹组成,而在这个文件夹里可能也是由文件及文件夹组成,因此,文件夹也是一种组合模式的实例,请根据上面所提供描述内容,利用组合模式画出图形元素、文件夹的UML结构图。精品.图五:一个图形例子图六:一个文件夹的例子 二:责任链模式: 责任链模式是使多个对象都有机会处理请求,从而避免请求的对象和接收的对象之间的耦合关系,将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。例如一个图形用户界面中

7、的上下文有关的帮助机制,用户在界面的任一部分上按F1键就应该可以得到帮助信息,所提供的帮助依赖于点击的是界面的哪一部分以及上下文环境。显然,在这种模式中,我们应根据从最特殊到最普遍的顺序来组织帮助信息,这样,用户所得到的帮助应是最体现了用户的需求。精品.图七 对象责任链类之间调用图根据上面的提示,请画出它们之间的对象交互图以及类图。图八:帮助责任链序列图 图九:责任链类图 抽象工厂模式与工厂模式:精品. 抽象工厂模式与工厂模式的区别:抽象工厂模式比工厂模式更复杂,更灵活,一个抽象工厂模式或以先创建出多个具体的工厂,这些具体的工厂再创建出具体的产品。抽象工厂模式关键在于工厂类是多层次的,有父工厂

8、类和子工厂类,父工厂类可以产生子工厂类,再由子工厂类生产出产品,这样产品也可以是由复杂关系的,也可以说多种的。创建产品时,它是由具体工厂的实例的操作来完成的。 抽象工厂模式:多个抽象产品类,每个抽象产品类可以派生出多个具体产品类。 工厂方法模式:一个抽象产品类,可以派生出多个具体产品类。由这些类来创建实例图十:生成不同平台的控件的设计图(简化了的抽象工厂模式)图十一:生成不同控件的设计图(工厂模式)根据上面分析与实例所描述抽象工厂模式与工厂模式的区别及联系,考虑一个游戏中的人物的创建,试着利用这两种模式对游戏中创建人物的方法进行建模。(提示:为了描述在不同的场景中的人物建立,可以认为不同的场景是不同的具体工厂,而在同一场景中建立一个人物,可以利用工厂模式进行建模)。精品.实验六 实验报告班级 09软件工程2班 学号 200930690211 姓名 江庆青 一:实验过程:利用RSA6.0设计出组件、文件夹、图形的设计。并谈谈设计模式的理解组件精品.图形精品.精品.文件夹精品.如有侵权请联系告知删除,感谢你们的配合!精品

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号