Beruflich Dokumente
Kultur Dokumente
Necesidad modelado
Diagramas de clase
Diagramas de secuencia
Casos de uso
UML
Necesidad modelado
Use cases
Diagramas de clase
Diagramas de secuencia
Objetivos 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.
Que es un modelo?
Simplificacin de la realidad.
Incluir
los elementos que son
importantes y omitir los elementos
que no son relevantes para ese nivel
de abstraccin.
Que es un modelo?
Diferentes modelos
Modelos estructurales
Modelos de comportamiento
Claves en Desarrollo de SI
Notacin
Herramientas
Proceso
envo
Proceso de Negocios
Sistema Computacional
10
MV promueve la
reutilizacin
Mltiples Sistemas
Componentes
Reutilizados
11
Servidor de BDs
(C++ & SQL, ..)
Etapas en la construccin
de un proceso de software
Qu es lo que va a construir?
Cmo lo va a construir?
Qu tecnologa usar?
Cmo lo documentar?
13
Etapas en la construccin
de un proceso de software
Anlisis
Diseo
Refinamiento del diseo
Implementacin
Documentacin
14
Requerimientos Funcionales
Los requerimientos/requisitos de un
sistema describen los servicios que
ha de ofrecer el sistema y las
restricciones asociadas a su
funcionamiento.
Requerimientos:
Propiedades o restricciones
determinadas de forma precisa que
deben satisfacerse.
15
Requerimientos funcionales:
Expresan la naturaleza del
funcionamiento del sistema (cmo
interacciona el sistema con su entorno
y cules van a ser su estado y
funcionamiento).
16
Requerimientos no funcionales:
Restricciones sobre el espacio de
posibles soluciones.
Requerimientos Funcionales y
Requerimientos No Funcionales
Los requisitos funcionales definen
qu debe hacer un sistema.
18
Requerimientos No
Funcionales
A los requisitos no funcionales se les
suele llamar coloquialmente
cualidades del sistema [-ilities en
ingls] y pueden dividirse en dos
categoras:
21
Los requerimientos no
funcionales
han de especificarse
cuantitativamente, siempre que sea
posible (para que se pueda verificar
su cumplimiento).
24
Ejemplos:
MAL
Para facilitar el uso del editor grfico, se podr activar y
desactivar una rejilla que permitir alinear las figuras del
diagrama. Cuando se ajuste la figura al tamao de la
pantalla, se reducir el nmero de lneas de la rejilla para
que no se dificulte la visualizacin del diagrama.
Por qu?
Amalgama de varios requisitos.
25
Ejemplos:
BIEN
El editor permitir el uso de una rejilla de lneas horizontales
y verticales que aparecern dibujadas tras el diagrama.
Por qu?
Preciso, conciso y justificado correctamente.
26
Ejemplos:
MAL
27
Ejemplos:
BIEN
28
Ejemplos:
BIEN
Ante un fallo en el software del
sistema, no se tardar ms de 5
minutos en restaurar los datos del
sistema (en un estado vlido) y volver
a poner en marcha el sistema.
Por qu?
Requisitos verificables.
29
Matriculacin
Pago de matrcula:
EJEMPLO: REQUERIMIENTOS NO
FUNCIONALES
Interfaces
Hardware: El sistema se debe implementar
sobre la infraestructura existentes en
y las
so
i
c
aulas de prcticas de la Materia
n de Analisis
o
C
,
s
de Sistemas.
to
e
r
nc
o
C
Software:
,
s
ro
a
l
No existeitoposibilidad
de adquirir licencias de
sC
is les
u
q
software.
Re
cab
fi
i
r
ve
Ingreso Usuarios
RF-001
Entradas:
Usuario y Contrasea
Salidas:
Prerrequisito:
No aplica
Opciones:
Ingresar , Cancelar
Restricciones:
34
UML
Es una notacin grfica
modelar.
Es un lenguaje de modelado.
35
para
Jacobson
Odell
Meyer
Pre- and Post-conditions
Shlaer-Mellor
Object life cycles
UML
Harel
State Charts
Embly
Singleton classes
Wirfs-Brock
Fusion
Responsabilities
Operation descriptions,
message numbering
36
Use Case
Use Case
Diagramas de
Diagrams
Diagrams
Secuencia
Use Case
Use Case
Diagramas de
Diagrams
Diagrams
Casos de Uso
Scenario
Scenario
Diagramas de
Diagrams
Diagrams
Colaboracin
Scenario
Scenario
Diagramas de
Diagrams
Diagrams
Estados
State
State
Diagramas de
Diagrams
Diagrams
Clases
Modelo
Diagramas de
Actividad
State
State
Diagramas de
Diagrams
Diagrams
Objetos
State
State
Diagramas de
Diagrams
Diagrams
Componentes
Component
Component
Diagrams
Diagramas
Diagrams de
Distribucin
37
Diagramas de
Casos de Uso
Diagramas de
Clases
38
Modelos y Diagramas
Un
modelo
captura
una
vista
de
un
As,
completamente
el
modelo
aquellos
describe
aspectos
del
39
Modelos y Diagramas
40
41
UML
Necesidad modelado
Casos de uso
Diagramas de clase
Diagramas de secuencia
42
Casos de Uso
Un caso de uso es una interaccin
entre el usuario y el sistema para
lograr cierto objetivo.
Objetivo de los mismos.
Son de tamao variable.
Se debe especificar todos los cursos
alternativos.
43
Casos de Uso
Actores:
44
Ejemplos
Supervisor
Administrativo
Preparar Catlogo
Sistema
Inventario
45
Casos de Uso
Ejemplo:
Actor A
Caso de Uso A
Caso de Uso B
Actor B
46
Casos de Uso
47
Casos de Uso
Representacin de escenarios
alternativos
48
Ejemplos
Venta Normal
Ventas
Venta en Rebajas
Venta en Ofertas
Vendedor
49
Casos 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 lmites 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 implementacin
50
Casos de Uso
Los Casos de Uso se determinan observando y
precisando, actor por actor, las secuencias de
interaccin, 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
51
Actor
Caso de Uso
52
: una instancia
del Caso de Uso origen incluye
tambin
el
comportamiento
descrito por el Caso de Uso destino
<<include>>
<<include>> reemplaz al
denominado <<uses>>
53
54
Cliente
Identificacin
Transferencia
<<extend>>
Transferencia en Internet
55
56
simple,
actores
Casos de Uso:
Construccin
La descripcin del Caso de Uso
comprende:
el inicio: cundo y qu actor lo
produce?
el fin: cundo se produce y qu valor
devuelve?
la interaccin actor-caso de uso: qu
mensajes intercambian ambos?
58
Casos de Uso:
Construccin
objetivo del caso de uso: qu lleva a
cabo o intenta?
cronologa y origen de las interacciones
repeticiones de comportamiento: qu
operaciones son iteradas?
situaciones opcionales: qu escenarios
alternativos se presentan en el caso de
uso?
59
Ejemplo Plantilla
Imagen
60
UML
Necesidad modelado
Casos de uso
Diagramas de clase
Diagramas de secuencia
61
Implementacin
62
Clasificacin
El mundo real puede ser visto desde
abstracciones diferentes (subjetividad)
Mecanismos de abstraccin:
Clasificacin
/ Instanciacin
Composicin / Descomposicin
Agrupacin / Individualizacin
Especializacin / Generalizacin
63
de la clase
atributos de la clase
operaciones de la clase
titular
saldo
depositar
extraer
transferir
64
intersecar
unir
cardinalidad
65
Diagrama de Clases
El Diagrama de Clases es el diagrama
principal para el anlisis y diseo
Un diagrama de clases presenta las
clases del sistema con sus relaciones
estructurales y de herencia
La
definicin
de
clase
incluye
definiciones
para
atributos
y
operaciones
66
Diagrama de Clases
67
Ejemplos (Generalizacin)
Trabajador
{ disjunta, completa }
Directivo
Administrativo
Obrero
68
empleador
trabajadores
Empleado
1..*
Cargo
nombre
sueldo
superior
0..1
subordinado 1..*
69
Alumno
DNI : char[10]
nmero_exp : int
nombre : char[50]
alta()
poner_nota(asignatura : char , ao : int, nota : float)
matricular(cursos : asignatura, ao : int)
listar_expediente()
70
Ejemplos (Asociacin)
Departamento
dirige
0..1
director
Profesor
71
UML
Necesidad modelado
Casos de uso
Diagramas de clase
Diagramas de secuencia
72
Diagrama de Secuencia
Este diagrama (tambin llamado diagrama de interaccin)
muestra las interacciones entre un conjunto de objetos
(clases, actores), ordenadas segn el tiempo en que tienen
lugar. Es decir, muestra el orden de las llamadas en el
sistema. Se utiliza un diagrama para cada llamada a
representar. Es imposible representar en un solo diagrama la
secuencia de todas las llamadas posibles del sistema, es por
ello que se escoge un punto de partida. El diagrama se
compone con los objetos que forman parte de la secuencia,
estos se sitan en la parte superior de la pantalla,
normalmente a la izquierda se sita el que inicia la accin.
De estos objetos sale una lnea que indica su vida en el
sistema. Esta lnea simple se convierte en una lnea gruesa
cuando representa que el objeto tiene el foco del sistema, es
decir cuando l esta activo.
73
Diagrama de Secuencia
74
Elementos Diagrama de
Secuencia
Lnea de vida
75
Elementos Diagrama de
Secuencia
Activacin
Muestra el periodo de tiempo en el cual el objeto
se encuentra desarrollando alguna operacin, bien
sea por s mismo o por medio de delegacin a
alguno de sus atributos. Se denota como un
rectngulo delgado sobre la lnea de vida del
objeto.
76
Elementos Diagrama de
Secuencia
Mensajes
Elementos Diagrama de
Secuencia
78
Ejemplo
79
80
81
82
83
84
85
86
87
88
89
Diagrama de Secuencia
Muestra la secuencia de mensajes
entre objetos durante un escenario
concreto.
Cada objeto viene dado por una
barra vertical. Se llama lnea de
vida.
El tiempo transcurre de arriba
abajo.
90
Diagrama de Secuencia
Cada mensaje se representa
mediante una flecha entre las lneas
de vida.
Cuando existe demora entre el envo
y la atencin se puede indicar
usando una lnea oblicua.
Cada mensaje se etiqueta con el
nombre del mensaje y pueden
incluirse los argumentos
91
Diagrama de Secuencia
92
Diagrama de Secuencia
: Encargado
:WInPrstamos
:Socio
:Video
:Prstamo
prestar(video, socio)
verificar situacin socio
verificar situacin video
registrar prstamo
entregar recibo
93
Diagrama de Secuencia
Ventana de
entrada
de pedidos
Un Pedido
una Lnea
de pedido
un artculo
de inventario
prepara( )
*[para cada lnea
de pedido] prepara( )
hayExistencia:=revisa( )
Objeto
Mensaje
Condicin
[hayExistencia]
necesitaReorden:
descuenta( )
=necesitaReordenar ( )
Autodelegacin
94
Diagrama de Secuencia
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
Pragmatismo,
tiles.
Sencillez y Elegancia.
los
modelos
deben
127
ser
Sincronizacin de modelos.
128
Resumen
UML define una notacin que se expresa
como diagramas sirven para representar
modelos/subsistemas o partes de ellos
El 80 por ciento de la mayora de los
problemas pueden modelarse usando
alrededor del 20 por ciento de UML-- Grady
Booch
129