Escolar Documentos
Profissional Documentos
Cultura Documentos
Introduccin
Introduccin a UML
- Proporciona una manera estndar de representar los planos de un sistema. - Comprende aspectos conceptuales:
Procesos de negocio. Funciones del sistema.
Historia (1)
- Una masa crtica de ideas comenz a formarse a mediados de los 90, cuando diversos autores comenzaron a adoptar ideas de otros mtodos.
Grady Booch (Rational Software Corporation). James Rumbaugh (General Electric). Ivar Jacobson (Objetory).
Historia (2)
- Una versin revisada de UML (la versin 1.1) se ofreci a la OMG (Object Management Group) para su estandarizacin (Julio de 1997). - En ese mismo ao (Septiembre), la versin 1.1 de UML fue aceptada. - Durante los aos siguientes, se crearon las versiones 1.3, 1.4 y 1.5. - Entre los aos 2000 2003, un conjunto ms amplio de colaboradores cre una especificacin actualizada de UML, la versin 2.0. - La OMG adopt la versin oficial de UML 2.0 en Octubre de 2005.
Caractersticas (1)
- UML es til para modelar desde sistemas de informacin empresariales, hasta aplicaciones distribuidas basadas en Web, e incluso, para sistemas embebidos (Ej. Dispositivos mviles). - Es un lenguaje muy expresivo, que cubre todas las vistas necesarias para desarrollar sistemas software. - Posee tres componentes clave en su entendimiento:
Bloques bsicos de construccin de UML. Reglas que dictan cmo pueden combinarse esos bloques. Algunos mecanismos comunes que se aplican a lo largo de todo el lenguaje.
Caractersticas (2)
- UML no est limitado al modelado de software. - Es lo suficientemente expresivo para modelar sistemas que no son software, como por ejemplo:
Flujos de trabajo (workflows) en un sistema de gestin de clientes. Estructura y comportamiento de un sistema de seguimiento en tratamientos mdicos. Diseo de hardware, etc.
Caractersticas (3)
- Los problemas simples son fciles de modelar con UML. - Los problemas difciles tambin son fciles de modelar, especialmente despus de haber adquirido soltura con el lenguaje. - El 80% de la mayora de los problemas puede modelarse con el 20% de UML.
Caractersticas (4)
- UML es slo un lenguaje. - Es independiente del modelo de proceso utilizado, aunque para utilizarlo de mejor manera se debera usar en un proceso que fuese dirigido por los casos de uso, centrado en la arquitectura, iterativo e incremental (Proceso Unificado). - UML es un lenguaje para:
- Leer sobre cmo utilizar UML es una cosa, pero slo se puede llegar a dominar practicando.
UML es un lenguaje
- Un lenguaje proporciona un vocabulario y las reglas para combinar palabras de ese vocabulario, con el objetivo de posibilitar la comunicacin. - Un lenguaje de modelado es un lenguaje cuyo vocabulario y reglas se centran en la representacin conceptual y fsica de un sistema. - El modelado proporciona una comprensin de un sistema. Nunca es suficiente un nico modelo. Es necesario tener diferentes vistas del sistema. - UML es un lenguaje que ofrece diferentes vistas de la arquitectura de un sistema. - El vocabulario y las reglas de UML indican como crear y leer modelos bien formados, pero no indican qu modelos se deben crear, ni cuando se deberan crear. - Es tarea del proceso de desarrollo de software determinar los modelos necesarios y el momento de su creacin.
COM 415 Tecnologa de la Informacin para la Gestin
Arquitectura (1)
- La visualizacin, especificacin, construccin y documentacin de un sistema requiere que el sistema sea visto desde varias perspectivas. - Diferentes usuarios (usuarios finales, analistas, desarrolladores, integradores de sistemas, encargados de pruebas, encargados de la documentacin tcnica, y jefes de proyecto) siguen diferentes agendas en relacin con el proyecto. - Cada participante mira al sistema en diferentes momentos, y desde su propia perspectiva, a lo largo de la vida del proyecto. - La arquitectura de un sistema es quizs el artefacto ms importante que puede emplearse para manejar estos diferentes puntos de vista. - Permite adems, controlar el desarrollo iterativo e incremental de un sistema.
Arquitectura (2)
- La arquitectura rene un conjunto de decisiones significativas sobre:
La organizacin de un sistema software.
Arquitectura (3)
- La arquitectura software no tiene que ver solamente con la estructura y el comportamiento, sino tambin con:
El uso y la funcionalidad.
La seleccin de elementos que lo conforman. El rendimiento. Su comportamiento, como se especifican las colaboraciones entre los elementos. La capacidad de adaptacin y reutilizacin. La composicin de esos elementos, en la conformacin de subsistemas progresivamente ms grandes. El estilo arquitectnico que gua esta organizacin: los elementos estticos y dinmicos. La capacidad de ser comprendido. Las restricciones econmicas y tecnolgicas, adems de los compromisos por cada alternativa. Aspectos estticos.
UML y Arquitectura
Vistas
Vistas
- La arquitectura de un sistema puede describirse mejor a travs de cinco vistas interrelacionadas. - Cada vista es una proyeccin de la organizacin y la estructura del sistema centrada en un aspecto particular del mismo.
- Vocabulario - Funcionalidad
- Vocabulario - Funcionalidad
Vista de Diseo
Vista de Implementacin
- Gestin de la configuracin
Vista de Diseo
Vista de Implementacin
- Gestin de la configuracin
- Comportamiento
- Comportamiento
- Rendimiento - Escalabilidad
- Rendimiento - Escalabilidad
- Capacidad de procesamiento
- Capacidad de procesamiento
Vistas
Vistas
Vista de Diseo
- Comprende las clases, interfaces y colaboraciones que forman el vocabulario del problema y su solucin. - Esta vista soporta principalmente los requisitos funcionales del sistema, entendiendo por ello los servicios que el sistema defera proporcionar a sus usuarios finales.
- Vocabulario - Funcionalidad - Ensamblado del sistema
Vista de Interaccin
- Esta vista muestra el flujo de control entre sus diversas partes del sistema, incluyendo posibles mecanismos de concurrencia y sincronizacin. - Esta vista abarca principalmente el rendimiento, la escalabilidad y la capacidad de procesamiento del sistema.
- Vocabulario - Funcionalidad
Vista de Diseo
Vista de Implementacin
- Gestin de la configuracin
Vista de Diseo
Vista de Implementacin
- Gestin de la configuracin
- Comportamiento
- Comportamiento
- Rendimiento - Escalabilidad
- Rendimiento - Escalabilidad
- Capacidad de procesamiento
- Capacidad de procesamiento
Vistas
Vistas
Vista de Implementacin
- Comprende los artefactos que se utilizan para ensamblar y poner en produccin el sistema fsico. - Esta vista se ocupa principalmente de la gestin de configuraciones de las distintas versiones del sistema, a partir de archivos sin dependencia entre s, y que pueden ensamblarse de varias formas para obtener un sistema ejecutable.
- Vocabulario - Funcionalidad - Ensamblado del sistema
Vista de Despliegue
- Contiene todos los nodos que forman la topologa hardware sobre la que se ejecuta el sistema. - Esta vista se ocupa principalmente de la distribucin, entrega e instalacin de las partes que conforman el sistema fsico.
- Vocabulario - Funcionalidad
Vista de Diseo
Vista de Implementacin
- Gestin de la configuracin
Vista de Diseo
Vista de Implementacin
- Gestin de la configuracin
- Comportamiento
- Comportamiento
- Rendimiento - Escalabilidad
- Rendimiento - Escalabilidad
- Capacidad de procesamiento
- Capacidad de procesamiento
Vistas
UML
Consideraciones
- Cada una de estas cinco vistas puede existir por s misma, de forma que cada usuario pueda centrarse en los aspectos de la arquitectura del sistema que ms le interesen. - Estas cinco vistas tambin interactan entre s:
Los nodos en la vista de despliegue contienen componentes de la vista de implementacin Que a su vez, representan la realizacin fsica de clases de la vista de diseo.
Elementos de Agrupacin
- Los elementos de agrupacin son partes organizativas de los modelos UML, y corresponden a cajas en las que puede descomponerse un modelo. - Hay un tipo especial de elemento de agrupacin, denominado paquete. - Un paquete (package) es un mecanismo de propsito general para organizar el propio diseo, en oposicin a las clases, que organizan construcciones de implementacin. - Un paquete es puramente conceptual (slo existe durante el desarrollo de un sistema). - Grficamente, un paquete se visualiza como una carpeta con nombre (y en ocasiones, muestra tambin su contenido).
Mdulo RR.HH.
UML
UML
Elementos de Anotacin
- Los elementos de anotacin son las partes explicativas de los modelos UML. - Son comentarios que se pueden aplicar para describir, clarificar y hacer observaciones sobre cualquier elemento de un modelo. - Hay un tipo principal de elemento de anotacin llamado nota. - Una nota es simplemente un smbolo para mostrar restricciones y comentarios junto a un elemento. - Grficamente, una nota se representa como un rectngulo con una esquina doblada, que contiene un comentario textual o grfico.
Relaciones
- Una relacin es una conexin entre elementos. En el modelado orientado a objetos, las tres relaciones ms importantes son las dependencias, las asociaciones y las generalizaciones. - Grficamente, una relacin se representa como una lnea, usndose diferentes tipos de lnea para diferenciar los tipos de relaciones. - Se considerarn los siguientes tipos de relaciones:
Dependencia. Asociacin. Generalizacin.
Relaciones en UML
Relaciones en UML
Dependencia
- Una dependencia es una relacin semntica entre dos elementos, en la cual un cambio a un elemento (el elemento independiente) puede afectar a la semntica del otro elemento (el elemento dependiente). - Es una relacin de uso que declara que un elemento utiliza la informacin y los servicios de otro elemento. - Grficamente, una dependencia se representa como una lnea discontinua, dirigida al elemento del cual se depende, y que en ocasiones incluye una etiqueta.
Asociacin
- Una asociacin es una relacin estructural entre clases que describe un conjunto de enlaces. - Especifica que los objetos de un elemento estn conectados con los objetos de otro. Dada una relacin entre dos clases, se puede establecer una relacin desde un objeto de una clase hasta algunos objetos de la otra clase. - Grficamente, una asociacin se representa como una lnea continua, posiblemente dirigida, que a veces incluye una etiqueta, y a menudo incluye otros adornos, como la multiplicidad.
1..n
Relaciones en UML
UML
Generalizacin
- Una generalizacin es una relacin de especializacin/generalizacin, en la cual el elemento especializado (subclase, o el hijo) se basa en la especializacin del elemento generalizado (superclase, o el padre). - El hijo comparte la estructura y el comportamiento del padre. - Grficamente, una relacin de generalizacin se representa como una lnea continua con una punta de flecha vaca, apu8ntando al padre.
Estereotipos
- Un estereotipo extiende el vocabulario de UML, permitiendo crear nuevos tipos de bloques de construccin que derivan de los existentes, pero que son especficos a un problema (a nuestro problema).
UML
Diagramas en UML
- Un diagrama es una representacin grfica de un conjunto de elementos, visualizado la mayora de las veces como un grafo conexo de nodos (elementos) y arcos (relaciones). - Los diagramas se dibujan para visualizar un sistema desde diferentes perspectivas, de forma que un diagrama es una proyeccin de un sistema. - Un diagrama representa una vista resumida de los elementos que constituyen un sistema. - UML 2.0 define trece tipos diferentes de diagramas. Esto no quiere decir que sea una lista cerrada. Las herramientas pueden utilizar UML para proporcionar otros tipos de diagramas.