UTILIDADES DE DESARROLLO
Indudablemente, la informática desde hace un largo tiempo ha venido
ocupando e introduciéndose en cada aspecto de nuestra vida, tanto en el hogar
como en el ámbito laboral. En este último, es absolutamente imposible pensar en
desarrollar una tarea sin que haya una computadora cerca, en cualquiera de sus
formas.
En este punto, la oferta de software, es abrumadora, y podemos encontrar
una aplicación que se adapte a nuestras necesidades prácticamente sin ningún
tipo de problemas.
Sin embargo, existen casos específicos en donde hallar un programa para
que haga exactamente lo que queremos es imposible, sobre todo cuando tenemos
requisitos fuera de lo común, o el trabajo que realizamos es poco conocido o
practicado.
En este punto, hacer nuestros propios programas es una de las alternativas más idóneas, tanto para aquellos profesionales o responsables de un microemprendimiento que necesitan una herramienta que le aporte a su empresa tecnología y valor agregado. Si bien estas herramientas exigen un grado bastante alto de conocimientos para poder sacarles el mejor provecho, lo cierto es que ya no son tan difíciles de operar como en otros tiempos, lo que nos ofrece la oportunidad, con una curva de aprendizaje relativamente suave, de crear y poner en funcionamiento nuestro propio software.
En este punto, hacer nuestros propios programas es una de las alternativas más idóneas, tanto para aquellos profesionales o responsables de un microemprendimiento que necesitan una herramienta que le aporte a su empresa tecnología y valor agregado. Si bien estas herramientas exigen un grado bastante alto de conocimientos para poder sacarles el mejor provecho, lo cierto es que ya no son tan difíciles de operar como en otros tiempos, lo que nos ofrece la oportunidad, con una curva de aprendizaje relativamente suave, de crear y poner en funcionamiento nuestro propio software.
Para crear nuestros propios programas de computadoras existen muchas
alternativas, cada una de ellas con sus propias ventajas, desventajas y curva
de aprendizaje, sólo es cuestión de conocerlas y elegir la que creemos que será
la más adecuada a nuestras necesidades. En este unidad conoceremos algunas de
las herramientas de programación, es decir los programas que sirven para hacer
programas, más usados y populares del mercado.
CONCEPTO SOBRE EDICIÓN Y OBTENCIÓN DE CÓDIGO EJECUTABLE:
EDITOR, COMPILADOR, ENLAZADOR Y, LIBRERÍAS.
EDITOR
DE CÓDIGO FUENTE
Un editor de código fuente es un editor de texto diseñado específicamente para editar el código fuente de programas informáticos. Puede ser una aplicación individual o estar incluido en un entorno de desarrollo integrado.
Los editores de código fuente tienen características diseñadas exclusivamente para simplificar y acelerar la escritura de código fuente, como resaltado de sintaxis, autocompletar y pareo de llaves.
Estos editores también proveen un modo conveniente de ejecutar un
compilador, un intérprete, un depurador, o cualquier otro programa que sea
relevante en el proceso de desarrollo de software. Por lo que, si bien muchos
editores de texto pueden ser usados para editar código fuente sin problemas, si
no mejoran, automatizan y facilitan la edición del código, no ameritan ser
llamados "editores de código fuente", y son únicamente editores de
texto que pueden ser usados para editar código fuente.
Algunos editores de código fuente verifican la sintaxis a medida que el programador escribe, alertando inmediatamente sobre los problemas de sintaxis que puedan surgir. Otros editores de código fuente comprimen el código, convirtiendo las palabras clave en "tokens" de un solo byte, eliminado espacios en blanco innecesarios y convirtiendo los números a una forma binaria. Estos editores "tokenizadores" descomprimen el código fuente al momento de visualizarlo, imprimiéndole con los espacios y mayúsculas adecuadas. Existen editores que realizan ambas tareas.
COMPILADOR, ENLAZADOR (linker) Y LIBRERÍAS
Un programa escrito en un lenguaje de alto nivel, no
puede ser ejecutado
directamente por un ordenador, sino que debe ser
traducido a lenguaje máquina.
Las etapas por las que debe pasar un programa
escrito en un lenguaje de
Programación, hasta poder ser ejecutable son:
Programa fuente: Programa
escrito en un lenguaje de alto nivel (texto ordinario que contiene
las sentencias del programa en un lenguaje de programación). Necesita
ser traducido a código máquina para poder ser
Ejecutado.
Compilador: Proceso encargado de
traducir los programas fuentes escritos en un lenguaje de alto nivel
a lenguaje máquina y de comprobar que las llamadas a las funciones
de librería se realizan correctamente.
Programa (o código) objeto: Es el programa fuente traducido (por el compilador) a código máquina. Aún no es directamente ejecutable.
Programa Ejecutable: Traducción completa a
código máquina, realizada
por el enlazador, del programa fuente y que ya
es directamente ejecutable.
Linker (enlazador): Es el
proceso encargado de insertar al programa objeto, el código máquina de las
funciones de las librerías (archivos de biblioteca) usadas en el programa
y realizar el proceso de montaje, que producirá un programa ejecutable .exe.
Las librerias son una colección de código (funciones) ya programado y traducido
a código máquina, listo para utilizar en un programa y que facilita la labor
del programador.
Como cada lenguaje de programación tiene unas
reglas especiales (sintaxis) debe existir un compilador específico para cada
lenguaje de programación.
Si el programa fuente es sintácticamente correcto, el compilador
generará el código objeto, en caso contrario mostrará una lista con los errores
encontrados,no generándose ningún programa objeto, para que procedamos a su
depuración.
Los compiladores emiten mensajes de error o de advertencia durante las fases de compilación, de enlace o de ejecución de un programa:
• Los errores en tiempo de compilación son los que
se producen antes de la ejecución del programa, durante el proceso de
compilación del programa.
• Los errores en tiempo de ejecución son los que se
producen durante la ejecución del programa. Son los más difíciles de encontrar,
no son detectados por el compilador, ya que son errores de lógica, no de
sintaxis.
Aunque al compilar un programa no emita errores, el
programa puede funcionar incorrectamente y/o a dar errores durante su
ejecución. Por ejemplo:
• Un programa puede producir resultados erróneos,
al equivocarnos (errores lógicos) al programar el algoritmo (sumar en vez de restar,
etc.).
• Un programa puede interrumpirse bruscamente, por
ejemplo si tenemos que hacer una división y el divisor es cero, etc.
Los errores que se pueden producir en la fase de
compilación son:
− Errores fatales:
Son raros. Indican errores internos del
compilador. Cuando ocurren la compilación se detiene inmediatamente.
− Errores de sintaxis:
Son los errores típicos de sintaxis. No detienen la
compilación sino que al finalizar ésta se mostrará la lista con todos los
errores encontrados. Algunos errores suelen ser consecuencia de otros cometidos
con anterioridad. Con este tipo de errores no se puede obtener un programa
objeto y por lo tanto tampoco el ejecutable.
− Advertencias o avisos (warnings):
Indican que hay líneas de código sospechosas que a pesar de no infringir
ninguna regla sintáctica, el compilador las encuentra susceptibles de provocar
un error. Cuando se detecta un warning la compilación no se detiene. Si en un
programa fuente sólo se detectan warnings sí que se podrá obtener un programa
objeto, que después el linkado dará lugar a un programa ejecutable.
Con respecto a los errores en tiempo de ejecución,
encontrar la causa que los provoca es una labor en ocasiones complicada, razón
por la cual los EID (Entornos Integrados de Desarrollo, p.ej. DevC++) nos
proporcionan una herramienta llamada Depurador que nos ayuda a encontrar los
errores lógicos y demás errores producidos en tiempo de ejecución.
Un depurador (debugger), es un programa diseñado
específicamente para la detección, verificación y corrección de errores. Los
depuradores nos permiten trazar el programa (ejecutarlo sentencia a sentencia)
y visualizar el contenido de las variables y direcciones de memoria durante la
ejecución del programa.
Además permiten alterar el flujo de ejecución del
mismo, cambiar los valores de las variables e introducir puntos de
parada.
Pasos para la elaboración y ejecución de un
programa:
1. Escribir el código fuente, por ejemplo con el
editor de nuestra elección
2. Compilar el fichero fuente
3. Si se producen errores de sintaxis (o warnings)
volver al editor y eliminar los errores de sintaxis.
4. Si no hay errores se obtendrá el código objeto y
el enlazador construirá el archivo ejecutable.
5. Una vez tengamos el archivo ejecutable, será el
sistema operativo el encargado de colocar el programa en la memoria central y
ejecutarlo.
6. Comprobar el funcionamiento del programa.
7. Si se detecta errores o un mal funcionamiento
del programa, activar el depurador para trazar el programa y ejecutarlo
sentencia a sentencia.
8. Una vez que hayamos encontrado la causa del
error, volveremos al editor y lo corregimos.
9. El proceso de compilar, enlazar y ejecutar el
programa lo repetiremos hasta que no se produzcan errores.
Fase de ejecución de un programa
Una vez que tenemos el programa en lenguaje
máquina, para poderlo ejecutar hay que introducirlo en la memoria.
1. Una utilidad del S.O. llamada cargador colocará
el programa, y sus datos de entrada, en memoria principal, preparándolo para su
ejecución.
2. El S.O. le pasa el control a la C.P.U. para que
comience la ejecución del programa, realizando la Unidad de Control los
siguientes pasos (fases):
- Captación de la instrucción: Lee de la Memoria
Principal la instrucción a ejecutar.
- Ejecución de la instrucción: Interpreta la
instrucción leída y envía señales de control a las unidades que deban
intervenir en su ejecución. Tras dicha ejecución se establece cuál será la
siguiente instrucción a ejecutar.
Llego la hora del Test, clic en la imagen para acceder al mismo
SISTEMAS GESTORES DE BASES DE DATOS
INTRODUCCIÓN
En el mundo actual existe cada vez mas, una mayor demanda de datos. Esta siempre ha sido patente en empresas y sociedades, pero en estos años la demanda todavía se ha disparado más debido al acceso multitudinario a Internet. Por ello las bases de datos se reconocen como una de las principales aplicaciones de la informática.
INTRODUCCIÓN
En el mundo actual existe cada vez mas, una mayor demanda de datos. Esta siempre ha sido patente en empresas y sociedades, pero en estos años la demanda todavía se ha disparado más debido al acceso multitudinario a Internet. Por ello las bases de datos se reconocen como una de las principales aplicaciones de la informática.
En informática se conoce como dato a cualquier elemento informativo que tenga relevancia para un usuario. Desde el primer momento de esta ciencia se ha reconocido al dato como al elemento fundamental de trabajo en un ordenador. Por ello se han realizado numerosos estudios y aplicaciones para mejorar la gestión que hacen las computadoras con los datos.
La escritura fue la herramienta que permitió al ser humano poder gestionar bases cada vez más grandes de datos. Con el tiempo aparecieron herramientas como archivos, cajones, carpetas y fichas en las que se almacenaban los datos.
Antes de la aparición del ordenador, el tiempo requerido para manipular estos datos era enorme. Sin embargo el proceso de aprendizaje era
relativamente sencillo ya que se usaban elementos que el usuario reconocía perfectamente.
Por esa razón, la informática ha adaptado sus herramientas para que los
elementos que el usuario maneja en el ordenador se parezcan a los que utilizaba manualmente. Así en informática se sigue hablado de ficheros, formularios, carpetas, directorios,....
Componentes de un sistema de información electrónico
En el caso de una gestión electrónica de la información (lo que actualmente se considera un sistema de información electrónico), los componentes son:
♦ Datos. Se trata de la información relevante que almacena y gestiona el sistema de información. Ejemplos de datos son: Sánchez, 12764569F, Calle Mayo 5, Azul…
En el caso de una gestión electrónica de la información (lo que actualmente se considera un sistema de información electrónico), los componentes son:
♦ Datos. Se trata de la información relevante que almacena y gestiona el sistema de información. Ejemplos de datos son: Sánchez, 12764569F, Calle Mayo 5, Azul…
♦ Hardware. Equipamiento físico que se utiliza para gestionar los datos.
Cada uno de los dispositivos electrónicos que permiten el funcionamiento del
sistema de información.
♦ Software. Aplicaciones informáticas que se encargan de la gestión de
la base de datos y de
♦ Recursos humanos. Personal que maneja el sistema de información
Un sistema gestor de bases de datos o SGBD (aunque se suele utilizar más a menudo las siglas DBMS procedentes del inglés, Data Base Management
System) es el software que permite a los usuarios procesar, describir,
administrar y recuperar los datos almacenados en una base de datos.
En estos Sistemas se proporciona un conjunto coordinado de programas,
procedimientos y lenguajes que permiten a los distintos usuarios realizar sus tareas habituales con los datos, garantizando además la seguridad de los mismos.
Un sistema gestor de bases de datos o SGBD (aunque se suele utilizar más a menudo las siglas DBMS procedentes del inglés, Data Base Management
System) es el software que permite a los usuarios procesar, describir,
administrar y recuperar los datos almacenados en una base de datos.
En estos Sistemas se proporciona un conjunto coordinado de programas,
procedimientos y lenguajes que permiten a los distintos usuarios realizar sus tareas habituales con los datos, garantizando además la seguridad de los mismos.
Figura: Arquitectura de un S.G.B.D.
Los sistemas gestores de bases de datos, con
independencia del modelo de sistema de gestión de la misma que vaya a
utilizarse suelen disponer los datos de acuerdo a una estructura formal de
representación que incluye tres categorías de representación: Campos, Registros
y Ficheros.
Por campo debe entenderse cada uno
de los atributos que van a ser considerados en la base de datos. Cada unos de
los individuos sobre los que se ha recabado o se quiere recabar información,
tendrá para cada atributo un determinado valor y cada dato concreto que se
considere será el valor que toma para un determinado individuo un atributo
determinado.
Pues bien cada uno de estos atributos constituye un
campo. Y un individuo quedará definido por el conjunto de valores que toma para
cada uno de los campos considerados, precisamente esto constituye un registro.
En este sencillo ejemplo cada una de las columnas :
Nro de registro, nombre, cargo y teléfono constituiría los campo de una
estructura de la base de datos, y cada fila un registro diferente.
Finalmente todos los registros que quedan almacenados juntos, por constituirse el conjunto total de individuos sobre los que deseamos conservar, actualizar y explotar la información, a esta estructura se la conoce como una tabla , y una o más tablas relacionadas constituyen una base de datos.
Independencia de la representación concreta de los datos en la base de datos. El usuario debe ser capaz de disponer de una clara imagen lógica del conjunto de datos .
- Control sobre la consistencia de la
información ( ausencia de contradicciones )
- Seguridad. Incluyendo sistemas de protección
sobre algunas informaciones para que no puedan ser modificadas por
accidente, negligencia o sabotaje.
- Control de acceso si la base de datos es
accesible a través de una red, para que no pueda modificarse la
información de manera contradictoria o no autorizada.
Modelado
de una base de datos
Suele distinguirse entre tres tipos de modelos de
bases de datos: el modelo jerárquico, el modelo de red y
el relacional.
El modelo jerárquico es
adecuado para describir una base de datos en la que los objetos están
relacionados rígidamente, formando un árbol de dependencias.
El modelo de red es más
potente que el anterior porque puede describir cualquier tipo de relación entre
objetos ( el modelo jerárquico sería un caso particular de éste)
El modelo relacional puede describir cualquier tipo de objetos y relaciones entre objetos y además de forma que éstas no queden registradas rígidamente mediante punteros, lo que facilita enormemente el mantenimiento de la base de datos.
El modelo relacional ha arrinconado a los otros dos, siendo su única debilidad aparente el que no existe un mecanismo para describir la relación entre los objetos al margen del procedimiento que el modelo ofrece para describir un objeto mediante sus atributos.



No hay comentarios:
Publicar un comentario