UNIVERSIDAD MARIANO GALVEZ DE GUATEMALA – CAMPUS CENTRAL FACULTAD DE INGENIERIA EN SISTEMAS DE INFORMACION PLAN SABADO Catedrático: Ing. Juan Carlos Méndez Noj, MBA. Página 1 de 3 Curso: 0900453 Programación avanzada (Java) Sección: “E” Horario: 11:30 a.m. – 1:30 p.m. PROYECTO FINAL 1. Las principales características que debe cumplir la aplicación son las siguientes: a) Entorno gráfico, uso de Swing. b) Menú Principal (opciones): Altas, Bajas, Cambios, Consultas, Ordenamiento, Informes y Ayuda. c) Uso de clases abstractas. d) Aplicación de herencia, sobrecarga y polimorfismo. e) Manejo de excepciones. f) Uso general de técnicas de programación orientada a objetos. 2. Fecha de entrega del Proyecto: sábado 15 de noviembre de 2014. 3. Entregar documentos comprimidos en un archivo RAR o ZIP que contenga: a) Entorno gráfico, uso de Swing. b) Menú Principal (opciones): Altas, Bajas, Cambios, Consultas, Ordenamiento, Especificación de la(s) tabla(s) utilizada(s) en su aplicación. c) Especificación de las clases utilizadas en su aplicación (Diagramas UML). d) Archivos con extensión .java, así como los archivos necesarios para la ejecución de su aplicación. 4. El código fuente debe cumplir con las siguientes prestaciones: a) Archivos con extensión .java, así como los archivos necesarios para la ejecución de su aplicación. b) Los métodos deben estar comentados. c) El código fuente debe ser legible, bien indentado y sin errores de sintaxis. Debe seguir las convenciones de Java en lo que se refiere a nombres de las clases, nombres de métodos, atributos y constantes. d) Código que no compile, no es calificado, es decir, debe ser funcional. e) La distribución recomendada de los directorios de trabajo son: - Directorio principal con el nombre del proyecto. Deberá contener los archivos con el código fuente y los que resulten producto de la compilación. - Subdirectorio Documentación con la documentación en formato Ms Word. f) Se recomienda a los grupos de trabajo seguir esta estructura, ya que el docente calificará usando dicha organización. g) Utilización de técnicas de encapsulamiento, herencia y polimorfismo. 5. Otras consideraciones: a) El número de personas mínimo por grupo es de 3 y el máximo de 6. No se recomienda que solamente una persona lo desarrolle de manera individual ya que no se cumpliría con los objetivos del curso. Tienen que trabajar todos por igual, pues habrá defensa de proyectos al finalizar el semestre. b) Si el proyecto final es copiado de algún otro proyecto ya elaborado; “No se tomará en cuenta”, por lo tanto no tendrá nota. c) La calificación por la defensa del proyecto es individual. Se hará defensa del proyecto para determinar el grado de participación, conocimiento y dominio de la solución que tiene cada estudiante sobre su proyecto. La forma precisa como se harán las evaluaciones, se comunicará oportunamente. UNIVERSIDAD MARIANO GALVEZ DE GUATEMALA – CAMPUS CENTRAL FACULTAD DE INGENIERIA EN SISTEMAS DE INFORMACION PLAN SABADO Catedrático: Ing. Juan Carlos Méndez Noj, MBA. Página 2 de 3 Curso: 0900453 Programación avanzada (Java) Sección: “E” Horario: 11:30 a.m. – 1:30 p.m. d) Aunque sus aplicaciones pueden ser muy ambiciosas, centren su atención en los requerimientos básicos del sistema y no compliquen las soluciones. 6. Caso Propuesto: Se desea implementar un sistema de Administración de Condominio en plataforma JAVA. El alcance de este desarrollo abarca desde que el administrador desea ingresar uno a más residentes que a su vez puedan también ingresar al sistema con su propio usuario. Como administrador también puedo registrar viviendas asociándolo al propietario e ingresarles las cuotas de mantenimiento generadas mensualmente. Se desea también registrar diversas áreas comunes del condominio para que estas sean reservadas. Además poder consultar cuales son mi residentes morosos. Como Residente puedo realizar pagos de mis cuotas de mantenimiento vencidas o por vencer. A su vez poder reservar áreas comunes del condominio de modo que puedan ser utilizadas en las ocasiones que se necesite. 7. Definición: 7.1 Criterios de Aceptación: Formulamos las siguientes preguntas para obtener los resultados a la problemática. Cuando (ejecuto una acción) Espero (una reacción) 7.1.1. Inscripción de residentes.- Como administrador deseo inscribir a los residentes del condominio de modo que ellos puedan acceder al sistema. Cuando: Inscribo un residente debo indicar como mínimo su documento de identidad, nombres, edad, correo y clave de acceso. 7.1.2. Espero - Confirmación de la inscripción OK. - Mensaje de error si ya se registró el mismo documento o correo. Registro de viviendas.- Como administrador deseo registrar las viviendas del condominio de modo que pueda cobrar los gastos de mantenimiento de cada una. Cuando: Registro una vivienda debo indicar mínimo su ubicación (edificio/zona), número, tipo (casa/dpto.) y residente propietario. Espero: - Confirmación del registro OK. - Mensaje de error si ya se registró la vivienda. 7.1.3. Colocación de cuotas.- Como administrador deseo colocar mensualmente las cuotas de mantenimiento de las viviendas de manera que los propietarios puedan pagarlas. Cuando: Espero: Registro las cuotas debo indicar como mínimo la - Confirmación del registro OK. vivienda, código de cuota, periodo (año y mes), - Mensaje de error si ya se registró una importe y fecha de vencimiento. cuota a la misma vivienda y periodo. UNIVERSIDAD MARIANO GALVEZ DE GUATEMALA – CAMPUS CENTRAL FACULTAD DE INGENIERIA EN SISTEMAS DE INFORMACION PLAN SABADO Catedrático: Ing. Juan Carlos Méndez Noj, MBA. Página 3 de 3 Curso: 0900453 Programación avanzada (Java) Sección: “E” Horario: 11:30 a.m. – 1:30 p.m. 7.1.4. Pago de cuotas.- Como residente deseo pagar las cuotas de mantenimiento de las viviendas en las cuales soy propietario de manera que no figure en la lista de morosos. Cuando: Consulto mis cuotas pendientes de pago, debo poder elegir pagar una cuota vencida o por vencer; para esto deberé indicar el tipo de pago (efectivo, cheque o tarjeta de crédito). Espero: - Confirmación del pago OK indicando la fecha de la operación. - Lista de cuotas por pagar actualizada. 7.1.5. Consulta de morosos.- Como residente o administrador deseo poder consultar la lista de cuotas vencidas y no pagadas de modo que pueda identificar a los propietarios morosos. Cuando: Consulto la lista de cuotas de mantenimiento vencidas de todo el condominio debo poder ver los datos de la cuota, de la vivienda a la que le pertenece y su propietario. Espero: - Lista de cuotas vencidas con los datos de vivienda y propietario. - Lista vacía si todos están al día o las cuotas aún no se vencen. 7.1.6. Registro de áreas comunes.- Como administrador deseo registrar las diversas áreas comunes de condominio de modo que pueda asignarlas a los residentes que las separen. Cuando: Consulto registro un área común indico código, tipo (piscina, gimnasio, sala, parrilla, sauna), la ubicación, la capacidad de personas y su estado (disponible, en mantenimiento, reservada). Espero: - Área común creada o actualizada. - Mensaje de error si el código es repetido. 7.1.7. Separación de áreas comunes.- Como residente deseo poder separar/reservar las áreas comunes de modo que pueda utilizarlas en las ocasiones que lo necesite. Cuando: Consulto veo la lista de áreas comunes elijo y para poder separar indico la fecha, la cantidad de personas, el nombre del responsable y algún comentario. Espero: - Lista de reservas de áreas comunes actualizada. - Mensaje de error si el área común ya se separó para el mismo día. - Mensaje de error si el residente solicitante ya tiene alguna otra área común separada para dicho día.