面向对象是一种系统建模技术。通过分析系统内对象的交互来描述或建模一个系统。交互的对象最终以类的形式组织。
若一个类的改动会导致另一个类的改动,则称为两个类之间存在依赖。
一个系统的分析和设计过程:
首先是了解业务,画用例图(找Actor——>找Use Case——>细化用例——>写用例文档;);
然后画顺序图,显示具体用例的详细流程;
最后根据详细流程,分层分类;
1、一个典型的OO编程过程是:
a、先整理需求,根据需求进行OOA,将真实世界的客观物体抽象成程序中的类或对象。此过程会用到UML。OOA的输出结果是一个个类或对象的模型图。
b、接下来进行OOD。这一步的目的是处理类之间的耦合关系。设计类或对象的接口,此时会用到各种设计模式。
2、UML
UML是用于描述、记录软件分析和设计的工具,特别是使用面向对象风格建造的软件系统。因为编程语言的抽象级别不够高,不方便讨论设计。
常用的UML图形有用例图、类图、顺序图、组件图、部署图等。
a、用例图(仅是系统功能的描述):用于OOA,描述人们如何与系统交互;
用于描述系统提供的功能。每个用例代表系统的一个功能模块。
用例图包括用例(以一个椭圆表示,用例的名称放在椭圆的中心或下面)、角色(以一个人形符号表示)、角色与用例之间的关系(以简单的线段表示)以及系统内用例之间的关系。
需求:找Actor——>找Use Case——>细化用例——>写用例文档;
b、类图(表示系统中应包含哪些实体、各实体之间如何关联;用于构建领域词汇表):用于OOD;
类在类图上使用包含三个部分的矩形来描述。最上面显示类的名称、中间显示类的属性、下面显示类的方法。
类之间有三种基本关系:关联(包括聚合和组合)、泛化(继承)、依赖。
关联——类里的某个属性引用到另外一个实体。
关联使用一条实线表示。带箭头的关联表示单向关联。
聚合使用空心菱形框的实线表示。菱形指向整体。
组合使用带实心的菱形框的实线表示。
泛化:即继承关系,使用带空心箭头的实线表示。
依赖:使用带箭头的虚线表示,其中箭头指向被依赖的实体。如: