Académique Documents
Professionnel Documents
Culture Documents
INTRODUCCION A UML
Resumen de UML
Tres pasos para el entendimiento de UML
Arquitectura de software.
El proceso de desarrollo de software
UML es un proceso independiente que ptimamente debe ser usado en un proceso que es un
manejador de caso de uso, con arquitectura central, iterativa e incremental.
Un resumen de UML
UML es un lenguaje para
Visualizacin
Especificacin
Construccin
Documentacin
CAPITULO 2
Un lenguaje proporciona un vocabulario y las reglas para combinar las palabras de ese
vocabulario para la comunicacin. Un lenguaje de modelado es un lenguaje cuyo vocabulario y
reglas se enfocan en la representacin conceptual y fsica de un sistema. Un lenguaje de
modelado tal como UML es as un lenguaje estndar para proyectos de software.
El vocabulario y las reglas de un lenguaje tal como UML nos dicen como crear y leer modelos
bien formados, pero no nos dicen que modelos debes crear y cuando debes crearlos. Un
proceso bien definido te gua en decidir que componentes producir, que actividades y que
trabajadores usar para crearlos y manejarlos y como usar esos componentes para validar y
controlar el proyecto como tal.
UML es un lenguaje para visualizacin
CAPITULO 2
Los modelos escritos en UML enfocan el tercer problema: Un modelo explcito facilita la
comunicacin.
Algunas cosas son mejor modelados textualmente, otros son mejor modelados grficamente.
En todos los sistemas interesantes hay estructuras que trascienden que pueden ser
representadas en un lenguaje de programacin El UML como tal, es un lenguaje grfico. Este
enfoca el segundo problema descrito fcilmente.
El UML es ms que un gran nmero de smbolos grficos. Mejor dicho, detrs de cada smbolo
de la notacin de UML hay una semntica bien definida. De esta forma, un desarrollador
puede escribir un modelo en el UML y otro desarrollador aun con otra herramienta puede
interpretar ese modelo no ambiguamente. Este direcciona el primer problema descrito
fcilmente.
CAPITULO 2
Una buena organizacin de software produce todos los tipos de componentes para el cdigo
ejecutable. Estos componentes incluyen (pero no estn limitados):
Requerimientos
Arquitectura
Diseo
Cdigo fuente
Planes del proyecto
Pruebas
Prototipos
Revisiones (Releases)
Dependiendo de la cultura de desarrollo, alguno de estos componentes son ms o menos
formal que otros. Tales componentes no son solo la deliberacin de un proyecto, son tambin
indispensables para controlar, validar y comunicar un sistema antes de su desarrollo y
despus de su estructuracin.
CAPITULO 2
Transportacin
Defensa/aeroespacio
Ventas
Electrnica mdico
Cientficos
Servicios basados en Web
UML no est limitado a modelado de software. De hecho este es suficiente expresivo para
modelar sistemas de no software, tal como el diseo de hardware y sistemas para determinar
la salud de un paciente.
Los Elementos son las abstracciones que son ciudadanas de primera clase en un modelo, las
relaciones ligan estos elementos entre s; el grupo de diagramas comparte colecciones de
estos elementos.
Elementos en UML: Hay cuatro tipos de Elementos en UML:
1. Estructurales
CAPITULO 2
2. De comportamiento(behavioral)
3. De Agrupamiento
4. Anotacionales.
Son los bloques de construccin bsicos orientados a objetos de los modelos de UML.
Estructurales: Los Elementos estructurales, son los sustantivos de los modelos de UML.
Estos son en la mayora partes estticas de un modelo, representando elementos que o bien
conceptuales o fsicos. Hay siete tipos de elementos estructurales.
Una clase es una descripcin de un conjunto de objetos que comparten los mismos atributos,
operaciones, relaciones y semnticas. Una clase lleva a cabo una o ms interfaces.
Grficamente, una clase es representada con un rectngulo, usualmente incluyendo su
nombre, atributos y operaciones, como en la figura 2.1.
Una interfaz es una coleccin de operaciones que especifican un servicio de una clase o
componente. As, una interfaz describe el desempeo externamente visible de ese objeto. Una
interfaz puede representar el funcionamiento completo de una clase o componente o solo una
parte de ese desempeo. Una interfaz define un conjunto de especificaciones de
operacin(que es su signatura) pero nunca un conjunto de implementaciones de operacin.
CAPITULO 2
Grficamente una interfaz se representa con un crculo junto con su nombre. Una interfaz
raramente es nica. Mejor dicho, esta es tpicamente agregada a las clases o componentes
que realizan la interfaz como en la figura 2.2
Spelling
Una colaboracin define una iteraccin y es una sociedad de roles y otros elementos que
trabajan a la vez para proporcionar algunas funciones cooperativas que son mayores que la
suma de todos los elementos. Una clase dada puede participar en diversas colaboraciones.
Estas colaboraciones representan la implementacin de patrones que integran un sistema.
Grficamente, una colaboracin se representa con una elipse lneas punteadas, usualmente
incluyendo slo su nombre, como en la figura 2.3.
CAPITULO 2
Los tres Elementos restantes - clases activas, componentes y nodos- son todas clases
semejantes en significado, ellos describen tambin un conjunto de objetos que comparten los
mismos atributos, operaciones, relaciones y semnticas. Sin embargo estas tres son lo
suficientemente diferentes y son necesarios para ciertos aspectos de modelado de un sistema
orientado a objetos.
Una clase activa es una clase cuyos objetos reconocen uno o ms procesos o hilos y por lo
tanto pueden iniciar una actividad de control. Una clase activa es semejante a una clase
excepto que sus objetos representan elementos cuya funcin es concurrente con otros
elementos. Grficamente una clase activa se representa semejante a una clase pero con
lneas ms anchas, usualmente incluyendo su nombre, atributos y operaciones, como en la
figura 2.5.
Los dos elementos restantes- componente y nodos- son tambin diferentes. Representan
Elementos fsicos, tal como los cinco Elementos anteriores representan Elementos lgicos o
conceptuales.
CAPITULO 2
Estos siete elementos - clases, interfaces, colaboraciones, casos de uso, clases activas,
componentes y nodos - son los Elementos estructurales bsicos que puedes incluir en un
modelo de UML. Hay tambin variaciones de estos siete, tal como actores, seales, y
utilidades (tipos de clase), procesos e hilos (Threads, tipos de clases activas), y aplicaciones,
documentos, archivos, libreras, pginas y tablas(tipos de componentes).
Elementos de comportamiento (behavioral): Son las partes dinmicas de los modelos UML.
Estos son los verbos de un modelo que rerpesentan la funcin sobre tiempo y espacio. De
hecho, hay dos tipos principales de Elementos de comportamiento.
Una iteraccin es una funcin que comprende un conjunto de intercambio de mensajes entre
un conjunto de objetos con un contexto particular para lograr un propsito especfico. La
funcin de una asociacin de objetos o de una operacin individual puede ser especificada con
una interaccin. Una interaccin involucra un nmero de otros elementos incluyendo
CAPITULO 2
mensajes, secuencias de accin (la funcin invocada por un mensaje), ligas (la conexin entre
objetos). Grficamente un mensaje se representa con una lnea dirigida incluyendo slo el
nombre de su operacin. tal como en la figura 2.8.
Una mquina de estado es una funcin que especifica la secuencia de estados de un objeto o
una interaccin dada durante su tiempo de vida en respuesta a eventos, junto con las
respuestas de esos eventos. La funcin de una clase individual o una colaboracin de clases
puede ser especificada con una mquina de estados. Una mquina de estados involucra otros
elementos incluyendo estados, transiciones(el flujo de un estado a otro), eventos y actividades.
Grficamente se representa con un rectngulo redondeado, incluyendo usualmente su nombre
y sus subestados si hay alguno, como en la figura 2.9.
Las mquinas de estado y las interacciones son los objetos funcionales bsicos que puedes
incluir en UML. Semnticamente, estos elementos estn usualmente conectados a varios
elementos estructurales, principalmente clases, colaboraciones y objetos.
Elementos de agrupamiento: Son las partes de organizacin de los modelos UML. Estos son
cajas dentro de las cuales un modelo puede ser descompuesto. Hay un tipo principal de
Elementos de agrupamiento nombrados paquetes.
Un paquete es un mecanismo de propsito general para la organizacin de elementos en
grupos. Los Elementos estructurales, funcionales y aun los de agrupacin pueden estar
situados dentro de un paquete. A diferencia de los componentes (los cuales existen al tiempo
de ejecucin) un paquete es puramente conceptual (significa que existe durante el tiempo de
desarrollo). Grficamente un paquete se representa con un folder tabulado incluyendo
usualmente su nombre y en ocasiones su contenido, como en la figura 2-10.
CAPITULO 2
Una dependencia es una relacin semntica entre dos Elementos tal que un cambio en un
thing (el independiente) puede afectar al otro(el dependiente). Grficamente una dependencia
CAPITULO 2
se representa con una lnea punteada posiblemente dirigida y ocasionalmente incluye una
etiqueta tal como en la figura 2-12.
Una asociacin es una relacin estructural que describe un conjunto de ligas. Una liga es una
conexin entre objetos.
Una agregacin es un tipo especial de asociacin que representa una relacin estructural entre
un todo y sus partes. Grficamente una asociacin es representada con una lnea slida
posiblemente dirigida, ocasionalmente incluye una etiqueta y frecuentemente contiene otros
adornos tal como multiplicidad y nombres de roles como en la figura 2-13
Employer employee
CAPITULO 2
CAPITULO 2
Un diagrama de caso de uso muestra un conjunto de casos de uso y actores (un tipo especial
de clases) y sus relaciones. Un diagrama de caso direcciona Vista de caso de uso esttica de
un sistema.
CAPITULO 2
Reglas de UML
Los bloques de construccin no pueden ser modelados a la vez en forma aleatoria. UML tiene
un conjunto de reglas que un modelo bien formado debe contemplar. Un modelo bien formado
es aquel que es semnticamente consistente en s mismo y en armona con sus modelos
relacionados.
Es comn que un desarrollador construya no slo modelos que son bien formados, sino
tambin modelos que sean:
UML cuenta con cuatro mecanismos comunes que se aplican consistentemente todo el tiempo
en el lenguaje.
1. Especificaciones
2. Adornos(Adornments)
3. Divisiones comunes
CAPITULO 2
4. Mecanismos de extensibilidad.
Especificaciones: UML es ms que un lenguaje grfico. Mejor dicho, detrs de cada parte de
su notacin grfica hay una especificacin que proporciona una declaracin textual de la
sintaxis y semntica de los bloques de construccin. Por ejemplo, detrs de un icono de clase
esta una especificacin que proporciona el conjunto de operaciones, atributos y funcin que
contempla la clase.
Las especificaciones de UML proporcionan una semntica regresiva que contiene todas las
partes de todos los modelos de un sistema, cada parte relacionada a otra en forma
consistente.
Adornos: La mayora de los elementos de UML tienen una notacin grfica dirigida y nica
que proporciona una representacin visual de los aspectos ms importantes de los elementos.
Por ejemplo la figura 2.16 muestra una clase adornada para indicar que es una clase abstracta
con dos operaciones pblicas, una protegida y una privada.
Primeramente, la divisin de clases y objetos. Una clase es una abstraccin; un objeto es una
manifestacin concreta de una abstraccin. En UML puedes modelar clases tan bien como
objetos. Cada bloque de construccin en UML tiene el mismo tipo de dicotoma clase/objeto.
Por ejemplo, se pueden tener casos de usos y sus instancias de casos de uso, componentes e
CAPITULO 2
en esta figura hay dos componentes llamadas spellingwizard.dd que implementan dos
interfaces, Iunknown y Ispelling.
CAPITULO 2
Valores de etiquetado(tagged)
Restricciones(constraints)
Arquitectura
La visualizacin, especificacin construccin y documentacin de un sistema de software
requiere que el sistema sea enfocado desde diferentes perspectivas. Diferentes personas usuarios finales, analistas, desarrolladores, integradores del sistema, escritores tcnicos y
manejadores de proyectos- cada uno aporta diferentes agendas a un proyecto y cada uno ve
el sistema de diferentes formas, a diferente tiempo durante el ciclo de vida del proyecto. Una
arquitectura del sistema es quizs el artefacto que puede ser usado para manejar los
diferentes puntos y as controlar el desarrollo iterativo e incremental de un sistema durante su
ciclo de vida.
CAPITULO 2
El estilo de arquitectura que gua esta organizacin: los elementos estticos y dinmicos
sus interfaces, colaboraciones y composiciones.
En la figura 2.19 se ilustra como la arquitectura de un sistema de software puede ser descrito
desde cuatro puntos de vista. cada vista es una proyeccin dentro de la organizacin y
estructura del sistema, enfocndose en general a aspectos de ese sistema.
Vista de caso de uso de un sistema enfoca los casos de uso que describe el desempeo del
sistema tal como lo ven los usuarios finales, analistas y ensayistas. Existe para especificar las
fuerzas que comparte la arquitectura de un sistema. En UML los aspectos estticos dentro de
este panorama son capturados en diagramas de caso de uso y los dinmicos en este
panorama son capturados en diagramas de iteraccin, de estado y de actividad.
Vista de diseo de un sistema abarca las clases, interfaces, y colaboraciones que forman el
vocabulario del problema y su solucin. Este panorama principalmente soporta los
requerimientos funcionales del sistema, es decir, los servicios que el sistema debe
proporcionar a sus usuarios. En UML el aspecto esttico de este panorama es capturado en
los diagramas de clases y los de objeto, el aspecto dinmico de este punto de vista son
capturados en los diagramas de iteraccin, diagramas de estado y de actividad.
CAPITULO 2
Vista de proceso de un sistema enfoca los hilos de control y procesos que conforman los
mecanismos de concurrencia y sincronizacin. Principalmente, direcciona el desempeo,
escalabilidad y duracin del sistema.
Manejado por caso de uso significa que los casos de uso son usados principalmente como una
herramienta para establecer el funcionamiento deseado del sistema, para verificacin y
validacin de la arquitectura del sistema, prueba y comunicacin entre las personas del
proyecto.
CAPITULO 2
sistema para producir esos releases. Con cada nuevo release se incluyen mejoras
incrementales sobre el otro.
Este manejo de caso de uso, centrado en arquitectura y los procesos iterativos incrementales
pueden dividirse en fases. Una fase es la duracin de tiempo dos clculos del proceso, cuando
un conjunto de objetivos es conocido, los artefactos son completados y las decisiones
realizadas para llevar a cabo la prxima fase. Hay cuatro fases en el ciclo de vida del
desarrollo del software: Conceptualizacin (inception), elaboracin, construccin y transicin.
La conceptualizacin es la primera fase del proceso, cuando se tiene la idea para el desarrollo
lleva al punto lo suficientemente bien fundamentado para garantizar por completo la fase de
elaboracin.
La elaboracin es cuando la visin del producto y su arquitectura son definidos. En este punto
los requerimientos del sistema son articulados, prioritizados y referenciados.
La transicin es la fase donde el software es turnado a las manos del usuario. Durante esta
fase el sistema es continuamente mejorado.
ESTRUCTURALES
CLASE
INTERFAZ
COLABORACION
CASO DE USO
CLASE ACTIVA
COMPONENTE
NODO
DE COMPORTAMIENTO
INTERACCION
MAQUINA DE ESTADOS
DE AGRUPACION
PAQUETE
DE ANOTACION
NOTAS
ELEMENTOS
DEPENDENCIA
ASOCIACION
GENERALIZACION
REALIZACION
BLOQUES DE CONSTRUCCION
C
O
M
P
O
N
E
N
T
E
S
RELACIONES
DE CLASES
DE OBJETOS
DE CASOS DE USO
DE ESTADO (STATECHART)
DE ACTIVIDADES
DE COMPONENTES
DE DESPLIEGUE
REGLAS
MECANISMOS COMUNES
NOMBRES
ALCANCE
VISIBILIDAD
INTEGRIDAD
EJECUCION
ESPECIFICACIONES
ADORNOS
DIVISIONES COMUNES
MECANISMOS DE
EXTENSIBILIDAD
DE CASOS DE USO
DINAMICA
DE INTERACCION
DE ESTADO (STATECHART)
DE ACTIVIDADES
VISTA DE DISEO
DINAMICA
ESTATICA
VISTA DE PROCESOS
DINAMICA
ESTATICA
VISTA DE IMPLEMENTACION
DINAMICA
ESTATICA
VISTA DE DESPLIEGUE
C
I
C.
V
I
D
A
D
E
S.
S
O
F
T.
ESTEREOTIPOS
VALORES ETIQUETADOS
RESTRICCIONES
ESTATICA
ESTATICA
A
R
Q
U
I
T
E
C
T
U
R
A
DE SECUENCIA
DE COLABORACION
DE INTERACCION
DIAGRAMAS
DINAMICA
DE CLASES
DE OBJETOS
DE INTERACCION
DE ESTADO (STATECHART)
DE ACTIVIDADES
DE CLASES
DE OBJETOS
DE INTERACCION
DE ESTADO (STATECHART)
DE ACTIVIDADES
DE COMPONENTES
DE INTERACCION
DE ESTADO (STATECHART)
DE ACTIVIDADES
DE DESPLIEGUE
DE INTERACCION
DE ESTADO (STATECHART)
DE ACTIVIDADES
FASES
INICIACION
ELABORACION
CONSTRUCCION
TRANSICION