-
Notifications
You must be signed in to change notification settings - Fork 0
/
TPF_Intermedio.bonindea
338 lines (207 loc) · 6.96 KB
/
TPF_Intermedio.bonindea
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
f {
id = f
fecha = 5/4/2021
licencia = Licencia base: CC-BY-SA-4.0
(https://creativecommons.org/licenses/by-sa/4.0/), licencia de las definiciones
del bloque fundamental y la forma de espaciar entre cada sección: CC0
(https://creativecommons.org/publicdomain/zero/1.0/).
autor = Autor: Matías Bonino (o "El Investigador de las Ideas").
Trabajo Práctico Final del Curso de Python Intermedio de Digicampus.
Debe contener:
Módulos.
OOP. #
Herencia, encapsulamiento y UML.
Interfaces gráficas. #
Bases de datos SQLite 3. #
Archivos.
Recursividad.
Fecha de entrega: 18/4/2021.
[
Por cuestiones de comodidad y gusto se crea un nuevo renglón cada vez que se
llegue a la columna 81. Esto se debe a que estoy usando el editor de texto Atom
(https://atom.io/).
]
[
Pueden llegar a actualizarse bloques si se cree necesario, en cuyo caso se
actualizará la fecha del bloque.
]
[
Para copypaste:
Bloque unidefinidor vacío de 4 secciones.
"
{
id =
fecha = //
[
]
}",
Bloque vacío de 3 secciones.
"
{
id =
fecha = //
}"
Dejando espacio para los datos (que van cada uno en un renglón sin espacio entre
ellos), el cuerpo del texto, y para los subbloques se dejan 3 renglones en vez
de 1.
]
{
id = 3
fecha = 5/5/2021
}
{
id = 2
fecha = 5/5/2021
Notas temporales que fui tomando en un archivo de texto.
notas_temporales_TPF.txt {
líneas importantes:
problemas actuales:
.
.
.
roadmap:
|#---------|
-%
0%
hacer : hs
: hs a : hs
biblioteca 100% |##########|
libros 100% |##########|
alta 100%
mod 100%
baja 100%
consultar x título 100%
consultar todos 100%
préstamos 100% |##########|
registrar 100%
terminar 100%
reclamar 100%
Reclamar:
Esta situación se plantea cuando el usuario controla
los préstamos vigentes y el programa detecta que hay préstamos que no se
devolvieron, inmediatamente el programa muestra los datos de la persona a la
que se le prestó el libro para que el usuario pueda comunicarse con él/ella
y así poder acordar la devolución.
-------------------------------------------------
Modelo alternativo:
Modelo actual:
-------------------------------------------------
Copypaste de ayuda para el código: {
--- FALTA TERMINAR --- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
}
}
}
{
id = 1
fecha = 11/4/2021
Primer modelo.
Conjuntos de opciones a tener en cuenta: libros y préstamos.
Empezar haciendo la clase 'Libro'.
________________________________________________________________________________
{
id = 1.1
fecha = 12/4/2021
Aspecto visual del primer modelo.
Ventanilla de presentación y créditos.
Pestañas con botones: libros y préstamos.
Ventana de error.
________________________________________________________________________________
}
{
id = 1.0
fecha = 12/4/2021
Pseudocódigo del primer modelo.
[
Copypaste de instrucción-definición:
"i [
]
"
]
{
Biblioteca [
class Libro
Título, autor, edición, lugar de impresión, editorial, si es una traducción, cantidad de páginas, condición.
Condición:
_ Préstamo en proceso: cuando el libro está en medio de un préstamo a alguno de los afiliados a la biblioteca.
_ Disponible: esta condición indica que el libro está disponible para ser prestado a algún afiliado.
_ Retraso: cuando un libro no ha sido devuelto una vez llegada la fecha de devolución.
_ En restauración: hay libros que, llegado cierto momento, pueden necesitar una restauración, durante las cuales no se puede prestar el libro.
Únicamente se puede prestar un libro en condición de disponible, toda otra condición debe hacer que el programa impida registrar el préstamo.
class Préstamo
Nombre completo de la persona a la que se va a prestar, Teléfono, Mail, Fecha de inicio de préstamo, Fecha de devolución, Libro a prestar.
Menú principal {
Libros {
Dar de alta un libro.
Modificar los datos de un libro. Eso incluye la condición.
Dar de baja un libro.
Consultar un libro en particular por su nombre.
Mostrar todos los libros cargados.
}
Préstamos {
Registrar un préstamo.
Dar por terminado un préstamo.
Reclamar un préstamo: esta situación se plantea cuando el usuario controla
los préstamos vigentes y el programa detecta que hay préstamos que no se
devolvieron, inmediatamente el programa muestra los datos de la persona a la
que se le prestó el libro para que el usuario pueda comunicarse con él/ella
y así poder acordar la devolución.
}
}
]
}
}
}
{
id = 0
fecha = 11/4/2021
Resumen.
Defender el trabajo.
Responder luego unas preguntas (examen teórico).
Aprobado si 70 y 100% del examen.
Caso de estudio: biblioteca.
Libro: título, autor, edición, lugar de impresión, editorial, si es una
traducción, cantidad de páginas, condición.
La condición de un libro es la situación actual en la que se encuentra, la cual
puede ser una de las siguientes:
_ Préstamo en proceso: cuando el libro está en medio de un préstamo a alguno de
los afiliados a la biblioteca.
_ Disponible: esta condición indica que el libro está disponible para ser
prestado a algún afiliado.
_ Retraso: cuando un libro no ha sido devuelto una vez llegada la fecha de
devolución.
_ En restauración: hay libros que, llegado cierto momento, pueden necesitar una
restauración, durante las cuales no se puede prestar el libro.
Únicamente se puede prestar un libro en condición de disponible, toda otra
condición debe hacer que el programa impida registrar el préstamo.
La condición de un libro debe poder ser cambiada por el usuario en cualquier
momento.
Al momento de realizar un préstamo se debe registrar:
_ Nombre completo de la persona a la que se va a prestar.
_ Teléfono.
_ Mail.
_ Fecha de inicio de préstamo.
_ Fecha de devolución.
_ Libro a prestar.
Funcionalidades que el programa debe proporcionar:
_ Libros.
Dar de alta un libro.
Modificar los datos de un libro.
Dar de baja un libro.
Consultar un libro en particular por su nombre.
Mostrar todos los libros cargados.
_ Préstamos.
Registrar un préstamo.
Dar por terminado un préstamo.
Reclamar un préstamo: esta situación se plantea cuando el usuario controla
los préstamos vigentes y el programa detecta que hay préstamos que no se
devolvieron, inmediatamente el programa muestra los datos de la persona a la
que se le prestó el libro para que el usuario pueda comunicarse con él/ella
y así poder acordar la devolución.
Requisitos mínimos:
_ OOP.
_ Tkinter.
_ Perduración de datos: los datos cargados de los usuarios deben permanecer
después de terminada la ejecucuión del programa. El cómo hacerlo es de libre
decisión del programador.
}
}