DAM2 M06 UF1 Proyecto (Curso 2018-2019)

De Wiket
Salta a la navegació Salta a la cerca

Configurador de vehículos

  • Este proyecto consiste en crear una aplicación de escritorio en JAVA que permita configurar un vehículo. Podemos tomar como ejemplos el configurador de toyota o el configurador de seat. La idea es desarrollar una aplicación que en un futuro tenga todas las funcionalidades de un configurador.
  • Para realizar esta tarea se creará una lista priorizada de características de la aplicación.

Product Backlog

  • Feature 1: Configuración inicial cargada desde fichero XML
    • Como Gestor de la aplicación
    • Yo Quiero que al arrancar la aplicación cargue la configuración inicial|1| (especificada en el apartado Anexos) de un fichero XML llamado cv_config.xml situado en la raíz de la aplicación dentro de la carpeta cv_configuration
    • De manera que pueda cambiar configuraraciones generales del programa sin necesidad de recompilar la aplicación o modificarla
    • Criterios de aceptación:Todas las claves y valores introducidos en el fichero de configuración se leen y se cargan correctamente
  • Feature 2: Cargar textos de la aplicación según el idioma definido en el fichero cv_config.xml
    • Como usuario
    • Yo Quiero que los textos de TODA la aplicación aparezcan en el idioma seleccionado en el fichero cv_config.xml
    • De manera que al cambiar el idioma en el fichero de configuración si reiniciamos la aplicación esta, cargue los textos en el idioma seleccionado. El formato de los ficheros de idiomas|2| en el apartado anexos.
  • Feature 3: Para acceder a la aplicación introducir nombre de empleado válido
    • Como usuario
    • Yo Quiero poder introducir mi nombre en la pantalla inicial de la aplicación y si mi nombre coincide con algun nombre en la lista de employee_list poder acceder a la pantalla de datos del cliente
    • Y también que si el nombre no coincide con ninguno se muestre un mensaje de error descriptivo y tenga que volver a intentarlo
    • De manera que solo puedan usar la aplicación los usuarios válidos y el nombre del usuario (generalmente comercial) aparezca de manera automática cuando se genere el presupuesto
    • Criterios de aceptación: Al introducir un nombre de empleado en la caja de texto "nombre de usuario" que aparece en la lista employee_list, se valida y accedemos a la pantalla "introducción datos cliente". Si el nombre de empleado no aparece en la lista employee_list se muestra un mensaje de error con un texto informativo
  • Feature 4: Para acceder a la aplicación (versión empleado) introducir nombre de empleado válido
    • Como usuario
    • Yo Quiero que si en la configuración está a True la clave employee_version
    • Y la clave employee_password contiene un password válido (que cumple el patrón nombre_empleado__mes__año)
    • Y el nombre introducido es un nombre contenido en la lista employee_list
    • De manera que se valida y accedemos a la pantalla "introducción datos cliente" con un texto en parte superior central de esta y todas las pantallas posteriores con el texto indicativo de que es la versión para empleados
  • Feature 5: Rellenado de datos del cliente
    • Como usuario
    • Yo Quiero poder introducir los datos del cliente|3|
    • De manera que al terminar la configuración del vehículo en el presupuesto aparezcan todos los datos del cliente
    • Criterios de aceptación: al llegar a la fase final de configuración de vehículos llamada "presupuesto final" los datos introducidos del cliente aparecen el documento fs_employee.txt

Anexos

  1. Contenido del fichero cv_config.xml:
    • Clave: language, valores es, ca, en etc. Esta clave sirve para identificar el idioma en el que se quiere cargar el programa los valores (uno o más de uno) pueden estar separados por ',' la aplicación leerá los valores e intentará utilizar el primer idioma que encuentre, en caso de no estar disponible pasará al siguiente hasta acabar con todos los valores. Este valor puede ser nulo.
    • Clave: language_default, valores es o ca o en, etc. Esta clave define el idioma por defecto y solo puede ser un único valor. En caso que la clave language sea nulo o se hayan intentado aplicar todos los idiomas proporcionados por la clave y no haya sido posible el idioma definido en este campo será el utilizado
    • Clave: postfix_language_file_name valor un string que especifica el patrón para identificar los ficheros de idioma. (Ejemplo: postfix_language_file_name: _cv.language buscará ficheros con el formato es_cv.language, ca_cv.language o en_cv.language)
    • Clave: version, valores un string con el siguiente formato #.#.# donde # = un número entre 0 y 9. El primer número solo se usará para cambios o modificaciones de las funcionales principales, el segundo número para ampliación de funcionalidades y el tercer número para inidicar corrección de errores
    • Clave: language_files_path, valores la ruta donde estarán los ficheros de idiomas
    • Clave: car_configuration_path, valor la ruta donde encontrar el fichero con las opciones de configuración de los vehículos
    • Clave: car_configuration_file_name, valor el nombre del fichero con las opciones de configuración de los vehículos
    • Clave: employee_list, valores lista separada por ',' con los nombres de los empleados que pueden acceder a la aplicación
    • Clave: employee_version, valores True o False, si es False es la versión standart de la aplicación la que utilizaría un comercial para venderle un vehículo a un cliente. Si es True y la clave employee_password es correcto se aplicará un 20% de descuento al precio final y se indicará arriba en el centro de ventana que estas en la versión para empleados.
    • Clave: employee_password, valor un string que sigue el formato: nombre_empleado__mes__año
    • Clave: specifications_file_path, valor un string con la ruta donde se guardarán los presupuestos generados, el nombre y formato del documento presupuesto|3| en el apartado anexos
  2. Formato de los ficheros de idiomas:
    • Nombre: idioma_cv.language
    • Formato: Clave-Valor, importante en todos los ficheros de idioma la clave ha de ser la misma. Ejemplo: clave: lbl_user_access valor es: "Nombre de usuario", valor ca: "Nom d'usuari", valor en: "User name"
  3. Nombre y formato del fichero de presupuestos:
    • Nombre: fs_employee.txt
    • Formato un fichero de texto con el resumen de los datos seleccionados en la aplicación desde la fase 0 a la fase final. En cada linea un dato en el formato clave:valor. Ejemplo: nombre: Leandro Hernán Zabala Iglesias. Los datos de cada fase están separados por una linea de guiones (------)