Post on 08-Jan-2016
description
transcript
Ingeniería de Software Orientado a Objetos
M.C. Juan Carlos Olivares Rojas
Agenda
Fundamentos de la Ingeniería de Software Orientado a Objetos.
Análisis Orientado a Objetos
Diseño Orientado a Objetos
Métodos Orientados a Objetos
Fundamentos de la Ingeniería de Software Orientado a Objetos.
• La identificación de clases y objetos forma parte importante de la ISOO.
• La gestión de procesos es similar aunque se necesita considerar otros elementos sobre todo en el área de desarrollo, pero en términos generales es el mismo proceso.
Análisis Orientado a Objetos• Para construir un modelo de Análisis Orientado
a Objetos, se usan cinco principios básicos:
• Se modela el dominio de la información
• Se describe la función.
• Se representa el comportamiento del modelo.
Análisis Orientado a Objetos
• Los modelos de datos funcional y de comportamiento se dividen para mostrar más detalles.
• Los modelos iniciales representan la esencia del problema mientras que los últimos aportan detalles de la implementación.
Análisis Orientado a Objetos
• Para realizar la Ingeniería de Requerimientos se siguen los siguientes pasos:
• Los requisitos básicos del usuario deben comunicarse entre el cliente y el ingeniero de software.
• Identificar las clases (es decir, definir atributos y métodos).
Análisis Orientado a Objetos
• Se debe especificar una jerarquía de clases.
• Representan las relaciones objeto a objeto
• Modelar el comportamiento del objeto.
• Repetir iterativamente las tareas de la 1 a la 5 hasta completar el modelo.
Análisis Orientado a Objetos
• Los diagramas de clase son muy útiles en esta etapa para encontrar un buen modelo de solución.
• Los diagramas de caso de uso son útiles para definir el entorno en donde se ejecutará la aplicación.
Diseño Orientados a Objetos
• Consiste en representar un modelo de datos que pueda ser fácilmente implantable con algún lenguaje de programación orientado a objetos.
• Los objetos son componentes potencialmente reutilizables, lo que hace que el software sea más fácil de mantener.
Diseño Orientado a Objeto
• El proceso general para el diseño orientado a objetos tiene varias etapas:
1.Comprender y definir el contexto y los modos de utilización del sistema.
2.Diseñar la arquitectura del sistema.
3.Identificar los objetos principales en el sistema.
Diseño Orientado a Objetos
4. Desarrollar los modelos de diseño.
5. Especificar las interfaces de los objetos.
• No es un proceso sistematizado al 100%, por lo que necesita refinarse con varias iteraciones.
Diseño Orientado a Objetos
• El primer paso consiste en identificar los tipos de relaciones definidos en el sistema, los cuales pueden ser internos y externos. Estas relaciones pueden ser dos:
• El contexto del sistema: es un modelo estático que describe a los otros sistemas en ese entorno.
Diseño Orientado a Objetos• El modelo que el sistema utiliza: es un modelo
dinámico que describe cómo interactúa el sistema con su entorno.
• Con el diseño de contexto se puede crear fácilmente el diseño arquitectónico de la aplicación.
• Existen diversas técnicas para identiciar objetos:
Diseño Orientado a Objetos
• Utilizar un análisis gramatical de la descripción en lenguaje natural de un sistema.
• Utilizar entidades tangibles (cosas).
• Utilizar un enfoque de comportamiento.
• Utilizar un análisis basado en escenarios.
Diseño Orientado a Objetos
• Existen dos tipos de modelos de diseño para describir un diseño orientado a objetos:
• Modelos Estáticos.
• Modelos Dinámicos.
• Ejemplos de algunos modelos:
Diseño Orientado a Objetos
• Los modelos de subsistemas
• Los modelos de secuencia
• Los modelos de máquinas de estado
• La encapsulación de las clases hace que los sistemas evolucionen de forma rápida y sencilla.
Métodos Orientado a Objetos
• Existen diversas metodologías para la realización de análisis y diseño orientado a objetos como:
• Método de Booch: abarca un microproceso de desarrollo y un macroproceso de desarrollo.
• Método OMT (Rumbaugh)
Métodos Orientado a Obejtos
• Objectory (Jacobson)
• Método de Coad-Yourdon
• Método UML:
• Análisis: tiene 5 diferentes vistas con diferentes diagramas en cada una de ellas.
Métodos Orientado a Objetos
• Vista usuario: representa el sistema (producto) desde la perspectiva del usuario. Se suele utilizar diagramas de casos de uso.
• Vista estructural: modela los datos y la funcionalidad del sistema; es decir, la estructura estática (clases, objetos y relaciones).
Métodos Orientado a Objetos• Vista del comportamiento: representa los
aspectos dinámicos o de comportamiento del sistema. También muestra las interacciones o colaboraciones entre los diversos elementos estructurales descritos en vistas anteriores.
• Vista de implementación Los aspectos estructurales y de comportamiento se representan aquí tal y como van a ser implementados.
Métodos Orientado a Objetos
• Vista del entorno: aspectos estructurales de comportamiento en el que el sistema a implementar se representa.
• En cuestión de diseño se tienen dos actividades principales:
• Diseño de sistema. • Diseño de objetos.
¿Preguntas, dudas y comentarios?