Documentos de Académico
Documentos de Profesional
Documentos de Cultura
DESARROLLO TALLER #4
UML
OSCAR ENRIQUE QUIROGA CONTRERAS
SENA
CENTRO DE MARIALES Y ENSAYOS
PROGRAMACION SOFTWARE
BOGOTÁ
2019
Desarrollo taller UML
¿Cuáles son los criterios que se deben tener en cuenta para la elaboración de un caso de
uso y el diagrama de caso de uso?
- Tener claro los actores que vamos a utilizar Conjunto de secuencias de acciones y
cada una de sus funciones sean individuales o compartidas o que dependan uno del
otro.
¿Cómo se relacionan los casos de uso?
- Comunicación: Relación (asociación) entre un actor y un caso de uso. El estereotipo
de la relación de comunicación es: <<communicate>> aunque generalmente no se
estipula ningún nombre
- Inclusión: Un caso de uso base incorpora explícitamente el comportamiento de otro
en algún lugar de su secuencia. La relación de inclusión sirve para enriquecer un
caso de uso con otro y compartir una funcionalidad común entre varios casos de
uso, también puede utilizarse para estructurar un caso de uso describiendo sus
subfunciones. El caso de uso incluido existe únicamente con ese propósito, ya que
no responde a un objetivo de un actor.
- Extensión: Un caso de uso base incorpora implícitamente el comportamiento de otro
caso de uso en el lugar especificado indirectamente por este otro caso de uso. En el
caso de uso base, la extensión se hace en una serie de puntos concretos y previstos
en el momento del diseño, llamados puntos de extensión, los cuáles no son parte del
flujo principal. La relación de extensión sirve para modelar: la parte opcional del
sistema, un subflujo que sólo se ejecuta bajo ciertas condiciones o varios flujos que
se pueden insertar en un punto determinado. Este tipo de relación produce confusión
y no debería utilizarse en exceso. Conviene su uso sólo para insertar un nuevo
comportamiento no previsto en un caso de uso existente. Estas relaciones se
representan mediante una flecha discontinua con el estereotipo <<extend>>.
Desarrollo taller UML
- La entidad que inicia el caso de uso se llama Actor(es), el actor es un rol que un
usuario juega con respecto al sistema.
- Representa una parte de la funcionalidad del caso que no siempre ocurre y son un
caso de uso en sí mismas. Se denomina Extends.
4. Los casos de uso pueden ayudarle a analizar un negocio y un sistema. Imagine a una
gran tienda de equipos de cómputo que vende Hardware, periféricos y software.
¿Quiénes serían los actores?
- Actores: Los actores que se identifican en una tienda que vende equipos de
cómputo, hardware, software y periféricos son: El vendedor, el administrador y el
cliente.
- Vendedor: El vendedor podrá hacer las siguientes tareas: * Atraer compradores de
productos. * Ofrecer productos existentes * Exponer características técnicas de los
productos. * Ingresar al sistema. * Generar factura de compra * Recibir dinero de
compra * Devolver vueltas por compra.
- Administrador: * Ingresar al sistema * Generar reportes de ventas * Generar reporte
de productos faltantes. * Realizar inventario mensual * Administrar dinero de
ventas y compras. * Administrar dinero para pagos de empleados. * Administrar
garantías. Cliente: * Ver productos ofrecidos * Comparar productos * Comprar
producto * Pagar por compra * Recibir producto * Recibir Factura.
El mesero le hará llegar el menú preparado a los clientes que le solicitaron. Los clientes
después de disfrutar el menú elegido llamaran al mesero para solicitarle la cuenta.
Desarrollo taller UML
Diagrama de clases
Desarrollo taller UML
Diagrama de secuencia
- El usuario ingresa con el login y contraseña para sustituir los datos existentes en el
sistema.
- Acciones del actor
-ingresar con login y contraseña
-ingresar en base de datos
-Verificar Datos
-Modificar Datos
- -Crear registro
- Respuesta del sistema
-login correcto
Desarrollo taller UML
- El usuario introduce datos al sistema, el sistema confronta los datos con la base de
datos y después valida datos
Elaborar los diagramas de Clase del Sistema Propuesto en grupo, para el Proyecto que está
desarrollando en formación.
Desarrollo taller UML
R: Los sucesos son los detalles que podemos colocar en las líneas de transición entre
estados dentro de nuestro UML, donde el suceso es lo que desencadena o provoca una
transición, Puede afectar cuando un objeto que envía un suceso a otro objeto puede esperar
una respuesta, pero la respuesta es otro suceso distinto, bajo el control del segundo objeto,
que puede decidir si lo envía o no lo envía. Por ejemplo: "el usuario pulsa el botón
izquierdo", "el vuelo 555 sale para San Andres".
R: Una transición es una relación entre dos estados; que indica cuando ocurre un evento el
objeto pasa de un estado anterior al siguiente y se representa por una flecha
Transición Simple: Una transición simple es una relación entre dos estados que indica que
un objeto en el primer estado puede entrar al segundo estado y ejecutar ciertas operaciones,
cuando un evento ocurre y si ciertas condiciones son satisfechas.
Transición interna: Es una transición que permanece en el mismo estado, en vez de
involucrar dos estados distintos. Representa un evento que no causa cambio de estado. Se
denota como una cadena adicional en el compartimiento de acciones del estado.
Transacción Compleja: Una transición compleja relaciona tres o más estados en una
transición de múltiples fuentes y/o múltiples destinos.
R: Un punto grande en el diagrama apuntando con una transición a un estado lo que indica
es el estado en el que nace el objeto, es decir, el estado inicial. Y al modelar los estados de
un objeto nos podemos encontrar con que puede tener desde cero hasta N estados finales
diferentes.
Una transición es una relación entre dos estados que indica que un objeto que esté en el
primer estado realizará ciertas acciones y entrará en el segundo estado cuando ocurra un
evento especificado y se satisfagan unas condiciones especificadas y se representa por una
flecha y se representa con un cuadro estilo nube de texto.
Realizar una consulta detallada acerca de los siguientes diagramas y luego implementar los
que considere pertinentes a su proyecto dependiendo la necesidad
Desarrollo taller UML
DIAGRAMA DE COLABORACIÓN
Descripción
Notación
Objeto
Un objeto se representa con un rectángulo dentro del que se incluye el nombre del objeto y,
si se desea, el nombre de la clase, separando ambos por dos puntos.
Vínculo
En el diagrama, un vínculo se representa como una línea continua que une ambos objetos y
que puede tener uno o varios mensajes asociados en ambas direcciones. Como un vínculo
instancia una relación de asociación entre clases, también se puede indicar la navegabilidad
del mismo mediante una flecha.
Mensaje
Un mensaje se representa con una pequeña flecha colocada junto a la línea del vínculo al
que está asociado. La dirección de la flecha va del objeto emisor del mensaje al receptor del
mismo. Junto a ella, se coloca el nombre del mensaje y sus argumentos.
DIAGRAMA DE COMPONENTES
Descripción
Como ya se ha indicado, los elementos de estos diagramas son los componentes software y
las dependencias entre ellos.
Un componente es un módulo de software que puede ser código fuente, código binario, un
ejecutable, o una librería con una interfaz definida. Una interfaz establece las operaciones
externas de un componente, las cuales determinan una parte del comportamiento del
mismo. Además se representan las dependencias entre componentes o entre un componente
y la interfaz de otro, es decir uno de ellos usa los servicios o facilidades del otro.
Estos diagramas pueden incluir paquetes que permiten organizar la construcción del
sistema de información en subsistemas y que recogen aspectos prácticos relacionados con
la secuencia de compilación entre componentes, la agrupación de elementos en librerías,
etc.
Notación
Componente
Para distinguir distintos tipos de componentes se les puede asignar un estereotipo, cuyo
nombre estará dentro del símbolo: << ... >>
Interfaz
Paquete
Un paquete se representa con un icono de carpeta (ver Diagrama de Paquetes).
Relación de dependencia
Una relación de dependencia se representa mediante una línea discontinua con una flecha
que apunta al componente o interfaz que provee del servicio o facilidad al otro. La relación
puede tener un estereotipo que se coloca junto a la línea, entre el símbolo: <<...>>
Ejemplo
DIAGRAMA DE COMUNICACIÓN
En el Lenguaje Unificado de Modelado (UML) 2.0, un diagrama de comunicación es una
versión simplificada del diagrama de colaboración de la versión de UML 1.x.[cita requerida]
Un diagrama de comunicación modela las interacciones entre objetos o partes en términos
de mensajes en secuencia. Los diagramas de comunicación representan una combinación de
información tomada desde el diagrama de clases, secuencia, y diagrama de casos de
usodescribiendo tanto la estructura estática como el comportamiento dinámico de un
sistema.
Los diagramas de comunicación y de secuencia describen información similar, y con ciertas
transformaciones, pueden ser transformados unos en otros sin dificultad.
Para mantener el orden de los mensajes en un diagrama de comunicación, los mensajes son
etiquetados con un número cronológico y colocados cerca del enlace por el cual se desplaza
el mensaje. Leer un diagrama de comunicación conlleva comenzar en el mensaje 1.0, y
seguir los mensajes desde un objeto hasta el siguiente, sucesivamente.
Desarrollo taller UML
DIAGRAMA DE DESPLIEGUE
Definición
Los diagramas de despliegue son los complementos de los diagramas de componentes que,
unidos, proveen la vista de implementación del sistema. Describen la topología del sistema
la estructura de los elementos de hardware y el software que ejecuta cada uno de ellos.Los
diagramas de despliegue representan a los nodos y sus relaciones. Los nodos son
conectados por asociaciones de comunicación tales como enlaces de red,
conexiones TCP/IP.
De que se trata
Usos
Ventajas
Desventajas
Componentes
Nodo
Instancia de nodo
Una instancia se puede distinguir desde un nodo por el hecho de que su nombre esta
subrayado y tiene dos puntos antes del tipo de nodo base. Una instancia puede o no tener un
nombre antes de los dos puntos.
Estereotipo de nodo
Artefactos
Un artefacto es un producto del proceso de desarrollo de software, que puede incluir los
modelos del proceso (modelos de Caso de uso, modelos de Diseño, etc.), archivos fuente,
ejecutables, documentos de diseño, reportes de prueba, prototipos, manuales de usuario etc.
Donde un artefacto es un conjunto de componentes.
Asociación
Una asociación representa una ruta de comunicación entre los nodos. Donde esta asociación
va incluida con misma dependencia del diagrama de componentes.
Estándares
Antecedentes
Diagrama de Paquetes: más que un diagrama constituyen una herramienta para mostrar los
elementos que se integran en un sistema, aplicación o módulos. Muestra como el sistema
esta dividido en agrupaciones lógicas mostrando las dependencias entre agrupaciones.
Puerta
Una puerta es un punto de interacción que puede ser usado para conectar clasificadores
estructurados con sus partes y con el ambiente. Las puertas pueden opcionalmente
especificar los servicios que proveen y los servicios que requieren de otras partes del
sistema. En el diagrama, cada uno de los cuadrados pequeños es una puerta. Cada puerta
tiene un tipo y esta etiquetado con un nombre, tal como "var", "indVar1", o "view" en el
diagrama. Las puertas pueden contener un factor de multiplicidad, por ejemplo [3].
Las puertas pueden ya sea delegar los requerimientos recibidos a partes internas, o pueden
entregarlos directamente para el comportamiento del clasificador estructurado en el que la
puerta está contenido. Las puertas públicas, que son visibles en el ambiente, son mostradas
sobre el borde de la parte, mientras que las puertas protegidas, que no son visibles en el
ambiente, son mostradas en el borde interno de la parte. Todas las puertas en el diagrama
son públicas, excepto por la puerta view a lo largo del borde derecho de FibonacciSystem.
Conector
Un conector une dos o más entidades, permitiéndoles interactuar en tiempo de ejecución.
Un conector es representado por una línea que une una combinación de partes, puertas
y clasificadores estructurados. El diagrama muestra tres conectores entre puertas, y un
conector entre un clasificador estructurado y una parte.
Colaboración
Una colaboración es generalmente más abstracta que un clasificador estructurado. Ésta es
mostrada como un óvalo sin relleno conteniendo los roles que las instancias pueden jugar
en la colaboración.
Clasificador estructurado
Un ClasificadorEstructurado representa una clase, frecuentemente una clase abstracta, cuyo
comportamiento puede ser completa o parcialmente descrito mediante interacciones entre
partes.
Un ClasificadorEncapsulado es un tipo de clasificador estructurado que contiene puertas.
En el diagrama abajo, ambos FibonacciSystem y Variable son clasificadores encapsulados,
porque ambos tienen puertas a lo largo de sus límites.
Este diagrama de estructura compuesta UML 2.0 especifica que las instancias de la clase
'FibonacciSystem' están compuestas de varias partes. La superior de estas partes está
identificada como teniendo el clasificador 'FibonacciFunction'. Tres de las partes son
identificadas por el rol que ellas juegan dentro de instancias del FibonacciSystem – el
rol NMinus2, el rol NMinus1, y el rol N. La quinta parte, identificada por su
clasificador Viewer, incluye una especificación de multiplicidad. En tiempo de ejecución
puede haber 0 o más instancias de Viewer o de alguna subclase concreta de Viewer.
En tiempo de ejecución las instancias de clase que implementan estos tres roles deben
proveer los servicios especificados por la interfaz IVarmediante sus puertas var. Una de
tales clases es Variable, mostrada sobre el diagrama con una puerta llamada var de
tipo Var que realiza la interfaz IVar.
La puerta llamada "view" es una puerta no-pública que puede ser usada por una instancia
de FibonacciSystem para acceder a la(s) instancia(s) opcional(es) de Viewer.
f
DIAGRAMA DE FLUJO
¿Qué es un diagrama de flujo?
omo una representación visual del flujo de datos, los diagramas de flujo son útiles para
escribir un programa o algoritmo y explicárselo a otros o colaborar con otros en el mismo.
Puedes usar un diagrama de flujo para explicar detalladamente la lógica detrás de un
programa antes de empezar a codificar el proceso automatizado. Puede ayudar a
organizar una perspectiva general y ofrecer una guía cuando llega el momento de codificar.
Más específicamente, los diagramas de flujo pueden:
DIAGRAMA DE OBJETOS
Los diagramas de objetos de UModel representan un único ejemplo de una clase y se
utilizan para ilustrar un punto de datos en su aplicación. Cuando cree un objeto nuevo,
llamado especificación de instancia, UModel le permite asignar una clase ya existente
representada por la instancia. UModel ofrece automáticamente al objeto instancias de las
propiedades pertinentes desde la clase y el usuario puede insertar valores de muestras para
el objeto.
Los diagramas de objetos UML usan una notación similar a los diagramas de clase y se
usan para ilustrar una instancia de una clase en un momento concreto. También pueden
servir para ilustrar una clase y sus relaciones con un ejemplo de la vida real.
Los diagramas de objetos pueden ayudar a explicar clases y herencias y a menudo se usan
al diseñar clases o como apoyo ilustrativo para las partes interesadas no técnicas, que a
veces encuentran los diagramas de clases demasiado abstractos.
DIAGRAMA DE PAQUETES
Un diagrama de paquetes en el Lenguaje Unificado de Modeladorepresenta las
dependencias entre los paquetes que componen un modelo. Es decir, muestra cómo un
sistema está dividido en agrupaciones lógicas y 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.
Los paquetes están normalmente organizados para maximizar la coherencia interna dentro
de cada paquete y minimizar el acoplamiento externo entre los paquetes. Con estas líneas
maestras sobre la mesa, los paquetes son buenos elementos de gestión. Cada paquete puede
asignarse a un individuo o a un equipo, y las dependencias entre ellos pueden indicar el
orden de desarrollo requerido.
Una relación de combinación o fusión entre paquetes especifica que el contenido del
paquete origen (receptor) se extiende con el contenido del paquete destino. La combinación
de paquetes o merge se define como "una relación dirigida entre dos paquetes, que indica
que el contenido de los dos paquetes se va a combinar. Es muy similar a la generalización
en el sentido de que el elemento fuente añade conceptualmente las características del
elemento destino para sus propias características lo que resulta en un elemento que combina
las características de ambos".2 En esta relación, si existe un elemento tanto en el paquete
fuente y el paquete de destino, después la definición del elemento de origen se ampliará
para incluir la definición del elemento de destino.
Una generalización es una relación entre un clasificador más general (superclase) y un
clasificador más específico (subclase). Cada instancia del clasificador específico es también
una instancia indirecta del clasificador general. La generalización entre paquetes es similar
a la generalización entre clases, los paquetes hijos heredan los elementos del paquete padre.
La generalización entre paquetes suele utilizarse para especificar familias de paquetes.
Elementos básicos
DIAGRAMA DE SECUENCIA
Descripción
Cada objeto tiene asociados una línea de vida y focos de control. La línea de vida indica el
intervalo de tiempo durante el que existe ese objeto. Un foco de control o activación
muestra el periodo de tiempo en el cual el objeto se encuentra ejecutando alguna operación,
ya sea directamente o mediante un procedimiento concurrente.
Notación
Desarrollo taller UML
Un objeto se representa como una línea vertical discontinua, llamada línea de vida, con un
rectángulo de encabezado con el nombre del objeto en su interior. También se puede incluir
a continuación el nombre de la clase, separando ambos por dos puntos.
La línea de vida de un objeto puede desplegarse en dos o más líneas para mostrar los
diferentes flujos de mensajes que puede intercambiar un objeto, dependiendo de alguna
condición.
Mensaje
Un mensaje se representa como una flecha horizontal entre las líneas de vida de los objetos
que intercambian el mensaje. La flecha va desde el objeto que envía el mensaje al que lo
recibe. Además, un objeto puede mandarse un mensaje a sí mismo, en este caso la flecha
comienza y termina en su línea de vida.
La flecha tiene asociada una etiqueta con el nombre del mensaje y los argumentos.
También pueden ser etiquetados los mensajes con un número de secuencia, sin embargo,
este número no es necesario porque la localización física de las flechas que representan a
los mensajes ya indica el orden de los mismos.
Desarrollo taller UML
Ejemplo
DIAGRAMA DE TIEMPOS
En el estándar de Lenguaje de Modelado Unificado de OMG 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. Los diagramas de tiempo son generalmente utilizados con sistemas en tiempo real o
en sistemas embebidos.
Desarrollo taller UML
En las fases tempranas del proyecto puede construir diagramas de secuencia incompletos y
usarlos como marcadores de posición en el diagrama global de interacción mientras usted
diseña todo el flujo de la aplicación. Esta función permite diseñar el flujo del programa de
forma superficial antes de completar todos los detalles de cada secuencia individual. Puede
completar cada uno de esos diagramas de secuencia más tarde o incluso delegarlos en otros
miembros del equipo.