Examen de mitad de trimestre. Primavera
2002
Normas
Éste es un examen no presencial.
Puede realizarlo donde quiera y utilizar todos los recursos
que desee. El único requisito es hacerlo sin
ayuda de nadie (sin colaboradores, ni siquiera los miembros
de su equipo). Si recurre a la sección de un
libro o a una página web, cite la fuente. Una
calificación de 80/100 es un resultado muy bueno
para este examen, así que si hay una parte que
se le resiste o no le interesa, contéstela rápidamente
y pase a las que sí le interesan. Cuando
haya terminado el examen, envíe el resultado
por correo electrónico (en texto sin formato,
por favor) al profesor. Al principio del mensaje, incluya
un párrafo en el que quede claro que el examen
lo ha realizado sin ayuda de nadie. Dispone de
una semana para realizar el examen.
Recursos
A continuación,
detallamos los recursos que pueden serle de ayuda para
responder las preguntas.
¿Problemas? ¿Tiene
alguna pregunta?
Envíe un mensaje de correo
electrónico al profesor.
Pregunta 1: Desarrollo de un
modelo de datos
Acceda a netflix.com.
Suscríbase a la opción de membresía
de prueba gratuita de 10 días y siga estos pasos:
- Observe la página que
describe la película "Strictly Ballroom". Analice
detalladamente la información que se ofrece
sobre esta película, incluidas las críticas
de los usuarios y las categorías de dichas
críticas.
- Agregue algunas películas
en su lista de alquiler.
- Vuelva a ordenar esta lista
de tal forma que la última película
seleccionada sea la siguiente en el envío.
- Elimine algunas películas
de la lista.
- Lea las opciones ofrecidas para
informar sobre problemas de envío, pero no
rellene ningún formulario de pérdida
ni de retraso.
- Califique algunas películas.
- Solicite las películas
recomendadas según las calificaciones que acaba
de facilitar.
Desarrolle ahora un modelo de
datos para el sitio netflix.com. Su modelo de datos deberá
ser lo suficientemente completo como para gestionar todas
las acciones descritas anteriormente y hacer funcionar
el núcleo principal del servicio. Suponga que existe
de una tabla de usuarios con claves user_id. El modelo
de datos deberá incluir las limitaciones de integridad
correspondientes y los índices para facilitar las
consultas que considera necesarias para las páginas
a las que acaba de acceder. El modelo de datos deberá
contener también los comentarios correspondientes.
Compruebe su modelo de datos insertándolo
en un RDBMS y asegurándose de que se aceptan
sin errores las sentencias CREATE TABLE y la definición
de índices. Probablemente deberá crear
un nuevo usuario de base de datos para que las definiciones
de la tabla no entren en conflicto con el resto de tablas
que tal vez haya definido para el proyecto en equipo.
Extensión de la respuesta:
si el modelo de datos contiene más de 15-20 tablas,
lo más probable es que se enfrente a muchos casos
especiales.
Pregunta 2: Consultas más
complejas de SQL
Escriba un programa informático
que genere la página "aquí están
las películas que le recomendamos según
su calificación y en comparación con la
del resto de usuarios" realizando consultas en el modelo
de datos definido en la Pregunta 1. Idóneamente,
cada programa debe ser una consulta sencilla de SQL
que devuelva filas en orden descendente de probabilidad
de que al usuario le guste la película. Puede
utilizar bloques de lenguaje de procedimiento, por ejemplo,
funciones de PL/SQL de Oracle.
Compruebe las consultas insertando
el modelo de datos de la Pregunta 1 en el RDBMS que
ha estado utilizando este semestre. Rellene las tablas
al menos con los siguientes datos de prueba (puede incluir
más si lo desea):
- A Schlomo Lifschitz le encantó
"Terminator 2", le gustó "Terminator" y "The
Replacement Killers", no le disgustó "Tigre
y dragón" y detestó "Lo que el viento
se llevó".
- A la mujer de Schlomo, Rachael,
no le gustó nada T2, le disgustó Terminator,
no le disgustó "Tigre y dragón" y le
encantó "GWTW."
- Al abogado
que se encargó de su divorcio no le gustó
absolutamente nada "GWTW" y le gustó
"Gaslight."
- Al juez que se encargó
del caso, Ronald Heidegger, le encantó "GWTW"
y le gustó "Emma."
Imprima la transcripción
de una sesión de base de datos en la que utilice
la consulta para generar recomendaciones de películas
a Biff y Ronald. Tenga en cuenta que la consulta nunca
deberá recomendar una película a alguien
que ya la haya visto.
Pregunta 3: Análisis
de usabilidad
Acceda a photo.net con
el objetivo de cargar tres fotografías y compartirlas
con seis conocidos (enviándoles una URL).
Siga estos pasos:
- Busque el servicio de compartición
de fotografías en photo.net.
- Cargue sus tres fotografías
(si utiliza las fotos que yo mismo he facilitado,
recuerde que están tomadas con una cámara
Canon EOS-5 camera, lente 70-200/2.8L y con película
Fuji Astia).
- Intente encontrar una aplicación
dentro del servicio de compartición de fotografías
para preparar y mostrar las tres fotografías.
- Prepare una muestra (con las
fotografías acompañadas de texto explicativo).
Critique la experiencia del
usuario. Su crítica debe ser clara en lo relativo
a los puntos débiles del sistema actual. También
debe ser explícita: qué se debe cambiar,
por ejemplo, que un programador auziliar pueda implementar
las mejoras dejando atrás criterios estilísticos.
Extensión de la respuesta:
1 ó 2 páginas.
Pregunta 4: Reflexión
sobre la aplicación general
Suponga que alguien se da cuenta
de las incoherencias y la lentitud del sitio web de la
organización del campus del MIT (acceda a Actividades
y clubes del MIT para obtener una lista de antecedentes).
El diseño de la web corrió a cargo de profesionales
del MIT (con algo de ayuda de físicos suizos y
del NCSA): ¿no damos para más?
Imagine que el decano adjunto de
sistemas de Internet le pide desarrollar un servidor
central que ofrezca subcontratación de tecnologías
a las organizaciones de estudiantes del MIT. A cada
organización se le adjudicará una porción
del servidor en vez de tener que crear un sitio web
independiente. ¿Qué servicios debería
proporcionar esta unidad central a las organizaciones?
¿Al jefe de cada club? ¿A los miembros
del club? ¿A un nuevo estudiante que no sepa
a qué club suscribirse? ¿A un decano del
MIT que no sepa qué club financiar?
Extensión de la respuesta:
2 ó 3 páginas.
Pregunta 5: Justificación
de decisiones de ingeniería
Seleccione algunas herramientas
de hardware y de software que sirvan de apoyo al sistema
de subcontratación informática para clubes
del MIT que diseñó en la Pregunta 4. Explique
estas decisiones en términos de capacidad de usuarios,
todas las posibles circunstancias que puedan relacionarse
con el servicio que se ejecuta en el MIT y sin perder
de vista la mantenibilidad a largo plazo. Intente prever
las preguntas que puedan surgir a los que analizan el
problema, por ejemplo:
- ¿Por qué utiliza
[el RDBMS seleccionado]? ¿No sería más
barato y rápido utilizar MySQL?
- ¿Cuál es el mejor
programa de servidores web?
- ¿Sería mucho más
sencillo y barato hacer todo esto con Microsoft Sharepoint
o cualquier otro programa ya preparado?
- ¿Tiene sentido contar
con un sistema de dos niveles con consultas de SQL
incrustadas en secuencias de comandos de páginas
o contar con algo parecido a Java® 2 Enterprise
Edition, donde las Java® Beans empresariales
se conservan durante las transacciones SQL generadas
por la máquina?
- ¿Qué formación
sería necesaria para que el programador pueda
encargarse con seguridad del mantenimiento de este
sistema? ¿Cómo sabremos que el programador
ya está preparado para comenzar a modificar
el sistema?
Extensión de la respuesta:
2 páginas en total.
Entrega del examen
Envíe las respuestas por
correo electrónico al profesor.
Al principio del mensaje, incluya
un párrafo en el que quede claro que el examen
lo ha realizado sin ayuda de nadie.
|