Uml Manual
Uml Manual
Uml Manual
El fin de este manual es mostrar de forma clara la utilidad del lenguaje UML en escenarios
informáticos.
UML es un lenguaje visual y estándar que sirve para modelar procesos y sistemas de
información.
Existen diferentes entes que intervienen en el desarrollo de software, como los son los usuarios
finales de las aplicaciones, los dueños de procesos y por otro lado el equipo que desarrolla las
aplicaciones entre los que existen diferentes perfiles como los desarrolladores, analistas,
arquitectos y gerentes de proyecto. La lógica de negocio es conocida por los usuarios finales y
dueños de proceso pero no por el equipo de desarrollo y es aquí donde nos es muy útil el
lenguaje UML.
Como su definición lo indica el UML busca modelar estos procesos de forma tal que los
usuarios y los desarrolladores definan un proceso en un mismo lenguaje más universal
acordando distancias entre los deseables y el producido. Esta no es la única ventaja de modelar
los procesos en UML.
Los usuarios finales definen de forma clara el proceso que los involucra pudiendo encontrar
errores en los proceso por embotellamiento, sobrecargas de trabajo en recursos en otros.
Los arquitectos de software y los analistas pueden definir unas bases claras y robustas
previendo comportamientos y funcionalidades desde la etapa inicial.
Los gerentes de proyectos pueden tener definidas las actividades de forma clara minimizando el
desfase en sus cronogramas.
La documentación del proyecto se define de forma inmediata a partir de los diagramas UML.
Es un lenguaje gráfico para visualizar, especificar, construir y documentar un sistema. UML ofrece un
estándar para describir un "plano" del sistema (modelo), incluyendo aspectos conceptuales tales como
procesos de negocio y funciones del sistema, y aspectos concretos como expresiones de lenguajes de
programación, esquemas de bases de datos y componentes reutilizables.
Los Diagramas de Estructura enfatizan en los elementos que deben existir en el sistema modelado:
Diagrama de clases:
Es un tipo de diagrama estático que describe la estructura de un sistema mostrando sus clases, atributos y
las relaciones entre ellos. Los diagramas de clases son utilizados durante el proceso de análisis y diseño
de los sistemas, donde se crea el diseño conceptual de la información que se manejará.
- Atributos
- Métodos
- Relaciones:
1. Composición
2. Agregación
3. Asociación
4. Dependencia
ELEMENTOS DE CONSTRUCCIÓN
Para modelar procesos por medio de UML es necesario realizar diferentes diagramas los cuales
a su vez están compuestos de objetos y relaciones de los mismos.
· Objetos
· Relaciones
· Diagramas
Objetos
Todo lo que componen los diagramas son objetos y podemos dividirlo en:
Relaciones
Una relación es la forma en que interactúan los objetos.
· Asociación: Relación de objetos de estructura, por ejemplo una tabla está relacionada
con otra.
Diagramas
Los diagramas sirven para modelar estructuras y comportamientos.
· Estructúrales: Estos diagramas sirven para modelar clases, interfaces, objetos, bases
de datos, etc.
· Comportamental: Busca definir el comportamiento “el como y quien” workflows,
transacciones, etc.
Existen muchos diagramas contenidos en estas dos ramas pero el UML no es una camisa de
fuerza que obligue a la creación de diagramas, simplemente se crean los diagramas que se
creen necesarios para modelar un proceso en especifico por lo que un sistema puede tener
algunos diagramas y otro sistema puede tener otros, la idea es especificar el proceso sin
importar la cantidad o los tipos de diagramas.
Estructúrales
· Paquetes: Representan contenedores de otros objetos por ejemplo los NameSpace de
.Net o librerías en otros lenguajes.
· Clases: Diagramas que contienen los tipos de objetos existentes asi como sus
atributos, propiedades, métodos, etc.
· Objetos: Diagramas de clases instanciadas con nombres propios como los perfiles o
usuarios de una aplicación.
· Datos: Diagrama de la base de datos.
· Componentes: Diagramas que modelen los componentes que conforman una
aplicación dll’s, etc.
· Despliegue: Como está distribuida una solución en un entorno, por ejemplo el servicio
A esta en el servidor B.
Comportamental
· Casos de uso: Este diagrama busca definir que funcionalidades puede usar un
usuario.
· Actividades: Diagrama que especifica el flujo de un proceso.
· Estado: Este diagrama modela los posibles estados de un objeto a partir de unos
eventos o situaciones.
· Secuencia: Muestra la acciones realizadas a través del tiempo.
· Colaboración: Quien y como se realiza un caso de uso
Casos de uso
Los casos de uso los realiza un usuario y pueden tener varios escenarios simples, básicos o
alternos los cuales a su vez son realizados por una colaboración.
Ejemplo:
Actividades
Los diagramas de actividades pueden modelar una colaboración que es la elaboración o
implementación de un caso de uso.
Ejemplo.
Secuencia
Pueden modelar el escenario de un caso de uso o una colaboración.
Ejemplo:
Clases
Diagrama que modela los tipos de objetos con sus relaciones.
Ejemplo:
Estado
Modela los posibles estados de un objeto a partir de eventos el mejor ejemplo es un semáforo.
Ejemplo:
Datos
Modela los objetos persistentes que se llevaran a base de datos.
Ejemplo:
Paquetes
Modela los contenedores de objetos
Ejemplo:
Como nombré anteriormente estos diagramas no son camisa de fuerza y por el contrario se
deben crear tantos diagramas como el sistema lo requiera y puede que no se requiera hacer
alguno de ellos.
Yo puedo sugerirles un método para realizar los diagramas de un sistema de información y que
mejor que modelarlo en un diagrama de secuencia.
Casos de uso Documental
¿Qué es?
Es un documento narrativo que describe la secuencia de eventos de un actor.
Características
-Capta alguna función visible para el usuario
- Puede ser pequeño o grande
-Logra un objetivo discreto para el usuario
Formato
Caso de Uso: Nombre del Caso de Uso
Actores: Según el Diagrama de Casos de Uso
(Si hay más de uno simultáneamente, se debe indicar cuál es el iniciador)
Tipo: < Primario / Secundario / Opcional >
Descripción: Pasos generales que realiza el actor para ejecutar el caso de uso.
Tipos de caso de uso
Primario: Representan los procesos comunes más importantes del sistema. Se consideran
indispensables y urgentes.
Secundarios: Representan los procesos menores o poco frecuentes, pero que complementan el
sistema. Se consideran indispensables pero no urgentes.
Opcional: Se consideran no indispensables y no urgentes.
Un caso de uso expandido muestra más detalles que un caso de uso de alto nivel. Los casos de
uso expandidos son útiles para alcanzar un conocimiento más profundo de los procesos y los
requerimientos. Ej.:
Los casos esenciales de uso son casos que se expresan de forma muy abstracta, sin detalles de
implementación. Los detalles de diseño se dejan para la etapa del diseño.
En la etapa del diseño veremos los casos reales de uso. Estos casos de uso describen
concretamente el proceso de negocios con detalles de diseño y sujeto a tecnologías de entrada
y salida, como por ejemplo la interfaz gráfica.
Contratos de operación
Secciones de un Contrato.
Importancia Crítico
Descripción El caso de uso inicia cuando el usuario desea registrar un contacto en el momento en que
está dando seguimiento a la encuesta. El usuario proporciona los datos requeridos y se
almacenan en el sistema.
Curso Alterno:
Línea: Error: Mensaje: Reacción del Sistema:
5 Datos en Ingrese los datos requerido. Regresa a la línea 4.
blanco.
Comentarios N/A
Nombre registrarContacto(pid:int,pnombre:String,pprimerApellido:String,
psegundoApellido:String,pcorreo:String, pcodigoEmpresa:int)
Responsabilidades Debe poder agregar los diferentes datos de un contacto en específico para que
éstos sean almacenados.
Tipo Software
Dependencias UC – 10
Notas N/A
Excepciones - Ya existe una instancia de contacto.
- No hay conexión con la BD.
Salidas N/A
Precondiciones - Debe existir una instancia empresa.
- El usuario en ejecución debe ser un Administrador o Asistente.
Post condiciones - Asociación formada entre Empresas y contactos.
- Creación de instancia Contacto.