软件工程方法论对我们软件开发有多大用处?
概括地说,面向对象方法学具有下述4个要点。
(1)把对象(object)作为融合了数据及在数据上的操作行为的统一的软件构件。面向对象程序是由对象组成的,程序中任何元素都是对象,复杂对象由比较简单的对象组合,而成。也就是说,用对象分解取代了传统方法的功能分解。
(2)把所有对象都划分成类(class)。每个类都定义了一组数据和一组操作,类是对具有相同数据和相同操作的一组相似对象的定义。数据用于表示对象的静态属性,是对象的状态信息,而施加于数据之上的操作用于实现对象的动态行为。
(3)按照父类(或称为基类)与子类(或称为派生类)的关系,把若干个相关类组成一个层次结构的系统(也称为类等级)。在类等级中,下层派生类自动拥有上层基类中定义的数据和操作,这种现象称为继承。
(4)对象彼此间仅能通过发送消息互相联系。对象与传统数据有本质区别,它不是被动地等待外界对它施加操作,相反,它是数据处理的主体,必须向它发消息请求它执行它的某个操作以处理它的数据,而不能从外界直接对它的数据进行处理。也就是说,对象的所有私有信息都被封装在该对象内,不能从外界直接访问,这就是通常所说的封装性。
面向对象方法学的出发点和基本原则,是尽量模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近人类认识世界、解决问题的方法与过程,从而使描述问题的问题空间(也称为问题域)与实现解法的解空间(也称为求解域)在结构上尽可能一致。
用面向对象方法学开发软件的过程,是一个主动地多次反复迭代的演化过程。面向对象方法在概念和表示方法上的一致性,保证了在各项开发活动之间的平滑(即无缝)过渡。面向对象方法普遍进行的对象分类过程,支持从特殊到一般的归纳思维过程;通过建立类等级而获得的继承性,支持从一般到特殊的演绎思维过程。
正确地运用面向对象方法学开发软件,则最终的软件产品由许多较小的、基本上独立的对象组成,每个对象相当于一个微型程序,而且大多数对象都与现实世界中的实体相对应,因此,降低了软件产品的复杂性,提高了软件的可理解性,简化了软件的开发和维护工作。对象是相对独立的实体,容易在以后的软件产品中重复使用,因此,面向对象范型的另一个重要优点是促进了软件重用。面向对象方法特有的继承性和多态性,进一步提高了面向对象软件的可重用性。

浙公网安备 33010602011771号