opensheet - Grupo ARCO - Universidad de Castilla-La Mancha
opensheet - Grupo ARCO - Universidad de Castilla-La Mancha
opensheet - Grupo ARCO - Universidad de Castilla-La Mancha
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
94 5. RESULTADOS<br />
A<strong>de</strong>más <strong>de</strong> los elementos <strong>de</strong> diseño nuevos, se han añadido nuevos métodos a las clases<br />
existentes:<br />
ScriptExecuter(OpenSheetManager openSheetManager, Properties properties): es un<br />
nuevo método constructor <strong>de</strong> ScriptExecuter que permite crear directamente un objeto<br />
sin necesidad <strong>de</strong> leer las variables <strong>de</strong> un ficheros .properties, facilitando su uso <strong>de</strong>s<strong>de</strong><br />
el servicio web. Para evitar la repetición <strong>de</strong> código en el nuevo constructor a partir <strong>de</strong><br />
la refactorización, ha surgido un nuevo método privado InitScriptExecuter al que llama<br />
cada constructor.<br />
setCellValue(CellPosition position, String value): es el método <strong>de</strong> ISpreadSheet que<br />
permite insertar una ca<strong>de</strong>na en una celda i<strong>de</strong>ntificada por su posición X e Y.<br />
setRangeValue(CellPosition firstCellPosition, CellPosition lastCellPosition, double value):<br />
es el método <strong>de</strong> ISpreadSheet que permite insertar en todas la celdas <strong>de</strong> un rango<br />
un valor numérico.<br />
setRangeValue(CellPosition firstCellPosition, CellPosition lastCellPosition, String value):<br />
es el método <strong>de</strong> ISpreadSheet que permite insertar en todas la celdas <strong>de</strong> un rango<br />
una ca<strong>de</strong>na.<br />
save(): es el método <strong>de</strong> IOpenSheetDocument que permite recuperar salvar los cambios<br />
realizados en un documento <strong>de</strong> hojas <strong>de</strong> cálculo.<br />
Para comprobar que los elementos creados a partir <strong>de</strong> las pruebas y la refactorización<br />
cumplen con lo especificado, en este caso ha sido necesario crear un cliente <strong>de</strong>l servicio web<br />
muy básico que llama a las dos operaciones publicadas. Gracias a estas pruebas a través <strong>de</strong><br />
un cliente se han <strong>de</strong>tectado diferentes problemas, el primero ha sido la incapacidad <strong>de</strong> JAX-<br />
WS para manejar mapas <strong>de</strong> variables, como ya se ha comentado antes, lo que ha obligado<br />
a modificar las interfaces, algunas pruebas y métodos; y a<strong>de</strong>más han aparecido problemas<br />
con el <strong>de</strong>spliegue <strong>de</strong>l servicio web en el contenedor <strong>de</strong> servlets, que se han solucionado y<br />
documentado en el manual <strong>de</strong> usuario para que si a algún usuario le suce<strong>de</strong> alguno <strong>de</strong> esos<br />
problemas sepa como resolverlos.<br />
5.7.3. Resumen <strong>de</strong> sprint<br />
En el sprint se han completado las dos historias planificadas con tres días <strong>de</strong> retraso. En el<br />
gráfico <strong>de</strong> burndown, ver la figura 5.12, se pue<strong>de</strong> ver la evolución <strong>de</strong>l mismo.<br />
En el gráfico se pue<strong>de</strong> observar que en el comienzo <strong>de</strong>l sprint se ha ido más lento <strong>de</strong> los<br />
esperado, esto es <strong>de</strong>bido a que el diseño y las pruebas para las operaciones que se han realizado<br />
estaban subestimadas, luego una vez se ha <strong>de</strong>finido como llevar a cabo las operaciones<br />
y se han ido realizando más pruebas, se ha ido aumentando la velocidad. El último repunte