为什么UML很重要?
为了回答这个问题,我们看看建筑行业。设计师设计出房子。施工人员使用这个设计来建造房子。建筑越复杂,设计师和施工人员之间的交流就越重要。蓝图就成为了这个行业中的设计师和施工人员的必修课。
写软件就好像建造建筑物一样。系统越复杂,参与编写与配置软件的人员之间的交流也就越重要。在过去十年里UML就成为分析师,设计师和程序员之间的“建筑蓝图”。现在它已经成为了软件行业的一部分了。UML提供了分析师,设计师和程序员之间在软件设计时的通用语言。
UML被应用到面向对象的问题的解决上。想要学习UML必须熟悉面向对象解决问题的根本原则――都是从模型的建造开始的。一个模型model就是根本问题的抽象。域domain就是问题所处的真实世界。
模型是由对象objects组成的,它们之间通过相互发送消息messages来相互作用的。记住把一个对象想象成“活着的”。对象有他们知道的事(属性attributes)和他们可以做的事(行为或操作behaviors or operations)。对象的属性的值决定了它的状态state。
类Classes是对象的“蓝图”。一个类在一个单独的实体中封装了属性(数据)和行为(方法或函数)。对象是类的实例instances。
UML简介
UML (Unified Modeling Language)为面向对象软件设计提供统一的、标准的、可视化的建模语言。适用于描述以用例为驱动,以体系结构为中心的软件设计的全过程。
UML的定义包括UML语义和UML表示法两个部分。
(1) UML语义:UML对语义的描述使开发者能在语义上取得一致认识,消除了因 人而异的表达方法所造成的影响。
(2) UML表示法:UML表示法定义UML符号的表示法,为开发者或开发工具使用这些图形符号和文本语法为系统建模提供了标准。
UML模型图的构成
事物(Things):UML模型中最基本的构成元素,是具有代表性的成分的抽象
关系(Relationships):关系把事物紧密联系在一起
图(Diagrams ):图是事物和关系的可视化表示
UML关系
1.4.1依赖
依赖(dependency)是两个事物之间的语义关系,其中一个事物(独立事物)发生变化,
会影响到另一个事物(依赖事物)的语义
1.4.2关联
关联(association)是一种结构关系,它指明一个事物的对象与另一个事物的对象间
的联系
1.4.3泛化
泛化(generalization)是一种特殊/一般的关系。也可以看作是常说的继承关系
1.4.4实现
实现(realization)是类元之间的语义关系,其中的一个类元指定了由另一个类元保
证执行的契约