Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Ejemplo: SI de Una Biblioteca
Ejemplo: SI de Una Biblioteca
R1
R2
R3
R4
R5
R6
R7
R8
R1
R2
R3
R4
R5
R6
R7
R8
PERSONA
SOCIO
PROFESOR
BIBLIOTECARIO
4
Hacer socio
Consultar catlogo
PERSONA
BIBLIOTECARIO
Actualizar catlogo
<<uses>>
Consultar catlogo
BIBLIOTECARIO
Pedir libro
Consultar catlogo
Reservar libro
<<uses>>
Identificar socio
SOCIO
<<extends>>
Reservar libro
<<extends>>
BIBLIOTECARIO
Consultar catlogo
devolver libro
Extender prstamo
<<uses>>
Identificar socio
SOCIO
<<extends>>
Extender prstamo
BIBLIOTECARIO
Borrarse de socio
<<uses>>
SOCIO
Identificar socio
BIBLIOTECARIO
Pedir revista
Consultar catlogo
<<uses>>
Identificar socio
PROFESOR
<<extends>>
BIBLIOTECARIO
Consultar catlogo
10
Devolver revista
<<uses>>
PROFESOR
Identificar socio
BIBLIOTECARIO
11
<<uses>>
Consultar catlogo
BIBLIOTECARIO
12
13
14
15
16
17
18
19
20
PrstamoP
1
0..*
Publicacin
0..12
prestadaA
{disjoint, complete}
Revista
Copia
1..*
0..6
prestadaA
PrstamoC
Libro
reserva
0..1
0..*
0..*
Socio
Profesor
0..1
21
HistricoP
1
0..*
Publicacin
0..12
fuPrestadaA
{disjoint, complete}
Revista
Copia
1..*
0..6
fuPrestadaA
HistricoC
Libro
reserva
0..1
0..*
0..*
Socio
Profesor
0..1
22
1
0..*
Revista
0..6
Copia
1..*
0..6
prestadaA
Libro
reserva
0..1
0..*
0..*
Socio
PrstamoC
prestadaA
0..1
Profesor
PrstamoR
23
24
1
0..*
Revista
0..6
Copia
1..*
0..6
fuPrestadaA
Libro
reserva
0..1
0..*
0..*
Socio
HistricoP
fuPrestadaA
0..1
Profesor
HistricoR
25
:Bibliotecario
:Sistema
IdentificarSocio(dni) : Socio
EnPrestamo(dni) : InfoLibros
ConsultarLibro(Libro) : InfoLibros
ReservarLibro(dni, signatura)
PrestarCopia(dni, idCopia)
26
Name:EnPrestamo(dni) : InfoLibros
Responsabilities
Mostrar los copias prestadas al socio. La informacin incluye el
periodo de prstamo y la fecha de devolucin de cada copia
Exceptions
Si no existe ningn socio con s.dni = dni, indicar error
Preconditions
Existe un socio s.dni = dni
Postconditions
Salida
Todas las copias
c = (Copia.prestadaA -> select(s.dni = dni))
Todas sus fechas de inicio y fin de prstamo
p = (c.prstamoC)
27
Name:PrestarCopia(dni, signatura)
Responsabilities
Registra el nuevo prstamo con la fecha actual.
Exceptions
Preconditions
Existe un socio s.dni = dni
Existe una copia c.idCopia = idCopia
Postconditions
Se cre una instancia pc de la asociacin PrstamoC
Se asoci pc a la cpia c y al scio s
pc.iniFecha = fechaActual()
pc.finFecha = fechaActual() + c.tiempoMax
c.estado = prestado
Salida
28