[Php-avanzado] Corrección trabajos finales PHP Avanzado 2011-2

Leonardo Tadei - Pegasus Tech Supply leonardot en pegasusnet.com.ar
Sab Ago 18 00:32:04 ART 2012


Estimados todos,

	Les envío la corrección de los trabajos finales.
	Espero que la experiencia de hacer estos trabajos haya sido instructiva
y enriquecedora para todos: como una instancia más del aprendizaje, es
la oportunidad de hacer sus aportes con las herramientas que obtuvieron
durante el curso.
	Recuerden que, tal como convinimos al principio del curso, todos tienen
1 punto menos en la nota final por la fecha de entrega. Les pongo además
el porcentaje obtenido, para que tengan una mejor medida de las cosas
que vimos y las pautas de corrección.

	Las calificaciones son:

Alumno			%	Calif	Total Curso
---------------------------------------------------
AVILES, Julio Sebastián incompleta	----	--------------
BARRAUD, David 		96%	8.40	7.42	curso aprobado
BEROIZA, Pablo Andrés 	76%	5.4	----	--------------
DI SCALA, Antonela 	83%	6.45	6.64	curso aprobado
MARQUEZ, Sergio 	incompleta	----	--------------
PELIZZARO, Luciano Hugo 91%	7.65	6.04	curso aprobado


	Algunas cosas que vale la pena mencionar como aportes a sus trabajos:

Julio: tu trabajo final está muy incompleto para que lo pueda aprobar.
Lo siento. Muchas cosas no funcionan y te faltan los ABM de Modelos y
separar las Ventas y Compras del propio vehículo para poder vincular un
mismo propietario a más de un auto. No cumplís además con el único
requisito técnico que pedimos: que los datos de la conexión a la DB
estén en un solo lugar.
	Está bastante bien encarado, pero no te acercás a un trabajo
mínimamente funcional :( Podemos vernos en la FI cuando empiecen los
cursos de cuatrimestre y ver juntos como podrías seguir adelante.

David: muy buen trabajo. El único error que puede ser considerado como
tal que tenés, es que luego de salir no estás destruyendo bien la
sesión, porque lo que presionar el botón "atrás" del navegador te vuelve
a la misma y seguís logueado. Varias panallas necesitan un paginador,
sobre todo la de solicitudes, porque esas cosas siempre se agregan y con
los meses de uso, va a tardar demasiado en cargar la página.
	Como cosas a mejorar, podría las solicitudes de reparación en solapas
según el estado o con un filtro de algún tipo, porque a medida que se
agreguen, esa pantalla de vuelve muy poco usable. Emprolijar en la vista
de las solicitudes los NULL y las fechas en cero le dará mejor aspecto
para el usuario final. También sería más cómodo si mostrás en las combos
los Insumos alfabéticamente, porque si no es más difícil encontrarlos.
	Muy buena la generación de PDF para los comprobantes. Como detalle, le
podrías generar un nombre para cada tipo de comprobante y concatenarle
el número, así el que los guarda no tiene un trabajo manual extra para
organizarlos.

Pablo: tu trabajo final está bien en general. No hay validaciones del
lado del cliente, y faltan algunas validaciones del lado del servidor,
como el no poder cargar dos veces el mismo taller al mismo alumno. Estás
usando una plantilla para la decoración, pero todo el código que
generaste no usa estilos y está decorado inline.
	La interfaz para cargar las asistencias necesita urgente algo para que
sea difícil cargar mal los horarios, porque si no el tiempo se calcula
mal. Dicho sea de paso, si ponés solo minutos sin horas, el tiempo se
calcula mal también. También un mecanismo para poner la fecha más simple
y menos ambiguo.
	El logout arriba al lado de los "agregar" es algo incómodo: podría ir
perfectamente abajo del todo del menú, un poco separado del resto.

Antonela: está bien estructurado y muy bien en general. Lo más flojo es
la usabilidad: no es fácil encontrar las cosas, algunas pantallas no
tienen vuelta atrás, buscar datos sirve solo para verlos y no para
editarlos y algunas ediciones no precargan las combos. 
	Poner en una caja de selección un dato para usar deja de ser viable y
tenés, por ejemplo 2000 o 3000 datos. Para este software, si lo van a
poner en producción, deberías cambiar al menos el selector de Alumnos,
porque si no el tamaño de esa lista lo hará funcionar mal. Se podría
reemplazar por un buscador que use AJAX y te traiga solo un subconjunto
de los datos.
	Otra cosa que no sirve es el calendario, ya que para cargar una fecha
de nacimiento tenés que clickear unas 20 veces! Tener un calendario está
bueno, pero se tiene que poder llegar rápido a las fechas que más se
usen.

Sergio: hiciste un muy buen trabajo de base para la aplicación y está
muy bien encarada. Sin embargo, la parte que funciona es demasiado poco
para poder aprobarte. Lo siento.
	La probé incluso poniendo a PHP en un modo muy permisivo, porque
trabajando en modo Estrict aparecían errores que podían estar impidiendo
las correctas llamadas JS y AJAX, pero aún así no se pueden cargar
clientes ni proveedores, las ediciones de los cargados no funcionan, las
provincias no están implementadas, no se agregan ventas ni compras y no
se pueden marcar como cobradas.
	Cuánto tiempo creés que te hace falta para terminarla? Con tu buena
calificación y esto que me entregaste, seguro que podés conseguir con
Silvio una prórroga para entregar más tarde y aprobar el curso.
	Además, por el trabajo que hiciste, me gustaría que hagas el curso de
Diseño de Software con Objetos: te va a dar un muy buen pantallazo de
otra forma de concebir y construir software.

Luciano: hiciste un buen trabajo. La gráfica que usaste es amena y sirve
a la usabilidad con el uso de HTML5. el mayo problema que tenés es la
falta de validación del lado del servidor para manejar inconsistencias.
Por ejemplo, creé una Localidad, luego un Laboratorio en esa Localidad,
borré la Localidad (y pude!) y el Laboratorio desapareció del listado,
si bien seguía estando para elegir de las listas desplegables.
	Me desorientó un poco que las opciones del menú que despliegan también
lleven a pantallas. Claro que esto no baja puntos, pero significó que
pasé un rato hasta encontrar el ABM de Médicos.
	Las funciones de Baja y Edición creo que serían más cómodas si
estuvieran en la misma pantalla (con dos íconos) en vez de tener que
pasar de una pantalla a la otra. Tal vez ser podría integrar más todavía
con el alta y la búsqueda.
	Del uso de AJAX no opino demasiado, pero ya que estabas con eso,
podrías haber hecho formularios de alta y modificación emergentes, y
sobre todo sacar los alert() de confirmación de que se cargaron las
cosas. Los listados que con el tiempo serán largos, como los de
Pacientes y Médicos entre otros, van a necesitar un paginador para
restringir el tiempo de carga cuando haya muchos datos.


	Nada más por ahora.
	Les envío un saludo cordial.

-- 
Leonardo Tadei
leonardot en pegasusnet.com.ar
Web: http://leonardo.tadei.com.ar
Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key



Más información sobre la lista de distribución Php-avanzado