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 inicialcv_config.xml (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: 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 3: 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 4: 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 idiomasidioma_cv.language en el apartado anexos.

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
  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"