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