Ingeniería de software orientada a objetos -Object-oriented software engineering

La ingeniería de software orientada a objetos (comúnmente conocida por el acrónimo OOSE ) es un lenguaje y metodología de modelado de objetos .

OOSE fue desarrollado por Ivar Jacobson en 1992 mientras trabajaba en Objectory AB . Es la primera metodología de diseño orientada a objetos que emplea casos de uso para impulsar el diseño de software . También utiliza otros productos de diseño similares a los que utiliza la técnica de modelado de objetos .

Se documentó por primera vez en el libro de 1992 Ingeniería de software orientada a objetos: un enfoque basado en casos de uso , ISBN  0-201-54435-0

La herramienta Objectory fue creada por el equipo de Objectory AB para implementar la metodología OOSE. Después del éxito en el mercado, otros proveedores de herramientas también apoyaron a OOSE.

Después de que Rational Software compró Objectory AB, la notación, la metodología y las herramientas de OOSE fueron reemplazadas.

  • Como una de las fuentes principales del lenguaje de modelado unificado (UML), los conceptos y la notación de OOSE se han incorporado a UML.
  • Desde entonces, la parte de metodología de OOSE ha evolucionado hacia el Proceso Unificado Racional (RUP).
  • Las herramientas OOSE han sido reemplazadas por herramientas compatibles con UML y RUP.

OOSE ha sido reemplazado en gran parte por la notación UML y por la metodología RUP.

Los conceptos básicos de OOSE

La programación orientada a objetos se caracteriza por 3 conceptos principales: encapsulación, herencia y polimorfismo.

  • Encapsulamiento.

La encapsulación se relaciona con la creación de una nueva entidad. Debido al encapsulado, los datos se organizan en clases que a su vez consisten en objetos. Mantiene las rutinas separadas, lo que las ayuda a evitar conflictos entre sí. También se lo conoce como envoltura de objeto a sus funciones. ejemplo car es una clase y sus partes se conocen como objeto, por lo que si combinamos todas las partes de acuerdo con su función, se convertirá en un automóvil completo.

  • Herencia.

La herencia representa parte de las relaciones entre clases y objetos. Esta característica ayuda a transferir la estructura y los métodos de una clase a otra. Por lo tanto, al agregar una nueva clase o paso en la parte inferior de una jerarquía, solo se deben agregar los métodos y datos que son únicos para este paso. Todo lo demás será heredado.

  • Polimorfismo.

Es una capacidad para integrar fácilmente nuevas formas de objetos. Debido al polimorfismo, los objetos se manejan de manera diferente según su tipo o clase de datos. Además, incluso cuando se desconoce su tipo exacto, los procedimientos aún se pueden agregar.

Temas principales

  • Los productos de software pueden volverse muy complejos.
  • Se esperan resultados de alta calidad.
  • El equipo de desarrollo puede ser grande y estar distribuido.
  • La mayoría de los proyectos agregan funcionalidad a un producto existente.
  • OOSE produjo un lenguaje de alto nivel.

La principal ventaja de la ingeniería de software orientada a objetos es que ayuda a los programadores a evitar muchas modificaciones rutinarias. Con OOSE, pueden simplemente agregar un nuevo objeto sin esfuerzos adicionales, ya que los nuevos objetos heredarán las características principales de los existentes.

Referencias