lenguaje unificado de modelado
DESCRIPTION
Definir brevemente como nace UML,porque y para queTRANSCRIPT
ANÁLISIS Y DISEÑO DE SISTEMAS DE INFORMACIÓN
2013
Lenguaje Unificado de Modelado (UML)
Definir Sistemas de Software Díaz María, Rojas Adriana, Zamora Ronaima.
U N I V E R S I D A D D E O R I E N T E - N Ú C L E O M O N A G A S
R
Universidad de Oriente
Departamento de Ingeniería de Sistemas
Análisis de Diseño y Sistemas de
Información
Unidad V
Historia Del UML
Elementos principales
¿Dónde puedo usar UML?
Un método
independiente del
proceso.
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
~ 4 ~
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.
~ 5 ~
ué es UML?
( 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.
¿Q
~ 6 ~
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.
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.
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
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.
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.
Construir
Visualizar
Especificar.
Documentar
~ 7 ~
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.
U
E
~ 8 ~
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.
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.
E
T
Representación Diagrama de
Clases
~ 9 ~
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.
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. Representación Diagrama de
Despliegue.
Representación
Diagrama Estructura
Compuesta
~ 10 ~
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.
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
Representación
Diagrama de
Paquetes.
~ 11 ~
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.
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
Representación
Diagrama de Uso
Representación Diagrama
de Estado
Representación Diagrama
de Secuencia.
~ 12 ~
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.
~ 13 ~
omparación de Diagramas UML
C
~ 14 ~
erramientas CASE para modelar con UML
H
~ 15 ~
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)
F