Diferència entre revisions de la pàgina «DAM2 M06 UF1 Proyecto (Curso 2018-2019)»

De Wiket
Salta a la navegació Salta a la cerca
(Contingut canviat per «Projecte Configurador de vehicles».)
Línia 1: Línia 1:
'''volver a''' [[M06 Acceso a datos]]
+
[[Projecte Configurador de vehicles]]
==Product Backlog==
 
<ul>
 
<li>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
 
</li>
 
<li>Feature 5: Rellenado de datos del cliente (Fase 1)
 
*'''Como''' usuario
 
*'''Yo Quiero''' poder introducir los datos del cliente<sup>|3|</sup> (nombre, apellidos, dni)
 
*'''De manera que''' al terminar de introducir los datos del cliente y clicar el botón continuar los datos quedan almacenados en el fichero fs_employee.txt
 
*'''Criterios de aceptación:''' al pasar a la Fase 2 de configuración de vehículos llamada "Selección de modelo" los datos introducidos del cliente aparecen el documento fs_employee.txt
 
</li>
 
<li>Feature 6: Selección de modelo (Fase 2)
 
*'''Como''' usuario
 
*'''Yo Quiero''' Seleccionar un modelo de vehículo para configurar, donde los modelos se cargarán desde el fichero especificado en cv_config.xml
 
*'''De manera que''' teniendo a disposición todos los modelos disponibles seleccionamos el elegido y continuamos a la Fase 3. La selección aparece reflejada en el documento fs_employee.txt
 
*'''Criterios de aceptación'''Al seleccionar el modelo de vehículo y clicar el botón continuar la selección queda reflejada en el fichero fs_employee.txt
 
</li>
 
<li>Feature 7: Selección de motor (Fase 3)
 
*'''Como''' usuario
 
*'''Yo Quiero''' Seleccionar el motor del vehículo, donde los diferentes motores disponibles se cargarán desde el fichero especificado en cv_config.xml
 
*'''De manera que''' teniendo a disposición todos los motores disponibles seleccionamos uno y continuamos a la Fase 4.
 
*'''Criterios de aceptación''' Al seleccionar el motor y clicar el botón continuar la selección queda reflejada en el fichero fs_employee.txt
 
</li>
 
<li>Feature 8: Selección de accesorios (Fase 4)
 
*'''Como''' usuario
 
*'''Yo Quiero''' Seleccionar uno o varios accesorios del vehículo, donde los diferentes accesorios disponibles se cargarán desde el fichero especificado en cv_config.xml
 
*'''De manera que''' teniendo a disposición todos los accesorios disponibles seleccionamos uno o varios y continuamos a la Fase 5.
 
*'''Criterios de aceptación''' Al seleccionar los accesorios y clicar el botón continuar la selección queda reflejada en el fichero fs_employee.txt
 
</li>
 
<li>Feature 9: Visualización resumen y confirmación (Fase 5)
 
*'''Como''' usuario
 
*'''Yo Quiero''' Visualizar un resumen de todas las opciones seleccionadas y el precio total del vehículo configurado
 
*'''De manera que''' teniendo un resumen de todas las selecciones realizadas y el precio final al clicar el botón confirmar configuración aparece el mensaje "Configuración Finalizada" .
 
*'''Criterios de aceptación''' Al clicar el botón confirmar configurarión la selección queda reflejada en el fichero fs_employee.txt
 
</li>
 
<li>Feature 10: Retroceder a una fase anterior
 
*'''Como''' usuario
 
*'''Yo Quiero''' un botón que me permita retroceder a una fase anterior de la configuración siempre que no esté en la Fase 1
 
*'''De manera que''' al clicar el botón retroceder se elimine del fichero fs_employee.txt la fase de la cual se procedia.
 
*'''Criterios de aceptación''' al clicar el botón retroceder se visualiza la Fase anterior con los datos seleccionados anteriormente. En el fichero fs_employee.txt se elimina la información de la Fase de cual se procedia (Ej: Si en la fase 3 clicamos el botón retroceder, volvemos a la fase 2 y visualizamos la selección de la fase 2 y el en el fichero fs_employee se elimina la información de la fase 3)
 
 
 
</li>
 
</ul>
 
==Anexos==
 
<ol>
 
<li>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<sup>|3|</sup> en el apartado anexos
 
</li>
 
<li>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"
 
</li>
 
<li>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 (------)
 
</li>
 
</ol>
 
 
 
[[Fitxer:globos.jpeg|dreta]]
 
 
 
== Introducció ==
 
===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 [https://www.toyota.es/coches/model-filter#carconfig/filterstep?utm_medium=Search&utm_source=google&utm_campaing=Always_On?utm_medium=Search&utm_source=google&utm_campaing=Always_On&utm_medium=Search&utm_source=google&utm_campaing=Always_On configurador de toyota] o el [http://configurador.seat.es/seat-cc/desktop-desktop-003-es-normal.view;jsessionid=D87EA295D66D28EF97E861C74F145FA2.jvm2?msk=1&dns=true&gclid=CjwKCAjw1ZbaBRBUEiwA4VQCIQvj8AzBaeeMVHURs0mXEJd3ATNc5NOpOmE3vF-lwwA4ToXztZIjMhoCamYQAvD_BwE&seacmp=10_BRAND_Misc_Exact:GOOGLE:Car-configurator:seat%20configurador:NA:NA&gclsrc=aw.ds configurador de seat]. La idea es desarrollar una aplicación que en un futuro tenga todas las funcionalidades de un configurador.
 
<br>
 
Para realizar esta tarea se creará una lista priorizada de características de la aplicación.
 
<br>
 
 
 
==Requeriments ==
 
 
 
 
 
<br>
 
 
 
==Product Backlog==
 
=== Especificacions funcionals ===
 
* M6: Accès a dades
 
** A l'inici de l'apliació ha de carregar les configuracions inicials d'un fitxer xml anomenat cv_config.xml amb les claus-valors detallades a les especificacions NO funcionals
 
** S'han de carregar els textos de l'aplicació segons el valor configurat al fitxer de configuració (cv_config.xml)
 
** Per accedir a l'apliació s'ha d'introduir un nom vàlid, es a dir, un nom que aparegui a la llista employee_list del fitxer de configuració. Si el nom no apareix a la llista mostrar un missatge de error.
 
* M7: Disseny d'interficíes
 
* M8: Programació multimedia i dispositius mòbils
 
 
 
<br>
 
 
 
=== Especifiacions no funcionals ===
 
<ol>
 
<li>Es treballarà amb fitxers (no es poden fer servir bbdd)</li>
 
<li>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<sup>|3|</sup> en el apartado anexos
 
</li>
 
</ol>
 
 
 
<br>
 
 
 
 
 
== Definition of Done (DOF) ==
 
# Tasca implementada
 
# Tasca testejada
 
# Tasca comitejada
 
# Tasca pujada a producció
 
 
 
<br>
 
==Gestió de projecte==
 
=== Sprint #1 (27-30 hores)===
 
 
 
<br>
 
 
 
=== Sprint #2 (27-30 hores)===
 
 
 
<br>
 
 
 
===Sprint #3 (27-30 hores)===
 

Revisió del 17:37, 25 set 2018