www.politecnicojic.edu.co
Introduccion a UML
• Satisfacer las necesidades de los usuarios.
• Entregar el software en tiempo y con un
costo predecible.
• Comprender mejor el sistema que se está
construyendo.
• Realizar una buena elicitación(Es el proceso
de adquirir todo el conocimiento relevante
necesario para producir un modelo de los
requerimientos de un dominio de problema)
de requerimientos.
• Desarrollar un modelo del sistema.
• Simplificación de la realidad.
• Incluir los elementos que son importantes y
omitir los elementos que no son relevantes
para
ese nivel de abstracción.
• Diferentes modelos
• Modelos estructurales
• Modelos de comportamiento
Claves en Desarrollo de SI
Herramientas
Proceso
Sistema Computacional
Proceso de Negocios
Orden
Item
envío
“El modelado captura las
partes esenciales del sistema
”
Múltiples Sistemas
MV promueve la reutilización
Interfaz de Usuario (Visual Basic,
Java, ..) Lógica del Negocio (C++, Java, ..)
Servidor de BDs (C++ & SQL, ..)
“Modelar el sistema independientemente
del lenguaje de implementación”
• ¿Qué es lo que va a construir?
• ¿Cómo lo va a construir?
• ¿Qué tecnología usará?
• ¿Cómo lo documentará?
• Análisis
• Diseño
• Refinamiento del diseño
• Implementación o Desarrollo
( Codificación, Compilación, Pruebas)
• Documentación
• Es una notación gráfica para modelar.
• Es un lenguaje de modelado.
... Diagramas de UML
Use Case
Diagrams
Diagramas de
Use Case
Diagrams
Casos de Uso
Scenario
Diagrams
Diagramas de
Diagrams
Scenario
Colaboración
State
Diagrams
Diagramas de
Diagrams
State
Componentes
Component DiagramsComponent DiagramsDiagramas de
Distribución
State
Diagrams
Diagramas de
Diagrams
State
Objetos
Scenario
Diagrams
Diagramas de
Diagrams
Scenario
Estados
Use Case
Diagrams
Diagramas de
Use Case
Diagrams
Secuencia
State
Diagrams
Diagramas de
Diagrams
State
Clases
Diagramas de
Actividad
Modelo
II. Breve Tour por UML
... Diagramas seleccionados
Diagramas de
Secuencia
Diagramas de
Clases
Diagramas de
•
Un
modelo
captura una vista de un sistema del mundo
real. Es una abstracción de dicho sistema,
considerando un cierto propósito. Así, el modelo
describe completamente aquellos aspectos del sistema
que son relevantes al propósito del modelo, y a un
apropiado nivel de detalle.
•
Diagrama
: una representación gráfica de una
colección de elementos de modelado.
Un proceso de desarrollo de software debe ofrecer un
conjunto de modelos que permitan expresar el producto
desde cada una de las perspectivas de inter
é
s
El c
ó
digo fuente del sistema es el modelo m
á
s detallado
del sistema (y adem
á
s es ejecutable). Sin embargo, se
requieren otros modelos ...
• Necesidad modelado
•
Casos de uso
• Diagramas de clase
• Diagramas de secuencia
• Un caso de uso es una interacción entre el
usuario y el sistema para lograr cierto
objetivo.
• Objetivo de los mismos.
• Son de tamaño variable.
• Se debe especificar todos los cursos
alternativos.
Actores:
– Roles de los usuarios
– Otros sistemas: sistemas con los que el sistema
interactúa (el otro sistema necesita algo del
sistema que se desarrolla)
Ejemplos
Supervisor Verificar Situación del Cliente
Ejemplo:
… Casos de Uso
Actor A Caso de Uso A
Actor B Caso de Uso B
• Identificación de casos de usos
– Eventos ante los cuales se debe reaccionar
– Actores que intervienen
• Representación de escenarios alternativos
… Ejemplos
Venta Normal Venta en Rebajas Venta en Ofertas
Vendedor
Los Casos de Uso (Ivar Jacobson) describen bajo la
forma de acciones y reacciones el comportamiento de
un sistema desde el p.d.v. del usuario
Permiten definir los límites del sistema y las relaciones
entre el sistema y el entorno
Los Casos de Uso son descripciones de la funcionalidad
del sistema independientes de la implementación
Los Casos de Uso se determinan observando y precisando,
actor por actor, las secuencias de interacción, los
escenarios, desde el punto de vista del usuario
Un escenario es una instancia de un caso de uso
Los casos de uso intervienen durante todo el ciclo de vida.
El proceso de desarrollo estará dirigido por los casos de uso
UML define tres tipos de relación en los
Diagramas de Casos de Uso:
–
Comunicación
Casos de Uso: Relaciones
–
Inclusión(uses)
: una instancia del Caso de Uso origen
incluye también el comportamiento descrito por el Caso de
Uso destino
<<include>> reemplazó al denominado <<uses>>
… Casos de Uso: Relaciones
–
Extensión
: el Caso de Uso origen
extiende el comportamiento del Caso de
Uso destino
… Casos de Uso: Relaciones
Ejemplo:
… Casos de Uso: Relaciones
Identificación
Transferencia en Internet Cliente Transferencia
<<include>>
Un caso de uso debe ser simple, entendible, claro
y conciso
Generalmente hay pocos actores asociados a cada
Caso de Uso
Una clase se representa mediante una caja subdividida en tres
partes: En la superior se muestra el nombre de la clase, en la
media los atributos y en la inferior las operaciones. Una clase
puede representarse de forma esquemática, con los atributos y
operaciones suprimidos, siendo entonces tan solo un rectángulo
con el nombre de la clase.
Ejemplo:
Punto
int _x
int _y
Escalar();
Diagrama de clase.
Métodos:
Los métodos u operaciones de una clase son la forma en como
ésta interactúa con su entorno, éstos pueden tener las características:
•
public
: Indica que el método será visible tanto dentro como fuera de la
clase, es decir, es accsesible desde todos lados.
•
private
: Indica que el método sólo será accesible desde dentro de la
clase (sólo otros métodos de la clase lo pueden accesar).
•
protected
: Indica que el método no será accesible desde fuera de la
Envío de mensajes.
En un sistema los objetos trabajan en conjunto, mediante el
envío de mensajes.
Un objeto envía un mensaje a otro para realizar una
operación.
Televisor Control remoto
Envía mensaje de encendido
UML
UML
Diagrama de clase.
Diagrama de clase.
Mensajes.
Relaciones
Relaciones
Relaciones entre clases.
Tipos de relaciones:
Asociación
Agregación
La asociación expresa una conexión bidireccional entre
clases.
Las asociaciones entre dos clases se representan mediante
una línea que las une. La línea puede tener una serie de
elementos gráficos que expresan características particulares
de la asociación.
Relaciones
Relaciones
Asociación
El nombre de la asociación es opcional y se muestra
como un texto que está próximo a la línea.
El ejemplo:
Una empresa ofrece pasantías.
La multiplicidad es una restricción que se pone a una asociación, que limita el número de instancias de una clase con una instancia de la otra clase.
Puede expresarse de las siguientes formas: • Con un número fijo: 1.
• Con un intervalo de valores: 2..5.
• Con un rango en el cual uno de los extremos es un asterisco. Significa que es un intervalo abierto. Por ejemplo, 2..* significa 2 o más.
• Con un asterisco: * . En este caso indica que puede tomar cualquier valor (cero o más).
Empresa
Empresa PasantíaPasantía
1 Ofrece *
1 Ofrece *
Relaciones
Relaciones
Asociación
Existen clases formados por otras clases.
Los componentes y la clase que constituyen son una agregación que conforman un todo.
Cuando se requiere componer objetos que son instancias de clases definidas por el desarrollador de la aplicación, tenemos dos posibilidades:
Por Valor: Es un tipo de relación estática, en donde el tiempo de vida del objeto incluido esta condicionado por el tiempo de vida del que lo incluye. Este tipo de relación es comunmente llamada Composición (el Objeto base se contruye a partir del objeto incluido, es decir, es "parte/todo").
Por Referencia: Es un tipo de relación dinámica, en donde el tiempo de vida del objeto incluido es independiente del que lo incluye. Este tipo de relación es
comunmente llamada Agregación (el objeto base utiliza al incluido para su funcionamiento).
Un Ejemplo es el siguiente: Relaciones
Relaciones