耦合:模块之间联系的紧密程度。
内聚:模块内部各元素之间联系的紧密程度。
继承与泛化
继承:特殊类(子类)与一般类(父类)的关系。
泛化:一般类与特殊类的关系,一对多。
多态与重载
多态性是指一般类中定义的属性或服务被特殊类继承后,可以具有不同的数据类型或表现出不同的行为,通常是使用重载(专用多态)和改写(包含多态)两项技术来实现。
重载也称为过载、重置,重载是编译时执行的(静态绑定),而改写则是运行时选择的(动态绑定)。
面向对象分析
OOA/OOD
Booch:螺旋上升,迭代的、渐进式
OMT:对象建模技术,主要用于分析、系统设计和对象设计,包括对象模型、动态模型和功能模型。
OOSE:面向对象软件工程。
Wirfs-Brock:没有明确地区分分析和设计的任务,而是从客户规约的股价开始到设计完成结束的一个过程。
统一建模语言
UML:将OMT、OOSE、Booch方法中的建模语言和方法有机地融合在一起。
类之间的关系
依赖关系:在UML中,使用带箭头的虚线表示依赖关系。
泛化关系:在UML中,使用带空心箭头的实线表示,箭头指向父类。
关联关系:关联表示两个类之间存在某种语义上的联系,在UML中,用一条实线来表示关联关系。
聚合关系:是一种特殊形式的关联,在UML中,用一个带空心菱形的实线表示,空心菱形指向的是代表整体的类。
组合关系:在UML中,用一个带实心菱形的实线表示,菱形指向的是代表整体的类。
实现关系:是操作的集合,在UML中,用一个带空心箭头的虚线表示。
结构化方法和面向对象方法的比较
1、思维方法的比较
结构化方法关注于功能的分层和分解;而面向对象方法更类似使用科学抽象方法对现实世界进行的模拟。
2、价值判断
结构化方法:自上而下地分解、得到问题域的层次性模型;符合人类思考问题的自然方式;... ...
面向对象方法:更容易支持企业的连续性过程改进;更容易支持 软件复用;... ...