1 Ingeniería de Software Orientado a ObjetosM.C. Juan Carlos Olivares Rojas
2 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
3 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.
4 Análisis Orientado a ObjetosPara 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.
5 Análisis Orientado a ObjetosLos 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.
6 Análisis Orientado a ObjetosPara 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).
7 Análisis Orientado a ObjetosSe 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.
8 Análisis Orientado a ObjetosLos 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.
9 Diseño Orientados a ObjetosConsiste 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.
10 Diseño Orientado a ObjetoEl 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.
11 Diseño Orientado a ObjetosDesarrollar 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.
12 Diseño Orientado a ObjetosEl 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.
13 Diseño Orientado a ObjetosEl 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:
14 Diseño Orientado a ObjetosUtilizar 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.
15 Diseño Orientado a ObjetosExisten 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:
16 Diseño Orientado a ObjetosLos 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.
17 Métodos Orientado a ObjetosExisten 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)
18 Métodos Orientado a ObejtosObjectory (Jacobson) Método de Coad-Yourdon Método UML: Análisis: tiene 5 diferentes vistas con diferentes diagramas en cada una de ellas.
19 Métodos Orientado a ObjetosVista 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).
20 Métodos Orientado a ObjetosVista 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.
21 Métodos Orientado a ObjetosVista 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.
22 ¿Preguntas, dudas y comentarios?