2. INTRODUCCIÓN AL MODELADO DE
SOFTWARE
El modelado es una práctica usada en
muchas ingenierías como paso previo a
la construcción de una entidad
compleja.
El uso del modelado es proporcional a la
complejidad del problema.
UML es un lenguaje estándar para
representar modelos.
2
6. Identificar necesidades
Entrevistarse con el cliente y usuarios
del sistema.
Recolectar información del proceso.
Identificar problemas actuales
Listar necesidades y soluciones
Aprobación por parte del usuario.
6
7. Modelado de casos de uso
Caso de uso
¿Qué puedo hacer con el Sistema?
Descripción
¿Cómo inicio?
¿Qué hace el sistema?
¿Qué hace el usuario?
¿Cómo termina?
¿Hay salidas alternas?
7
8. Modelado de casos de uso (2)
Actores
Personas, dispositivos o sistemas => Externos
Interactúan con el sistema.
Relaciones entre casos de uso
Inclusión
Extensión
Herencia
Relaciones entre actores
Herencia
8
10. Identificando casos de uso
¿Quién está interesado en cierto
requerimiento?
¿Dónde se usa el sistema en la
organización?
¿Quién suplirá al sistema de
información, quien usa y elimina esta
información?
Quién usará esta función?
10 10
11. Identificando casos de uso
Quién dará soporte y mantenimiento al
sistema?
¿El sistema usa un recurso externo?
¿Qué actores necesitan los casos de
uso?
¿Algún actor interpreta varios roles
diferentes?
¿Existen varios actores con el mismo
rol?
11 11
12. 12
Ejemplo
Se desea desarrollar un sistema para la
matriculación de estudiantes en cursos
que se encuentran clasificados en
troncales, genéricos, complementarios y
libre configuración, mismos que pueden
ser elegidos libremente por cada
estudiante, la única condición que se
pide es que cubran un total de 30
créditos académicos por cada semestre.
12
13. Ejemplo (2)
Para realizar la matrícula cada
estudiante debe realizar una solicitud de
matrícula a través de un servicio en
línea.
Una comisión de la carrera a la que
pertenece el estudiante aprueba su
solicitud, en caso de haber cambios los
aplican y en cualquier caso se notifica al
estudiante para que proceda con el
pago.
13
14. Ejemplo (3)
El estudiante paga la matrícula en una
ventanilla de un banco autorizado y el
pago se procesa automáticamente para
dar por concluido el proceso de
matrícula.
El proceso automático de la matrícula
incluye la emisión de la factura y la
contabilización de la mismas más los
pagos.
14
16. Documentación de casos de uso
Los casos de uso se documentan con:
Una Descripción Breve que establece
el propósito del caso de uso en pocas
líneas
Un Flujo de Eventos detallado
16
17. Documentación de casos de uso (2)
La documentación debe poderse leer
como un diálogo entre el actor y el caso
de uso
La documentación se redacta en
términos que el cliente pueda entender
(usando el lenguaje del dominio)
17
18. Flujos de eventos
Flujo de Eventos de Casos de Uso
Cada caso de uso:
Tiene una secuencia básica (flujo básico) de
eventos
Puede tener varias secuencias secundarias
(flujos alternos) de eventos
18
19. Flujos de eventos (2)
Usualmente tiene una o mas secuencias
de eventos de excepción (flujos de
excepción) para manejar errores
También puede tener pre-condiciones y
post-condiciones bien definidas
19
26. Modelado de clases (3)
Modelo conceptual
Aproximación inicial de las clases y
relaciones que se visualizan a primera
vista en el modelo.
No tiene detalles pero si muestra la
posible estructura de la aplicación
Tarjetas CRC
26
27. Notación
Alumno
DNI : char[10]
número_exp : int
nombre : char[50]
alta()
poner_nota(asignatura : char *, año : int, nota : float)
matricular(cursos : asignatura, año : int)
listar_expediente()
27
31. Notación (5)
Avión militar Avión comercial
Avión de carga Avión de pasajeros
Motor Vendedor de billetes
Avión
1..4
1
1..4
1
Piloto
Reserva
n
1
n
1
Línea aérea
Vuelo
n1 n1
1..2
n
1..2
n
n1 n1
1
n
1
n
{ disjunta, completa }
{ disjunta, completa }
31
32. Ejemplo
Modelar los componentes que tendría
un simulador de un cajero automático
que permita realizar operaciones
como: retirar fondos, consultar saldo,
cambiar contraseña y transferir fondos.
32