UML(unified model language):统一建模语言
UML是一个绘制软件概念图的图形化标记语言;
1. 图的类型:
UML有三种主要的图:静态图,动态图,物理图
静态图通过对象,类,数据结构以及他们之间的关系来表达那些软件元素中不会改变的逻辑元素;
动态图通过执行流,实体改变状态的方式来描述软件实体在执行过程中如何变化;
物理图用来描述不会改变的物理实体,例如源文件,二进制文件,数据文件,类库等;
2. 常用图:
类图
对象图
序列图
协作图
状态图
3. 何时用UML图
UML图用于沟通以及最后的交付;
UML图应该尽可能简单;
类图(class diagram)
框图表示类,如果需要,第二个框表示类变量,第三个框表示方法;
再详细点,-代表private和friendly的可见性,#代表protected可见性,+代表public的可见性;
继承用封闭三角形的箭头符来表示,实现接口用虚线的封闭三角形箭头来,关联使用普通的箭头来表示;
标注:
实现接口也可用继承的方式来表示,但接口类上要加<<interface>>
对于工厂模式的类,即某个方法用以产生某个对象并返回,则可用关联箭头外加<<creates>>标注
如果某个类实例在方法中被定义和使用,则用关联箭头外加<<local>>标注
如果某个类实例在方法参数中被用到,则用关联箭头外加<<parameter>>标注
内部类可用圆圈内+号的方式来表示关联;
序列图
对象,生命线,消息
状态图
状态,事件,初始伪状态,结束伪状态,超状态;
状态用圆形拐角矩形(被分成上下两格)来表示,状态名字显示在状态图上面的框格中,状态图下面的框格则表示进入或退出这个状态时触发的动作;也可添加其它的事件;
初始伪状态即状态机的初始状态,用实心的黑色圆圈表示,
超状态包括多个状态,用来描述多个状态的一致行为,用大框将几个状态框起来即可;
超状态的转换可被子状态发出的转换重载;
对于事件,如从其它状态进入超状态,则会先触发超状态的对应动作,再触发子状态的对应动作;如从超状态进入其它状态,则相反;
结束伪状态用空心的实心圆表示;
UML是一个绘制软件概念图的图形化标记语言;
1. 图的类型:
UML有三种主要的图:静态图,动态图,物理图
静态图通过对象,类,数据结构以及他们之间的关系来表达那些软件元素中不会改变的逻辑元素;
动态图通过执行流,实体改变状态的方式来描述软件实体在执行过程中如何变化;
物理图用来描述不会改变的物理实体,例如源文件,二进制文件,数据文件,类库等;
2. 常用图:
类图
对象图
序列图
协作图
状态图
3. 何时用UML图
UML图用于沟通以及最后的交付;
UML图应该尽可能简单;
类图(class diagram)
框图表示类,如果需要,第二个框表示类变量,第三个框表示方法;
再详细点,-代表private和friendly的可见性,#代表protected可见性,+代表public的可见性;
继承用封闭三角形的箭头符来表示,实现接口用虚线的封闭三角形箭头来,关联使用普通的箭头来表示;
标注:
实现接口也可用继承的方式来表示,但接口类上要加<<interface>>
对于工厂模式的类,即某个方法用以产生某个对象并返回,则可用关联箭头外加<<creates>>标注
如果某个类实例在方法中被定义和使用,则用关联箭头外加<<local>>标注
如果某个类实例在方法参数中被用到,则用关联箭头外加<<parameter>>标注
内部类可用圆圈内+号的方式来表示关联;
序列图
对象,生命线,消息
状态图
状态,事件,初始伪状态,结束伪状态,超状态;
状态用圆形拐角矩形(被分成上下两格)来表示,状态名字显示在状态图上面的框格中,状态图下面的框格则表示进入或退出这个状态时触发的动作;也可添加其它的事件;
初始伪状态即状态机的初始状态,用实心的黑色圆圈表示,
超状态包括多个状态,用来描述多个状态的一致行为,用大框将几个状态框起来即可;
超状态的转换可被子状态发出的转换重载;
对于事件,如从其它状态进入超状态,则会先触发超状态的对应动作,再触发子状态的对应动作;如从超状态进入其它状态,则相反;
结束伪状态用空心的实心圆表示;