ANÁLISIS Y DISEÑO DE SISTEMAS DE INFORMACIÓN
Lenguaje Unificado de Modelado (UML) Definir Sistemas de Software Díaz María, Rojas Adriana, Zamora Ronaima.
2013
UNIVERSIDAD DE ORIENTE-NÚCLEO MONAGAS
Universidad de Oriente Departamento de Ingeniería de Sistemas Análisis de Diseño y Sistemas de Información Unidad V
R
Un método independiente del proceso.
Historia Del UML Elementos principales ¿Dónde puedo usar UML?
Sumario. Lenguaje Unificado de Modelado 驴Qu茅 es UML? Utilidad del UML Enfoque de las 4 vistas + 1 de Kruchten Estandarizaci贸n del UML Tipos de Diagramas UML Comparaci贸n de Diagramas UML
Concepción. El UML es la creación de Grady Booch, James Rumbauch e Ivar Jacobson. Estos tres trabajaban en empresas distintas durante las décadas de los años 80 y principio de los años 90 y cada uno diseño su propia metodología para el análisis y diseño orientados a objetos. A mediados de los 90 empezaron a intercambiar ideas entre si y decidieron desarrollar su trabajo en conjunto.
En 1994 Rumbaugh a Rational software corporation, donde ya trabajaba Booch. Jacobson ingreso a Rational un año después. Se crea el consorcio del UML, conformado por: Intellicorp, DEC, Hwelett Packard, Microsoft, Oracle, Texas Instruments y Rational. En 1997 se crea la versión 1.0 del UML – OMG ( grupo de administración de objetos) para generar un lenguaje estándar de modelado, en el año 1998 se creó la versión 1.1 de UML y para el 2004 se creó la versión 2.0. ~4~
ué es UML?
¿Q
( Unified Modeling Language- Lenguaje Unificado de Modelado).
Es un popular lenguaje de modelado de sistemas de software,que se usa para construir,documentar,visualizar y especificar dicho sistema, este capta la informacón sobre la estuctura estática y el comportamiento dinámico de un sistema, este se models como una colección de objetos discrtos que interactuán para realizar un trabajo que finalmente beneficia a un usuario externo.
~5~
Construir Las cosas que se expresan mejor se gráficamente se expresan en UML mientras que las que se expresan mejor textualmente se plasman en el lenguaje de programación. Esto permite la ingeniería directa, es decir la generación de código a partir de un modelo UML como también la ingeniería inversa que consiste en escribir código a partir de una implementación, ésta requiere de herramientas que la soporten y de la intervención humana. UML es lo suficientemente expresivo y no ambiguo para permitir la ejecución directa de modelos, la simulación de sistemas y la coordinación de sistemas de ejecución.
Una organización de software, además de código ejecutable, debe producir toda clase de artefactos como: Requisitos, arquitectura, diseño, código fuente, planificación de proyectos, pruebas, prototipos y Versiones. Estos son críticos para el control, la medición y comuni Documentar cación que requiere un sistema durante su desarrollo y después de su despliegue. UML cubre la documentación de la arquitectura y todos sus detalles. UML proporciona un lenguaje para expresar requisitos y pruebas y para modelar las actividades de planificación de proyectos y gestión de versiones.
Visualizar Un programador a veces realiza el modelado mentalmente, es decir, avanza en el desarrollo codificando simultáneamente. Se pueden valer de bosquejos de ideas, pero no son entendibles fácilmente por otros ó simplemente esté sujeta a errores, a menos que haya personas implicadas que hablen el mismo lenguaje. El código fuente del sistema no es bagaje suficiente para interpretar un sistema y surgen lenguajes de texto y gráficos como UML.
Especificar. Especificar es construir modelos precisos, no ambiguos y completos. UML cubre la especificación de todas las decisiones de análisis, diseño e implementación que deben realizarse al desarrollar y desplegar un sistema con gran cantidad de software.
~6~
U
E
tilidad del UML 1- Modela de forma visual para especificar, visualizar, construir y documentar artefactos de un sistema de software. 2- Se usa para entender, diseñar, configurar, mantener y controlar la información sobre los sistemas a construir. 3- Capta la información sobre la estructura estática y el comportamiento dinámico de un sistema.
nfoque de las 4 vistas + 1 de Kruchten Un enfoque en la presentación de un sistema en UML es conocida como 4+1 vistas. Esta forma de documentar nuestros modelos, divide lo que sabemos de él en cinco áreas: Vistas de casos de Uso: Contiene requisitos desarrollados en las restantes vistas. Vista Lógica: Muestra la estructura estática del sistema. Vista Física: Muestra el despliegue de la aplicación en la red de computadoras. Vista de Procesos: Muestra los hilos y procesos de ejecución así como la comunicación entre estos. Vista de Desarrollo: Muestra la estructura en modelos del código del sistema.
~7~
E T
Standarización del UML Desde el año 2005, UML es un estándar aprobado por la ISO como ISO/IEC 19501:2005 Information technology — Open Distributed Processing — Unified Modeling Language (UML) Versión 1.4
ipos de Diagramas. Diagramas de Estructura: Se utilizan para representar tanto Modelos Conceptuales como Diagramas de Clases de Diseño. Ambos usos son distintos conceptualmente, mientras que los modelos conceptuales modelan elementos del dominio, los diagramas de clases presentan los elementos de la solución software.
Representación Diagrama de Clases
Diagrama de Clases: Muestran un conjunto de clases, interfaces y colaboraciones, así como sus relaciones. Estos diagramas son los más comunes en el modelado de sistemas orientados a objetos y cubren la vista de diseño estática o la vista de procesos estática (sí incluyen clases activas).
Diagrama de Componente: Representa como un sistema de software es dividido en componentes y muestra las dependencias entre los componentes. Los componentes físicos incluyen archivos, cabeceras, bibliotecas compartidas, módulos ejecutables, o paquetes. Los diagramas de componentes prevalecen en el campo de la arquitectura de software pero pueden ser usados para modelar y documentar cualquier arquitectura de sistema. Debido a que estos son más parecidos a los diagramas de casos de usos, estos son utilizados para modelar la vista estática y dinámica de un sistema, muestra la organización y las dependencias entre un conjunto de componentes. ~8~
Diagrama de Objetos: Muestran un
conjunto de objetos y sus relaciones, son como fotos instantáneas de los diagramas de clases y cubren la vista de diseño estática o la vista de procesos estática desde la perspectiva de casos reales o prototípicos.
Representación Diagrama Estructura Compuesta
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. 1. Parte: Representa un conjunto de una o más instancias que pertenecen a una instancia del clasificador contenida. 2. Puertos: Describe el punto de interacción para un clasificador, puede especificar los servicios que proveen y los servicios que requieren otras partes de otros sistemas. 3. Conector: Une dos o más entidades, permitiéndoles interactuar en tiempo de ejecución.
Diagrama de Despliegue: Es un diagrama que se utiliza para modelar el hardware utilizando en las implementaciones de sistemas y relaciones con sus componentes. Los elementos de los diagramas de despliegue son: 1. Nodos: Elemento de hardware o software. Diagrama de Representación Despliegue.
~9~
2. Componentes: Muestra unidades de software en tiempo de ejecución y generalmente ayudan a identificar sus dependencias y a su localización en los nodos. 3. Asociaciones: Representa la ruta de comunicación entre los nodos. Diagrama de Paquetes: Muestra cómo 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. Sus elementos son: 1. Paquetes: Agrupación de elementos. 2. Dependencias: Indican que un elemento de un paquete requiere a otro paquete distinto.
Representación Diagrama de Paquetes.
Diagramas de Comportamiento: Se emplean para visualizar, especificar, construir y documentar los aspectos dinámicos de un sistema. Los diagramas de comportamiento son: 1. Diagrama de Actividades. 2. Diagrama de Caso de Uso. 3. Diagrama de Estados. 4. Diagrama de Secuencias. 5. Diagrama de Comunicación. 6. Diagrama de Tiempos. 7. Diagrama Global de Interacciones. Diagrama de Actividades: Muestra una visión simplificada de lo que ocurre durante una operación o proceso, es una extensión del diagrama de estados. A cada Representación Diagrama de Actividades
~ 10 ~
actividad se le representa por un rectángulo con las esquinas redondeadas. El procesamiento dentro de una actividad se lleva a cabo, y al siguiente se lleva a cabo la siguiente actividad. Cuenta con un punto inicial (representado por un círculo relleno) y uno final (representado por una diana). Diagrama de Caso de Uso: Se emplean para visualizar el comportamiento de un sistema, un subsistema o una clase, de forma que los usuarios puedan comprender cómo utilizar ese elemento y de forma que los desarrolladores puedan implementarlo. Representación Diagrama de Uso
Representación Diagrama de Estado
Diagrama de Estado: Muestra los estados en los que puede encontrarse un objeto junto con las transiciones entre dichos estados, mostrando los puntos iniciales y final de la secuencia. Se enfoca en los cambios de estado de un solo objeto, el estado se representa con un rectángulo de vértices redondos, puede contener variables de estado, una transición se representa mediante una flecha entre un estado y otro. Diagrama de Secuencia: Agrega la dimensión de tiempo a las interacciones entre objetos, se colocan en la parte superior y el tiempo avanza hacia abajo, la línea de vida se extiende debajo de cada objeto, un pequeño rectángulo representa la línea de activación del objeto, los ~ 11 ~
Representación Diagrama de Secuencia.
mensajes conectan una línea de vida con otra, la posición del mensaje en la dimensión vertical representa el momento en que ocurre el paso de mensajes. Diagrama de Colaboraciones: Forma alternativa de representar la información de un diagrama de secuencias, se organiza respecto al espacio, muestra las asociaciones entre objetos y los mensajes que se pasan del uno al otro, el mensaje se representa con una línea y un mensaje numerado. Diagrama de Tiempos: Muestran el comportamiento de los objetos en un determinado periodo de tiempo, permite apreciar la iteración entre los eventos de tiempos, las restricciones de tiempo y la duración que los gobierna.
Diagrama Global de Interacciones: Aportan una visión general del flujo de control de las interacciones en el sistema,es un híbrido entre diagramas de actividades y diagrama de secuencia,se utiliza la misma notación que para los diagramas de actividades.
~ 12 ~
C
omparaci贸n de Diagramas UML
~ 13 ~
H
erramientas CASE para modelar con UML
~ 14 ~
F
uentes Consultadas:
Booch, Grady. 1996. Análisis y Diseño Orientado a Objetos. 2da edición. Ed. Addison-Wesley / Díaz de Santos. Pressman, Robert. 1998. Ingeniería de Software. http://agamenon.uniandes.edu.co/~pfigueroa/soo/uml http://www.rational.com/uml/Trabajo enviado por: Gerardo Moreno Martínez gmoreno [arroba]cuates.pue.upaep.mx Leer: http://www.monografias.com/trabajos5/insof/insof.shtml#ixzz2Ix1UvdRg Martin Fowler, Kendall Scott, "UML Gota a Gota", 1999. Utilización de UML en Ingeniería del Software con Objetos y Componentes. Perdita Stevens, Rob Pooley. Addison Wesley. 2002. UML 2 Perdita Stevens Pearson Education ISBN-10: 8478290869 UML Fernando Asteasuain ISBN-10: 9871347952 Wikimedia Commons alberga contenido multimedia sobre Lenguaje Unificado de Modelado. Grupo Oficial del lenguaje Modelado (en inglés) Especificación oficial (en inglés) Introducción a UML 2.0, partes uno y dos Listados de herramientas (en inglés) Listado de herramientas CASE de modelado UML Listados de herramientas Deficiencias de UML (en Inglés) Problemas de consistencia en software basado en UML (en inglés) UMLZone (en inglés)
~ 15 ~