c
|
La concepción inicial de los sistemas lleva consigo el desarrollo de diagramas en procesos estructurales, posteriormente en el adelanto de las nuevas tendencias surge el desarrollo de modelos de negocio con el diseño orientado a objetos; consecutivamente ésta vertiente da paso a un nuevo lenguaje de modelado que combina varios métodos y creado por varios autores – James Rumbaugh, Ivar Jacobson, Grady Booch - llamado UML (Unified Model Languaje); ésta, es una de las herramientas más novedosas en el modelado de sistemas de información, permitiendo a los modeladores capturar el comportamiento de los sistemas de un modo convencional y sencillo de comprender por el resto de las personas. A modo ilustrado, se trataran temas referentes al lenguaje UML, su uso, conceptos y modelos en el desarrollo de sistemas.
Antes de indicar para qué sirve UML, es importante definirlo. Según un artículo publicado por Vico Open Modeling, S.L. (2008), el UML “Es un lenguaje visual orientado al modelado de sistemas”. Igualmente en Wikipedia, la enciclopedia libre, UML “Es el lenguaje de modelado de sistemas de software más conocido y utilizado en la actualidad”. El desarrollo de UML comenzó a finales de 1994 cuando Grady Booch y Jim Rumbaugh de Rational Software Corporation empezaron a unificar sus métodos. A finales de 1995, Ivar Jacobson y su compañía Objectory se incorporaron a Rational en su unificación, aportando el método OOSE (OOSE: Object- Oriented Software Engineering). En el proceso de creación de UML han participado, no obstante, otras empresas de gran peso en la industria como Microsoft, Hewlett-Packard, Oracle o IBM, así como grupos de analistas y desarrolladores. El lenguaje modelado no es más que hacer una representación abstracta de un sistema físico con un propósito determinado, con el modelo se pretende capturar las partes esenciales del sistema. Es importante resaltar que UML es un "lenguaje" para especificar y no para describir métodos o procesos. Se utiliza para definir un sistema de software, para detallar los artefactos en el sistema y para documentar y construir. En otras palabras, es el lenguaje en el que está descrito el modelo. Se puede aplicar en una gran variedad de formas para dar soporte a una metodología de desarrollo de software (tal como el Proceso Unificado Racional o RUP), pero no especifica en sí mismo qué metodología o proceso a usar. El UML sirve para definir un problema que afecta la organización y plantear una solución de diseño, modelando los procesos involucrados. Sirve para mejorar el nivel de comunicación formal dentro de un proyecto. Sirve para representar visualmente las reglas de creación, estructura y comportamiento de un grupo relacionado de objetos y procesos. Sirve para visualizar de manera eficiente la complejidad de un sistema o una organización en un reducido número de diagramas; es decir, abordar la complejidad con una documentación minimalista. Sirve para mantener más ágilmente las especificaciones ante los cambios y nuevos enfoques de la arquitectura. Sirve para desarrollar procesos/productos con una mayor fiabilidad y calidad; siendo el impacto de las decisiones más visibles. Sirve para definir, organizar y compartir conocimientos. 2. Modelos o Diagramas qué contiene. Descripción. Características. Ejemplos. Una vez que se tiene identificado el problema de un sistema, es indispensable la creación de un modelo que permita comprender el comportamiento del sistema antes de desarrollarlo. Todo modelo contiene detalles según el análisis previo que se hace del sistema. UML no solo permite la creación de un modelo sino que recomienda la utilización de varios modelos con los que se pueda obtener desde diferentes puntos de vista detalles que asemejen el diseño mucho más a la realidad. Según Josep Vilalta Marzo (2008), la última versión de UML es la 2.0, y en ella hay 13 tipos de diagramas diferentes que se clasifican de la siguiente manera:
Los Diagramas de Estructura
2.1 Diagramas de Clases: Las clases son el centro alrededor del cual se organiza la vista de clases; otros elementos pertenecen o se unen a las clases. Un diagrama de clases sirve para visualizar las relaciones entre las clases que involucran el sistema, las cuales pueden ser asociativas, de herencia, de uso y de contenimiento. Características:
Ejemplo: Diagrama de Clases de la aplicación de taquilla
2.2 Diagrama de componentes: Un diagrama de componentes muestra dependencias entre los componentes – un componente es una unidad física de implementación con interfaces bien definidas pensada para ser utilizada como parte reemplazable del sistema – cada componente ofrece algunas interfaces y utiliza otras. Si las dependencias entre componentes se hacen a través de interfaces, los componentes se pueden sustituir por otros componentes que realicen las mismas interfaces. Características:
Ejemplo: Diagrama de Componentes
2.3 Diagrama de objeto: Los diagramas de objetos modelan las instancias de elementos contenidos en los diagramas de clases. Un diagrama de objetos muestra un conjunto de objetos y sus relaciones en un momento concreto. Características:
Ejemplo: Diagrama de Objeto
2.4 Diagrama de estructura compuesta: Un diagrama de estructura compuesta es un diagrama que muestra la estructura interna de un clasificador, incluyendo sus puntos de interacción a otras partes del sistema. Esto muestra la configuración y relación de las partes que juntas realizan el comportamiento de clasificador contenido. Los elementos de clase han sido descriptos en gran detalle en la sección en los diagramas de clase. Esta sección describe la forma en que las clases se pueden mostrar como elementos compuestos exponiendo interfaces y conteniendo puertos y partes. Características:
Ejemplo: Diagrama de Estructura Compuesta Fuente: Diagrama de Estructura Compuesta http://www.liderdeproyecto.com/uml/uml012.html. Citado el 15/02/2009
2.5 Diagrama de despliegue: Los diagramas de despliegues muestran las relaciones físicas entre los componentes físicos y lógicos del sistema final (hardware y software). Características:
Ejemplo: Diagrama de Despliegue
2.6 Diagrama de paquetes: Un diagrama de paquetes muestra como un sistema está dividido en agrupaciones lógicas mostrando las dependencias entre esas agrupaciones. Dado que normalmente un paquete está pensado como un directorio, los diagramas de paquetes suministran una descomposición de la jerarquía lógica de un sistema. Características:
Ejemplo: Diagrama de Paquete Fuente: Diagrama de paquete. http://diario.de/osjobu/uml.html. Citado 18/02/2009
Los Diagramas de Funcionamiento
2.7 Diagrama de actividades: Este tipo diagramas se pueden utilizar para modelar actividades de software, éste diagrama es provechoso para entender el comportamiento de alto nivel de la ejecución de un sistema, sin profundizar en los detalles internos de los mensajes. Características:
Ejemplo: Diagrama de Actividad
2.8 Diagrama de casos de uso: Un caso de uso es una unidad coherente de funcionalidad, expresada como transacción entre los actores y el sistema. El propósito de la vista de casos de uso es enumerar a los actores y los casos de uso, y demostrar que actores participan en cada caso de uso. Características:
Ejemplo: Diagrama de Casos de Uso de una taquilla
La simbología de los Diagramas de casos es:
2.9 Diagrama de estado: Éste diagrama describe el comportamiento dinámico de los objetos, en un cierto plazo, modelando los ciclos de vida de los objetos de cada clase; tomando a cada objeto como una entidad aislada que se comunica con el resto del sistema a través de eventos. A su vez los eventos representan las clases de cambios por los que un objeto puede pasar. Características:
Ejemplo: Diagrama de Estado
A continuación se presenta su simbología:
Los Diagramas de Interacción
2.10 Diagrama de secuencia: Un diagrama de secuencia muestra un conjunto de mensajes, dispuestos en una secuencia temporal. Cada rol en la secuencia se muestra como una línea de vida, es decir, una línea vertical que representa el rol durante cierto plazo de tiempo, con la interacción completa. El diagrama de secuencia contiene detalles de implementación del escenario, incluyendo los objetos y clases que se usan para implementar el escenario, y mensajes pasados entre los objetos. Características:
Ejemplo: Diagrama de Secuencia
2.11 Diagrama de colaboración: Es un diagrama de interacción que enfoca las interacciones y los enlaces entre un grupo de objetos “colaboradores”. Ubicándose éste en el espacio mostrando los objetos, sus enlaces y los mensajes entre ellos. Características:
Ejemplo: Diagrama de Colaboración
2.12 Diagrama de tiempos: Los diagramas de tiempo son una representación especial de interacción que se enfoca en el tiempo de los mensajes enviados entre objetos. Se pueden usar estos diagramas para mostrar restricciones detalladas sobre el tiempo, ó para mostrar los cambios con líneas de vida respecto al tiempo. Características:
Ejemplo: Diagrama de Tiempo Fuente: Ejemplo Diagrama de tiempo. MailxMail. Citado el 17/02/2009
2.13 Diagrama de Interacción global: Muestran una interacción, que consiste de un conjunto de objetos y sus relaciones, incluyendo los mensajes que puedan ser realizados entre ellos. Son importantes para modelar los aspectos dinámicos de un sistema. Características:
Ejemplo: Diagrama de Interacción Global Fuente: Diagrama de Interacción Global, Interacción Global. Citado el 18/02/2009 3. Utilidad de cada uno de los diagramas. Tomando en consideración que en todas las ramas de
ingeniería se construyen modelos que permiten simplificar la realidad, para
comprender el sistema que se va a desarrollar, UML utiliza
trece diagramas para representar las distintas vistas de un sistema, los cuales
se describen a continuación:
Fuente: Autores, Febrero 2009.
Diagramas de Estructura: • Diagramas de Clase: representan una visión estática del sistema a desarrollar, es decir, permite describir las categorías con detalle de atributos de manera que el analista y el cliente puedan hablar el mismo lenguaje. Facilitan las representaciones sobre las cuales trabajan los desarrolladores. Presentan un conjunto de clases, interfaces y colaboraciones y las relaciones ente ellas. Su notación es un rectángulo dividido en tres áreas donde se especifica, nombre de la clase, atributos y acciones. • Diagrama de objeto: un objeto es una instancia de una clase, es decir, un objeto es aquel que representa valores específicos de los atributos y acciones definidos para la clase, por lo tanto este diagrama permite representar un objeto en UML. Estos diagramas son útiles para la comprensión de diagramas de clases completos, al crear diferentes casos en los que se aplican las relaciones y las clases. Se utiliza para describir estructuras de datos, instantáneas de los elementos encontrados en los diagramas de clases. Su notación es un rectángulo, con el nombre propio del objeto seguido de dos puntos (:) y el nombre de la clase a la cual pertenece. • Diagrama de despliegue: Con este modelo se busca describir cómo la aplicación se despliega a través de una infraestructura. Diagramas de Comportamiento: • Diagrama de actividades: Las actividades de una secuencia se representan en este diagrama. Estos diagramas son el equivalente a los diagramas de flujo en la documentación clásica de software. Son importantes para modelas la función del sistema, así como para resaltar el flujo de control entre objetos. • Diagrama de casos de uso: tomando en consideración la definición de casos de usos, los cuales son la descripción de las acciones del sistema desde el punto de vista del usuario, que permite a los desarrolladores obtener los requerimientos del sistema desde éste ángulo, se tiene que un diagrama de casos de uso organiza los comportamientos del sistema y representa un conjunto de casos de uso y actores (un tipo especial de clases) y sus relaciones. Muestra, por tanto, los distintos requisitos funcionales que se esperan de una aplicación o sistema y cómo se relacionan con su entorno (usuarios y otras aplicaciones). Diagramas de interacción: • Diagrama de tiempos: con este diagrama se representan los cambios en el estado o la condición de una línea de vida a lo largo del tiempo lineal. Su principal uso es mostrar el cambio de estado de un objeto a lo largo del tiempo. • Diagrama de interacción, secuencia y colaboración: Existen dos tipos de diagramas de interacción: los de secuencia y los de colaboración, estos diagramas representan la visión de comportamiento o interacción entre los diferentes componentes que conforman el sistema. Los diagramas de secuencia usan la perspectiva de la línea de tiempo para representar el comportamiento del sistema o componente de software, estás líneas se leen de izquierda a derecha del diagrama; mientras los diagramas de colaboración no están ordenados con relación al tiempo, por lo que su lectura está determinada por números que indican la secuencia de hechos. 4. Herramientas de Software que apoyan el modelado UML. Ejemplos y demos. A continuación, se listan algunos de los programas más populares para el modelado en UML Estos programas están bajo licencias libres: ArgoUML, Herramienta de modelado UML escrito en Java. (DEMO)
Ejemplo
BOUML, Ligera herramienta de modelado UML y generación de código C++, Java e IDL. Disponible para Windows, Unix/Linux y Mac OS X. (DEMO) Ejemplo:
Fujaba, No solo sirve para modelar sino que puede generar código Java automáticamente. También es capaz de hacer ingeniería inversa y crear los diagramas a partir del código Java. (DEMO) Dia, Puede ser usado para modelar varios tipos de diagramas UML. (DEMO) Ejemplo:
gModeler Herramienta para modelado de UML basada en Flash (utilizable desde el navegador), que permite generar código Action Script 2.0 Compatible. MonoUML Herramienta CASE para la plataforma mono. (DEMO) Ejemplo:
Papyrus, Herramienta gráfica basada en Eclipse para el modelado con UML2, es de código abierto y se ofrece bajo licencia EPL (DEMO) Ejemplo:
StarUML Herramienta de modelado para Windows desarrollada en Delphi. Bastante estable y utilizable. Ejemplo:
TCM, Toolkit for Conceptual Modeling, herramienta para crear diversos tipos de diagramas incluidos UML (DEMO) Ejemplo:
Umbrello Herramienta para modelado UML para el entorno KDE. (DEMO)
Ejemplo:
Netbeans módulo UML (DEMO)
Ejemplo:
Open ModelSphere Herramienta de Modelado gratuita, para modelado de datos, procesos y UML. Disponible como Open Source Software, Released Under GPL (GNU Public License). (DEMO) Ejemplo:
Visual Paradigm for UML El sitio oficial de esta herramienta es http://www.visual-paradigm.com/product/vpuml/, proporciona una serie de bondades como el modelado UML, el modelado de bases de datos, la creación de mapas relacionales de objetos (para la programación), interoperabilidad, integración IDE, trabajo colaborativo, ingeniería de código fuente (programación), y generación de documentación entre otras. Para las bondades que se presentan en cuanto al modelado UML, podemos indicar que permite construir los siguientes diagramas: a. De clase (demo), b. De secuencia (demo), c. De estado (demo), d. De componentes (demo), e. De paquetes (demo), f. De estructuras (demo), g. De interacción (demo), h. De casos de uso (demo), y i. otros.
Altova UMODEL 2009: El sitio oficial de esta herramienta es http://www.altova.com/, en ella nos permite obtener un demo por treinta días. Entre las bondades que ofrece esta herramienta, tenemos: Soporte para los catorce diagramas de UML 2.2, generación de código fuente para los lenguajes Java, C# y VB.Net (programación), ingeniería inversa para archivos binarios de los lenguajes mencionados, modelos del esquemas XML en diagramas de estilo UML, Habilita capas de diagramas para que puedan ser ocultados selectivamente, permite compartir proyectos, intercambio de modelado con herramientas XML, soporta diagramas de procesos de negocio, integración con Visual Studio y Eclipse (programación). Para las bondades que se presentan en cuanto al modelado UML, podemos indicar que permite construir los siguientes diagramas: a. De casos de uso (demo), b. De clases (demo), c. De componentes (demo), d. De objetos (demo), e. De actividades (demo), f. De comunicación (demo), g. De interacción (demo), h. De secuencia (demo), y i. otros.
Pacestar UML Diagrammer: El sitio oficial de esta herramienta es http://www.pacestar.com/uml, en ella nos permite obtener un demo por treinta días. Ayuda a generar diagramas UML 2.0 de una manera rápida y fácil. Permite desarrollar, documentar, y comunicar nuestros diseños de una forma sistemática pero flexible, y con una notación comúnmente utilizada y entendible. Su diseño permite crear diagramas de actividad, clases y objetos, esquemas de comunicación, diagramas de caso de uso, de secuencia, de paquetes y componentes, diagramas de estructura compuesta, y de interacción, e incluso diagramas de flujo tradicionales. Posee un paquete de ayudas para hacer más fácil la diagramación en UML.
MagicDraw UML: El sitio oficial de esta herramienta es http://www.magicdraw.com/, en ella nos permite obtener un demo por treinta días, pero para obtenerlo debe estar registrado en el sitio como usuario. Promueve el rápido aprendizaje con una interface intuitiva. Permite crear diagramas UML 2.0 de una manera rápida y fácil. Genera modelos a partir de código fuente ya existente, de igual manera genera códigos a partir de un modelo creado. Visualiza el modelo en muy pocos pasos. Mantiene la comunicación y el trabajo en equipo, habilitando la posibilidad de trabajar en el mismo modelo al mismo tiempo. Con la utilidad de Reportes Automáticos, elimina el tedioso trabajo de documentar.
Microsoft Visio. Microsoft Visio es un software de dibujo vectorial para Microsoft Windows. Visio comenzó a formar parte de los productos de Microsoft cuando fue adquirida la compañía Visio en el año 2000. Las herramientas que lo componen permiten realizar diagramas de oficinas, diagramas de bases de datos, diagramas de flujo de programas, UML, y más, que permiten iniciar al usuario en los lenguajes de programación.
JUDE Community Herramienta de modelado UML. DEMO 5. Caso Práctico. Aplicar el Diagrama de Casos de Uso a una problemática presentada en su empresa. Para el desarrollo del Caso Práctico se utilizó el Diagrama de caso, ya que este diagrama nos permite modelar todos los procesos que el sistema debe llevar a cabo. Los procesos son descritos textualmente, es decir, a través de una secuencia de pasos ejecutados que permiten observar de forma directa la interacción que existe entre los distintos actores y el sistema, siendo así, una forma sencilla de detectar problemas de funcionalidad del sistema. Proceso de Administración de códigos de accesos a las plataformas de Pequiven, S.A. (Correo electrónico, SAP y Windows). Pequiven cuenta en la actualidad con un proceso manual para la gestión de creación, modificación y eliminación de usuarios de sus plataformas SAP, correo electrónico sobre Domino/Lotus Notes y Active Directory para el acceso a recursos de la red corporativa. De estos tres procesos, la tarea de creación de cuentas maneja un flujo de trabajo formalmente definido en la organización para la aprobación de cada solicitud. Cuando ingresa un nuevo usuario a la corporación, el supervisor del área envía un correo electrónico al help desk con una planilla de solicitud de creación de cuenta con los datos del nuevo usuario. Este flujo de trabajo de aprobación actualmente se maneja a través del intercambio de correo electrónico, donde se adjunta la forma de solicitud de creación de accesos y los comentarios de aprobación o no de la solicitud. Cuando AIT recibe la solicitud aprobada, procede a crear los accesos en las plataformas para las cuales se aprobó la solicitud. Este último paso de creación debe ser ejecutado por separado en cada una de las plataformas a las cuales el usuario tendrá acceso, es decir, el requerimiento es enviado a tres grupos diferentes por lo que en algunos casos cada administrador crea distintos indicadores para un mismo usuario ocasionando duplicidad de la información y adiciona carga para el usuario final por tener que utilizar distintos indicadores según sea la plataforma. El deber ser es que cada usuario posean un indicador o código único para acceder a las múltiples plataformas a la que el mismo posea acceso. Interacción de los Actores con las áreas de la Corporación
Detalle del Caso de Uso: Realizar Solicitud
Fuente: Autores (2009)
Fuente: Autores (2009)
Fuente: Autores (2009)
Fuente: Autores (2009)
Fuente: Autores (2009)
Fuente: Autores (2009)
Fuente: Autores (2009)
Bibliografía Diagramas UML (Categorías). http://es.wikipedia.org/wiki/Categor%C3%ADa:UML. Consultado: el 12/02/2009 Diagramas UML. [En linea] http://tvdi.det.uvigo.es/~avilas/UML/node22.html. Consultado el 14/02/09 James Rumbaugh, Ivar Jacobson y Grady Booch. El Lenguaje Unificada de Modelado- Manual de Referencia, Editorial Addison Wesley; Madrid 2000 Libros universitarios en descarga directa, [en linea], en: omarrenm; Dirección URL: http://omarenm.wordpress.com/, (Consultado el 14/02/09) Los 9 Diagramas de UML. [En linea] http://www.abcdatos.com/tutoriales/tutorial/l7158.html. Consultado el 14/02/09 Rearte Emilio, Los 9 diagramas de UMl, [en linea], en: ABC datos; Dirección URL: http://www.abcdatos.com/tutoriales/tutorial/l7158.html, (Consultado: 14/02/09) Schmuller Joseph, Aprendiendo UML en 24 Horas, Editorial Prentice Hall. Universidad de Vigo, Cursos de Formación, [En linea], En:Uvigo.es; Direccion URL: http://tvdi.det.uvigo.es/~avilas/UML/node22.html. (Consultado el 14/02/09)
|
Integrantes:
|