Obligatorio de: Diseo de Aplicaciones II Cdigo de materia: 3899
Fecha: 1/04/2014 Grupo: Todos Hoja 1 de 7 1
DESCRIPCIN DEL PROBLEMA
Se desea desarrollar una aplicacin Windows Forms Application que permita mantener la informacin de los libros que lee el usuario de la aplicacin, la misma se va a comercializar con el nombre BuenEntretenimiento.
CARACTERSTICAS ESPERADAS
La aplicacin est orientada al uso familiar y se deber disear para que pueda ser utilizada por los distintos miembros de la misma.
Usuarios Por defecto la aplicacin debe incluir un usuario Administrador que tiene permisos para utilizar cualquier funcionalidad de la aplicacin. Es importante destacar que al ser una aplicacin familiar la facilidad de uso y la seguridad respecto a los contenidos son aspectos primordiales.
Administrador 1.- Administracin de usuarios. El usuario administrador de usuarios debe poder: Mantener los datos de cualquier usuario. Los datos de los usuarios son: Nombre de usuario (*) Contrasea (*) siguiendo las recomendaciones para contraseas seguras que se encuentran en Contraseas (Determining password strength, Guidelines for strong passwords, y Password policy) Nombre y apellido Direccin de correo Fecha de nacimiento Alias
Usuarios no administradores. Cualquier usuario registrado puede realizar las siguientes operaciones: 2.- Administracin de datos personales. Cada usuario debe poder modificar sus datos personales o eliminar su cuenta. 3.- Importar datos de libros. Cada usuario puede importar los datos de sus libros (ver importacin de datos). 4.- Mantener datos de libros. Cada usuario puede ingresar, modificar y eliminar datos de sus libros. Datos Libros Ttulo (*) Autor principal Otros autores Fecha registrado (*) Edicin ISBN o ISBN13 Editorial Ao de publicacin Imagen de tapa Escuela de Ingeniera Obligatorio de: Diseo de Aplicaciones II Cdigo de materia: 3899 Fecha: 1/04/2014 Grupo: Todos Hoja 2 de 7 2
Descripcin Los campos indicados con (*) son obligatorios.
5.- Registro de avance y comentarios. A su vez el usuario puede mantener informacin sobre su experiencia de lectura registrando la siguiente informacin: Avance en la lectura puede indicar el % de avance en lectura del libro. Si marca el 100% se registra la fecha de finalizada la lectura del mismo. Etiquetas puede elegir o agregar etiquetas descriptivas a las publicaciones. Una vez creada una etiqueta pasa a ser pblica al resto de los usuarios. Revisin puede agregar un comentario y una valoracin utilizando una escala de una a cinco estrellas, para ambas acciones se registra la fecha de escrita la nota. Esta informacin debe ser de fcil acceso para que el usuario rpidamente pueda escribir su revisin y valoracin. Debe brindarse tambin la posibilidad de que registre: Fecha en que comenz la lectura del libro. Fecha en qu finaliz la lectura del libro.
6.- Bsquedas, consultas o vistas sobre los libros. Los usuarios pueden realizar las siguientes consultas o deben poder visualizar fcilmente la siguiente informacin: Buscar entre sus libros mediante los siguientes criterios: ttulo, autor principal, ISBN y etiquetas. Lista de mis libros en la cual se muestran todos los libros del usuario. Lista de libros del usuario entre dos fechas de finalizacin de lectura. En cualquiera de estas consultas el usuario debe poder visualizar los siguientes datos bsicos: Ttulo Lista de autores (separado por comas) Fecha registrado Edicin Imagen de tapa Descripcin Avance en la lectura Etiquetas Datos bsicos de la revisin comentario y una valoracin en estrellas
Opcionalmente puede ver el resto de los datos del libro si as lo desea.
El usuario administrador puede realizar las mismas consultas pero sobre los libros de todos los usuarios, con la opcin de hacerlo para determinados usuarios. En este caso, adems de los datos bsicos de cada libro, se debe mostrar un promedio de las valoraciones de cada libro en base a la de todos los usuarios y las revisiones y avance de lectura por usuario.
Importacin de datos Escuela de Ingeniera Obligatorio de: Diseo de Aplicaciones II Cdigo de materia: 3899 Fecha: 1/04/2014 Grupo: Todos Hoja 3 de 7 3
Se desea brindar la posibilidad de importar los datos de los libros de fuentes en diversos formatos permitiendo en forma sencilla y extensible. Para esto la aplicacin debe poder configurarse para adicionar nuevos proveedores de importacin sin necesidad de instalar actualizaciones de la aplicacin.
Se desea lanzar el producto con dos proveedores de importacin:
Archivo XML. El formato del archivo xml es: <?xml version="1.0" encoding="UTF-8"?> <Importacion> <Libro> <Titulo>Universal Principles of Design: 100 Ways to Enhance Usability, Influence Perception, Increase Appeal, Make Better Design Decisions, and Teach Through Design</Titulo> <Autor>William Lidwell</Autor> <AutoresAdicionales>Jill Butler, Kritina Holden</AutoresAdicionales> <ISBN>1592530079</ISBN> <ISBN13>9781592530076</ISBN13> <Editorial>Rockport Editorials</Editorial> <AAAPublicado>2003</AAAPublicado> </Libro> . </Importacion>
El segundo proveedor, importa la informacin en un archivo TXT separado por comas (CSV). Separador de campo (,) Cualificador de texto () Pgina de cdigos: Unicode (UTF-8)
Ejemplo "Universal Principles of Design: 100 Ways to Enhance Usability, Influence Perception, Increase Appeal, Make Better Design Decisions, and Teach Through Design","William Lidwell","Jill Butler, Kritina Holden","1592530079","9781592530076","Rockport Publishers",2003
NOTAS: Los mdulos de importacin solo importan los datos del libro, sin imgenes. Se debe permitir subir las imgenes desde la aplicacin utilizando una funcin de fcil acceso.
OTROS REQUISITOS
LOG DE LA APLICACIN Con el objetivo de contar con control parental, se desea que la aplicacin cuente con un log de las acciones realizadas por los usuarios. Se debe registrar cada vez que un usuario ingresa a la aplicacin. Tambin se debe registrar cada vez que se importa informacin de libros. La informacin de la traza debe tener la siguiente informacin: Tipo de transaccin [ingreso | importacin]. Fecha y hora. Escuela de Ingeniera Obligatorio de: Diseo de Aplicaciones II Cdigo de materia: 3899 Fecha: 1/04/2014 Grupo: Todos Hoja 4 de 7 4
Nombre de usuario.
Con el fin de detectar los errores de importacin la aplicacin deber grabar los siguientes errores en otro log. La informacin de la traza debe tener la siguiente informacin: [Importacin]. Fecha y hora. Campo con error. Descripcin del error detectado.
La informacin de la importacin debe poder visualizarla en cualquier momento el usuario que import o por el administrador.
En caso que los logs se almacenen en archivos, la ruta de acceso debe poder cambiarse sin recompilar la solucin.
USABILIDAD Los usuarios de la aplicacin son personas de cualquier edad, por lo que es muy importante que sea fcil de utilizar, intuitiva y atractiva.
DATOS DE PRUEBA El sistema deber entregarse con una fuente de datos de pruebas y sus correspondientes libreras para los dos proveedores solicitados. La fuente de datos de prueba no debe estar embebida en el cdigo. A modo de ejemplo se subirn a aulas archivos de datos de muestra.
CASOS DE PRUEBA Se debe implementar un conjunto de pruebas automatizadas (unit tests) a nivel de uno de los componentes de importacin. Las pruebas pueden ser realizadas con la herramienta NUnit o Visual Studio Tests, documentando y justificando todas las pruebas realizadas.
INSTALACIN El costo de instalacin de las aplicaciones debe de ser mnimo y documentado adecuadamente.
MANTENIBILIDAD Se sabe que a futuro habr cambios en el sistema, por lo que se requiere un alto grado de mantenibilidad, claridad del cdigo y documentacin adecuada. Es necesario utilizar un estndar de codificacin y una gua de estilo. Se debe entregar evidencia del cumplimiento de la misma.
CARACTERSTICAS Esta versin incluir las siguientes caractersticas:
1. PERSISTENCIA EN BASE DE DATOS Se espera que toda la informacin del sistema sea persistente en una base de datos Microsoft SQL Server Express 2012. El diseo deber contemplar el modelado de una solucin de persistencia Escuela de Ingeniera Obligatorio de: Diseo de Aplicaciones II Cdigo de materia: 3899 Fecha: 1/04/2014 Grupo: Todos Hoja 5 de 7 5
adecuada para el problema. En esta ocasin no estar permitido utilizar las soluciones de persistencia vistas en Diseo de Aplicaciones I (DA1), ya que se espera se utilice Entity Framework, y no una solucin construida por el grupo para solucionar el problema.
2. INDEPENDENCIA DE LIBRERAS Se debe disear una solucin que al modificar el cdigo fuente minimice el impacto del cambio en los componentes fsicos de la solucin.
3. EXTENSIBILIDAD Implica que se deben poder definir nuevos proveedores de importacin, sin necesidad de recompilar la aplicacin. Notas importantes: a. La entrega debe incluir documentacin detallada de los mecanismos de extensibilidad incorporados. b. La interfaz grfica del sistema debe estar diseada y preparada para trabajar en base a stos mecanismos, de forma de no sufrir cambios para poder agregar nueva funcionalidad. c. Se debe entregar todos los elementos compilados para definir los proveedores de importacin descritos en la letra.
PUNTOS EXTRAS (No es necesario cumplir con estos puntos, de hacerlo se consideran puntos extra) Interface grfica que exceda las expectativas. Pruebas automticas que excedan las solicitadas.
ENTREGA
El obligatorio tiene un alto grado de complejidad a nivel de tecnologas, diseo e implementacin y tambin un alto grado de exigencia en lo referente a la documentacin, justificacin, etc.
SE DEBER ENTREGAR Especificacin de requerimientos utilizando casos de uso y el modelo de dominio correspondiente (ver documentacin ms adelante) Documentacin de diseo (ver documentacin ms adelante). Implementacin.
NOTA: La totalidad y detalle de los requisitos sern relevados a partir de consultas al grupo de correo en aulas. Para evitar complejidades innecesarias se realizaron simplificaciones al dominio del problema real.
HERRAMIENTAS Microsoft Visual Studio .NET 2012 Lenguaje C# Microsoft SQL Server Express 2012 (http://www.microsoft.com/express/sql/download/) Escuela de Ingeniera Obligatorio de: Diseo de Aplicaciones II Cdigo de materia: 3899 Fecha: 1/04/2014 Grupo: Todos Hoja 6 de 7 6
Entity Framework 5.0.0 Astah
DOCUMENTACIN Descripcin general del trabajo (1/2 carilla): si alguna funcionalidad no fue implementada o si hay algn error conocido deben ser descriptos aqu. Anlisis de requerimientos (incluyendo al menos cinco casos de uso significativos cumpliendo las buenas prcticas vistas en clase) y el modelo del dominio derivado de los mismos. Descripcin del diseo propuesto, incluyendo los diagramas de clases y paquetes, justificando las decisiones de diseo tomadas. Diagramas de interaccin para especificar las principales interacciones. Diagrama de componentes y de entrega. El documento debe cumplir con los siguientes elementos del Documento 302 de la facultad. Captulo 1, secciones 1.1 (sin La leyenda), 1.5, 1.7, 1.8 y 1.9 Captulos 4, 5 y 9. Todos los elementos deben estar en un documento nico.
CONDICIONES DE ENTREGA En medio de almacenamiento (CDs) - dos copias (no se aceptarn trabajos entregados con una sola copia) - que deber contener: Aplicaciones compiladas Fuentes de la aplicacin, incluyendo todo lo necesario como para compilar y ejecutar la aplicacin (cdigo, bibliotecas de terceros, frameworks, etc.) Archivos de Astah Base de datos: entregar un archivo de base de datos vaco y otro con datos de prueba Documentacin (incluyendo modelado UML) No es necesario Imprimirla NO imprimir fuentes
Importante: Solo se aceptar lo entregado en bedela, por lo que es de suma importancia revisar los medios y la documentacin que se entrega antes de hacerlo.
EVALUACIN
Consultar los criterios de evaluacin que se publicarn en aulas.
NOTA: El incorrecto funcionamiento de la instalacin puede significar la no correccin de la funcionalidad. Durante la defensa cada grupo contar con 15 minutos para la instalacin de la aplicacin. Luego de transcurridos los mismos se restarn puntos al trabajo.
DEFENSA
Escuela de Ingeniera Obligatorio de: Diseo de Aplicaciones II Cdigo de materia: 3899 Fecha: 1/04/2014 Grupo: Todos Hoja 7 de 7 7
La defensa del trabajo intenta evaluar el conocimiento general de los integrantes del grupo sobre la solucin propuesta. Todos los integrantes deben conocer toda la solucin y todos los integrantes deben de haber participado en la codificacin de al menos alguna parte del obligatorio.
El mecanismo de defensa se determinar al momento de la entrega pudiendo ser el mismo escrito o en el laboratorio. En ambos casos se verificar el aporte individual al trabajo por parte de cada uno de los integrantes del equipo.
Informacin importante
Lectura de Obligatorio: 1/04/2014 Plazo mximo de entrega: 28/5/2014 Defensa: a coordinar Puntaje mnimo/mximo: 6/20 puntos Los obligatorios se deben realizar por grupos de 2 estudiantes, solamente se har una excepcin en caso de que el nmero de estudiantes en el dictado sea impar. Todas las entregas se realizan en Bedela (oficina 305) con boleta de entrega de obligatorio, y hasta las 20 hs del da de entrega.