面向对象方法学概述

面向对象方法学的优点

       面向对象方法的基本思想是从现实世界中客观存在的事物出发来构造软件系统,并在系统构造中尽可能运用人类的自然思维方式。 
 

1、与人类习惯的思维方法一致

       面向对象的软件技术是以对象为核心,用这种技术开发出的软件系统由对象组成。对象是对现实世界实体的正确抽象,它是由描述内部状态表示静态属性的数据以及可以对这些数据施加的操作,封装在一起所构成的统一体。对象之间通过传递消息互相联系,以模拟现实世界中不同事物彼此之间的联系。


       面向对象的设计方法基本原理是,使用现实世界的概念抽象地思考问题从而自然地解决问题。它强调模拟现实世界中的概念而不强调算法,鼓励开发者在绝大部分过程中都应用领域的概念去思考。

   面向对象方法学的基本原则是按照人类习惯的思维方法建立问题域的模型,开发出尽可能直观、自然地表现求解方法的软件系统。面向对象的软件系统中广泛使用的对象是对客观世界中实体的抽象。   
 

2、稳定性好

       传统的软件开发方法以算法为核心,开发过程是基于功能分解和功能分析进行的。当功能需求发生变化时将引起软件结构的整体修改。所以,这种软件系统的稳定性是比较差的。而面向对象方法是基于构造问题领域的对象模型,以对象为中心来构造软件系统的。用对象模拟问题领域中的实体,以对象间的联系刻画实体间的联系。 

       面向对象的软件系统的结构是根据问题领域的模型建立起来的,而不是基于对系统应完成的功能的分解,所以,当对系统的功能需求变化时并不会引起软件结构的整体变化,往往仅需要作一些局部性的修改。因此,以对象为中心构造的软件系统也是比较稳定的。 

3、可重用性好

      面向对象方法在类的级别上而不是在各子程序级别上,提高代码重用来改进软件的可重用性。可以通过开发和建立合适的类库进行重用,这种方法实际上是一种新的符合特定需求的非常高层的语言。
      实际上对象类是一个足够复杂的有机体,可以作为独立的软件单元从公司中的一个应用移植到另一个应用。 
 

4、可扩展性

       软件的可扩展性简单地描述为“说明域与实现域之间是同构的”,用通俗的话来说就是解决问题的模型应该满足问题的模型。 

       可扩展性经常和继承性一起使用,用户常在已经声明的主题中增加变量以对系统进行扩展。使用面向对象技术,可以在已有的超类下增加继承子类的方法实现扩展。

5、可维护性

(1) 可重用性降低了企业整个代码维护的费用。

(2) 可靠性减少了用户的不满意度和对修改问题的抱怨。 

(3) 健壮性确保了软件的可维护性而不至于在桌面上瘫痪。

(4) 可扩展性迎合了用户修改系统的渐近式倾向,因此用户可以不断地对软件寻求更多的较小的修改。 


 

面向对象方法学的不足

1. 面向对象需要更关注于需求、分析和设计

2. 面向对象需要完全改变每个人的思想 

3. 面向对象需要改变软件开发文化  

4. 面向对象不仅仅是编程 

5. 面向对象的许多优点是长期的

6. 面向对象要求先在培训、教育和工具上投资

7. 面向对象技术不能保证能构造出正确的系统

8. 面向对象要求更多的测试工作 

9.面向对象仅是解决方案的一部分


 

面向对象方法的开发过程

1、面向对象方法改进了在生存期各个阶段之间的接口,因为在生存期各个阶段所开发出来的“部件”都是累。

2、在面向对象生存期的各个阶段对各个类的信息进行细化,类成为分析、设计和实现的基本单元。



 

面向对象的基本概念

       在面向对象的设计方法中,对象和传递消息分别是表现事物及事物间相互联系的概念。类和继承是适应人们一般思维方式的描述范式。方法是允许作用于该类对象上的各种操作。

      面向对象=对象+类+继承+通信 
 

对象(object)

1.对象是面向对象开发模式的基本成分。

2.每个对象可用它本身的一组属性和它可以执行的一组操作来定义。

3.属性一般只能通过执行对象的操作来改变。

4.操作又称为方法或服务,它描述了对象执行的功能,若通过消息传递,还可以为其他对象使用。

消息(Message)

1.消息是一个对象与另一个对象的通信单元,是要求某个对象执行类中定义的某个操作的规格说明。

方法(Method)

1.方法(method)也称作行为(behavior),指定义于某一特定类上的操作与法则。
 

软件工程之面向对象方法学

 

 

类(class)

1.类是一组具有相同数据结构和相同操作的对象的集合。

2.类的定义包括一组数据属性和在数据上的一组合法操作。

继承(Inheritance)

1.继承是使用已存在的定义做为基础建立新定义的技术。

2.新类的定义可以是既存类所声明的数据和新类所增加的声明的组合。

 

识别类和对象

1.面向对象分析的第一层次主要是识别类和对象。

2.类和对象是对于应用有关的概念的抽象。

3.这一层工作是整个分析模型的基础。

选择类和对象的原则
 

1.目标系统必须记住类和对象的某些事情

2.类和对象应当提供某些服务或处理

3.多属性

4.所有属性对于类中所有实例都应有意义

面向对象设计(OOD

1.面向对象设计继续做面向对象分析阶段的工作,建立软件的结构。

2.主要工作分为两个阶段:

   高层设计

1)、高层设计阶段开发系统的结构,即构造应用软件的总体模型。

2)、高层设计阶段标识在计算机环境中进行问题解决工作所需要的概念,并增加了一批需要的类。

软件工程之面向对象方法学

 

   类设计


 

面向对象的基本特征

       在面向对象的设计方法中,对象、类、消息和方法的程序设计范式的基本点在于对象的封装性和继承性。通过封装能将对象的定义和对象的实现分开,通过继承能体现类与类之间的关系,以及由此带来的动态绑定和实体的多态性,从而构成了面向对象的各种特征。 

继承性:

1、继承是一种使用户得以在一个类的基础上建立新的类的技术。新的类自动继承旧类的属性和行为特征,并可具备某些附加的特征或某些限制。 

2、继承性是面向对象程序设计语言不同于其他语言的最主要特点,是其他语言所没有的。正因为继承机制才使得子类的对象也是超类的对象,所以所有发给超类对象的消息,子类对象也可以接收。
 
封装性:

封装的定义为:
 

(1) 一个清楚的边界,所有对象的内部软件的范围被限定在这个边界内;
(2) 一个接口,这个接口描述这个对象和其他对象之间相互的作用;
(3) 受保护的内部实现,这个实现给出了由软件对象提供的功能的细节,这些只能通过定义这个对象的类所提供的方法进行访问。
 

1、在面向对象的方法中,所有信息都存储在对象中,即其数据及行为都封装在对象中。

2、封装是面向对象方法的一个重要原则,它有两个含义:第一个含义是,把对象的全部属性和全部服务结合在一起,形成一个不可分割的独立单位(即对象);第二个含义也称作信息隐蔽,即尽可能隐蔽对象的内部细节,对外形成一个边界,只保留有限的对外接口使之与外部发生联系。

3、封装的目的在于将对象的使用者和对象的设计者分开,使用者不必知道行为实际的细节,只须用设计者提供的消息来访问该对象。

4、封装的概念和类说明有关,但它同样提供如何将一个问题解的各个组件组装在一起的求精过程。封装的基本单位是对象,这个对象的性质由它的类说明来描述,具有同样类的其他对象共享这个性质。对象用作封装的说法比说一个类表示封装的说法更严格。借助对象封装这种定义,一个类的每一个实例在一个问题求解中是一个单独的封装。
 


 

多态性(polymorphism)和重载(overloading)
 

1、在收到消息时对象要予以响应,不同的对象收到同一消息可以产生完全不同的结果,这一现象叫做多态。

2、类的继承与多态结合后,将进一步增强软件的重用性。多态主要包括如下内容。
(1) 运算符重载 同一运算符可用于不同的变量类型,称作运算符重载。 
(2) 
即席多态:即席多态也称操作名重载 。同一操作名可作用于不同对象上并产生不同的结果。
(3) 类属软件:类的继承与多态密切相关,作用于超类实例的方法同样也可以作用于其子类的实例。
 

面向对象的软件工程

       面向对象的软件工程方法是面向对象方法在软件工程领域的全面运用,它包括面向对象的分析(OOA)、面向对象的设计(OOD)、面向对象的编程(OOP)、面向对象的测试(OOT)和面向对象的维护等主要内容。

软件工程之面向对象方法学

 

相关文章:

  • 2021-04-14
  • 2021-07-29
  • 2021-05-14
  • 2022-01-01
  • 2021-05-25
  • 2021-04-09
  • 2021-05-07
猜你喜欢
  • 2021-12-23
  • 2021-03-26
  • 2021-09-21
  • 2021-06-04
  • 2021-11-14
  • 2021-05-04
相关资源
相似解决方案