Desarrollo del proyecto

La etapa de Desarrollo es donde realizamos el proceso de creación de la aplicación. A esta fase llegamos ya con el Proyecto definido.

En este momento es donde ponemos en practica todo el plan generado en las fases anteriores, donde hemos dividido el proyecto en diferentes tareas.

El desglose de la tarea principal en subtareas irá identificada por una numeración indicativa de su orden de realización. Además, para cada subtarea, se especificarán: una breve descripción, los productos que genera, plazo de ejecución y duración, recursos necesarios y dependencias con otras tareas o subtareas. Este desglose se obtendrá refinando el trabajo al respecto preparado para la Propuesta del Proyecto, y que fue aprobado como parte de la misma.

Una programación temporal en forma de diagrama de Gantt resulta idóneo para este fin. Este diagrama permitirá posteriormente la comparación del trabajo ejecutado con el previsto, y por tanto, permitirá establecer el grado de avance, o en su caso, el retraso del Proyecto.
Documentación Además de los elementos generados, como el manual de usuario o la memoria del proyecto. Toda pieza de software debe estar documentado a nivel de código. Esto lo realizaremos siguiendo los estándares establecidos.

Los lenguajes de programación habitualmente ofrecen herramientas de generación de documentación de forma automática.
Por ejemplo Java tiene javadoc, el cual rastrea los ficheros .java buscando unos comentarios especiales que permiten generar páginas HTML con
documentación acerca de estos.

Javadoc genera un fichero por cada .java encontrado, uno para los paquetes (packages.html), otro para la jerarquía de clases (tree.html) y otro con el índice de todos los elementos (AllNames.html).

Esta documentación, forma parte del proyecto y se debe proporcionar con el resto de documentos, una vez terminado.

Plan de pruebas

Todos los Proyectos informáticos son susceptibles de tener errores o defectos. Pero, en un Proyecto bien desarrollado, estos defectos deben ser descubiertos durante el Desarrollo del Proyecto, no por el cliente una vez entregado el sistema informático. El plan de pruebas servirá para enumerar las acciones de prueba que se ejecutarán para intentar descubrir requisitos no cumplidos.

Para cada caso de prueba se especificará:

• Numeración identificadora del caso.
• Requisito o requisitos que son sometidos a prueba.
• Estado del software antes de la prueba (por ejemplo, conexión establecida con base de datos). Procedimiento a seguir.
• Resultados esperados tras el procedimiento.

Los componentes del plan de pruebas son:
• Listado de casos de prueba.
• Listado de casos no contemplados en el plan de pruebas.
• Descripción del entorno de ejecución de las pruebas (como variables del sistema, conexión a red, etc.).
• Programación temporal de las pruebas.
• Responsables de pruebas (se identifica el miembro del equipo desarrollador responsable de la prueba de cada requisito).

Control de versiones

Mientras realizamos el desarrollo es imprescindible que tengamos un control de versiones, donde podremos realizar alternaivas, solucionar errores o siemplemente descartar una parte del último código realizado y retomar el trabajo sobre una versión anterior.

Un sistema de control de versiones (o SCV) nos proporciona diferentes versiones de la codificación de un proyecto. Durante el proceso de desarrollo la aplicación va cambiando y es necesario en ocasiones volver a un estado anterior.

Esto puede deberse a que la nueva versión de algún problema, a que estemos realizando pruebas y no queremos perder lo anterior, o cuando trabajamos en equipo y diferentes desarrolladores están haciendo cambios en el programa.

El SCV realizar copias incrementales cada vez que generemos una versión, de tal modo que en cada nueva copia, marca los archivos cambiados y los almacena.

Al crear estas versiones el programador puede:
• Restaurar parte o en su totalidad un desarrollo a una versión anterior.
• Comparar los cambios de la versión actual respecto a otra anterior.
• Acceso remoto: Proporcionar acceso remoto de elementos del repositorio a los usuarios con permisos para modificar, leer, mover, borrar etc.
• Registrar las modificaciones: Crear un registro de modificaciones efectuadas sobre la estructura de archivos que permita obtener estados
previos.
• Control de cambios: Controlar que los usuarios siempre trabajan sobre la última
• versión del archivo. Para ello podrán utilizar sistemas de bloqueo o colaborativos, siendo este último el más aconsejado.