36
INGENIERIA DE SOFTWARE CONCEPTOS Y PRINCIPIOS ORIENTADOS A OBJETOS PROFESOR: WILBERT DALGUERRE ORDOÑEZ ALUMNOS: MAYTA MESCCO, MELBER AMAU HUAMAN, PAUL ALEXANDER TEMA:

Tare psitiva

Embed Size (px)

Citation preview

INGENIERIA DE SOFTWARE

CONCEPTOS Y PRINCIPIOS ORIENTADOS A OBJETOS

PROFESOR:WILBERT DALGUERRE ORDOÑEZ

ALUMNOS:MAYTA MESCCO, MELBER

AMAU HUAMAN, PAUL ALEXANDER

TEMA:

Vivimos en un mundo de objetos. Estos objetos existen en la naturaleza, en entidades hechas por el hombre, en los negocios y en los productos que usamos,

clasificados

Pueden ser:

descritos

organizados

combinados

manipulados

creados

y

La primera vez que se propuso un enfoque orientado a objetos para eldesarrollo de software fue a finales de los años sesenta. Sin embargo, lastecnologías de objetos han necesitado casi veinte años para llegar a serampliamente usadas.

A medida que pasa el tiempo,las tecnologías de objetos están sustituyendo a los enfoques clásicos dedesarrollo de software.

Una pregunta importante es:

¿Por qué?

Durante los años 90, la ingeniería del softwareorientada a objetos se convirtió en el paradigma de elección para muchosproductores de software y para un creciente número de sistemas deinformación y profesionales de la ingeniería.

La respuestaLas tecnologías de objeto llevan un número debeneficios inherentes que proporcionan ventajas a los niveles de dirección ytécnico.

Las tecnologías de objetos llevan a reutilizar, y la reutilización lleva a un desarrollo de software más rápido y aprogramas de mejor calidad.

El software orientado a objetos es más fácil de mantener debido a que su estructura es inherentemente poco acoplada. Estolleva a menores efectos colaterales cuando se deben hacer cambios yprovoca menos frustración en el ingeniero del software y en el cliente.

Hoy en día el paradigma OO encierra una completa visión de laingeniería del software. Edwar d Berard hace notar esto cuandodeclara:

EL PARADIGMA ORIENTADO A OBJETOS

Durante muchos años el término orientado a objetos (00) se usó parareferirse a un enfoque de desarrollo de software que usaba uno de loslenguajes orientados a objetos (Ada 95, C++, Eiffel, Smalltalk, etc.).

proceso de ensamblaje de componentes ha sido adaptado a laingeniería del software OO. El proceso OO se mueve a través de unaespiral evolutiva que comienza con la comunicación con el usuario. Es aquí donde se define el dominio del problema y se identifican lasclases básicas del problema. La planificación y el análisis de riesgosestablecen una base para el plan del proyecto OO.

Los beneficios de la tecnología orientada a objetos se fortalecen si seusa antes y durante el proceso de ingeniería del software. Estatecnología orientada a objetos considerada debe hacer sentir suimpacto en todo el proceso de ingeniería del software. Un simple usode programación orientada a objetos (POO) no brindará los mejoresresultados.

CONCEPTOS ORIENTADOS A OBJETOS

Cualquier discusión sobreingeniería del softwareorientada a objetos debecomenzar por el términoorientado a objetos. ¿Qué es un punto de vistaorientado a objetos? ¿Qué hace que un método seaconsiderado como orientado aobjetos? ¿Qué es un objeto?

Para entender la visiónorientada a objetos, consideremos un ejemplo de un objeto del mundo real.* una silla.Silla es un miembro (el término instancia también se usa) de unaclase mucho más grande de objetos que llamaremos Mobiliario. Un conjunto de atributos genéricos puede asociarse con cada objeto, enla clase Mobiliario. Por ejemplo, todo mueble tiene un costo,dimensiones, peso, localización y color, entre otros muchos posiblesatributos.

Estos son aplicables a cualquier elemento sobre el que sehable, una mesa o silla, un sofá o un armario. Como Silla es unmiembro de la clase Mobiliario, hereda todos los atributos definidospara dicha clase. Este concepto se ilustra utilizando una notaciónconocida como UML.

Una vez definida la clase, los atributos pueden reutilizarse al crearnuevas instancias de la clase. Por ejemplo, supongamos quedebemos definir un nuevo objeto llamado Sillesa (un cruce entre una

El objeto silla (y todos los objetos en general) encapsula datos (los valores de los atributos que definen la silla), operaciones (las acciones que se aplican para cambiar los atributos de la silla), otros objetos

Coad y Yourdon definen el término de la siguiente forma:Orientación a objetos = objetos + clasificación + herencia +comunicación

Clases y objetos

Los conceptos fundamentales que llevan a un diseño de alta calidadson igualmente aplicables a sistemas desarrollados usando métodosconvencionales y orientados a objetos. Por esta razón, un modelo O0de software de computadora debe exhibir abstracciones de datos yprocedimientos que conducen a una modularidad eficaz.

Por definición, todos los objetos queexisten dentro de una clase heredan sus atributos y las operaciones disponibles para la manipulación de los atributos. Una superclase es una colección de clases y una subclase es una instancia de una clase.

Estas definiciones implican la existencia de una jerarquía de clases en la cual los atributos y operaciones de la superclase sonheredados por subclases que pueden añadir, cada una de ellas, atributos «privados» y métodos.

La mayoría de los objetos físicostienen características tales como forma, peso, color y tipo de material.Las personas tienen características como fecha de nacimiento,padres, nombre y color de los ojos. Una característica puede versecomo una relación binaria entre una clase y cierto dominio. La«relación» binaria anteriormente señalada implica que un atributopuede tomar un valor definido por un dominio enumerado.

Un dominio es simplemente un conjunto de valores específicos. Por ejemplo, suponga que una clase Coche tiene un atributo color. El dominio de valores de color es (blanco, negro, plata, gris, azul, rojo, amarillo, verde). En situaciones más complejas,el dominio puede ser un conjunto de clases.

la clase Coche también tiene un atributo motor que abarca los siguientes valores de dominio: (16 válvulas opción económica, 16 válvulas opción deportiva, 24 válvulas opción deportiva, 32 válvulas opción de lujo).

Cada una de las opciones indicadas tiene un conjunto de atributos específicos. Las características (valores del dominio)pueden aumentarse asignando un valor por defecto (característica) a un atributo. Por ejemplo, el atributo motor destacado antes, tiene el valor por defecto 16 válvulas opción deportiva.

Consideremos el atributocolor para Coche. En algunas aplicaciones (por ejemplo, planificaciónde la producción) puede ser necesario asignar una probabilidad acada uno de los colores (blanco y negro son más probables comocolores de coches).

Operaciones, métodos y serviciosUn objeto encapsula datos (representados como una colección deatributos) y los algoritmos que procesan estos datos. Estos algoritmos son llamados operaciones, métodos o servicios' y pueden ser vistos como módulos en un sentido convencional. Cada una de las operaciones encapsuladas por un objeto proporciona unarepresentación de uno de los comportamientos del objeto.

Mensajes

Los mensajes son el medio a través del cual interactúan los objetos.Un mensaje estimula la ocurrencia de cierto comportamiento en el objetoreceptor. El comportamiento se realiza cuando se ejecuta una operación. Una operación dentro de un objeto emisor genera unmensaje de la forma:

Encapsulamiento, herencia y polimorfismo

Hay tres características de los sistemas orientados a objetos que loshacen únicos. Esto proporciona un númeroimportante de beneficios:

1. Los detalles de implementación interna de datos y procedimientos están ocultos al mundo exterior (ocultación de la información). Esto reduce la propagación de efectoscolaterales cuando ocurren cambios.2. Las estructuras de datos y las operaciones que las manipulan están mezcladas en una entidad sencilla: la clase. Esto facilitala reutilización de componentes.3. Las interfaces entre objetos encapsulados están simplificadas.

La herencia es una de las diferencias clave entre sistemasconvencionales y sistemas OO. Una subclase Y hereda todos losatributos y operaciones asociadas con su superclase X.

Definición de operaciones

Las operaciones definen el comportamiento de un objeto y cambian, de alguna manera, los atributos de dicho objeto.

Hito técnico: análisis OO terminado

1. Todas las clases, y la jerarquía de clases, están definidas yrevisadas.2. Se han definido y revisado los atributos de clase y lasoperaciones asociadas a una clase.3. Se han establecido y r evisado las relaciones entre clases.

Hito técnico: diseño O0 terminado

1. Se ha definido y revisado el conjunto de subsistemas.2. Las clases se han asignado a subsistemas y han sidorevisadas.3. Se ha establecido y revisado la asignación de tareas.

Gracias !!