220 likes | 419 Views
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.
E N D
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: • Comprender y definir el contexto y los modos de utilización del sistema. • Diseñar la arquitectura del sistema. • Identificar los objetos principales en el sistema.
Diseño Orientado a Objetos • Desarrollar los modelos de diseño. • 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.