软件工程: 对软件开发全过程进行建模和管理.
建模: 对现实系统进行适当的过滤, 用适当的表现规则描述出简洁的模型.
建模是一种深入解决问题的方法.
软件建模的作用是把来源于现实世界的问题转化为计算机可以理解和实现的问题.
软件建模的实现过程是从需求入手, 用模型表达分析设计过程, 最终将模型映射成软件实现.、
UML(United Modeling Language, 统一建模语言): 是一种基于面向对象的可视化建模语言.
UML 采用了一组形象化的图形(如类图)符号作为建模语言, 使用这些符号可以形象地描述系统的各个方面
UML 通过建立图形之间的各种关系(如类与类之间的关系)来描述模型.
UML 中一共有 13 种图:
类图****对象图包图组件图部署图用例图**时序图***协作图状态图活动图
UML 中的关系主要包括 4 种:
关联关系(association)
依赖关系(dependency)
泛化关系(generalization)
实现关系(realization)
用例图 用例之间的关系
泛化关系:表示同一业务目的(父用例)的不同技术实现(各个子用例). 在 UML 中, 用例泛化用一个三角箭头从子用例指向父用例
包含关系:一个用例可以包含其他用例具有的行为, 并把它包含的用例行为作为自身行为的一部分. 在 UML 中包含关系用虚线箭头加 “<<include>>”, 箭头指向被包含的用例
扩展关系:如果在完成某个功能的时候偶尔会执行另外一个功能, 则用扩展关系表示.在 UML 中扩展关系用虚线箭头加 “<<extend>>”, 箭头指向被扩展的用例、
类图
类图包含的主要元素有类, 接口和关系. 其中关系有关联关系, 泛化关系, 依赖关系和实现关系. 在类图中也可以包含注释和约束.
泛化关系用来表示类与类, 接口与接口之间的继承关系. 泛化关系有时也称为”is a kind of”关系
在 UML 中泛化关系用一条实线空心箭头由子类指向父类
实现关系用来表示类与接口之间的实现关系.
依赖 Dependency 依赖指的是类之间的访问关系。如果类A访问类B的属性或方法,或者类A负责实例化类B, 那么可以说类A依赖类B
在 UML 中实现关系用一条虚线空心箭头由子类指向父类
图1.2
同过以上的讲解我们又可以把关联分为单向关联和双向关联
a、单向关联:仅仅建立从Customer到Orders的一对多的关联,即仅仅在Customer类中定义allOrders集合,或者仅仅建立从Orders到Customer的多对一的关联,即仅仅在Orders类中定义customer属性(参考以上两个图的结果)。
b、双向关联:即建立从Customer到Orders的一对多的关联,又建立从Orders到Customer的多对一的关联。如图1.3所示: