Escolar Documentos
Profissional Documentos
Cultura Documentos
? Qu es anlisis?
? Qu es diseo?
Contenido
Muestra
? Anlisis y diseo OO
? Uso de UML
? Introduccin al proceso de desarrollo
UTFSM
Fundamentos de Ingeniera de SW
N
I
EXUMBRA
SOLEM
73
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
74
Muestra
UTFSM
Fundamentos de Ingeniera de SW
N
I
EXUMBRA
SOLEM
75
UTFSM
N
I
EXUMBRA
SOLEM
Anlisis
Investigacin
del problema
UTFSM
N
I
EXUMBRA
SOLEM
Diseo
Construccin
Solucin Lgica
Cdigo
Fundamentos de Ingeniera de SW
76
Anlisis
Fundamentos de Ingeniera de SW
77
Diseo
Libro
titulo
Concepto de
Dominio
UTFSM
N
I
EXUMBRA
SOLEM
Representacin
en el diseo
Fundamentos de Ingeniera de SW
Construccin
public class Libro
{
public void print();
Private String titulo;
}
Representacin en
programacin
78
Ejemplo
Definicin de los
casos de uso
Definicin del
Modelo
conceptual
Definicin de los
Diagramas de
colaboracin
Ejemplo
Definicin de los
Diagramas de
diseo de clases
Definicin de los
casos de uso
UTFSM
N
I
SOLEM
Fundamentos de Ingeniera de SW
79
Definicin del
Modelo
conceptual
Definicin de los
Diagramas de
colaboracin
Definicin de los
Diagramas de
diseo de clases
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
80
Ejemplo
Definicin de los
casos de uso
Definicin de los
Diagramas de
colaboracin
EXUMBRA
Definicin del
Modelo
conceptual
Ejemplo
Definicin de los
Diagramas de
diseo de clases
Definicin de los
casos de uso
Definicin del
Modelo
conceptual
Definicin de los
Diagramas de
colaboracin
Definicin de los
Diagramas de
diseo de clases
Jugador
Dado
1
Lanza
nombre
2
valorMostrado
1
Juega
1
Juego de dados
1 Incluye
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
81
Definicin del
Modelo
conceptual
Definicin de los
Diagramas de
colaboracin
SOLEM
Fundamentos de Ingeniera de SW
82
Ejemplo
Definicin de los
casos de uso
UTFSM
N
I
EXUMBRA
Ejemplo
Definicin de los
Diagramas de
diseo de clases
Definicin de los
casos de uso
Definicin del
Modelo
conceptual
Definicin de los
Diagramas de
colaboracin
Definicin de los
Diagramas de
diseo de clases
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
83
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
84
Ejemplo
Definicin de los
casos de uso
Definicin del
Modelo
conceptual
Definicin de los
Diagramas de
colaboracin
Ejemplo
Definicin de los
Diagramas de
diseo de clases
Definicin de los
casos de uso
1:r1:= lanzar()
:Jugador
UTFSM
SOLEM
85
Definicin de los
Diagramas de
colaboracin
UTFSM
N
I
EXUMBRA
Jugador
1
Lanza
Juego de dados
SOLEM
Fundamentos de Ingeniera de SW
86
valorMostrado
Incluye
inicializar()
Fundamentos de Ingeniera de SW
N
I
EXUMBRA
varias
Definicin de los
Diagramas de
diseo de clases
lanzar()
1
Juega
1
UTFSM
SOLEM
Dado
jugar()
contestar
preciso
Ejemplo
Definicin del
Modelo
conceptual
es
d2:Dado
Definicin de los
casos de uso
clase
Definicin de los
Diagramas de
diseo de clases
Fundamentos de Ingeniera de SW
N
I
una
Definicin de los
Diagramas de
colaboracin
d1:Dado
2:r2:= lanzar()
EXUMBRA
? Para definir
preguntas:
Definicin del
Modelo
conceptual
87
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
88
Definicin
Sistema de la
biblioteca
Bibliotecario
Libro
Biblioteca
UTFSM
N
I
EXUMBRA
SOLEM
A/D estructurados
Descomposicin por funciones o
procesos
Sistema
Registrar
Prstamos
Fundamentos de Ingeniera de SW
Agregar
Recursos
Reportar
Multas
89
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
90
Pasos de macronivel
Desarrollo Iterativo
Planificacin
y Elaboracin
Construccin
Ciclo de
desarrollo 1
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
91
UTFSM
Ciclo de
desarrollo 3
Fundamentos de Ingeniera de SW
N
I
EXUMBRA
Ciclo de
desarrollo 2
Aplicacin
SOLEM
92
Desarrollo Iterativo
Desarrollo Iterativo
Planificacin
y Elaboracin
Construccin
Aplicacin
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
93
Ciclo de
desarrollo 2
Perfeccionar
el plan
UTFSM
N
I
EXUMBRA
SOLEM
Ciclo de
desarrollo 3
Sincronizacin
de artefactos
Anlisis
Diseo
Construccin
Prueba
Fundamentos de Ingeniera de SW
94
Sincronizacin
de artefactos
Anlisis
Diseo
Construccin
Prueba
de 2 semanas a 2 meses
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
95
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
96
SOLEM
Fundamentos de Ingeniera de SW
97
UTFSM
Fundamentos de Ingeniera de SW
N
I
EXUMBRA
SOLEM
98
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
99
UTFSM
Fundamentos de Ingeniera de SW
N
I
EXUMBRA
SOLEM
Ciclo de
desarrollo 1
Ciclo de
desarrollo 2
Perfeccionami
ento del plan
UTFSM
N
I
SOLEM
Fundamentos de Ingeniera de SW
101
SOLEM
Anlisis
1. Definir casos
esenciales de
uso
2. Perfeccionar
el diagrama de
casos
3. Perfeccionar
el modelo
conceptual
5. Definir
diagramas de
secuencia
6. Definir los
contratos de
operaciones
7. Definir
diagramas de
estado
UTFSM
N
I
EXUMBRA
Ciclo de
desarrollo 3
Sincronizacin
de artefactos
EXUMBRA
100
Diseo
Construccin
Prueba
4. Perfeccionar
el glosario
Fundamentos de Ingeniera de SW
102
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
103
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
104
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
105
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
106
107
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
108
Informe
preliminar de
investigacin
Especificacin de
requerimientos
Prototipos
Casos de uso:
a)de alto nivel todos
b) algunos esenciales
expandidos
Diagramas de casos de
uso
Presupuesto,
programa de
actividades
Modelo conceptual
preliminar
Glosario
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
109
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
? Qu es anlisis?
? Qu es diseo?
? Anlisis y diseo OO
? Uso de UML
Resumen
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
Quiz
111
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
? Especificacin de Requerimientos
? Casos de Uso: Descripcin de Proceso
Contenido
UTFSM
N
I
SOLEM
Fundamentos de Ingeniera de SW
112
Especificacin de requerimientos
EXUMBRA
110
113
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
114
Captura de Requerimientos
UTFSM
N
I
EXUMBRA
SOLEM
recomendados
ser
declaracin general
clientes
objetivos
funciones del sistema
atributos del sistema
Fundamentos de Ingeniera de SW
115
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
116
? En cambio, los atributos del sistema son cualidades nofuncionales del sistema, como por ejemplo, la facilidad de
uso, que a menudo se confunden con las funciones del
sistema.
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
117
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
118
Ref #
R1.1
R1.2
R1.5
R1.9
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
119
Funcin
Registrar la venta en proceso (actual): la lista de los artculos
comprados
Calcular el total de la venta actual, incluyendo impuestos y descuentos
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
Categora
Evidente
Evidente
Oculta
Evidente
120
R2.4
Funcin
Manejar los pagos con efectivo, capturando la cantidad entregada y
entregando el monto de vuelto
Manejar los pagos con las tarjetas de crdito, capturando la
informacin de la tarjeta tanto por el lector como manualmente
UTFSM
Fundamentos de Ingeniera de SW
N
I
EXUMBRA
SOLEM
Categora
Evidente
Evidente
Oculta
121
UTFSM
N
I
EXUMBRA
SOLEM
Sistema Operativo
UTFSM
N
I
EXUMBRA
SOLEM
Detalle y limitacin
(restriccin de frontera) La descripcin y el
precio aparecern en menos de 5 segundos.
(detalle) Microsoft Windows 95 y NT
Fundamentos de Ingeniera de SW
122
Atributo
Tiempo de respuesta
Fundamentos de Ingeniera de SW
123
Ref#
R1.9
Funcin
Categ.
Atributo
Mostrar la
descripcin y el
precio del item
Evidente
Tiempo de respuesta
UTFSM
N
I
EXUMBRA
SOLEM
Detalles y
Categ.
Limitaciones
La descripcin y el
Requerido
precio aparecern en
menos de 5 segundos.
Fundamentos de Ingeniera de SW
124
? Objetivos:
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
125
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
126
? Notacin en UML
Comprar productos
UTFSM
N
I
EXUMBRA
SOLEM
Caso de uso:
Actores:
Propsito:
Resumen:
Comprar productos
Cliente, Cajero
Primario
Un cliente llega a la caja registradora con los artculos que comprar.
El Cajero registra los artculos y cobra el importe. Al terminar la
operacin, el Cliente se marcha con los artculos comprados.
Fundamentos de Ingeniera de SW
127
Tipo:
Referencias
Cruzadas:
UTFSM
N
I
EXUMBRA
SOLEM
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
129
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
UTFSM
SOLEM
Fundamentos de Ingeniera de SW
130
N
I
Cursos alternativos
? Lnea 2: introduccin del identificador invlido. Indicar error.
? Lnea 7: el cliente no tena suficiente dinero. Cancelar la transaccin de venta.
EXUMBRA
128
131
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
132
10
Actores
? Notacin en UML
Cajero
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
133
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
Actores
? Los actores suelen ser los papeles representados por las personas,
pero tambin puede ser cualquier tipo de sistema externo.
? Algunos tipos de actores:
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
134
135
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
136
? Cajero
?registra
?entrega el efectivo
? Cliente
?compra productos
?paga productos
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
137
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
138
11
Cajero
Cliente
Comprar productos
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
139
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
140
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
141
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
142
Sobre la notacin
UTFSM
N
I
EXUMBRA
SOLEM
6.
Fundamentos de Ingeniera de SW
143
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
144
12
Sobre la notacin
Sobre la notacin
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
145
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
Puntos de decisin
Puntos de decisin
Seccin: principal.
Curso normal de eventos
Accin de los actores
Respuesta del sistema
1. Este caso de uso comienza cuando un
Cliente llega a una caja de TPDV (Terminal
de Punto de Ventas) con productos que
desea comprar.
2. El Cajero registra la identificacin de cada 3. Determina el precio del producto e
producto.
incorpora a la transaccin actual la
Si hay varios productos de una misma
informacin correspondiente.
categora, el Cajero tambin puede introducir Se presentan la descripcin y el precio del
la cantidad.
producto actual.
4. Al terminar de introducir el producto, el 5. Calcula y presenta el total de la venta.
Cajero indica a TPDV que se concluy la
captura del producto.
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
146
147
SOLEM
Fundamentos de Ingeniera de SW
148
Puntos de decisin
Cursos alternativos
? Lnea 7: el cliente no tena suficiente dinero. Cancelar la tran saccin de venta.
Seccin: Pago con tarjeta de crdito
Cursos normales y alternativos de la historia de pago con la tarjeta de crdito.
Seccin: Pago con cheque
Cursos normales y alternativos de la historia de pago cheque.
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
149
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
150
13
UTFSM
Fundamentos de Ingeniera de SW
N
I
EXUMBRA
SOLEM
151
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
152
? Especificacin de Requerimientos
? Casos de Uso: Descripcin de Proceso
Resumen
Quiz
UTFSM
Fundamentos de Ingeniera de SW
N
I
EXUMBRA
SOLEM
153
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
Quiz
Estudiante
Contenido
registrarse en cursos
Profesor
? Modelo conceptual
? Formas de determinar conceptos
<<usa>>
crear lista de cursos
154
<<usa>>
Valida usuario
S. Facturacin
mantener infprofesor
mantener infestudiante
mantener infcurso
UTFSM
N
I
EXUMBRA
SOLEM
155
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
156
14
SOLEM
Fundamentos de Ingeniera de SW
157
Caso de uso
a b
Comprar productos 5 3
Y as sucesivamente
UTFSM
N
I
EXUMBRA
SOLEM
c d
2 0
e
5
f Suma
3
18
Fundamentos de Ingeniera de SW
158
Clasificacin
Alto
Caso de uso
Comprar productos
Mediano
Incorpora usuarios
Registra los productos comprados
Paga los productos comprados
Pagar
Iniciar
Cerrar
Bajo
UTFSM
N
I
EXUMBRA
SOLEM
Justificacin
Corresponde a los criterios de calificacin ms
altos.
Afecta el subdominio de seguridad.
Afecta el subdominio de seguridad.
Proceso importante, afecta a contabilidad.
Efecto mnimo en la arquitectura.
La definicin depende de los otros casos de uso.
Efecto mnimo en la arquitectura
Fundamentos de Ingeniera de SW
159
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
160
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
161
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
162
15
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
163
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
SOLEM
Fundamentos de Ingeniera de SW
165
Tipo:
Referencias
Cruzadas:
UTFSM
N
I
EXUMBRA
SOLEM
UTFSM
N
I
EXUMBRA
SOLEM
166
Fundamentos de Ingeniera de SW
Fundamentos de Ingeniera de SW
164
167
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
168
16
Caso de uso:
Actores:
Propsito:
Resumen:
Cursos alternativos
? Lnea 2: introduccin del identificador invlido. Indicar error.
? Lnea 7: el cliente no tena suficiente dinero. Cancelar la tran saccin de venta.
UTFSM
Fundamentos de Ingeniera de SW
N
I
EXUMBRA
SOLEM
169
UTFSM
Fundamentos de Ingeniera de SW
N
I
EXUMBRA
SOLEM
170
UTFSM
Fundamentos de Ingeniera de SW
N
I
EXUMBRA
SOLEM
171
Sincronizacin
de artefactos
Anlisis
Diseo
UTFSM
Fundamentos de Ingeniera de SW
N
I
EXUMBRA
SOLEM
Artefactos
Construccin
Casos de uso:
esenciales
expandidos
Prueba
Diagramas de
casos de uso
1. Definir los
casos
esenciales
2. Perfeccionar
el diagrama de
casos
3. Perfeccionar
el modelo
conceptual
5. Definir
diagramas de
secuencia
6. Definir los
contratos de
operaciones
7. Definir
diagramas de
estado
4. Perfeccionar
el glosario
Glosario
Diagramas de
secuencia del
sistema
Diagramas de
estado
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
Casos de uso
reales
Ventanas y
reportes
Diagramas de
interaccin
Mtodos
Diagramas de
clase de
diseo
Definicione
s de clase y
de interfaz
Casos de
prueba
Modelo
conceptual
Contratos de
operacin
UTFSM
172
Actividades
Perfeccionamie
nto del plan
173
UTFSM
N
I
EXUMBRA
SOLEM
Diagrama de
paquete de
arquitectura
Esquema de
base de
datos
Fundamentos de Ingeniera de SW
dependencia respecto a
SQL
174
17
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
175
UTFSM
Fundamentos de Ingeniera de SW
N
I
EXUMBRA
SOLEM
176
Fundamentos
Fundamentos
? conceptos
? asociaciones entre ellos
? atributos de conceptos
SOLEM
Fundamentos de Ingeniera de SW
177
UTFSM
Fundamentos de Ingeniera de SW
N
I
EXUMBRA
SOLEM
178
Fundamentos
Fundamentos
? Tienda
? TPDV
? Venta
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
179
? Por tanto,
conceptos.
UTFSM
N
I
EXUMBRA
SOLEM
el
modelo
conceptual
Fundamentos de Ingeniera de SW
debe
incluir
estos
180
18
de
objetos
SOLEM
Fundamentos de Ingeniera de SW
181
?Avin
SOLEM
Fundamentos de Ingeniera de SW
? Categoras:
? Categoras:
? lugares
?Tienda
?Aeropuerto
? transacciones
?Hambre
?Acrofobia
?Venta, Pago
?Reservacin
? organizaciones
?Departamento De Ventas
?Objeto Lnea Area
? papel de personas
? eventos
?Cajero
?Piloto
SOLEM
182
Fundamentos de Ingeniera de SW
?Venta De Producto
?Reservacin Asiento
183
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
184
? Categoras:
? reglas y polticas
?Poltica De Reembolso
?Poltica De Cancelaciones
? catlogos
?Catalogo De Producto
?Catalogo De Partes
? manuales, libros
?Manual De Personal
?Manual De Reparaciones
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
185
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
186
19
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
187
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
Resumen
Resumen
? Modelo conceptual
? Formas de determinar conceptos
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
188
189
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
? Identificacin de conceptos
Contenido
190
? Ejemplo
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
191
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
192
20
Obtencin de conceptos
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
193
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
194
Directrices: El cartgrafo
Directrices: El cartgrafo
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
195
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
196
SOLEM
Fundamentos de Ingeniera de SW
197
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
198
21
TPDV
Registra
siguientes
Venta actual
1
las
Asociacin
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
199
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
200
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
201
UTFSM
N
I
EXUMBRA
SOLEM
contenido en B
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
202
DescripcionDeProducto Producto
DescripcionDeVuelo - Vuelo
VentasLineaDeProducto -Venta
TrabajoDeManteniemiento-Mantenimiento
Venta TPDV
Reservacion - ListaDePasajeros
Cajero Tienda
Piloto Avion
Departamento Tienda
Mantenimiento - LineaAerea
Cajero TPDV
Piloto Avion
Cliente Cajero
AgenteDeReservaciones -Pasajero
Fundamentos de Ingeniera de SW
contenido en B
A est lgicamente
A es una descripcin de B
A est fsicamente
Ejemplos
Caja-TPDV
Ala-Avin
VentasLineaDeProducto -Venta
TramoDeVuelo -RutaDeVuelo
TPDV-Tienda Producto -Estante
Pasajero - Avin
DescripcionDeProducto Catlogo
Vuelo - ProgramaDeVuelo
Pago Boleta
Pasajero Boleto
A es una transaccin relacionada con otra Pago Venta
transaccin B
Reservacion Cancelacion
TPDV TPDV
A est contiguo a B
Cuidad Cuidad
TPDV Tienda
A es propiedad de B
Avion LineaAerea
A se relaciona con una transaccin B
203
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
204
22
UTFSM
Fundamentos de Ingeniera de SW
N
I
EXUMBRA
SOLEM
205
UTFSM
Fundamentos de Ingeniera de SW
N
I
EXUMBRA
SOLEM
Multiplicidad
Tienda
Multiplicidad
*
cero o ms, muchos
1..* uno o ms
3,5,8 exactamente 3, 5 u 8
Almacena
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
1..40 de uno a 40
5
exactamente 5
Producto
1
206
207
UTFSM
Fundamentos de Ingeniera de SW
N
I
EXUMBRA
SOLEM
208
Notacin
Notacin
Tienda
1
Contiene
1..*
TPDV
Captura
Asignada-a
1..*
Venta
Pagada-por
Pago
Linea Aerea
1
Emplea
1..*
Persona
1
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
209
UTFSMSupervisa
N
I
EXUMBRA
SOLEM
Vuelo
Asignado-a
Avin
Fundamentos de Ingeniera de SW
210
23
Asociaciones y su implementacin
Vuela-de
UTFSM
SOLEM
Vuela-hacia
0..1
Fundamentos de Ingeniera de SW
211
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
UTFSM
N
I
SOLEM
Fundamentos de Ingeniera de SW
CatalogoDeProductos registra
EspecificacionDeProducto
213
UTFSM
N
I
EXUMBRA
SOLEM
SOLEM
Sistema TPDV
no se aplica
VentasLineaDeProducto -Venta
TPDV-Tienda
Producto-Tienda
EspecificacionDeProducto
CatalogodeProductos
CatalogodeProductos -Tienda
EspecificacionDeProducto Producto
A usa o dirige a B
A se comunica con B
A se relaciona con una transaccin B
A es una transaccin relacionada con otra
transaccin B
A est contiguo a B
A es propiedad de B
VentasLineaDeProducto -Venta
Fundamentos de Ingeniera de SW
Fundamentos de Ingeniera de SW
214
Categora
A es una parte fsica de B
A es una parte lgica de B
212
EXUMBRA
ser
Aeropuerto
*
N
I
debe
Vuelo
EXUMBRA
215
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
216
24
Descrita-por
EspecificaciondeProducto
Contiene
1
1..*
Describe
VentasLineaDeProducto
0..1
1..*
*
Producto
Contenidas-en
Capturas-Terminada
N
I
EXUMBRA
SOLEM
1 1
Iniciado-por
Gerente
1
1..* 1
TPDV
1
1
Almacena
Capturadas-en
Iniciado-por
Pagado-por
Pago
UTFSM
Tienda
Registra-Venta-de
Usado-por
Venta
1
CatalogoDeProductos
Cajero
Registra-Ventas-en
Cliente
Fundamentos de Ingeniera de SW
217
UTFSM
Fundamentos de Ingeniera de SW
N
I
EXUMBRA
SOLEM
218
Contiene
*
Tienda
1
Venta
1
219
UTFSM
N
I
EXUMBRA
SOLEM
Aloja
Gerente
1..*
TPDV
Pagado-por
Pago
Capturadas-en
1
1
Usado-por
Contenidas-en
Capturas-Terminada
UTFSM
1
Describe
Producto
1..*
SOLEM
VentasLineaDeProducto
N
I
EspecificaciondeProducto
1..*
EXUMBRA
1
CatalogoDeProductos
Cajero
Cliente
Fundamentos de Ingeniera de SW
220
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
221
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
222
25
Cajero
Venta
Cajero
Atributos
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
TPDV
1
nombre
TPDVactual
fecha
HoraDeInicio: hora
223
UTFSM
N
I
EXUMBRA
SOLEM
Usa
nombre
1
numero
Fundamentos de Ingeniera de SW
224
? especificacin de requerimientos
? casos de uso en cuestin
? documentos de simplificaciones, clarificaciones y suposiciones
SOLEM
Fundamentos de Ingeniera de SW
225
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
226
SOLEM
Fundamentos de Ingeniera de SW
227
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
228
26
VentasLineaDeProducto
/cantidad
Producto
EspecificaciondeProducto
VentasLineaDeProducto
cantidad
Contiene
1..*
CatalogoDeProductos
descripcion
precio
CUP
Describe
1..*
Producto
Usado-por
*
Tienda
direccio
1 n
1
Contenidas-en
Capturas-Terminada
1
Venta
fecha
hora
Capturadas-en
Aloja
1..*
TPDV
Pagado-por
Pago
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
229
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
? Identificacin de conceptos
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
230
Resumen
231
? Ejemplo
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
Quiz
232
Quiz
<<entorno>>
OpcionesCursoProfesor
<<entorno>>
AadirOfertaCurso
? Qu representa la multiplicidad?
? Porqu son tan importantes los nombres en el modelo?
1
1
<<control>>
GestorCursosProfesor
<<entidad>>
OfertaCursos
1
maneja
0..*
1..*
<<entidad>>
1
Cursos
1..*
0..*
0..*
prerrequisitos
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
233
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
234
27
Contenido
? Contratos
Sincronizacin
de artefactos
Anlisis
Diseo
Construccin
Prueba
? Precondiciones
? Postcondiciones
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
235
1. Definir casos
esenciales de
uso
2. Perfeccionar
el diagrama de
casos
3. Perfeccionar
el modelo
conceptual
5. Definir
diagramas de
secuencia
6. Definir los
contratos de
operaciones
7. Definir
diagramas de
estado
UTFSM
N
I
EXUMBRA
SOLEM
4. Perfeccionar
el glosario
Fundamentos de Ingeniera de SW
236
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
237
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
238
:Sistema
? A todos los sistemas se les trata como caja negra; los diagramas se
centran en los eventos que fluyen de los actores a los sistemas.
? En el diagrama el tiempo avanza hacia abajo, y el ordenamiento de
los eventos debera seguir el orden indicado en el caso de uso.
? Los eventos del sistema pueden incluir parmetros.
: Cajero
1: introducir Producto(CUP, cantidad)
2: terminarVenta ()
3: efectuarPago(monto )
Sistema como
cajanegra
Actor
:Sistema
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
Sistema como
cajanegra
Actor
239
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
240
28
? EfectuarPago(CUP, Cantidad)
? TerminarVenta()
? EfectuarPago(monto)
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
241
Sistema
terminarVenta ( )
introducirProducto ( )
efectuarPago( )
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
242
? Trace una lnea que represente el sistema como una caja negra.
? Identifique los actores que operan directamente sobre el sistema.
Trace una linea para cada uno de ellos.
? A partir del curso normal de los eventos del caso de uso identifique
los eventos (externos) del sistema que son generados por los
actores. Mustrelos grficamente en el diagrama.
? A la izquierda del diagrama puede incluir o no el texto del caso de
uso.
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
243
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
244
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
245
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
246
29
Modelo de anlisis
? IntroducirImporteOfrecido(monto) deficiente
? IntroducirPago(monto) mejor
? EfectuarPago quiz mejor an
SOLEM
Fundamentos de Ingeniera de SW
247
UTFSM
Fundamentos de Ingeniera de SW
N
I
EXUMBRA
SOLEM
Contiene
1
CatalogoDeProductos
descripcion
precio
CUP
*
VentasLineaDeProducto
cantidad
N
I
SOLEM
Fundamentos de Ingeniera de SW
249
Aloja
1..*
TPDV
UTFSM
N
I
EXUMBRA
*
Tienda
direcci
on
1
Pagado-por
EXUMBRA
*
Producto
Capturadas-en
Pago
1
Describe
Usado-por
Contenidas-en
Capturas-Terminada
Venta
fecha
hora
EspecificaciondeProducto
1
1..*
1..*
UTFSM
248
SOLEM
Fundamentos de Ingeniera de SW
250
SOLEM
Fundamentos de Ingeniera de SW
251
Contrato
IntroducirProducto (cup:numero, cantidad:entero )
Capturar (registrar) la venta de un producto y agregarla a la venta. Desplegar
la descripcin y el precio del producto.
Tipo:
Sistema
Referencias cruzadas: Funciones del sistema: R1.1, R1.3, R1.6
Casos de uso: Comprar productos
Notas:
Utilizar el acceso superrpido a la base de datos.
Excepciones:
Si el CUP no es vlido, indicar que se cometi.
Salida:
Precondiciones:
El sistema conoce el CUP.
Nombre:
Responsabilidades:
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
252
30
Poscondiciones:
Si se trata de una nueva venta, se cre una Venta (creacin de instancia ).
Si se trata de una nueva venta, la nueva
Venta fue asociada a un
TPDV ( asociacin
formada).
Se cre una instancia VentasLineadeProducto (creacin de instancia ).
Se asoci una instancia de VentasLineadeProducto a la Venta (asociacin formada ).
Se asign una cantidad a VentasLineadeProducto.cantidad (modificacin de atributo ).
Se asoci una instancia VentasLineadeProducto a la instancia EspecificaciondeProducto ,
basado en la correspondencia del CUP ( asociacin formada ).
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
Nombre:
Responsabilidades:
Tipo:
Referencias cruzadas:
Notas:
Excepciones:
Salida:
Precondiciones:
Poscondiciones:
253
Contrato
Nombre de la operacin y sus parmetros.
Descripcin informal de las responsabilidades que debe cumplir la operacin.
Nombre del tipo (concepto, clase de software, interfaz).
Nmeros de referencia de las funciones del sistema, casos de uso, etc.
Declaraciones del diseo referentes a la operacin. Por ejemplo, si se sabe
que se prefiere un algoritmo particular para manejar la operacin, esa seccin
es el sitio indicado.
Casos excepcionales.
Slo dentro del sistema, no incorpore salidas de interfaz de usuario, mensajes
o registros que se envan fuera del sistema.
Suposiciones acerca del estado del sistema antes de ejecutar la operacin.
El estado del sistema despus de la operacin.
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
254
Poscondiciones
? Las poscondiciones
conceptual.
UTFSM
N
I
SOLEM
Fundamentos de Ingeniera de SW
255
expresan
dentro
del
modelo
EXUMBRA
se
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
256
Poscondiciones
Poscondiciones
? En lugar de
?Crear una instancia VentasLineadeProducto (peor)
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
257
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
258
31
? Poscondiciones:
? Si se trata de una nueva venta, se cre una Venta (creacin de instancia).
? Si se trata de una nueva venta, la nueva Venta fue asociada a un TPDV (asociacin
formada).
? Se cre una instancia VentasLineadeProducto (creacin de instancia ).
? Se asoci una instancia de VentasLineadeProducto a la Venta asociacin
(
formada).
Ejemplo
Ejemplo
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
259
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
260
Ejemplo
Ejemplo
VentasLineadeProducto.cantidad
SOLEM
Fundamentos de Ingeniera de SW
261
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
Precondiciones
262
Contratos
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
263
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
264
32
Contrato
IntroducirProducto (cup:numero, cantidad:entero )
Capturar (registrar) la venta de un producto y agregarla a la venta. Desplegar
la descripcin y el precio del producto.
Tipo:
Sistema
Referencias cruzadas: Funciones del sistema: R1.1, R1.3, R1.6
Casos de uso: Comprar productos
Notas:
Utilizar el acceso superrpido a la base de datos.
Excepciones:
Si el CUP no es vlido, indicar que se cometi un error.
Salida:
Precondiciones:
El sistema conoce el CUP.
Poscondiciones:
? Si se trata de una nueva venta, fue creada unaVenta.
? Si se trata de una nueva venta, la nuevaVenta fue asociada a unTPDV.
? Se cre una instanciaVentasLineadeProducto.
? Se asoci una instancia deVentasLineadeProducto a la Venta.
? Se asign una cantidad aVentasLineadeProducto.cantidad.
VentasLineadeProducto a la instancia
? Se asoci una instancia
EspecificaciondeProducto
, basado en la correspondencia del CUP.
UTFSM
Nombre:
Responsabilidades:
Fundamentos de Ingeniera de SW
N
I
EXUMBRA
SOLEM
265
Tipo:
Referencias cruzadas:
Notas:
Excepciones:
Si no esta realizndose una venta, indicar que se cometi un error.
Salida:
Precondiciones:
Poscondiciones:
Estableci Venta.estaTerminada enverdadero .
UTFSM
N
I
EXUMBRA
UTFSM
N
I
SOLEM
Fundamentos de Ingeniera de SW
266
Contrato
Nombre:
Inicio()
Responsabilidades:
Inicializar el sistema
Tipo:
Sistema.
Referencias cruzadas:
Notas:
Excepciones:
Salida:
Precondiciones:
Poscondiciones:
Se cre una instanciaTienda, TPDV,CatalogodeProductosy EspecificacionesdeProducto.
Se asoci CatalogodeProductosa EspecificacionesdeProducto .
Se asoci Tienda a CatalogodeProductos.
Se asoci Tienda a TPDV.
Se asoci TPDV a CatalogodeProductos.
Contrato
efectuarPago(monto: nmero)
Registrar el pago, calcular el saldo e imprimir el recibo.
Sistema.
Funciones del sistema: R2.1
Casos de uso: Comprar productos
Fundamentos de Ingeniera de SW
SOLEM
Notas:
Excepciones:
Si la venta no est concluida, indicar que se cometi un error.
Salida:
Precondiciones:
La venta esta terminada.
Poscondiciones:
Se cre una instancia Pago .
Se asoci el Pago a una Venta.
Se asign el valor del monto a Pago.MontoOfrecido .
Se asoci la Venta a la Tienda para agregarla al registro histrico de las ventas terminadas.
EXUMBRA
Contrato
terminarVenta()
Registrar que es el final de la captura de los productos de la venta y desplegar
el total de la venta.
Sistema
Funciones del sistema: R1.2
Casos de uso: Comprar productos
Nombre:
Responsabilidades:
Tipo:
Referencias cruzadas:
Nombre:
Responsabilidades:
267
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
268
Resumen
? Contratos
? Precondiciones
? Postcondiciones
Venta
estaTerminada: boolean
fecha
hora
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
269
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
270
33
? Qu es el comportamiento de un sistema?
? Qu representa el diagrama de secuencia del sistema?
? Fase de Diseo
Quiz
Contenido
? Artefactos
? Actividades
SOLEM
Fundamentos de Ingeniera de SW
271
UTFSM
Fundamentos de Ingeniera de SW
N
I
EXUMBRA
SOLEM
272
Fase de Diseo
Fase de Diseo
? Casos de uso
? Cules son los procesos del dominio?
? Modelo Conceptual
? Contratos
? Qu hacen las operaciones del sistema?
SOLEM
Fundamentos de Ingeniera de SW
273
UTFSM
Fundamentos de Ingeniera de SW
N
I
EXUMBRA
SOLEM
274
Fase de Diseo
Actividades
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
275
Perfeccionamiento
del plan
UTFSM
N
I
EXUMBRA
SOLEM
Sincronizacin de
artefactos
Anlisis
Diseo
Construccin
2. Definir reportes,
interfaz de usuario
y storyboards
3. Perfeccionar la
arquitecturadel
sistema
4. Definir los
diagramas de
interaccin
5. Definir los
diagramas de
clases de diseo
6. Definir el
esquema de la
base de datos
Fundamentos de Ingeniera de SW
Prueba
276
34
Tipo:
Referencias
Cruzadas:
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
277
Tienda de Objetos
UTFSM
N
I
EXUMBRA
SOLEM
Cantidad
Precio
Desc.
Total
Saldo
Ofrecido
D
Introducir
Producto
UTFSM
Terminar
Venta
Efectuar
Pago
Fundamentos
H
deI Ingeniera deJSW
SOLEM
278
Diagramas de interaccin
Saldo
N
I
EXUMBRA
CUP
Total
D
Introducir
Producto
Terminar
Venta
Efectuar
Pago
279
UTFSM
Fundamentos de Ingeniera de SW
N
I
EXUMBRA
SOLEM
280
Diagramas de interaccin
Diagramas de interaccin
mensaje1()
1: mensaje2()
2: mensaje3()
Instancia1 : ClaseA
Instancia2 : ClaseB
Instancia1 :
ClaseA
mensaje1()
Instancia2 :
ClaseB
mensaje2()
mensaje3()
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
281
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
282
35
Direccin del
mensaje
Primer mensaje
interno
efectuarPago( efectivoOfrecido)
1: efectuarPago (efectivoOfrecido)
: TPDV
: Venta
Lnea de
enlace
primer
mensaje
Instancia
2: crear(efectivoOfrecido)
Parametro
: Pago
UTFSM
Fundamentos de Ingeniera de SW
N
I
EXUMBRA
SOLEM
283
: TPDV
terminarVenta ()
efectuarPago(EfectivoOfrecido )
efectuarPago(efectivoOfrecido)
ContratoEfectuarPago
Poscondiciones:
UTFSM
: TPDV
Diagrama de colaboracin
Contratos
Fundamentos de Ingeniera de SW
N
I
EXUMBRA
SOLEM
284
introducirProducto(CUP,cantidad)
Poscondiciones:
1. Si se trata de una nueva venta
se creo una nueva venta
Fundamentos de Ingeniera de SW
ContratoIntroducirProducto
:Sistema
SOLEM
: Cajero
introducirProducto(CUP,cantidad)
UTFSM
N
I
EXUMBRA
285
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
286
? Si vemos dos instancias en una relacin de cliente servidor, una trayectoria de navegacin del cliente al
servidor significa que los mensajes pueden enviarse del
primero al segundo.
? Con cada tipo de elemento del UML (clase, actor, ...), una insta ncia utiliza
el mismo smbolo grfico usado para representar el tipo, pero se subraya
el texto.
Clase
Venta
Instancia
: Venta
Instancia con
nombre
s1: Venta
Parmetros
mens1()
:TPDV
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
287
: Venta
Todos los mensajes fluyen por
el mismo vnculo .
2: agregarPago(monto: Numero)
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
288
36
mens1()
:TPDV
? El lenguaje UML cuenta con una sintaxis estndar para los mensajes:
? retorno : mensaje(parametro: tipoParametro) : tipoRetorno
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
289
1: limpiar ()
UTFSM
Fundamentos de Ingeniera de SW
N
I
EXUMBRA
SOLEM
290
mens1()
mens1()
:TPDV
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
:TPDV
291
UTFSM
Fundamentos de Ingeniera de SW
N
I
EXUMBRA
: Venta
SOLEM
segundo
primero
1: mens2()
tercero
: ClaseA
: ClaseB
2: mens4()
1.1: mens3()
cuarto
2.1: mens5()
quinto
: ClaseC
1:crear(cajero)
:TPDV
2.2: mens6()
:Venta
: ClaseD
UTFSM
N
I
EXUMBRA
SOLEM
292
mens1()
1:crear(cajero)
: Venta
Fundamentos de Ingeniera de SW
293
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
sexto
294
37
mens1()
Multiobjeto
Ventas : Venta
1:[nueva venta]crear()
:TPDV
:Venta
Fundamentos de Ingeniera de SW
N
I
EXUMBRA
SOLEM
295
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
296
no subrayada,
por tanto una clase
mensaje enviado al
objeto coleccin
1: d1 :=hoy(): Fecha
: Venta
1: s := tamao(): entero
: Venta
SOLEM
Fundamentos de Ingeniera de SW
297
Fecha
: VentasLineaDeProducto
SOLEM
Fundamentos de Ingeniera de SW
298
Responsabilidades y mtodos
Responsabilidades y mtodos
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
299
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
300
38
Responsabilidades y mtodos
Responsabilidades y mtodos
imprimir()
: Venta
: VentasLineaDeProducto
2: imprimir()
UTFSM
N
I
EXUMBRA
SOLEM
vli : VentasLineaDeProducto
Fundamentos de Ingeniera de SW
301
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
? Fase de Diseo
Responsabilidades y mtodos
302
Resumen
? Artefactos
? Actividades
SOLEM
Fundamentos de Ingeniera de SW
303
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
Patrones de Diseo
? Patrones GRASP
Quiz
304
Contenido
? Experto
? Creador
? Bajo Acoplamiento
? Alta Cohesin
? Controlador
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
305
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
306
39
Patrones de Diseo
Patrones de Diseo
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
307
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
308
Patrones de Diseo
Patrones de Diseo
SOLEM
Fundamentos de Ingeniera de SW
309
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
310
Patrones de Diseo
Patrones de Diseo
Experto
Asignar una responsabilidad a la clase que tiene la
informacin necesaria para cumplirla.
Cul es el principio fundamental en virtud del cual
asignaremos las responsabilidades a los objetos?
Pregunta:
Respuesta:
SOLEM
Fundamentos de Ingeniera de SW
311
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
312
40
Patrones de Diseo
La tercera
seccin esta
NombredeClase
atributos
destinada a
mtodos
los
metodos( )
UTFSM
Fundamentos de Ingeniera de SW
N
I
EXUMBRA
SOLEM
313
Patrones de Diseo
UTFSM
SOLEM
314
Patrones de Diseo
Experto
Experto
? Problema
? Ejemplo
las
? Solucin
? Asignar una responsabilidad al experto en informacin: la clase que cuenta
con la informacin necesaria para cumplir la responsabilidad.
UTFSM
Fundamentos de Ingeniera de SW
N
I
EXUMBRA
Fundamentos de Ingeniera de SW
N
I
EXUMBRA
SOLEM
315
Patrones de Diseo
Fundamentos de Ingeniera de SW
SOLEM
316
Patrones de Diseo
Experto
VentasLineaDeProducto
cantidad
UTFSM
N
I
EXUMBRA
Experto
Descritas-por
EspecificaciondeProductos
1..*
Contenidas-en
Clase
Venta
VentasLineadeProducto
EspecificaciondeProducto
1
Venta
fecha
hora
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
317
UTFSM
N
I
EXUMBRA
SOLEM
Responsabilidad
conoce el total de la venta
conoce el subtotal de la lnea de producto
conoce el precio del producto
Fundamentos de Ingeniera de SW
318
41
Patrones de Diseo
Patrones de Diseo
Experto
Experto
t :=total()
: Venta
: VentasLineaDeProducto
2: s t :=subtotal()
vli : VentasLineaDeProducto
3: p:= precio()
: EspecificaciondeProductos
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
319
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
Patrones de Diseo
Patrones de Diseo
? Beneficios
? Problema
Experto
Creador
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
321
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
Patrones de Diseo
Patrones de Diseo
? Solucin
Creador
UTFSM
N
I
SOLEM
Fundamentos de Ingeniera de SW
322
Creador
EXUMBRA
320
323
SOLEM
Fundamentos de Ingeniera de SW
324
42
Patrones de Diseo
Patrones de Diseo
Creador
Creador
? Ejemplo
VentasLineaDeProducto
Descritas-por
cantidad
EspecificaciondeProductos
*
1..*
Contenidas-en
1
Venta
fecha
hora
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
325
Patrones de Diseo
UTFSM
Fundamentos de Ingeniera de SW
N
I
EXUMBRA
SOLEM
326
Patrones de Diseo
Creador
Creador
Segn
Controlador
Segn
Creador
introducirProducto(cup, cantidad)
: TPDV
2: crear()
Segn Creador
: VentasLineaDeProducto
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
327
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
Patrones de Diseo
Patrones de Diseo
? Problema
Creador
328
Bajo Acoplamiento
SOLEM
Fundamentos de Ingeniera de SW
329
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
330
43
Patrones de Diseo
Patrones de Diseo
? Solucin
Bajo acoplamiento
Bajo acoplamiento
EfectuarPago( )
:TPDV
1:EfectuarPago ()
:Venta
1.1:Crear()
:Pago
:TPDV
1:Crea()
P:Pago
2:AgregarPago(p)
UTFSM
N
I
EXUMBRA
SOLEM
? Esta ltima asociacin es mejor dado que Venta realiza la creacin del
Pago y no TPDV por lo tanto se reduce la dependencia de este ltimo
con el resto de las clases.
? El grado de acoplamiento no puede considerarse aisladamente de
otros principios como Experto y Alta Cohesin. Sin embargo, es un
factor a considerar cuando se intente mejorar el diseo.
:Venta
Fundamentos de Ingeniera de SW
331
UTFSM
Fundamentos de Ingeniera de SW
N
I
EXUMBRA
SOLEM
Patrones de Diseo
Patrones de Diseo
?Beneficios:
Bajo acoplamiento
332
Bajo acoplamiento
? Fciles de reutilizar
? TipoX tiene un mtodo que a toda costa referencia una instancia de TipoY
o incluso el propio TipoY. Suele incluirse un parmetro o una variable local
de TipoY o bien el objeto devuelto de un mensaje es una instancia de
TipoY.
? TipoX es una subclase directa o indirecta del TipoY.
? TipoY es una interfaz y TipoX la implementa.
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
333
Patrones de Diseo
UTFSM
SOLEM
Alta Cohesin
? Problema
? Solucin
EfectuarPago( )
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
334
Patrones de Diseo
Alta Cohesin
UTFSM
Fundamentos de Ingeniera de SW
N
I
EXUMBRA
:TPDV
1:Crea()
P:Pago
2:AgregarPago(p)
335
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
:Venta
336
44
Patrones de Diseo
Patrones de Diseo
Alta Cohesin
Alta Cohesin
:TPDV
1:EfectuarPago ()
? Beneficios:
:Venta
?
?
?
?
1.1:Crear()
:Pago
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
337
UTFSM
Fundamentos de Ingeniera de SW
N
I
EXUMBRA
SOLEM
Patrones de Diseo
Patrones de Diseo
? Algunos escenarios:
? Problema:
Alta Cohesin
338
Controlador
SOLEM
Fundamentos de Ingeniera de SW
339
UTFSM
Fundamentos de Ingeniera de SW
N
I
EXUMBRA
SOLEM
Patrones de Diseo
Patrones de Diseo
? Solucin
? Ejemplo:
Controlador
Controlador
UTFSM
N
I
SOLEM
Fundamentos de Ingeniera de SW
Sistema
terminarVenta( )
introducirProducto( )
efectuarPago( )
EXUMBRA
340
introducirProducto(CUP, cantidad)
: ???
341
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
342
45
Patrones de Diseo
Patrones de Diseo
Controlador
Controlador
TPDV
Tienda
Cajero
ManejadordeComprarP
roductos
Sistema
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
terminarVenta( )
introducirProducto( )
efectuarPago( )
operaciones del
sistema descubiertas
durante el anlisis de
su comportamiento
343
UTFSM
N
I
EXUMBRA
SOLEM
TPDV
terminarVenta( )
introducirProducto( )
efectuarPago( )
asignacin de las
operaciones del sistema
durante su diseo, mediante
el patrn Controlador
Fundamentos de Ingeniera de SW
344
Patrones de Diseo
Patrones de Diseo
Controlador
Controlador
SOLEM
Fundamentos de Ingeniera de SW
345
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
Patrones de Diseo
Patrones de Diseo
? Beneficios
Controlador
Controlador
SOLEM
Fundamentos de Ingeniera de SW
346
347
SOLEM
Fundamentos de Ingeniera de SW
348
46
Patrones de Diseo
Patrones de Diseo
Controlador
Controlador
Tienda de Objetos
CUP
Cantidad
Precio
Desc.
Total
Saldo
Ofrecido
Oprime botn
Introducir
Producto
Terminar
Venta
Efectuar
Pago
Cajero
enIntroducirProducto()
Capa de presentacin
Applet en Java
: TPDVApplet
mensaje de eventos
del sistema
1: introducirProducto(cup, cantidad)
? No intervino en el proceso
de la operacin, ni la
decisi n de cmo
manejarla, el applet se
limit a delegarla a la capa
del dominio.
Controlador
2: hacerLineadeProducto(cup,cantidad)
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
349
UTFSM
N
I
EXUMBRA
SOLEM
: TPDV
: Venta
Fundamentos de Ingeniera de SW
Patrones de Diseo
Patrones de Diseo
? Patrones GRASP
? Qu define un patrn?
? Porqu se le asigna un nombre?
Resumen
350
Resumen
? Experto
? Creador
? Bajo Acoplamiento
? Alta Cohesin
? Controlador
? Qu significa GRASP?
? Existen casos cuando dos o ms patrones se aplican
juntos?
? Describa brevemente cada uno de estos patrones:
? Experto
? Creador
? Controlador
? Alta Cohesin
? Bajo Acoplamiento
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
351
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
352
Contenido
Introduccin
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
353
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
354
47
ContratoIntroducirProducto
:Sistema
: Cajero
introducirProducto(CUP,cantidad)
? Comprar
Productos:
efectuarPago
? Inicio: inicio
introducirProducto(CUP,cantidad)
Poscondiciones:
1. Si se trata de una nueva venta
se creo una nueva venta
: TPDV
introducirProducto
terminarVenta
terminarVenta ()
efectuarPago(EfectivoOfrecido )
efectuarPago(efectivoOfrecido)
ContratoEfectuarPago
Poscondiciones:
Contratos
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
355
UTFSM
N
I
EXUMBRA
SOLEM
356
1 :???()
: TPDV
terminarVenta ()
Fundamentos de Ingeniera de SW
introducirProducto ()
: TPDV
Diagrama de colaboracin
1 :???()
: TPDV
efectuarPago()
1 :???()
: TPDV
iniciar()
1 :???()
: TPDV
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
357
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
introducirProducto(cup, cantidad)
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
358
: Venta
359
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
360
48
Descrita-por
SOLEM
Fundamentos de Ingeniera de SW
361
Tipo:
Referencias cruzadas:
Fundamentos de Ingeniera de SW
N
I
EXUMBRA
SOLEM
N
I
SOLEM
Fundamentos de Ingeniera de SW
362
Contrato
IntroducirProducto ( cup:numero, cantidad:entero)
Capturar (registrar) la venta de un producto y agregarla a la venta. Desplegar
la descripcin y el precio del producto.
Sistema
Funciones del sistema: R1.1, R1.3, R1.6
Casos de uso: Comprar productos
Utilizar el acceso superrpido a la base de datos.
Si el CUP no es vlido, indicar que se cometi un error.
Notas:
Excepciones:
Salida:
Precondiciones:
El sistema conoce el CUP.
Poscondiciones:
? Si se trata de una nueva venta, se cre unaVenta (creacin de instancia).
? Si se trata de una nueva venta, la nueva Venta fue asociada a un TPDV ( asociacin
formada ).
? Se cre una instancia VentasLineadeProducto (creacin de instancia).
? Se asoci una instancia deVentasLineadeProducto a la Venta (asociacin formada ).
? Se asign una cantidad a VentasLineadeProducto.cantidad (modificacin de atributo).
? Se asoci una instancia
VentasLineadeProducto a la instancia
EspecificaciondeProducto, basado en la correspondencia del CUP (
asociacin
formada
UTFSM ).
1..*
TPDV
Aloja
UTFSM
EXUMBRA
*
Tienda
direcci
on
Pagado-por
N
I
*
Producto
Capturadas-en
EXUMBRA
1
Describe
Usado-por
Contenidas-en
Capturas-Terminada
Pago
1
1..*
1..*
Venta
fecha
hora
UTFSM
EspecificaciondeProducto
Contiene
1
CatalogoDeProductos
descripcion
precio
CUP
? Representa algo en el mundo real que est activo (por ejemplo, e l papel
de una persona) y que puede intervenir en la tarea
? Cajero
363
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
364
introducirProducto(cup, cantidad)
:TPDV
SOLEM
Fundamentos de Ingeniera de SW
365
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
366
49
UTFSM
Fundamentos de Ingeniera de SW
N
I
EXUMBRA
SOLEM
367
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
368
Segn
Controlador
Segn
Creador
introducirProducto(cup, cantidad)
: TPDV
2: crear()
Segn Creador
: VentasLineaDeProducto
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
de
369
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
370
UTFSM
N
I
SOLEM
Fundamentos de Ingeniera de SW
371
lo
concerniente
EXUMBRA
todo
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
372
50
UTFSM
Fundamentos de Ingeniera de SW
N
I
EXUMBRA
SOLEM
373
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
374
Recuperacin de EspecificaciondeProducto
UTFSM
Fundamentos de Ingeniera de SW
N
I
EXUMBRA
SOLEM
375
: Venta
1: [nueva venta ] crear()
4: crear()
2: especif :=especificacion(cup)
376
5: hacerLineadeProducto(especif,cant)
: TPDV
Fundamentos de Ingeniera de SW
Mensajes a multiobjetos
Segn
Creador
introducirProducto(cup, cant)
SOLEM
UTFSM
N
I
EXUMBRA
6: crear(especif,cant)
Segn Experto
7: agregar(vli)
: CatalogoDeProductos
3: especif :=encontrar(cup)
: VentasLineaDeProducto
vli : VentasLineaDeProducto
: EspecificaciondeProductos
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
377
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
378
51
? Ejercicio:
Mensajes a multiobjetos
Fundamentos de Ingeniera de SW
N
I
EXUMBRA
SOLEM
379
Tipo:
Referencias cruzadas:
Contrato
terminarVenta()
Registrar que se termin de capturar los artculos de la venta ypresentar
visualmente el total de la venta.
Sistema
Funciones del sistema: R1.2.
Casos de uso: Comprar Productos.
Utilizar el accesosuperrpido a la base de datos.
Si est efectundose una venta, indicar que se cometi un error.
Notas:
Excepciones:
Salida:
Precondiciones:
El sistema conoce el CUP.
Poscondiciones:
Se asign a Venta.estaTerminada el valor verdadero(modificacin de atributo).
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
380
Venta - total
{
tot:= 0
para cada VentasLineadeProducto , vli
tot:= tot+vli.subtotal()
devolver tot
}
Nombre:
Responsabilidades:
tot:=total()
2: s t :=sutotal()
: Venta
Segn
Experto
vli : VentasLineaDeProducto
Segn Experto
3: pre:=prec()
VentasLineadeProducto - subtotal()
{
devolver cantidad*EspecifPro.precio()
}
UTFSM
N
I
EXUMBRA
SOLEM
EspecifPro : EspecificaciondeProductos
Fundamentos de Ingeniera de SW
381
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
382
383
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
384
52
Contrato
Nombre:
IniciarO.
Responsabilidades:
Inicializar el sistema.
Tipo:
Sistema
Referencias cruzadas:
Notas:
Excepciones:
Salida:
Precondiciones:
Poscondiciones:
? Se crearon Tienda , TPDV , CatalogodeProductos y EspecificaciondeProducto (creacin
de instancia).
? Se asoci CatalogodeProductos a EspecificaciondeProducto (asociacin formada).
? Se asoci Tienda a CatalogodeProductos (asociacin formada)
? Se asoci Tienda a TPDV (asociacin formada).
? Se asoci TPDV a CatalogodeProductos (asociacin formada).
lgico:
TPDV,
Fundamentos de Ingeniera de SW
N
I
EXUMBRA
SOLEM
385
6: crear(cp)
SOLEM
3: cargarEspecifPro()
1: crear()
2: * crear()
: EspecificaciondeProducto
cp : CatalogoDeProductos
UTFSM
N
I
EXUMBRA
SOLEM
386
: Tienda
Fundamentos de Ingeniera de SW
crear()
UTFSM
N
I
EXUMBRA
5: agregar(ep)
ep : EspecificaciondeProducto
Fundamentos de Ingeniera de SW
387
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
388
Resumen
Quiz
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
389
UTFSM
N
I
EXUMBRA
SOLEM
Fundamentos de Ingeniera de SW
390
53