Python - Actividad Programación Orientada a Objetos

 
Vista:
sin imagen de perfil

Actividad Programación Orientada a Objetos

Publicado por Exequiel (4 intervenciones) el 02/09/2022 06:49:05
Hola Gente!

Antes que nada, disculpen si subo un ejercicio de UML en un foro de Python, pero como observé que este foro esta muy activo y el de UML no, decidí publicarlo aquí por si alguien sabe del tema.

Tengo que resolver una actividad que solo modele la propuesta de un proyecto en Diagrama de Clases en UML.


Propuesta:
La Biblioteca de nuestra facultad desea renovar su sistema de control de préstamos por lo
que solicita a la cátedra de Programación Orientada a Objetos la posibilidad de que los
alumnos del año lectivo 2022 lleven a cabo un software que les permita realizar las diferentes
tareas correspondientes al sector.

La información proporcionada por los funcionarios es la siguiente:

- En la Biblioteca existen muchos tipos de obras. Entre ellas libros, revistas, ensayos,
tesis, manuales, etc. Además, de cada una de estas existe una diversa cantidad de
ejemplares.

- Estas obras se organizan por áreas temáticas, de manera de que sea más fácil su
búsqueda. Por ejemplo, tienen áreas de Matemática, Programación, Contabilidad,
Administración de Empresas, Sistemas Operativos, etc.
- En general, de cada una de las obras se conoce su título, subtítulo, primero, segundo
y tercer autor, género, característica (boletín, colecciones, compendio, diario,
diccionarios, documentales, enciclopedias, manuales, ensayo, investigaciones,
monografía, revistas, tesis, publicaciones mensuales, entre otras), ISBN (International
Standard Book Number-Número Internacional Normalizado para Libros) e
Identificador único de cada ejemplar.

- Además, se requiere contar con información referida a la edición de cada obra. Para
esto se necesita registrar la editorial, país de edición, número de edición, año,
volúmenes, páginas, idioma, formato (electrónico, cd, dvd, papel, video, etc,). En caso
de que la obra forme parte de una colección, es importante conocer el nombre e ISBN
de la colección. También los bibliotecarios solicitan tener un item donde puedan
registrar observaciones generales acerca de cada ejemplar.

- Con respecto a su adquisición, se necesita poder conocer la fecha de adquisición, y
forma en la que se adquirió (compra, donación, etc.). Si el ejemplar fue dado de baja
se necesita poder saber en qué fecha fue dado de baja, el motivo de la misma, la
ubicación física donde se dejó al dar de baja. Si el ejemplar está en préstamo, se
necesita tener esa información. Además, es relevante poder identificar el área
principal de referencia (por ejemplo: programación orientada a objetos, java, python,
matemática, sistemas operativos, ingeniería de software, administración de empresas,
etc.)

- Con respecto al Identificador único de cada ejemplar, el mismo debe permitir poder
identificar además cuál es el lugar físico al que se debe ir a buscar dentro de la
biblioteca.

- Algo interesante que solicitan los funcionarios de la biblioteca es que los índices tienen
que estar también almacenados. Consultados por este pedido indican que quieren
que los alumnos y docentes tengan un lugar donde puedan consultar en qué obras
pueden ubicar un tema en particular y conocer si hay ejemplares disponibles para
retirar y en caso que no haya, poder dejarlo reservado para una fecha determinada
(en este caso lo que se reserva son los ejemplares). Además quien consulta debe
poder conocer cuando se deberían devolver los diferentes ejemplares prestados.

- De cada uno de los lectores se debe poder identificar sus nombres, apellidos, tipo y
número de documento, correo electrónico, número de celular, fecha de nacimiento,
sexo, nacionalidad, domicilio, código postal, departamento, y localidad. También se
desea conocer si es alumno, docente (pudiéndose identificar de qué carrera/s) ó
público en general.

- Cada uno de los ejemplares pueden prestarse para lectura en sala, o para domicilio.
En caso de préstamos a domicilio, los mismos se pueden efectuar por un plazo
máximo de 4 días (este valor es parametrizable ya que puede cambiarse en cualquier
momento). De cada préstamo se necesita conocer la fecha y hora en la que se prestó,
funcionario que lo prestó, y debe quedar registrada la fecha en la que debería ser
devuelto.
- En cuanto a las devoluciones, es necesario conocer fecha y hora de devolución, así
como también quien recibió la obra. En caso de que se haya devuelto fuera de término,
deberá aplicarse una multa al lector. Esto hará que el mismo no pueda levantar
ninguna otra obra hasta que se cumpla el plazo de la multa. También es importante
recalcar que las multas son acumulativas.

- Hay que tener presente que cada ejemplar es etiquetado con un código de barras para
que sea más práctico y ágil el registro de préstamos y devoluciones a través de un
lector de código de barras. Los bibliotecarios solicitan que se preste especial atención
a este pedido ya que quieren evitar errores de tipeo que pueden generar
inconvenientes posteriormente.

- La identificación de las obras es sumamente importante ya que a través de su código
identificatorio se podrá conocer en qué lugar físico de la biblioteca se encuentra (ya
sea pasillo, estantería, estante, etc.) y el libro en sí.

- En cuanto al tema de seguridad de acceso, deberán implementarse todos los
controles necesarios para ello.

El software deberá cumplir además los siguientes requerimientos:
- Listado de lectores que no han devuelto al momento obras y ya se encuentran fuera
de plazo de devolución, debiéndose poder identificar nombres, apellidos, tipo y
número de documento, teléfono y ejemplares que tienen en préstamo.
- Listado de las obras más solicitadas por alumnos y docentes.
- Listado de las obras más solicitadas por público en general.
- Ejemplares disponibles para préstamo para un área de referencia determinada.
- Obras que se encuentran reservadas a partir de una fecha determinada.
- Listado de lectores que tuvieron multas en cierto periodo de tiempo.
- Ranking de lectores por cantidad de multas aplicadas.
- Listado de obras dada una editorial determinada
Se deja abierta la posibilidad de nuevos requerimientos que puedan surgir por pedido de los
bibliotecarios.

Eso seria la actividad, les voy a subir un archivo para que vean como estoy yendo con la actividad

Me faltan un par de cositas por hacer, pero quería saber si voy por buen camino y si me querían tirar unos tips para continuar con el ejercicio, o si podían modificarlo y o mejorarlo si tiene algún error o tal vez una guía de como continuarlo porque me encuentro un poco estancado en este momento jaja.

Se lo agradecería si me ayudaran. Muchas Gracias!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder