2. INTRODUCCION Hoy en día la tecnología orientada a objetos ya no se aplica solamente a los lenguajes de programación, además se viene aplicando en el análisis y diseño con mucho éxito, al igual que en las bases de datos. Es que para hacer una buena programación orientada a objetos hay que desarrollar todo el sistema aplicando esta tecnología, de ahí la importancia del análisis y el diseño orientado a objetos. La programación orientada a objetos es una de las formas más populares de programar y viene teniendo gran acogida en el desarrollo de proyectos de software desde los últimos años. Esta acogida se debe a sus grandes capacidades y ventajas frente a las antiguas formas de programar.
3. El modelo orientado a objetos Para entender este modelo debemos tratar con los siguientes conceptos básicos: Objeto Clase Herencia
4. ¿ Qué es un objeto ? Un objeto podría ser real o abstracto, por ejemplo un bebé, una factura, una medida, una fecha, etc.
5. ¿ Que es una clase ? Conjunto de objetos que poseen características similares , es decir objetos del mismo tipo.
6. ¿ Que es la herencia ? La herencia básicamente consiste en que una clase puede heredar sus variables y métodos a varias subclases (la clase que hereda es llamada superclase o clase padre). Esto significa que una subclase, aparte de los atributos y métodos propios, tiene incorporados los atributos y métodos heredados de la superclase. De esta manera se crea una jerarquía de herencia.
9. Encapsulamiento:El encapsulamiento consiste en unir en la Clase las características y comportamientos, esto es, las variables y métodos. Es tener todo esto es una sola entidad.
10. Ocultamiento: Es la capacidad de ocultar los detalles internos del comportamiento de una Clase y exponer sólo los detalles que sean necesarios para el resto del sistema.
11. Polimorfismo:capacidad que tienen objetos de diferentes clases de responder al mismo mensaje. Comportamientos alternos entre clases derivadas relacionadas.
12.
13.
14.
15.
16. Análisis y diseño orientado a objetos Las herramientasusadas en la etapa de análisis (investigación del problema) se puedenresumir en la siguientetabla. Herramienta de análisisPreguntasquecontesta Casos de uso ¿Cuáles son los procesos del dominio? Modelo conceptual ¿Cuáles son los conceptos, los términos? Diagramas de secuencia¿Cuáles son los eventos y lasoperac. del sistema?
17. Análisis y diseño orientado a objetos Como hemos podido observar el Análisis y Diseño Orientado a Objeto permite unificar y emplear diversas metodologías de forma uniforme para optimizar la realización de sistema, dado por el paradigma de la integración. Existen similitudes en los conceptos si son llevados a la interpretación por cada metodología. El enfoque de AOO es modular, mientras que en otras metodologías el enfoque es de proceso.
19. COMPONENTES GENERICOS DEL MODELO DE DISEÑO OO A veces resulta difícil hacer una distinción clara entre análisis OO y diseño OO. En esencia el análisis OO es una actividad de clasificación, se analiza un problema en un esfuerzo por determinar las clases de objetos que serán aplicables al desarrollarse la solución. El análisis determina también las relaciones y el comportamiento del objeto. El diseño OO le posibilita al Ing. De software la posibilidad de indicar los objetos que se derivan de cada clase y como estos objetos se relacionan con otros. Ilustra como se desarrollan las relaciones entre objetos, como se debe implementar el comportamiento y como implementar la comunicación entre objetos. Después de realizado el proceso de análisis completo el Ingeniero De software se concentra en el diseño del sistema, esto se realiza a través de la descripción de subsistemas necesarios para implementar los requerimientos del cliente.
20. Análisis y diseño orientado a objetos Durante el diseño de subsistemas, es necesario para el ing. De software definir cuatro componentes de diseño Dominio del problema: Son los subsistemas responsables de la implementación de los requisitos del cliente directamente. Interacción humana:Los subsistemas, que implementan la interfaz de usuario(esto incluye Subsistemas responsables de interfaz grafica de usuario) Gestión de tareas:Los subsistemas responsables del control y coordinación de tareas concurrentes que pueden empaquetarse dentro de uno o varios subsistemas. Gestión de datos:El subsistema que es responsable del almacenamiento y recuperación de objetos.