Análisis y diseño orientado a objetos

14
Ingeniería en Sistemas de Información Diseño de Sistemas (3K1)

description

UTN - FRT. Cátedra de Diseño de Sistemas. Unidad I. Análisis y Diseño Orientado a Objetos. Ian Sommerville. 3K1 -2011

Transcript of Análisis y diseño orientado a objetos

Page 1: Análisis y diseño orientado a objetos

Ingeniería en Sistemas de Información

Diseño de Sistemas(3K1)

Page 2: Análisis y diseño orientado a objetos

f) Ingeniería del Software Asistida por Computadora. Clasificación de CASE

 

Sommerville. Sección 4.5  

C. Proceso de Diseño Pressman. Cap. 13.2 Introducción.

 

I. Fases del diseño. Pressman. Sección 13.1Sommerville. Sección 4.3.2

II. Diseño y calidad del software Pressman. 13.2.1

III. Principios y conceptos del diseño. Pressman. Sección 13.3 y 13.4

IV. Documentación del Diseño. Pressman, Sección 13.8

V. Análisis y Diseño Orientado a Objetos Sommerville, Cap.14Larman, 2ª. Ed., Cap. 1.4Pressman, Cap.21 y 22

VI. Modelos de dominio, Casos de Uso. (revisión)

Larman, 1ª. Ed.,Cap. 9/11Larman, 2a. Ed. Cap. 9/11

VII. Del Análisis al Diseño Larman, 1ª. Ed. Cap. 15 Larman, 2ª. Ed. Cap. 14

Contenidos de la Unidad 1Introducción al Diseño

Page 3: Análisis y diseño orientado a objetos

Un sistema orientado a objetos está compuesto de objetos que interactúan, mantienen ellos mismos su estado local y proveen operaciones sobre su estado.

La información sobre su estado es privada y no se puede acceder a ella directamente desde fuera del objeto.

El proceso de diseño orientado a objetos comprende el diseño de clases de objetos y las relaciones entre estas clases.

Las clases definen los objetos del sistema y sus interacciones. Cuando el diseño se implementa como un programa ejecutable,

los objetos requeridos se crean dinámicamente utilizando las definiciones de las clases.

Análisis y Diseño Orientado a Objetos (Sommerville Cap. 14)

Page 4: Análisis y diseño orientado a objetos

Sistema de Objetos que interactúan entre sí

Análisis y Diseño Orientado a Objetos

Page 5: Análisis y diseño orientado a objetos

El Diseño Orientado a Objetos es parte del Desarrollo Orientado a Objetos => utiliza una estrategia orientada a objetos en el Proceso de Desarrollo:

Análisis Orientado a Objetos => comprende el desarrollo de un modelo orientado a objetos del dominio de aplicación.

Los objetos identificados reflejan las entidades y operaciones que se asocian con el problema a resolver.

Análisis y Diseño Orientado a Objetos

Page 6: Análisis y diseño orientado a objetos

Diseño Orientado a Objetos => comprende el desarrollo de un modelo orientado a objetos de un sistema software para implementar los requerimientos identificados.

Los objetos => están relacionados con la solución del problema.

Pueden existir relaciones entre algunos objetos del problema y algunos objetos de la solución, pero el diseñador deberá agregar nuevos objetos para transformar los objetos del problema e implementar la solución.

Análisis y Diseño Orientado a Objetos

Page 7: Análisis y diseño orientado a objetos

Programación Orientada a Objetos => implementa el Diseño de Software utilizando un lenguaje de Programación Orientado a Objetos, como Java.

Un lenguaje orientado a objetos provee recursos para definir las clases y un sistema para crear los objetos correspondientes a las clases.

Análisis y Diseño Orientado a Objetos

Page 8: Análisis y diseño orientado a objetos

La transición entre estas etapas de desarrollo suele ser sin problemas, utilizando notaciones compatibles.

Pasar a la siguiente etapa implica refinar la etapa previa, agregando algún detalle a las clases existentes y crear nuevas clases para proveer nuevas funcionalidades.

Como la información se oculta dentro de los objetos, las decisiones del diseño detallado de la representación de los datos se puede retrasar hasta que el sistema se implemente.

Análisis y Diseño Orientado a Objetos

Page 9: Análisis y diseño orientado a objetos

A veces, las decisiones sobre la distribución de los objetos y si éstos se implementan de forma secuencial o concurrente también se pueden retrasar.

Esto significa que los diseñadores de software no están condicionados por los detalles de la implementación del sistema.

Pueden formular diseños que se adapten a los diversos entornos de ejecución.

Análisis y Diseño Orientado a Objetos

Page 10: Análisis y diseño orientado a objetos

Los sistemas orientados a objetos son más fáciles de mantener, porque los objetos son independientes.

Estos sistemas pueden ser entendidos y modificados como entidades independientes.

Cambiar la implementación de un objeto o agregarle servicios no afecta a los otros objetos del sistema.

Como los objetos están asociados a cosas, a menudo hay una correspondencia clara entre las entidades del mundo real con los objetos de software.

Ésto mejora la comprensión y la mantenibilidad del Diseño.

Análisis y Diseño Orientado a Objetos

Page 11: Análisis y diseño orientado a objetos

Los objetos son componentes potencialmente reutilizables debido a que son encapsulamientos independientes del estado y las operaciones.

Los diseños se pueden desarrollar utilizando objetos creados en los diseños previos.

Esto reduce los costos de diseño, programación y validación.

También conduce a la utilización de objetos estándar (por lo que se mejora la comprensión del diseño) y reduce los riesgos implicados en el desarrollo de software.

Análisis y Diseño Orientado a Objetos

Page 12: Análisis y diseño orientado a objetos

Sin embargo, a veces la reutilización se implementa mejor si se utilizan colecciones de objetos (componentes o marcos de trabajo), en lugar de objetos individuales.

Se han propuesto diversos métodos de diseño orientado a objetos (Yourdon, 1990; Robinson, 1992; Booch, 1994).

Se ha definido una unificación de las notaciones utilizadas en estos métodos (UML).

Análisis y Diseño Orientado a Objetos

Page 13: Análisis y diseño orientado a objetos

El Diseño «Pesado» no es necesario en sistemas de negocios pequeños o medianos.

Sin embargo, para sistemas grandes, particularmente en sistemas críticos, es esencial asegurar que los equipos trabajen en diferentes partes del sistema adecuadamente coordinados.

El Proceso de Diseño que pone énfasis en el desarrollo dirigido por casos de uso => significa que el Diseño está centrado en el usuario y basado alrededor de las interacciones del usuario con el sistema.

Análisis y Diseño Orientado a Objetos

Page 14: Análisis y diseño orientado a objetos

Sin embargo, representar los requerimientos que no están directamente ligados a los usuarios del sistema mediante casos de uso es difícil.

Los casos de usos tienen un excelente papel en el análisis y diseño orientado a objetos, pero necesitan ser complementados con otras técnicas que nos permitan descubrir requerimientos indirectos y no funcionales del sistema.

Análisis y Diseño Orientado a Objetos