学习日志之software engineering(5)——UML
UML是一种用于描述工程的语言,主要用于在工程开发的前夕对工程整体的需求结构功能等进行描述。在描述之后,程序员可以根据画的图进行进一步的工程开发,利用UML工具也可以直接通过UML图直接生成代码,但是这些代码只是函数框架而已,内容还是得自己填。
在UML语言中不同对象之间有4种不同的关系,这几种关系在UML种使用不同样式的线来表示:
- 关联(association):比如老师与学生的关系,这里面的关系是可以自己定义的
- 依赖(depending):子会因为父的变化而变化
- 泛化(generalization):子对象为父对象的衍生概念,更加细化的概念
- 聚集(aggregation):整体与部分的概念
对于UML图主要分为两类:
- 静态模型图
- 动态模型图
静态模型图是用来描述系统的静态结构的,其包括:
- 类图*
- 对象图
- 组件图
- 部件图
动态模型图用于描述系统在运行时各个部件之间的关系和整个流程种各个部件的状态转换关系,其包括有:
- 用例图*(画小人的图)
元素之间的关系有:包含(include),扩展(extend),泛化
- 活动图*
例子:
- 时序图*
- 协作图
- 状态图