ingeniería de software orientado a objetos

22
Ingeniería de Software Orientado a Objetos M.C. Juan Carlos Olivares Rojas

Upload: yin

Post on 08-Jan-2016

50 views

Category:

Documents


0 download

DESCRIPTION

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. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Ingeniería de Software Orientado a Objetos

Ingeniería de Software Orientado a Objetos

M.C. Juan Carlos Olivares Rojas

Page 2: Ingeniería de Software Orientado a Objetos

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

Page 3: Ingeniería de Software Orientado 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.

Page 4: Ingeniería de Software Orientado a Objetos

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.

Page 5: Ingeniería de Software Orientado a Objetos

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.

Page 6: Ingeniería de Software Orientado a Objetos

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).

Page 7: Ingeniería de Software Orientado a Objetos

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.

Page 8: Ingeniería de Software Orientado a Objetos

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.

Page 9: Ingeniería de Software Orientado a Objetos

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.

Page 10: Ingeniería de Software Orientado a Objetos

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.

Page 11: Ingeniería de Software Orientado a Objetos

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.

Page 12: Ingeniería de Software Orientado a Objetos

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.

Page 13: Ingeniería de Software Orientado a Objetos

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:

Page 14: Ingeniería de Software Orientado a 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.

Page 15: Ingeniería de Software Orientado a Objetos

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:

Page 16: Ingeniería de Software Orientado a Objetos

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.

Page 17: Ingeniería de Software Orientado a Objetos

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)

Page 18: Ingeniería de Software Orientado a Objetos

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.

Page 19: Ingeniería de Software Orientado a Objetos

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).

Page 20: Ingeniería de Software Orientado a Objetos

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.

Page 21: Ingeniería de Software Orientado a Objetos

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.

Page 22: Ingeniería de Software Orientado a Objetos

¿Preguntas, dudas y comentarios?