Title: Necesidad modelado
1UML
- Necesidad modelado
- Diagramas de clase
- Diagramas de secuencia
- Casos de uso
2UML
- Necesidad modelado
- Use cases
- Diagramas de clase
- Diagramas de secuencia
3Objetivos al desarrollar software
- Satisfacer las necesidades de los usuarios.
- Entregar el software en tiempo y con un costo
predecible. - Comprender mejor el sistema que se está
construyendo.
4Acciones para alcanzar los objetivos
- Realizar una buena elicitación de requerimientos.
- Desarrollar un modelo del sistema.
5Que es un modelo?
- 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.
6Que es un modelo?
- Diferentes modelos
- Modelos estructurales
- Modelos de comportamiento
7Construcción de una casa para fido
Puede hacerlo una sola persona Requiere Modelado
mÃnimo Proceso simple Herramientas simples
8Construcción de una casa
Construida eficientemente y en un tiempo
razonable por un equipo Requiere Modelado Proc
eso bien definido Herramientas más sofisticadas
9Claves en Desarrollo de SI
Notación
Herramientas
Proceso
10Abstracción - Modelado Visual (MV)
El modelado captura las partes esenciales del
sistema
Sistema Computacional
11MV promueve la reutilización
Múltiples Sistemas
Componentes Reutilizados
12MV para definir la Arquitectura del SW
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
13Etapas en la construcción de un proceso de
software
- Qué es lo que va a construir?
- Cómo lo va a construir?
- Qué tecnologÃa usará?
- Cómo lo documentará?
14Etapas en la construcción de un proceso de
software
- Análisis
- Diseño
- Refinamiento del diseño
- Implementación
- Documentación
15UML
- Es una notación gráfica para modelar.
- Es un lenguaje de modelado.
16UML aglutina enfoques OO
Rumbaugh
Jacobson
Booch
Odell
Meyer
Pre- and Post-conditions
Shlaer-Mellor
UML
Object life cycles
Harel
State Charts
Gamma et. al.
Frameworks, patterns,
notes
Embly
Wirfs-Brock
Singleton classes
Responsabilities
Fusion
Operation descriptions,
message numbering
17... Diagramas de UML
II. Breve Tour por UML
Los diagramas expresan gráficamente partes de un
modelo
Use Case Diagrams
Use Case Diagrams
State Diagrams
Diagramas de Casos de Uso
State Diagrams
Use Case Diagrams
Diagramas de Objetos
Use Case Diagrams
Diagramas de Secuencia
Scenario Diagrams
State Diagrams
Scenario Diagrams
State Diagrams
Diagramas de Colaboración
Diagramas de Componentes
Modelo
Component Diagrams
Scenario Diagrams
Component Diagrams
Scenario Diagrams
Diagramas de Distribución
Diagramas de Estados
Diagramas de Actividad
18... Diagramas seleccionados
Diagramas de Casos de Uso
Diagramas de Secuencia
Diagramas de Clases
19Modelos y Diagramas
- 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.
20Modelos y Diagramas
- Diagrama una representación gráfica de una
colección de elementos de modelado.
21... Modelos y Diagramas
- 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 ...
22UML
- Necesidad modelado
- Casos de uso
- Diagramas de clase
- Diagramas de secuencia
23Casos de Uso
- 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.
24 Casos de Uso
- 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)
25Ejemplos
Verificar Situación del Cliente
Supervisor
Preparar Catálogo
Administrativo
Sistema
Inventario
26 Casos de Uso
III. El Paradigma OO Diagrama de Casos de Uso
Caso de Uso A
Actor A
Caso de Uso B
Actor B
27 Casos de Uso
- Identificación de casos de usos
- Eventos ante los cuales se debe reaccionar
- Actores que intervienen
28 Casos de Uso
- Representación de escenarios alternativos
29 Ejemplos
Venta Normal
Ventas
Venta en Rebajas
Venta en Ofertas
Vendedor
30Casos de Uso
- 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
31 Casos de Uso
- 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
32Casos de Uso Relaciones
- UML define tres tipos de relación en los
Diagramas de Casos de Uso - Comunicación
Caso de Uso
Actor
33 Casos de Uso Relaciones
III. El Paradigma OO Diagrama de Casos de Uso
- Inclusión(uses) una instancia del Caso de Uso
origen incluye también el comportamiento descrito
por el Caso de Uso destino - ltltincludegtgt reemplazó al denominado ltltusesgtgt
ltltincludegtgt
Caso de Uso Origen
Caso de Uso Destino
34 Casos de Uso Relaciones
- Extensión el Caso de Uso origen extiende el
comportamiento del Caso de Uso destino
ltltextendgtgt
Caso de Uso Origen
Caso de Uso Destino
35 Casos de Uso Relaciones
Identificación
ltltincludegtgt
Transferencia
Cliente
ltltextendgtgt
Transferencia en Internet
36Casos de Uso Construcción
- Un caso de uso debe ser simple, inteligible,
claro y conciso - Generalmente hay pocos actores asociados a cada
Caso de Uso
37Casos de Uso Construcción
- Preguntas clave
- cuáles son las tareas del actor?
- qué información crea, guarda, modifica, destruye
o lee el actor? - debe el actor notificar al sistema los cambios
externos? - debe el sistema informar al actor de los cambios
internos?
38 Casos de Uso Construcción
- La descripción del Caso de Uso comprende
- el inicio cuándo y qué actor lo produce?
- el fin cuándo se produce y qué valor devuelve?
- la interacción actor-caso de uso qué mensajes
intercambian ambos?
39 Casos de Uso Construcción
- objetivo del caso de uso qué lleva a cabo o
intenta? - cronologÃa y origen de las interacciones
- repeticiones de comportamiento qué operaciones
son iteradas? - situaciones opcionales qué escenarios
alternativos se presentan en el caso de uso?
40UML
- Necesidad modelado
- Casos de uso
- Diagramas de clase
- Diagramas de secuencia
41Implementación
- Clases abstracciones del mundo real. Perspectiva
más usada
42Clasificación
- El mundo real puede ser visto desde abstracciones
diferentes (subjetividad) - Mecanismos de abstracción
- Clasificación / Instanciación
- Composición / Descomposición
- Agrupación / Individualización
- Especialización / Generalización
43Clases Notación Gráfica
- Cada clase se representa en un rectángulo con
tres compartimientos - nombre de la clase
- atributos de la clase
- operaciones de la clase
cuenta
titular
saldo
depositar
extraer
transferir
44Clases Notación Gráfica
lista
conjunto
primero
ultimo
intersecar
unir
añadir
quitar
cardinalidad
cardinalidad
45Diagrama de Clases
II. Breve Tour por UML
- El Diagrama de Clases es el diagrama principal
para el análisis y diseño - Un diagrama de clases presenta las clases del
sistema con sus relaciones estructurales y de
herencia - La definición de clase incluye definiciones para
atributos y operaciones
46Diagrama de Clases
- El modelo de casos de uso aporta información para
establecer las clases, objetos, atributos y
operaciones
47 Ejemplos (Generalización)
II. Breve Tour por UML
Trabajador
disjunta, completa
Directivo
Administrativo
Obrero
48 Ejemplos (Clase Asociación)
II. Breve Tour por UML
trabajadores
empleador
Empresa
Empleado
1..
1..
Cargo
superior
nombre
sueldo
0..1
0..1
subordinado
1..
1..
49Ejemplos (Clase y Visibilidad)
Alumno
DNI char10
número_exp int
nombre char50
alta()
poner_nota(asignatura char , año int, nota
float)
matricular(cursos asignatura, año int)
listar_expediente()
50 Ejemplos (Asociación)
dirige
director
Profesor
Departamento
1
0..1
1
0..1
51UML
- Necesidad modelado
- Casos de uso
- Diagramas de clase
- Diagramas de secuencia
52Diagrama de Secuencia
- Muestra la secuencia de mensajes entre objetos
durante un escenario concreto. - Cada objeto viene dado por una barra vertical. Se
llama lÃnea de vida. - El tiempo transcurre de arriba abajo.
53Diagrama de Secuencia
- Cada mensaje se representa mediante una flecha
entre las lÃneas de vida. - Cuando existe demora entre el envÃo y la atención
se puede indicar usando una lÃnea oblicua. - Cada mensaje se etiqueta con el nombre del
mensaje y pueden incluirse los argumentos.
54Diagrama de Secuencia
- Los rectángulos en las lÃneas de vida indican el
tiempo en el cual un método está activo.
55Diagrama de Secuencia
WInPréstamos
Socio
Video
Préstamo
Encargado
prestar(video, socio)
verificar situación socio
verificar situación video
registrar préstamo
entregar recibo
56Diagrama de Secuencia
prepara( )
para cada lÃnea de pedido prepara( )
Condición
hayExistenciarevisa( )
Objeto
hayExistencia descuenta( )
Mensaje
necesitaReorden necesitaReordenar ( )
Autodelegación
57 Diagrama de Secuencia
58Modelado de SI Algunas Reflexiones
- Modelar para la comprensión del sistema y/o para
el mantenimiento y la documentación. - Pragmatismo, los modelos deben ser útiles.
- Sencillez y Elegancia.
- Distintos nivel de abstracción, diferentes
modelos. - Seguimiento de transformaciones durante el
proceso (Traceability).
59Modelado de SI Algunas Reflexiones
- Sincronización de modelos.
- Dificultades para la introducción de técnicas y
herramientas de modelado.
60Resumen
- UML define una notación que se expresa como
diagramas sirven para representar
modelos/subsistemas o partes de ellos - El 80 por ciento de la mayorÃa de los problemas
pueden modelarse usando alrededor del 20 por
ciento de UML-- Grady Booch