Encuadramos nuestros servicios basándonos en el ciclo de vida del software, desde la fase inicial hasta la etapa final. Cubrimos la totalidad de una solución de negocio y su posterior gestión de mantenimiento (AMS) así como su atomización en partes, abordando independientemente el Análisis, Diseño, Programación y Test aplicativo. Cada paso, y el resultado final, atraviesa severos controles de Calidad. Para brindar servicios de excelencia, nos basamos en la capacidad de nuestros profesionales de IT y en el conocimiento de la industria, metodologías y herramientas cosechadas en más de 30 años de historia.

 

Análisis

En CDA vivimos el Análisis como la etapa de conceptualización de la solución, que consiste en relevar la información actual y proponer los rasgos generales de la futura solución. Para determinar los objetivos y los límites del sistema, nos apoyamos en tres conceptos fundamentales: unidades (elementos básicos), procesos (acciones o transformaciones que se darán en el sistema) y estructuras, básicamente para determinar los objetivos y límites del sistema.

Construimos modelos (prototipos) para comprobar que el Análisis realizado es válido, y así poder avanzar en forma sólida hacia el Diseño.

Esta es la etapa en que se comprueba que los objetivos propuestos son correctos y viables. En CDA, transformamos las expectativas en realidades alcanzables.

Diseño

Diseñar es parte de nuestro arte. Como un arquitecto, modelamos e integramos el entorno tecnológico (hardware) con las piezas de software necesarias para darle forma a un análisis de la solución informática de su negocio.

Usamos metodología UML como estándar para diseñar, y dividimos la actividad en dos etapas fundamentales: Diseño Funcional o del Sistema, y Diseño Técnico o de los Componentes, donde se citan uno a uno los componentes a desarrollar. Pensando los sistemas en el usuario final, contemplamos la usabilidad de cada solución: disposición de la información en pantalla, tiempos de respuesta y uso de un lenguaje natural o amigable.

Programación

Programar es nuestra pasión. Todos somos o fuimos programadores, está en nuestro ADN. Cubrimos un amplio abanico de lenguajes de programación, desde los más antiguos utilizados en computadoras Mainframe como ASSEMBLER y COBOL hasta los más modernos como Java y .Net, utilizados en plataformas distribuidas y mobiles. Codificamos, depuramos y mantenemos el código fuente de acuerdo al lenguaje a emplear, y creamos para cada plataforma algoritmos especializados y lógica formal estándar para industrializar el proceso de programación.

Disponemos de herramientas especializadas que facilitan la programación y el mantenimiento posterior. Utilizamos técnicas que nos permiten generar programas correctos (cumplen con lo que se pide), claros (fáciles de seguir y mantener), eficaces (hacen un buen uso de los recursos) y portables (que puedan migrarse de una plataforma a otra).

Test

 Nuestro lema es que esta actividad sea profesional e independiente. Profesional, porque es desarrollada sólo por especialistas en este rubro. Independiente, porque tiene que dar resultados claros y objetivos sobre el objeto que se está "certificando".

Podemos pensar al test como la etapa siguiente a la programación. No obstante, los servicios de CDA engloban a la actividad en servicios de QUALITY que pueden activarse en cualquier momento dentro del ciclo de vida del software: el test del Análisis, del Diseño y de la Programación son actividades separadas e independientes.

En cuanto a su clasificación, las pruebas pueden ser:

  • Pruebas estáticas, que se realizan sin ejecutar el código de la aplicación, leyendo el software (Test de Caja Blanca).
  • Pruebas dinámicas, que requieren la ejecución de la aplicación (Test de Caja Negra) y pueden ser manuales, automáticas o lógicas. Se les puede dar un enfoque de pruebas totalmente detalladas o exploratorias, tomando los casos más significativos.

Las pruebas tienen a su vez Niveles de test: Unitarios, de Integración o Total del sistema. En cuanto a su cobertura, pueden ser Funcionales, Smoke Test (de humo), de Regresión, Aceptación de usuario (UAT), Alpha test o Beta test. Y por último, cubren aspectos no funcionales como pruebas de seguridad, de usabilidad, de rendimiento, de internalización y de localización, de estabilidad, de mantenibilidad, de instalabilidad y de portabilidad.