面向对象方法(Object-Oriented Method)是一种把面向对象的思想应用于软件开发过程中,指导开发活动的系统方法,简称OO (Object-Oriented)方法,是建立在“对象”概念基础上的方法学。对象是由数据和容许的操作组成的封装体,与客观实体有直接对应关系,一个对象类定义了具有相似性质的一组对象。而每继承性是对具有层次关系的类的属性和操作进行共享的一种方式。所谓面向对象就是基于对象概念,以对象为中心,以类和继承为构造机制,来认识、理解、刻画客观世界和设计、构建相应的软件系统。
面向对象方法的具体实施步骤如下:
1)面向对象分析:从问题陈述入手,分析和构造所关心的显示世界问题域的模型,并用相应的符号系统表示。模型必须是简洁、明确地抽象目标系统必须做的事,而不是如何做。分析步骤为:
(1)确定问题域,包括定义论域,选择论域,根据需要细化和增加论域;
(2)区分类和对象,包括定义对象,定义类、命名;
(3)区分整体对象以及组成部分,确定类的关系以及结构;
(4)定义属性,包括确定属性,安排属性;
(5)定义服务,包括确定对象状态,确定所需服务,确定消息联结;
(6)确定附加的系统约束。
2)面向对象设计:面向对象的设计与传统的以功能分解为主的设计有所不同。具体设计步骤为:
(1)应用面向对象分析,对用其他方法得到的系统分析的结果进行改进和完善;
(2)设计交互过程和用户接口;
⑶设计任务管理,根据前一步骤确定是否需要多重任务,确定并发性,确定以何种方式驱动任务,设计子系统以及任务之间的协调与通信方式,确定优先级;
(4)设计全局资源,确定边界条件,确定任务或子系统的软、硬件分配;
(5)对象设计。
3)面向对象实现:使用面向对象语言实现面向对象的设计相对比较容易。如果用非面向对象语言实现面向对象的设计时,特别需要注意和规定保留程序的面向对象结构。
传统的面向功能的方法学中,强调的是确定和分解系统功能,这种做法虽然是目标的最直接的实现方式,但是由于功能是软件系统中最不稳定、最容易变化的方面,因而使系统难以维护和扩展。面向对象设计首先强调来自域的对象,然后围绕对象设置属性和操作。用面向对象设计,其结构源于客观世界稳定的对象结构。因而与传统软件设计方法相比,明显提高了软件的生产率,可靠性,易重用性、易维护性等方面的效果。