Blog colaborativo de: Valentina Pardo, Raúl González y Ricardo Toledo
Cuando hablamos del concepto de programación,
la creencia general es que únicamente se trata del proceso de codificar una
serie de instrucciones de tal manera que un ordenador presente un comportamiento
determinado al interpretarlas. Sin embargo, la programación es un proceso que
involucra muchas fases del desarrollo de software, y es que cuando hablamos de programación nos referimos al proceso de diseño, codificación, depuración
y mantenimiento del código fuente de un programa [1].
Quizá el término de depuración resulte
desconocido para alguien que no pertenezca al ámbito informático, por lo que se
explica a continuación. Depurar
consiste en realizar pruebas a un
determinado programa para identificar y corregir errores de programación,
también conocidos como bugs [2]. En
estas pruebas, el programador generalmente suele colocar puntos de interrupción en determinadas líneas del programa para detener
la ejecución del mismo en un determinado punto y, tras esto, se ejecuta línea
por línea el programa comprobando los valores de variables o el comportamiento de los métodos o funciones para
determinar el punto exacto en el que se produce el error.
También se ha mencionado el concepto de código fuente, que será explicado posteriormente para comprender el término de compilador.
También se ha mencionado el concepto de código fuente, que será explicado posteriormente para comprender el término de compilador.
Compiladores e interpretación de los lenguajes de programación
A lo largo de la historia, en el
ámbito social han aparecido cientos de lenguas o idiomas por todo el mundo en
los que, para comunicarse, es necesario
que tanto el emisor como el receptor conozcan el código utilizado (conjunto de
reglas léxicas, sintácticas y semánticas) para poder comprender el mensaje.
De la misma manera, en el ámbito
técnico han aparecido múltiples lenguajes de programación para la
representación de información, cada uno de ellos con sus propias reglas
léxicas, sintácticas y semánticas. Al igual que en el lenguaje natural,
mediante el conocimiento del lenguaje y de su código es posible comunicarse con
otro ente o sistema que también lo conozca. En este caso, un programador es
capaz de “comunicarse” con un ordenador ya que ambos conocen el código del
lenguaje y existe un proceso de traducción del código fuente escrito por el
programador (similar al lenguaje natural) a código máquina con ceros y unos,
comprensible para el ordenador.
En este proceso de traducción
desempeñan un papel fundamental los compiladores. Un compilador es un programa
que analiza léxica, sintáctica y semánticamente el código fuente introducido
por el programador en un determinado lenguaje de programación y genera ficheros
de salida con código máquina que puede ser interpretado por el ordenador [3].
Además, los compiladores, antes de generar el código máquina, realizan una fase
de optimización del código para que el código final resulte más rápido de
ejecutar (por ejemplo, se elimina el código que nunca se va ejecutar o código
muerto).
¿Y por qué es necesario este
proceso de traducción? ¿No comprende el ordenador directamente el léxico, la
sintaxis y la semántica del lenguaje de programación? Evidentemente no. Como
sabemos, el funcionamiento de un ordenador está basado en impulsos eléctricos y un ordenador únicamente es capaz de distinguir dos posibles valores eléctricos (encendido si pasa corriente eléctrica y apagado en caso contrario), por lo que desde los
inicios se optó por el código binario, que cuenta con dos posibles valores (1 y 0), para poder representar la información. Al igual que en el lenguaje natural
se forman palabras y frases mediante la combinación de las letras del alfabeto,
en un ordenador es posible representar datos e instrucciones mediante
secuencias de bits (los símbolos
unitarios del código binario). Por lo tanto, el ordenador realmente no
interpreta el código fuente introducido por el programador, sino la secuencia
de unos y ceros correspondiente al mismo.
Los lenguajes de programación en el ámbito de Ingeniería del Software
Los lenguajes de programación se
utilizan para el desarrollo de software o programas dentro del ámbito de la
Ingeniería del Software, entendiendo la Ingeniería del Software como la
disciplina orientada al diseño, construcción y mantenimiento de sistemas
software de calidad y a la elaboración de la documentación del proceso.
Para lograr que el software
producto de la Ingeniería tenga calidad se utilizan una serie de técnicas,
herramientas y metodologías probadas que proporcionan una serie de
características deseables, como pueden ser usabilidad, robustez o
confiabilidad. Por ejemplo, para la elaboración de software se utiliza un
modelo de ciclo de vida dividido en fases, en cada una de las cuales hay que
realizar una serie de tareas específicas para la elaboración de software de
calidad.
Como primer paso del proceso, se
han de definir una serie de requisitos o
requerimientos que el software producto debe cumplir para adaptarse a las
necesidades del cliente.
A continuación, se procede a diseñar el software y el sistema, para
lo cual se elaboran una serie de diagramas (de componentes, de clases, de casos
de uso, etc.) que determinan como se debe construir el sistema y como se
interrelacionan las diferentes partes del mismo, entre otros.
Posteriormente, se procede a construir o implementar el sistema
mediante la utilización de los mencionados lenguajes de programación y de
herramientas como los editores y los compiladores.
Una vez finalizada la fase de
construcción, se somete el sistema a una serie de pruebas para comprobar su correcto funcionamiento y que se ajusta a
los requerimientos establecidos en la fase inicial.
Por último, el sistema se integra
en el entorno de destino y se inicia la operación
y el mantenimiento del mismo.
En definitiva, el proceso de
elaboración de software es un proceso que puede involucrar a un elevado número
de personas y en el que es imprescindible realizar una buena definición de
requisitos inicial para la consecución de los objetivos.
Referencias
Bibliografía
Diapositivas y material de apoyo de la asignatura
http://www.monografias.com/trabajos92/tecnicas-comunicacion/tecnicas-comunicacion.shtml
http://www.monografias.com/trabajos92/tecnicas-comunicacion/tecnicas-comunicacion.shtml
https://omicrono.elespanol.com/2016/03/por-que-los-ordenadores-trabajan-en-binario/
https://es.wikipedia.org/wiki/Ingenier%C3%ADa_de_software
http://ingenexescom.blogspot.com.es/2012/02/modelo-en-cascada.html
https://es.wikipedia.org/wiki/Ingenier%C3%ADa_de_software
http://ingenexescom.blogspot.com.es/2012/02/modelo-en-cascada.html
Comentarios
Publicar un comentario