|
Cuando uno trabaja en un proyecto muy profesional para desarrollo de sistemas hay que tener un entorno de desarrollo bastante productivo.
Esto implica la selección, configuración y reglamentación del uso de todas las herramientas de soporte al proceso de desarrollo. Los distintos tipos de usuarios del proceso son los analistas, gerentes, programadores y encargados de control de calidad usualmente.
En base a un proyecto en el que estoy trabajando hemos generado un entorno de desarrollo que es francamente eficiente. Sirve para el desarrollo de una aplicación en C++, aunque puede ser modificado para diversos lenguajes.
Análisis y diseño
- Enterprise Architect, versión Profesional
Desarrollo
- Eclipse CDT, versión Galileo
- Compilador gcc 4.1
- Nokia QT
- Subversion
- Doxygen
Control de calidad
A continuación comento algunas de las bondades de estos productos.
El Enterprise Architect es una herramienta excelente paradocumentación de análisis y diseño. Permite hacer ingeniería inversa analizando código fuente y actualizando los diagramas de diseño. Se integra bien con muchos lenguajes de programación y permite trabajao colaborativo guardando todos los elementos de diseño en un repositorio central usando el subversion.
Eclipse y QT son herramientas open source que usamos para la escritura de código y el desarrollo de la GUI. Eclipse es especialmente extensible y tiene un gigantesco soporte de plugins que permiten configurarlo muy finamente para alcanzar una alta productividad.
Doxygen permite generar documentación muy buena sobre el código fuente generado. Exige una convención del uso de comentarios.
El QA-CPP es una herramienta comercial para análisis estático de código que permite tener un control de calidad bastante alto sobre el código generado. Permite establecer estándares que son revisados de manera automatizada. Cuando se tienen varios miles de líneas de código de una aplicación, esto se agradece bastante.
Además de la selección de herramientas, se tienen documentos de estándares de desarrollo y políticas de uso de las herramientas, que todo el personal del proyecto debe conocer y seguir.
Parece ser bastante formal y pesado, pero es la única manera de asegurar un producto de alta calidad que permita una capacidad de mantenimiento buena en el futuro.
|