1. El diseño orientado a flujo de objetos Miriam Meza Ponce
2. El diseño orientado a los objetos (DOO), al igual que otras metodologías de diseño orientadas a la información, crea una representación del campo del problema del mundo real y hace corresponder con el ámbito de la solución que es el software. DEFINICIONES
6. Durante los años ochenta, la rápida evolución de los lenguajes de programación Smalltalk y Ada, seguida de un crecimiento explosivo del uso de los dialectos orientados a los objetos de C como C++ y Objevtive-C. Produjeron un interés inusitado en el DOO. En un temprano tratamiento de los métodos para conseguir el diseño orientado a los objetos. Abbott [ABB83] mostró “cómo el análisis de la descripción del problema y su solución en el lenguaje natural se podrá usar como guía para el desarrollo de la parte visible de un paquete. Un paquete contiene tantos datos como los procedimientos que operan sobre ellos.
7. Descomponibilidad: la facilidad con que un método de diseño ayuda al diseñador a descomponer un gran problema en subproblemas más fáciles de resolver. Componibilida: el grado en que un método asegura que las componentes del programa (módulos), una vez diseñadas y construidas pueden ser reusadas para crear otros programas CONCEPTOS DEL DISEÑO ORIENTADO A LOS OBJETOS
8. Comprensibilidad: la facilidad con que se puede comprender una componente de un programa sin tener que referenciar otra información ni otros módulos Continuidad: la capacidad de realizar pequeños cambios en un programa a y esos cambios se manifiestan por sí mismos con solo unos cambios correspondientes en uno o unos pocos módulos. Protección: una característica arquitectónica que reduce la propagación de
9. los métodos DOO combinan elementos de las tres categorías de diseños que son: Diseño de datos, Diseño Arquitectónico y Diseño Procedimental. Al identificar clases y objetos, se crean abstracciones de datos. Asociando operaciones de datos, se especifican módulos y se establece una estructura para el software.
10. Usamos una notación gráfica para representar los objetos, las operaciones, los mensajes y otras estructuras propuestas por Coad y Yourdon [COA90]. UNA NOTACION PARA EL DOO:
11. Booch [BOO90] propone una notación que combina cuatro diagramas distintos para la creación del diseño orientado a los objetos. Un diagrama de clases refleja las clases y sus relaciones. Un diagrama de objetos representa objetos específicos (instancias de una clase) y los mensajes que pasan por ellos. Como parte del diseño físico, se asignan las clases y los objetos a componentes de software específicos. El diagrama de módulos, a veces denominado Diagrama de Booch, sirve para ilustrar esos componentes de programa.
12. El paso de diseño detallado en el DOO es similar en muchos aspectos al diseño detallado de las otras metodologías de diseño. Se describen las interfases con detalle; se refinan y se especifican las estructuras de datos, se diseñan los algoritmos para cada unidad del programa usando los conceptos fundamentales de diseño, tales como el refinamiento sucesivo y la programación estructurada. DISEÑO DETALLADO PARA LA IMPLEMENTACION:
13. La diferencia clave del DOO es que se puede aplicar recursivamente en cualquier momento el proceso descrito en las secciones anteriores. ‘si la implementación de una operación va a requerir una gran cantidad de código (más de 200 líneas), entonces se toma la descripción del funcionamiento de la operación como declaración de un nuevo problema y se repite el proceso de DOO para ese nuevo problema”.
14. Se puede utilizar la plantilla de diseño en LDP de un paquete como punto de partida del diseño detallado. Recordando la estructura general del paquete: PACKAGE nombre – de – componente – de – programa IS. TYPE especificación de los objetos de datos. - - PROC especificación de las operaciones asociadas. - - PRIVATE Detalles de la estructura de datos del objeto. PACKAGE BODY nombre – de – componente – de – programa IS. PROC operación. i (descripción de la interfaz) IS. - - END END nombre – de – componente – de – programa.
15. Aplicaciones en sistemas de información comerciales. La entrada y la salida tienen distinta estructura (p.ej.: archivos de entrada, informes de salida); el uso de una base de datos jerárquica es frecuente. Aplicaciones de sistemas. La estructura de datos para los sistemas operativos comprenden muchas tablas, archivos y listas que tienen una estructura bien definida. Aplicaciones CAD/CAE/CIM. Los sistemas de diseño/ingeniería/fabricación asistidos por computadora requieren estructuras de datos sofisticadas para el almacenamiento, traducción y procesamiento de la información. AREAS DE APLICACIÓN:
16. Paso de entidad acción.Usando un enfoque muy similar a la técnica de análisis orientada a los objetos, se identifican las identidades (personas, objetos u organizaciones que necesitan el sistema para producir o usar información) y las acciones (los sucesos que ocurren en el mundo real que afectan a las entidades). Paso de estructura de identidad.Se ordenan en el tiempo las acciones que afectan a cada entidad y se representan mediante diagramas de Jackson ( una notación en forma de árbol). DESRROLLO DEL SISTEMA DE JACKSON:
17. Paso del modelo inicial. Se crea un modelo de procesamiento que representa las entidades y las acciones: se definen las conexiones entre el modelo y el punto real. Paso de las funciones. Se especifican las funciones que corresponden a las acciones definidas. Paso de temporización del sistema.Se establecen y especifican los aspectos de planificación del proceso. Paso de implementación.Se especifica el Hardware y el Software como un diseño.