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.
¿Preguntas, dudas y comentarios?