Proyecto Biblioteca Final

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 8

Asignatura : Análisis de Software

Integrantes : William Inzandara


Camilo Toro

Proyecto Biblioteca (Proceso de Préstamo de Libros)

1. Roles:

• Gerente de Proyecto: Se encargará de coordinar el trabajo, definir los objetivos y


garantizar que las tareas se completen a tiempo.

• Desarrollador: Será responsable de implementar las clases y métodos en el código,


basándose en el esquema UML.

• Diseñador (UI/UX): Ayudará a plasmar el Journey Map del usuario y trabajará en el diseño
de las interfaces que reflejen el flujo del préstamo en el mapa.

• Arquitecto de Software: Diseñará la arquitectura del sistema, incluyendo la relación entre


clases y la cardinalidad adecuada.
2. Metodología para la Abstracción del Problema:

La metodología elegida es Journey Map, que ayudará a detallar el proceso de interacción del
usuario con el sistema de préstamo de libros. Este mapa permitirá entender los pasos clave en el
flujo del préstamo, desde la búsqueda del libro hasta su devolución, facilitando el diseño de clases
en el esquema UML
3. 5 de las preguntas de validación:

• ¿Es cada requerimiento es consistente con los objetivos generales para el sistema o
producto?

Los requerimientos, como la búsqueda de libros, el préstamo y la devolución, están


alineados con el objetivo de facilitar y optimizar el acceso y préstamo de los recursos
bibliográficos de la biblioteca.

• ¿Se especificaron todos los requerimientos en el nivel apropiado de abstracción?

Sí, los requerimientos como "el sistema debe permitir la búsqueda por título o autor" y
muchos otros requerimientos están a un nivel adecuado de abstracción sin entrar en
muchos detalles técnicos innecesarios.

• ¿Es el requerimiento realmente necesario, o representa una característica adicional que tal
vez no sea esencial para el objetivo del sistema?

Alguno de los requerimientos que tenemos en el momento son únicamente esenciales,


como son los requerimientos referentes a la búsqueda y al préstamo de libros. Otras
funcionalidades adicionales, como recomendaciones automáticas y similares podrían no
ser críticas en esta etapa , por eso no las hemos espeficicado.

• ¿Puede alcanzarse cada requerimiento en el entorno técnico que alojará el sistema o


producto?

Sí, la tecnología disponible, como bases de datos para almacenar la información de los
libros y usuarios, permite implementar estos requerimientos dentro de las capacidades
técnicas actuales.

• ¿Están algunos requerimientos en conflicto con otros?

Hasta ahora, no se han detectado conflictos entre los requerimientos. Cada funcionalidad
está diseñada para complementarse entre sí.
4. Diseñe un esquema UML que contenga como mínimo 4 clases
con sus respectivos atributos y métodos.
5. Establezca relaciones entre dos clases especificando como se relacionan.
6. Determine la relación de cardinalidad según sea el caso: Uno a muchos, uno a
cero, muchos a uno, entre otras.

1. Relación entre Usuario y Prestamo

Relación: Asociación

• Tipo de Relación: Uno a muchos

• Descripción: Un usuario puede tener múltiples préstamos, mientras que cada préstamo
está asociado a un solo usuario. Esto significa que un usuario puede solicitar varios
recursos en diferentes momentos, pero cada préstamo pertenece a un único usuario.

• Cardinalidad:

o Usuario: 1 (uno)

o Prestamo: * (muchos)

Ejemplo de Implementación:

• Atributo en Usuario: prestamos: List<Prestamo> (lista de préstamos asociados a un


usuario).

• Atributo en Prestamo: usuario: Usuario (indica que cada préstamo está vinculado a un
único usuario).

Diagrama de Asociación:

[Usuario] <--- 1 ----> [Prestamo] <--- * ----> [Usuario]

2. Relación entre Cuenta y Multas

Relación: Asociación

• Tipo de Relación: Uno a muchos

• Descripción: Cada cuenta puede tener múltiples multas asociadas, mientras que cada
multa está vinculada a una sola cuenta. Esto permite que un usuario acumule varias multas
a lo largo del tiempo por distintos incumplimientos.

• Cardinalidad:

o Cuenta: 1 (uno)

o Multas: * (muchos)

Ejemplo de Implementación:

• Atributo en Cuenta: multas: List<Multas> (lista de multas asociadas a la cuenta).


• Atributo en Multas: cuenta: Cuenta (indica que cada multa pertenece a una única cuenta).

Diagrama de Asociación:

[Cuenta] <--- 1 ----> [Multas] <--- * ----> [Cuenta]

3. Relación entre Recurso y Prestamo

Relación: Asociación

• Tipo de Relación: Muchos a muchos

• Descripción: Un recurso puede ser parte de múltiples préstamos, y un préstamo puede


incluir varios recursos. Esto significa que los recursos pueden ser solicitados por diferentes
usuarios en distintos préstamos, y un préstamo puede agrupar múltiples recursos.

• Cardinalidad:

o Recurso: * (muchos)

o Prestamo: * (muchos)

Ejemplo de Implementación:

• Atributo en Prestamo: recursos: List<Recurso> (lista de recursos asociados a un préstamo).

• Atributo en Recurso: prestamos: List<Prestamo> (lista de préstamos en los que está


involucrado el recurso).

Diagrama de Asociación:

[Recurso] <--- * ----> [Prestamo] <--- * ----> [Recurso]

4. Relación entre Cuenta y Usuario

Relación: Asociación

• Tipo de Relación: Uno a uno

• Descripción: Cada cuenta está asociada a un único usuario, y cada usuario tiene una sola
cuenta. Esta relación es esencial para la identificación y acceso del usuario al sistema.

• Cardinalidad:

o Cuenta: 1 (uno)

o Usuario: 1 (uno)

Ejemplo de Implementación:

• Atributo en Cuenta: usuario: Usuario (indica que una cuenta tiene un solo usuario).
• Atributo en Usuario: cuenta: Cuenta (indica que un usuario tiene una sola cuenta).

Diagrama de Asociación:

[Cuenta] <--- 1 ----> [Usuario]

5. Establezca relaciones entre dos clases especificando como se relacionan.


6. Determine la relación de cardinalidad según sea el caso: Uno a muchos, uno a
cero, muchos a uno, entre otras.

• Multas(Class)

In Sistema de Prestamo de Recursos de Biblioteca

Attributes
valorMulta : Integer [1]
tipoMulta : String [1]
Operations
generarReporte : String
retirarReporte
Associations
Multas_Cuenta - : Cuenta [1] - see definition

• Prestamo (Class)

In Sistema de Prestamo de Recursos de Biblioteca

Attributes

fechaInicio : String [1]

fechaFinal : String [1]

reserva : Boolean [1]

domicilio : Boolean [1]

Operations

bloqueoCuenta

cambiarEstado

validarCantRecPres

aprobarPrestamo

Associations

Cuenta_Prestamo - : Cuenta [1..*] - see definition


• Recurso (Class)

In Sistema de Prestamo de Recursos de Biblioteca

Attributes
tipoRecurso : String [1]
estado : Boolean [1]
restriccion : Boolean [1]
Operations
validarDisponibilidad : Boolean
Associations
Recurso_Cuenta - : Cuenta [1] - see definition

• Usuario (Class)

In Sistema de Prestamo de Recursos de Biblioteca

Attributes

nombre : String [1]

numId : Integer [1]

tipoUser : String [1]

tipoId : String [1]

direccion : String [1]

numTelefono : Integer [1]

correo : String [1]

historicoMultas : String [1]

Operations

pagarMulta

solicitarPrestamo

devolverPrestamo

Associations

Cuenta_Usuario - : Cuenta [1] - see definition

También podría gustarte