Introducción al estándar mundial para el análisis de sistemas orientado a objetos - PowerPoint PPT Presentation

introducci n al est ndar mundial para el an lisis de sistemas orientado a objetos n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Introducción al estándar mundial para el análisis de sistemas orientado a objetos PowerPoint Presentation
Download Presentation
Introducción al estándar mundial para el análisis de sistemas orientado a objetos

play fullscreen
1 / 80
Introducción al estándar mundial para el análisis de sistemas orientado a objetos
124 Views
Download Presentation
akio
Download Presentation

Introducción al estándar mundial para el análisis de sistemas orientado a objetos

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Introducción al estándar mundial para el análisis de sistemas orientado a objetos Prof. Fernando Pinciroli Universidad de Congreso Mendoza - República Argentina http://www.ucongreso.edu.ar

  2. Temario 1 - Evolución del análisis de sistemas 2 - El Lenguaje de Modelación Unificado 3 - Procesos de modelación 4 - Conclusión 5 - Bibliografía Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar

  3. 1 - El análisis de sistemas antes del UML 1.1 - Las metodologías tradicionales 1.2 - Fundamentos filosóficos del enfoque orientado a objetos 1.3 - Los métodos orientados a objetos Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar

  4. Metodología • Conjunto de métodos que se siguen en una investigación científica o en una exposición doctrinal • Es un enfoque particular, fundado en ciertos principios generales, de orden filosófico; es un modo de comprender la realidad. • Se puede decir que es un enfoque, una manera de interpretar la realidad o la disciplina en cuestión Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar

  5. Método • Procedimiento que se sigue en las ciencias para hallar la verdad y enseñarla. Puede ser analítico o sintético • Es un conjunto de técnicas, herramientas y tareas que, de acuerdo a un enfoque metodológico, se aplican para la resolución de un problema. Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar

  6. Clasificación de las metodologías 1..* 1 Metodología Método Met. orientada a procesos Met. orientada a objetos Met. orientada a datos Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar

  7. Los métodos de análisis orientado a procesos • Empleo del lenguaje natural (‘50s. y ss.) • Descomposición funcional (Constantine, ‘60s. y ss.) • Análisis estructurado (De Marco, Gane & Sarson, ‘70s., ‘80s.) • Análisis esencial (McMenamin & Palmer, ‘84) • Análisis estructurado moderno (Yourdon, ‘86) Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar

  8. Los métodos de análisis orientado a datos • Aparición de la Teoría Relacional (Codd, ‘70s.) • Modelo Entidad/Relación (Chen, ‘70s.) • Modelación de la Información (´70s., ´80s.) • Desarrollo de Sistemas de Jackson (‘80s.) Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar

  9. O la realidad posee un orden... ...¡o la mente inventa la realidad! El error de Kant: no comprender la realidad tal como ella es Realidad caótica Espacio y tiempo 12 categorías (color, medida, etc.) Abstracción Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar

  10. El error kantiano se observa en los métodos tradicionales Realidad caótica (al inicio del relevamiento) “Categorías” tradicionales: datos o procesos Abstracción Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar

  11. La realidad según los métodos orientados a objetos Realidad caótica (al inicio del relevamiento) Se trata de captar la realidad tal cual es Abstracción Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar

  12. La OO posee un enfoque aristotélico-tomista • En la realidad no existen datos o procesos independientes • Santo Tomás de Aquino sostiene que el número, considerado abstractamente, no existe fuera de nuestra mente • Aristóteles indica que “no se pueden separar, a los objetos en movimiento, por ejemplo,” puesto que "hay una multitud de accidentes que son esenciales a las cosas, en tanto que cada uno de ellos reside esencialmente en ellas” (Metafísica. 7ª ed. Madrid, Espasa-Calpe, 1972, p.284.) • Para Santo Tomás, "la verdad consiste en la adecuación del entendimiento con las cosas" (Suma Teológica. I, c.16, a.3.) Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar

  13. Una suma sinérgica ¡Soy orientado a objetos! ¿Datos? edad raza color ¿Procesos? ladrar comer dormir ¡Objetos! = características + comportamiento Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar

  14. Ventajas del empleo de un enfoque adecuado • Facilita el logro del éxito del análisis al permitir interpretar la realidad tal cual ella es • Permite reducir la complejidad del sistema a evaluar • Mejora la comunicación con los usuarios y con el equipo de análisis • Permite representar las relaciones existentes entre los elementos constitutivos del sistema • Permite modelar con el mismo énfasis los datos y los procesos Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar

  15. Respaldo de los autores tradicionales • Gane & Sarson incorporan la teoría relacional • McMenamin & Palmer no dudan en remarcar la importancia de modelar datos además de procesos • Page-Jones destaca la importancia que cobró la modelación de los datos además de los procesos • Yourdon combina herramientas de modelación de datos y procesos • Jackson agrega modelación de procesos a su método de modelación de datos ”La normalización se hará probablemente más y más importante en los próximos años, a medida que las bases de datos se vuelvan más complejas y la simplicidad se haga más vital" GANE, Chris y Sarson, Trish. Análisis Estructurado de Sistemas. Buenos Aires, El Ateneo, 1988, p.118. ¨Los analistas deben por consiguiente usar un tema diferente, uno denominado particionado en objetos” McMENAMIN, Stephen y Palmer, John. Essential Systems Analysis. Englewood Cliffs, Prentice-Hall, 1984, p.57. ”Ocho años han pasado desde que escribí la primera edición de este libro. Durante este tiempo ha sucedido mucho en el campo del desarrollo del software. Por ejemplo, hemos visto el advenimiento de la edad de la modelación de la información” PAGE-JONES, Meilir. The Practical Guide to Structured Systems Design. 2ª ed. Englewood Cliffs, Prentice-Hall, 1988, p.XV ”El diseño y la programación estructurados les permitían a algunos equipos de encargados de proyectos llegar a un desastre más rápidamente que antes, al construir una brillante solución al problema equivocado” YOURDON, Edward. Análisis Estructurado Moderno. México, Prentice-Hall Iberoamericana, 1989, p.138. "¿Qué tal si el propósito del sistema no es hacer algo, sino meramente ser el recipiente de una gran cantidad de información interesante?" YOURDON, Edward. Análisis Estructurado Moderno. México, Prentice-Hall Iberoamericana, 1989, p.261. Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar

  16. Evolución del análisis orientado a objetos • En principio encontramos recomendaciones de diseño (Booch, 1986) • Se impone la modelación orientada a las características de los objetos (Shlaer & Mellor, 88) • Surgen muchos métodos más, de autores provenientes de las bases de datos relacionales (Coad & Yourdon, Martin & Odell, Rumbaugh, Embley, etc., 1990 y ss.) • Se imponen los métodos orientados al comportamiento de los objetos (Wirfs-Brock, Jacobson, Rubin & Goldberg, 1994) • Comienza a gestarse el UML (1994) Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar

  17. 2 - El Lenguaje de Modelación Unificado 2.1 - El camino hacia la unificación 2.2 - Objetivos del UML 2.3 - Características del UML 2.4 - Descripción de las herramientas Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar

  18. El camino hacia la unificación • Grady Booch observa la necesidad de unificar criterios • James Rumbaugh se une a Booch en octubre de 1994 • Ambos elaboran la versión 0.8 del Unified Method en 1995 • Ese mismo año, Ivar Jacobson completa el trío de “amigos” Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar

  19. El camino hacia la unificación • Se elabora la versión 0.9 del Unified Modeling Language • Durante 1996 se realizan sucesivas modificaciones en base a aportes de muchas otras personas (versiones 0.91 y 1.0) • Se realiza la versión 1.1 en conjunto con otras importantes empresas, que es presentada al OMG • El OMG adopta al UML versión 1.1 como estándar a fines de 1997 Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar

  20. Objetivos del UML • Establecer un lenguaje visual de modelación, expresivo y sencillo en su uso • Mantener una independencia de los procesos de modelación y de los lenguajes de programación • Establecer bases formales • Integrar las mejores prácticas • Imponer un estándar mundial Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar

  21. Elementos constitutivos 1..* Herramienta de modelación 1..* Elemento de modelación 1..* 0..* Semántica Extensión 1..* 1 Notación 1..* Metalenguaje Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar

  22. Metalenguajes • Porción de la notación (diagramas de clases) empleada en el metamodelo • Object Constraint Language • Lenguaje natural Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar

  23. Object Constraint Language • Elaborado por Jos Warmer dentro del grupo de trabajo de IBM y ObjectTime que colaboró con Rational • Proviene del método Syntropy, lenguaje de modelación de negocios de la IBM Insurance Division, desarrollado por Steve Cook y John Daniels • Objetivos: especificación de invariantes, descripción de pre y post condiciones, descripción de guardias, definición de reglas de formación y de restricciones en operaciones • Ejemplo: ExpresiónOCL ´esta oración escrita en Courier es una expresión OCL´ Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar

  24. Arquitectura del UML Arquitectura de cuatro capas, definida a fin de cumplir con la especificación Meta Object Facility del OMG: • Meta-metamodelo: define el lenguaje para especificar metamodelos • Metamodelo: define el lenguaje para especificar modelos • Modelo: define el lenguaje para describir un dominio de información • Objetos de usuario: define un dominio de información específico Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar

  25. Administración del Modelo Fundación Estructura del metamodelo Fundación: Elementos centrales Elementos auxiliares Mecanismos de extensión Tipos de datos Elementos de comportamiento Elementos de comportamiento: Comportamiento común Colaboraciones Casos de uso Máquinas de estado Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar

  26. Metamodelo de “Clase” Interfaz Elemento del modelo * * * * Rol de la Asociación Clase Generalización 1 * * * 2.. * * * Atributo Método Operación Asociación Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar

  27. Diagrama de Casos de Uso • Introducido formalmente por Ivar Jacobson • Aceptado por la comunidad usuaria de TOO y por muchos metodologistas • De empleo en la etapa de relevamiento para captar los requerimientos de los usuarios • De fácil comprensión por parte de los usuarios de los sistemas • Herramienta que precisa otras complementarias para ser utilizada en procesos de modelación OO Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar

  28. caso de uso actor Diagrama de Casos de Uso Subsistema de biblioteca incorporar libros Bibliotecario realizar préstamo Alumno Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar

  29. «usa» «extiende» consultar libro crear nuevo código «usa» Diagrama de Casos de Uso incorporar libros Bibliotecario realizar préstamo Alumno Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar

  30. Diagrama de Casos de Uso • «extiende» (extends) se emplea para establecer una situación excepcional o de error, que no corresponde al camino normal del caso de uso básico • «usa» (uses) se utiliza para extraer las parte comunes de los casos de uso; son casos de uso abstractos • Los casos de uso abstractos son ejecutados por actores abstractos obtenidos de una estructura de generalización entre actores Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar

  31. Diagrama de Clases • Proviene de los diagramas de entidad-relación de Chen (‘70s) • Fueron extendidos con conceptos de AOO, como generalización y agregación (‘80s) • Incorporados por los autores orientados a las características de los objetos • Permiten modelar la estructura estática de los sistemas • Utilizados en el UML para la construcción de los metamodelos • Aunque también fueron empleados por Booch, conservan el aspecto de la notación propuesta por Rumbaugh en OMT Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar

  32. discriminador asociación navegabilidad generalización clase multiplicidad clase asociación Diagrama de Clases Persona Autor rol 1 1..* solicita Alumno Libro 0..* 0..* atributos operaciones Préstamo nota Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar

  33. Diagrama de Clases: conceptos • Atributos: • visibilidad nombre:tipo=valor inicial • atributos derivados: /nombre • Operaciones: • visibilidad nombre(parámetros):tipo de resultado • Visibilidad: • existe definición a nivel público, privado o protegido Alumno atributos operaciones Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar

  34. Diagrama de Clases: conceptos • Objetos: triángulo:Polígono :Polígono triángulo • Diagrama de objetos: instancia de un diagrama de clases Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar

  35. Diagrama de Clases: conceptos avanzados • Estereotipos: extienden la semántica de los elementos del UML • la idea proviene de Rebecca Wirfs-Brock, que incorporó el objeto «coordinador» • Ivar Jacobson mejoró sustancialmente la idea con sus objetos de interfaz, entidad y control • Como ejemplo se pueden consultar los documentos “UML Extension for Objectory Process for Software Engineering” y “UML Extension for Business Modeling” «empleado» Administrador Administrador Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar

  36. Diagrama de Clases: conceptos avanzados • Clasificación múltiple: permite que un mismo objeto pertenezca a más de una clase • Clasificación dinámica: brinda la posibilidad de que un objeto cambie de clase • estos conceptos fueron introducidos inicialmente por Odell sexo rol Hombre Alumno Persona Mujer Profesor Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar

  37. Diagrama de Clases: conceptos avanzados • Agregación: relación todo-parte • Composición: agregación en la que las partes nacen y mueren con el todo • todavía no existe un acuerdo definitivo con respecto a estos conceptos, pero ésta es la postura con más aceptación Motor 1 Automóvil Motor 1 Conductor Automóvil Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar

  38. Diagrama de Clases: conceptos avanzados • Interfaz: clase con declaración de operaciones, sin implementación y sin atributos Ventana Windows «interfaz» Editor de textos Ventana Ventana Mac Ventana Editor de textos Ventana Windows Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar

  39. Diagrama de Clases: conceptos avanzados • Asociación cualificada: consiste en indicar la necesidad de una estructura de datos, estilo “diccionario”, en un extremo de una asociación • En algunos casos permite reducir la multiplicidad Archivo Directorio Nombre_archivo Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar

  40. Diagrama de Clases: conceptos avanzados • Clase asociación: es una asociación que se modela como clase o viceversa • Importante: por cada asociación entre los objetos de las clases ordinarias, sólo puede existir un solo objeto de la clase asociación * 1..* Factura Artículo Ítem_facturado Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar

  41. Diagrama de Clases: conceptos avanzados • Clase parametrizada: es la descripción de una clase con uno o más parámetros P Clase1 operación1(P) operación2(P) Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar

  42. Diagrama de paquetes • Permite administrar la complejidad del sistema al subdividirlo en porciones de menor tamaño • Corresponde a las categorías del método de Booch • Se pueden aplicar a diferentes elementos de modelación, no sólo a clases • Permite establecer las dependencias entre paquetes (que no son de carácter transitivo) a fin de reducirlas • También permite reducir los ciclos de dependencias Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar

  43. Paquete 5 Paquete 6 Paquete 2 Paquete 3 {abstracto} Paquete 7 Paquete 8 Paquete 1 {global} Diagrama de paquetes Paquete 4 Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar

  44. Diagrama de Secuencia • Es uno de los dos diagramas de interacción que propone el UML • Describe la forma en la que colaboran entre sí los objetos para llevar a cabo sus respectivas responsabilidades • Cada diagrama representa la funcionalidad de un único caso de uso • Permite ver cómo se suceden cronológicamente los mensajes entre los objetos • Proviene de los diagramas POSA de Buschmann • Fueron utilizados por los tres autores del UML en sus respectivos métodos previos Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar

  45. inicio de un método auto-delegación activación retorno destrucción de un objeto Diagrama de Secuencia objeto 2 objeto 1 objeto 3 Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar

  46. Diagrama de Colaboración • Es otro de los diagramas de interacción que se incluye en el UML • No permite observar gráficamente la cronología de los mensajes • Facilita la organización de los objetos en paquetes • Destaca la conexión estática entre los objetos Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar

  47. Diagrama de Colaboración 1.2:auto-delegación1( ) 1.3:auto-delegación2( ) 1:mensaje1( ) :objeto 1 :objeto 2 1.1:mensaje2( ) :objeto 3 Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar

  48. Diagrama de Estados • Describe los estados posibles en la vida de los objetos • Permite observar cómo cambian de estado los objetos a medida que ocurren los eventos • Cada diagrama se utiliza para representar el ciclo de vida de los objetos de una única clase • Provienen de las cartas de estado de David Harel • Los emplearon Rumbaugh en OMT, Booch en su libro de 1994 y Jacobson con la incorporación de una vasta notación Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar

  49. Diagrama de Estados Estado 4 Estado 1 Estado 2 Estado 5 entrada/acción hacer/actividad salida/acción Estado 3 evento/acción [guardia] Estado 6 Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar

  50. Diagrama de Actividad • No posee antecedentes claros entre las herramientas de los autores del UML en sus propios métodos • Proviene de varias técnicas, como diagramas de eventos de Odell y redes de Petri • Permite destacar y sincronizar las operaciones concurrentes y establecer caminos alternativos • Muestra el comportamiento combinado de varias clases, aunque éstas no se identifican si no se lo hace explícitamente • Al igual que los diagramas de estado, se emplea para describir comportamientos complejos Universidad de Congreso - Mendoza - Argentina - http://www.ucongreso.edu.ar