Académique Documents
Professionnel Documents
Culture Documents
DE DIOS
Análisis y modelado de
Sistemas de Información
CAPTURA DE REQUISITOS
• Son propiedades o
restricciones del sistema
– no acerca de lo que hay
que hacer
HAY QUE CAPTURAR LOS REQUISITOS:
NECESIDADES DE ALMACENAMIENTO DE
DATOS
◦ Modelo del Dominio (o Modelo del Negocio)
Análisis
Diseño
Implementación
Prueba
Gestión del
Proyecto
Estudiante
El estudiante DECIDE
EJECUTAR EL C.U.
Realizar Matrícula
iniciador
Sistema Bancario
Estudiante
Flujo de eventos (o sucesos)
◦ El estudiante proporciona su DNI
◦ El sistema muestra todas las asignaturas en las que puede
matricularse y que, de momento, no están completas
◦ El estudiante escoge las asignaturas que desea
◦ El sistema calcula el precio de la matrícula y realiza el cobro de la
cuenta del estudiante en el sistema bancario
Flujos de eventos alternativos:
◦ 1.- El DNI proporcionado no es el de un estudiante. Fin.
◦ 2.- Alguna de las asignaturas está completa. Fin.
NOTA: Esto puede ocurrir porque el CU se ejecuta
concurrentemente
Requisitos especiales
◦ El CU “REALIZAR MATRÍCULA” debe ejecutarse en un
tiempo razonablemente corto.
◦ El CU debe indicar durante su ejecución si alguna de
las asignaturas en las que se quiere matricular está
completa
No es aceptable que después de matricularte en una
asignatura te digan que no puede ser, que la asignatura
estaba completa
◦ Debe poder ejecutarse de manera simultánea por al
menos 20 estudiantes.
◦ …
Realizar Matrícula
iniciador
Sistema
Estudiante
FLUJO DE EVENTOS:
• El estudiante introduce el DNI, …
• Se almacenan los datos de las matrículas en el sistema,…
Realizar Matrícula
Estudiante
Escoger Asignaturas
Sistema
iniciador Bancario
Pagar Nóminas
Profesor
iniciador Solicitar Carnet Deportivo
Estudiante Sistema
Bancario
¿ Y si los profesores también
pueden solicitar carnet
deportivo?
iniciador Solicitar Carnet Deportivo
Estudiante Sistema
iniciador Bancario
Estudiante Sistema
Bancario
Sistema
Universitario Bancario
SOLUCIÓN 2:
(MEJOR)
generalización
Estudiante entre actores
Profesor
Relaciones entre CU:
includes
<<includes>>
CASO DE CASO DE
USO A USO B
CASO DE CASO DE
USO A USO B
<<includes>>
Estudiante
Escoger Asignatura
<<includes>>
Identificarse
Profesor
Reservar Libro
<<includes>>
Lector
Buscar Libro
por código
<<extends>>
Estudiante Escoger Asignatura
- No identificado
<<extends>>
Identificarse
Profesor
Ingresar Dinero
<<includes>>
Estudiante
Seleccionar asignatura
<<includes>>
Empleado
Imprimir informe
Cliente
Retirar Dinero
Socio
Flujo de eventos:
El socio da su número de socio y la signatura del libro que desea tomar en
préstamo
El sistema comprueba si existe alguna copia no prestada de dicho libro
Si no hay copias disponibles: EXTENDS RESERVAR LIBRO
Se comprueba que el socio no se pasa de su número máximo de libros en
préstamo
Se registra el nuevo préstamo con la fecha actual
CASO DE USO: TOMAR COPIA LIBRO EN PRÉSTAMO
SIGNATURA LIBRO:
NÚMERO SOCIO:
método1 (parámetros),…
NOMBRE DE LA SUBCLASE
metSubc1 (parámetros),…
PISO GARAJE
numeroHabitaciones: int,… cerrado: boolean,…
CLASE A CLASE B
susA suB
1..* 0..1
cardinalidades
@a1 @b1
@G1
Hériz 5 15000.50 true
@P1
@C1
@P2
ASOCIACIÓN
@C2
@G1
CLASE A Un par <b,c> conocido puede
estar asociado a los a’s que
quiera
0..1 0..*
Un par <a,b> conocido puede estar Un par <a,c> conocido puede estar asociado a los
asociado a los sumo con un solo c b’s que quiera
0..* 0..*
* ≡ 0..* matriculadoEn
*
Profesor Asignatura
imparte *
*
*
Profesor * Asignatura
* *
Profesor * Asignatura
0..1 *
Profesor * Asignatura
0..1 *
Profesor * Asignatura
0..1 *
1..*
0..1
CLASE A
CLASE B
formaParteDe 1..*
0..1 formadoPor
Coche Rueda
4
0..1
Motor
1
CLASE A CLASE B
1..*
1
Única cardinalidad posible
CLASE A CLASE B
esComponenteDe 1..*
1 compuestoPor
Coche Rueda
4
1
Motor
1
susA suB
1..* 0..1
CLASE C
Clase Asociación
atrib
Para almacenar
<objeto de A, objeto de B, Atrs. PROPIOS>
@a1 @b1 Objetos de la clase B
susA suB
1..* 0..1
CLASE C
Clase Asociación
1..* 0..1
* *
Matrícula
Clase Asociación
numConv,
nota,…
0..1 0..*
CLASE D
Diagrama de clases en UML
Clase A
…
susA
0..*
suB
Clase D 1 Clase B
0..5
atrD1 .. …
Clase E
atrE1
1 0.. Clase BD
* atrBD1 ..
… Clase C
…