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
 
(Hi ha 6 revisions intermèdies del mateix usuari que no es mostren)
Línia 1: Línia 1:
'''volver a''' [[M06 Acceso a datos]]
+
=Normativa=
==Product Backlog==
+
* Tipus de Projecte: <b>En grup (3 desenvolupadors)</b>
<ul>
+
* Metodologia: <b>Scrum</b>
<li>Feature 1: Configuración inicial cargada desde fichero XML
+
* Lliurament: <b>Moodle</b>
*'''Como''' Gestor de la aplicación
+
* Requereix demo: <b>Si</b>
*'''Yo Quiero''' que al arrancar la aplicación cargue la configuración inicial<sup>|1|</sup> (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
+
* Requereix prova pràctica: <b>Si</b>
*'''De manera que''' pueda cambiar configuraraciones generales del programa sin necesidad de recompilar la aplicación o modificarla
+
* Avaluació: Proyecte <b>70%</b> (demo 25%, codi 35%, metodologia 10%), prova pràctica <b>30%</b> (requisit >=5 per fer mitja)
*'''Criterios de aceptación:'''Todas las claves y valores introducidos en el fichero de configuración se leen y se cargan correctamente
+
[[Projecte Configurador de vehicles]]
</li>
 
<li>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<sup>|2|</sup> en el apartado anexos.
 
</li>
 
<li>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
 
</li>
 
<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>
 
==Gestión de proyecto==
 
 
 
[[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.
 
*Para realizar esta tarea se creará una lista priorizada de características de la aplicación.
 
<br>
 
 
 
== Requeriments ==
 
 
 
 
 
<br>
 
 
 
== Especificacions funcionals ==
 
* M6: programació client
 
* M7: programació servidor
 
* M9: disseny d'interfície
 
 
 
<br>
 
 
 
== Especifiacions no funcionals ==
 
* Es treballarà amb Javascript pur, no es poden fer servir llibreries externes o frameworks
 
* Es traballarà amb PHP
 
 
 
<br>
 
 
 
 
 
== Definition of Done (DOF) ==
 
# Tasca implementada
 
# Tasca testejada
 
# Tasca comitejada
 
# Tasca pujada a producció
 
 
 
<br>
 
 
 
== Sprint #1 (27-30 hores)==
 
 
 
<br>
 
 
 
== Sprint #2 (27-30 hores)==
 
 
 
<br>
 
 
 
==Sprint #3 (27-30 hores)==
 

Revisió de 16:26, 29 març 2019

Normativa

  • Tipus de Projecte: En grup (3 desenvolupadors)
  • Metodologia: Scrum
  • Lliurament: Moodle
  • Requereix demo: Si
  • Requereix prova pràctica: Si
  • Avaluació: Proyecte 70% (demo 25%, codi 35%, metodologia 10%), prova pràctica 30% (requisit >=5 per fer mitja)

Projecte Configurador de vehicles