UML(一)——用例图,类图,对象图
2014-11-12 21:17
246 查看
UML学习了较长的时间,虽然画完图了,但是对九种图还是一知半解,所以总结一下,整理一下自己的思路.
(一).用例图
在传统的软件开发方法和早期的面向对象开发方法中,都是用自然语言来描述,系统的功能需求,这样的做法缺乏形式化,随意性较大,容易产生理解上的含糊和不准确,UML中的用例图就很好的解决了这个问题.
用例图说明的是谁要使用系统以及该系统可以做些什么,强调谁在使用系统,以及系统完成的功能
用例图的作用:(1)用来描述待开发系统的功能需求和系统使用场景,
(2)作为开发过程的基础,驱动各阶段的开发工作
(3)用于验证和确认系统需求
![](http://img.blog.csdn.net/20141112213332585?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMjMzMTEwMg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
执行者:在图中actor就是该用例图的执行者,它表示了谁要使用这个系统.
用例:在图中的椭圆,它代表着系统的功能.
包含(include):表示一个用例在执行过程中使用到了另一个用例的行为或功能,比如在机房收费系统的"导出为excel"用例中,就包含(include)了"打印"这个用例.(也可以理解为"打印"是"导出为excel"的一个流程.)
扩展(extend):一个用例描述了一项基本功能,而另一个用例则描述了该基本功能的特殊情况.这就是一种扩展.在机房收费系统中有一个"查询"用例,但这只是一个抽象的用例描述,所以"打印"和"屏幕显示"就是对"查询"的扩展(e
xtend).可以和C#中的继承类比一下."打印"和"屏幕显示"就可以看做是"查询"的实例化.
(二)类图
类是具有相似结构、行为和关系的一组对象的描述符。类是面向对象系统中最重要的构造块。类图显示了一组类、接口、协作以及他们之间的关系。在UML中问题域最终要被逐步转化,通过类来建模,通过编程语言构建这些类从而实现系统。类加上他们之间的关系就构成了类图,类图是由若干类关联在一起的,反映系统或者子系统组成结构的静态图,
从用例中识别类:用例图实质上是一种系统描述的形式,自然可以根据用例描述来识别类。针对各个用例,可以提如下的问题辅助识别:(1)用例描述中出现了那些实体?(2)用例的完成需要哪些实体合作?(3)用例执行过程中会产生并存储哪些信息?(4)用例要求与之关联的每个角色的输入是什么?(5)用例反馈与之关联的每个角色的输出是什么?(6)用例需要操作哪些硬设备?
![](http://img.blog.csdn.net/20141114210843927?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMjMzMTEwMg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
关联:是类之间的一种很弱的联系。关联可以有方向,可以是单向关联,也可以是双向关联。可以给关联加上关联名来描述关联的作用。关联两端的类也可以以某种角色参与关联.关联包含聚集和组合两种特殊的形式
聚集与组合:这两个关系常常混淆,这两个关系都表示了整体和部分的关系,但是组合的部分和整体有统一的生存期,一旦删除了组合对象,部分对象也就不存在了,在图中就好像大雁和翅膀的关系一样,如果没有了大雁,那也就没有了翅膀。而聚合表示的关系就像雁群和大雁一样,没有了雁群,大雁还是可以存在的。
依赖:描述的是一个类使用了另一个类,也就是说一个类的实现需要另一个类的协助,大多数情况下,依赖关系体现在某个类的方法使用另一个类的对象作为参数。在图中动物是依赖空气的,也可以理解说动物需要空气的协助.
泛化:描述了用于描述父类与子类之间的关系,在图中动物泛化出鸭子,大雁和企鹅
(三)对象图
就好像对类实例化一样,对象图也是类图实例化的结果。对象图表达的是特定时间被建模系统在结构上的部分或是全部视图。同一个类图所对应的对象图可以有多个,多个对象图合在一起共同展示了随着时间的推移,在不同时间点系统的对象状态。与类图的抽象性相比,对象图是具体的,其通常用来提供所对应类图的结构示例,或者作为所对应类图的测试用例。应当说每一幅对象图都有其侧重点,因而,每一幅对象图应当只侧重表达其所侧重内容
其作用有(1)捕获实例和连接(2)在分析和设计阶段创建(3)捕获交互的静态部分(4)举例说明数据、对象的结构(5)描述瞬态图
(一).用例图
在传统的软件开发方法和早期的面向对象开发方法中,都是用自然语言来描述,系统的功能需求,这样的做法缺乏形式化,随意性较大,容易产生理解上的含糊和不准确,UML中的用例图就很好的解决了这个问题.
用例图说明的是谁要使用系统以及该系统可以做些什么,强调谁在使用系统,以及系统完成的功能
用例图的作用:(1)用来描述待开发系统的功能需求和系统使用场景,
(2)作为开发过程的基础,驱动各阶段的开发工作
(3)用于验证和确认系统需求
执行者:在图中actor就是该用例图的执行者,它表示了谁要使用这个系统.
用例:在图中的椭圆,它代表着系统的功能.
包含(include):表示一个用例在执行过程中使用到了另一个用例的行为或功能,比如在机房收费系统的"导出为excel"用例中,就包含(include)了"打印"这个用例.(也可以理解为"打印"是"导出为excel"的一个流程.)
扩展(extend):一个用例描述了一项基本功能,而另一个用例则描述了该基本功能的特殊情况.这就是一种扩展.在机房收费系统中有一个"查询"用例,但这只是一个抽象的用例描述,所以"打印"和"屏幕显示"就是对"查询"的扩展(e
xtend).可以和C#中的继承类比一下."打印"和"屏幕显示"就可以看做是"查询"的实例化.
(二)类图
类是具有相似结构、行为和关系的一组对象的描述符。类是面向对象系统中最重要的构造块。类图显示了一组类、接口、协作以及他们之间的关系。在UML中问题域最终要被逐步转化,通过类来建模,通过编程语言构建这些类从而实现系统。类加上他们之间的关系就构成了类图,类图是由若干类关联在一起的,反映系统或者子系统组成结构的静态图,
从用例中识别类:用例图实质上是一种系统描述的形式,自然可以根据用例描述来识别类。针对各个用例,可以提如下的问题辅助识别:(1)用例描述中出现了那些实体?(2)用例的完成需要哪些实体合作?(3)用例执行过程中会产生并存储哪些信息?(4)用例要求与之关联的每个角色的输入是什么?(5)用例反馈与之关联的每个角色的输出是什么?(6)用例需要操作哪些硬设备?
关联:是类之间的一种很弱的联系。关联可以有方向,可以是单向关联,也可以是双向关联。可以给关联加上关联名来描述关联的作用。关联两端的类也可以以某种角色参与关联.关联包含聚集和组合两种特殊的形式
聚集与组合:这两个关系常常混淆,这两个关系都表示了整体和部分的关系,但是组合的部分和整体有统一的生存期,一旦删除了组合对象,部分对象也就不存在了,在图中就好像大雁和翅膀的关系一样,如果没有了大雁,那也就没有了翅膀。而聚合表示的关系就像雁群和大雁一样,没有了雁群,大雁还是可以存在的。
依赖:描述的是一个类使用了另一个类,也就是说一个类的实现需要另一个类的协助,大多数情况下,依赖关系体现在某个类的方法使用另一个类的对象作为参数。在图中动物是依赖空气的,也可以理解说动物需要空气的协助.
泛化:描述了用于描述父类与子类之间的关系,在图中动物泛化出鸭子,大雁和企鹅
(三)对象图
就好像对类实例化一样,对象图也是类图实例化的结果。对象图表达的是特定时间被建模系统在结构上的部分或是全部视图。同一个类图所对应的对象图可以有多个,多个对象图合在一起共同展示了随着时间的推移,在不同时间点系统的对象状态。与类图的抽象性相比,对象图是具体的,其通常用来提供所对应类图的结构示例,或者作为所对应类图的测试用例。应当说每一幅对象图都有其侧重点,因而,每一幅对象图应当只侧重表达其所侧重内容
其作用有(1)捕获实例和连接(2)在分析和设计阶段创建(3)捕获交互的静态部分(4)举例说明数据、对象的结构(5)描述瞬态图
相关文章推荐
- UML中的九种图及画图技巧——用例图、类图、对象图
- UML静态建模——用例图、类图、对象图、组件图、部署图
- UMl之静态图(用例图、类图、包图、对象图)
- 【UML之对象图VS类图】
- UML9种图之包图、类图、对象图
- UML静态视图——类图、对象图、包图
- 分析一下 原型模式的 UML 类图 。 复制对象, 深浅拷贝 月经贴 ,请回避
- UML总结之——类图、对象图、包图
- UML中数据流图,用例图,类图,对象图,角色图,活动图,序列图详细讲述保存供参考
- UML 基础:类图,组件图,部署图,对象图,包图,用例图,活动图 ,顺序图,协作图,状态图,交互概览图,时间图
- UML学习(一)类图和对象图
- 建立对象模型即使用UML画类图
- UML——类图、对象图(静态图)
- UML---类图和对象图
- [转]UML中数据流图,用例图,类图,对象图,角色图,活动图,序列图详细讲述保存供参考
- [转]UML中数据流图,用例图,类图,对象图,角色图,活动图,序列图详细讲述保存供参考
- 【UML】类图与对象图
- UML入门(一)-类图、对象图、角色图
- UMl之静态图(类图、对象图、包图)
- UML对象图和类图关系解析