Metodologia

Como metodología de trabajo general se emplea el tradicional ciclo de desarrollo de software: Análisis de Requisitos (mediante Prototipos para asegurar que la funcionalidad es la esperada), diseño (Diagrama UML, Diagramas de Secuencia), desarrollo (eclipse/NetBeans) y testing (en el caso de Java, JUnit en los casos más relevantes).

Para el seguimiento de tareas: mediante las herramientas MS Project (para registro de tiempos) y TRAC (para asignación de Tickets y lograr trazabilidad del proyecto). Esto responde a la política de adopción de metodologías “ágiles” .

A continuación se detalla el Proceso de desarrollo.

1- Relevamiento inicial

Para determinar objetivos y alcance de la funcionalidad requerida por el software a desarrollar. En un documento, quedaran indicados los puntos mas relevantes de la aplicación, sin necesidad de entrar en detalles.

2- Contrato

a) Generalidades: Definiciones. Objeto del contrato. Precio y forma de pago. Duración. Resolución del contrato. Legislación aplicable y tribunales competentes (La Plata)

b) Anexo 1 - Acuerdo de confidencialidad

c) Anexo 2 - Plan de trabajo: Generación de documento de especificaciones que incluye:

-definición de tecnología (JAVA, ASP.Net, PHP)

-herramientas a utilizar (frameworks adicionales en caso de ser necesarios, IDE’s y gestores de versionado).

-Definición de productos entregables.

-Estimación de la duración del proyecto (estrategia Wideband Delphi).

3- Análisis Funcional

a) Propio: equipo BST. Se realizaran entrevistas con el cliente para determinar con más detalle como se pretende que sea el funcionamiento en la aplicación.

b) Ampliado: al equipo de BST se sumaran especialistas según temática del proyecto

4- Armado de Prototipo y casos de usos

Dependiendo el caso, podemos usar estas 2 alternativas. Con la primera se realiza una simulación de las vistas (no definitivas en cuanto a lo que se refiere a estética), lo que nos permite determinar en fino la información requerida y además el flujo de navegación pretendido por el usuario final.

Fig 1. Prototipo de pantalla con listado de clientes

Acerca de Casos de Uso, BST emplea un formato ya definido para establecer los

UC, la figura 2 muestra un ejemplo.

Fig 2. Ejemplo de Caso de Uso

5- Diseño de aplicaciones

Todas las aplicaciones que desarrollamos son orientadas a objetos, así que en este punto realizamos el correspondiente diagrama UML (con herramientas como ArgoUML o el modulo UML embebido en NetBeans).

También se realizan diagramas de secuencia.

6- Implementación

De acuerdo a la tecnología empleada, volcamos el diseño y se añade comportamiento adicional.

7- Testing

a) Por módulos (o individuales). Nuevamente, de acuerdo a la tecnología empleada, implementaremos clases que realicen los testing sobre partes de la implementación.

b) Testing integral (testing donde se busca complementar los módulos testeados individualmente en el punto a) )

8- Entrega y aprobación por el cliente

De acuerdo a la complejidad de la aplicación puede ser una entrega completa o una parcial, de modo que continuamos nuevamente desde el punto 5 o 6. O incluso, volver al punto 7 en caso que hayan cambios por parte del cliente.

9- Garantía y Soporte Técnico

a) Normal: tres meses

b) Extendida: A definir

10- Capacitación

a) Normal: Una cantidad de horas (generalmente hasta 12), que se dictan junto con la puesta en producción. Esto se da si se incluyen en el contrato.

b) Extendida: A definir

11- Mantenimiento

Adicionalmente se cotizara como opcional un servicio de mantenimiento, el cual contendrá

a) Costo

b) Alcance