Programación y Gestión de Proyectos en C++
Presentación y Objetivos
Hoy en día, el C++ es el principal lenguaje para la programación de aplicaciones y
sistemas completos. Es más versátil que un simple lenguaje de programación de
bases de datos, y más potente que otros lenguajes, tales como Delphi o Basic. Frente a estos,
además, tiene la ventaja de la estandarización: desde 1998 existe un C++ estándar,
que incluye no sólo el lenguaje en sí sino una biblioteca estándar que se puede usar
para programar aplicaciones.
Tal estandarización ha propiciado la existencia de excelentes entornos de programación en
C++, tales como el Visual C++ de Microsoft, y por el Borland C++ Builder, hasta compiladores gratuitos, como
el egcs de la Free Software Foundation. Estos entornos de programación permiten el desarrollo
rápido de aplicaciones, y su despliegue en entornos comerciales o científicos.
Además, el C++ es un lenguaje orientado al objeto, lo cual significa que una aplicación se
divide en una serie de clases, que se pueden usar tal cual o como base para otras clases, las clases derivadas.
Cada clase encapsula sus variables, de forma que es mucho más fácil aislar código
correcto del resto de la aplicaciones, y es más fácil depurar una aplicación. Programar
con objetos puede ser tan fácil como juntar componentes ya probados, adaptándolos si es
necesario a nuevas circunstancias mediante el mecanismo de herencia.
En este curso se pretende que los alumnos, especialmente procedentes de Informática o de la
industria informática, conozcan el lenguaje, aprendiendo a usar ciertas estructuras avanzadas, las
nuevas capacidades de la biblioteca estándar de templates (STL), y otras capacidades incluidas
en el nuevo estándar, tal como la identificación de tipos en tiempo de ejecución
(RTTI, run time type identification). Se enseñará también como evitar los pequeños
problemas de incompatibilidad entre diferentes entornos, procedentes a veces de ambigüedades del
estándar.
Por otro lado, ningún programador trabaja hoy en día de forma aislada, sino que lo hace integrado
en un equipo, todos los componentes del cual tienen acceso a las fuentes; por ello, se hace necesario interponer
un mecanismo de control de versiones, tal como el sistema CVS, que permita controlar los cambios y quién
lo ha hecho. CVS permite registrar la evolución de cada uno de los ficheros que componen un programa
complejo, recuperar versiones anteriores, y controlar el acceso a los mismos. Por la misma razón, se debe
documentar el trabajo hecho, y lo mejor para ello es usar herramientas automáticas que extraigan la
información de los comentarios incluidos en el programa.
Finalmente, terminado un programa o una versión del mismo, hay que publicarlo; tanto si se publica y
distribuye en forma de código fuente o como un programa ya compilado, hace falta llevar a cabo un
procedimiento de instalación que incluye detectar capacidades específicas de la máquina
donde se está instalando, instalar partes o no del programa, y colocar todos los programas resultantes en
los directorios adecuados. Para ello, se explicarán también procedimientos de configuración
e instalación de programas en diferentes máquinas y las herramientas usadas para ello.
|