Sunteți pe pagina 1din 35

Sistemas de información

Cuando se piensa sobre el porqué del uso de


computadoras en las empresas, la respuesta
parece bastante obvia, para registrar los eventos
que se van sucediendo. Sin embargo existe un
motivo aún más importante y no tan obvio, y es
que la información puede usarse para respaldar la
toma de decisiones. Sin importar el tamaño de una
empresa u organización, la conducción exitosa de
la misma estará dramáticamente influenciada por
la precisión de sus registros y la adopción de
decisiones acertadas.

Los enlaces de comunicación y las bases de datos permiten el acceso a recursos de información que
están más allá de la inmediatez física, sobrepasando las limitaciones geográficas. Las
computadoras permiten la utilización de masas de información las cuales, no eran concebibles hasta
hace algunos años. Pero no sólo basta la disponibilidad de la cantidad de información, se trata de
contar con información de calidad. Los sistemas de información basados en computadoras no sólo
son capaces de suministrarnos información de calidad y oportuna, sino que también pueden
respaldar la toma de decisiones.

Sistemas organizacionales – Conceptos.


En un sentido amplio, un sistema es un grupo de
componentes interrelacionados trabajando
juntos con un objetivo común. Así, por ejemplo,
los habitantes de un país viven inmersos en un
sistema económico en el que se llevan a cabo
actividades de intercambio de bienes y
servicios, con la finalidad de obtener algún
beneficio de tales intercambios. Cualquier
organización puede ser concebida como un
sistema. Una compañía, por ejemplo, posee
componentes (mercadotecnia, manufactura,
ventas, investigación, distribución, contabilidad
y personal) los cuales trabajan juntos para
Un sistema de manufactura
obtener utilidades que beneficien tanto a sus
empleados, como a sus accionistas.

Cada uno de estos componentes, es a su vez un sistema en si mismo. Todo sistema organizacional
cuenta con una entidad abstracta denominada sistema de información. Este sistema es el medio
que permite a los datos, fluir entre los diferentes departamentos o personas que integran la
organización.

Características de los sistemas:

• La finalidad de un sistema es la razón de su existencia. El sistema digestivo por ejemplo,


permite a los seres vivos procesar los alimentos y convertirlos en nutrientes que proporcionan
energía, para que sean empleados por los demás sistemas que los componen.
• Los sistemas interaccionan con su medio ambiente, estos son los objetos que están fuera de
sus fronteras. Se llaman sistemas abiertos aquellos sistemas que interactúan con su medio
ambiente (recibiendo entradas y generando salidas). En contraposición aquellos que no
interactúan con su medio ambiente se denominan sistemas cerrados. Los sistemas cerrados
tienen sólo un valor conceptual teórico; en realidad todos los sistemas son sistemas abiertos.

Los sistemas tienen tres componentes interactivos funcionales: la entrada, el proceso y la salida.
La entrada involucra la captación y acopio de elementos que se deben insertar al sistema para ser
procesados. Un ejemplo de entrada para un sistema de manufactura es la materia prima, la energía
y esfuerzo humano provistos para asegurar la producción. El procesamiento incluye los procesos de
transformación para convertir las entradas en salidas (ejemplo los procesos de fabricación). La
salida, son los elementos procesados en su estado final, resultantes de la actividad
transformadora, como los bienes manufacturados por una fábrica.

Sistemas organizacionales.
Las organizaciones están formadas por muchos sistemas, cada uno con sus propias características,
que a su vez son similares en sistemas del mismo tipo. Por ejemplo, todos los sistemas
manufactureros tienen semejanzas. Su fin común es la producción de bienes que satisfagan la
demanda del mercado. Para lograr su objetivo, los sistemas interactúan con su medio ambiente
para conseguir la materia prima e implementos, los obreros y el conocimiento para elaborar sus
productos.

A su vez los sistemas generan salidas resultantes de su actividad, como productos terminados,
desechos y tecnología para la producción. Estos sistemas deben estar bajo control, con la finalidad
de mantener su adecuado funcionamiento. Los gerentes y empleados, vigilan el nivel de desempeño
y comparan con la producción planificada a fin de aplicar los cambios requeridos, si existiesen
diferencias.

Al mismo tiempo los sistemas de fabricación, son subsistemas de otras organizaciones de mayor
tamaño, que contienen otros sistemas; como por ejemplo, subsistemas para la obtención de materia
prima o de mantenimiento de equipos. Como puede observarse, todos los sistemas comparten
características generales. Bajo esta perspectiva, cualquier sistema puede examinarse en este útil
y flexible marco de referencia, que permite usar los conceptos de sistemas en cualquier
organización en general, y especialmente en el diseño de sistemas de información.

¿Qué es un sistema de información?


Los sistemas de información dentro de una organización, no son algo nuevo. Desde mucho antes de
utilizar las computadoras para su automatización, las organizaciones reunían, almacenaban y
actualizaban información en el transcurso normal de su actuación diaria. Tanto antes como ahora,
los sistemas de información consistían en procedimientos y reglas establecidas para entregar
información a los miembros de la organización. Cada una de estas personas, requiere información
distinta en la realización de su trabajo, las reglas del sistema indican el tipo, momento, formato y
cual es la persona a quien se debería entregar una información específica.

Pero un sistema manual de información puede llegar a ser ineficiente y frustrante, incluso en
organizaciones pequeñas. Un sistema de información automatizado o basado en computadoras, es
la integración de hardware, software, personas, procedimientos y datos. Todos estos elementos se
conjugan, trabajando juntos, para proporcionar información básica para la conducción de la
empresa. Esta información hace posible que las empresas lleven a cabo sus tareas con mayor
calidad y facilidad.

Los sistemas de información computarizados, además de llevar un seguimiento de las transacciones


y operaciones diarias, propias del negocio, sirven de apoyo al flujo de información interno de la
organización. La finalidad de los sistemas de información organizacionales es, procesar entradas,
mantener archivos de datos relacionados con la organización y producir información, reportes y
otras salidas para los usuarios que las necesitan. Puesto que los sistemas de información dan
soporte a los demás sistemas de la organización, los analistas de sistemas tienen que estudiar
primero el sistema organizacional como un todo y así entonces, poder precisar cuáles son y cómo
funcionan los sistemas de información de la organización.

Un sistema de información procesa datos y produce información

Componentes de un sistema de información.


Los sistemas de información dependen de otros subsistemas componentes para poder llevar a cabo
las actividades de entrada, proceso, salida, almacenamiento y control que convierten recursos de
datos en productos de información. Estos subsistemas
incluyen personas, hardware, software,procedimientos y datos. En lo que sigue se detalla sobre
cada uno de ellos.

Personas: Un sistema de cómputo involucra una variada gama de personas relacionadas con el
mismo, puesto que su construcción, mantenimiento y uso representan una labor con cierto grado de
complejidad. Se pueden dividir en dos grandes grupos: Los usuarios finales y los especialistas o
profesionales.

Los usuarios finales son aquellos que operan o interaccionan directamente con el sistema a través
de una estación de trabajo o incluso, quienes reciben reportes e información generada por el
sistema.

Entre los profesionales se encuentran: Los analistas de los sistemas de información, encargados
de idear soluciones cuando se requiere un nuevo sistema, actualizarlo, modificarlo o reconstruirlo;
losprogramadores, que crean los programas de cómputo que forman parte de los sistemas de
información; los administradores del sistema, encargados de mantener el sistema en buenas
condiciones; los capacitadores, que instruyen y preparan a los usuarios para la utilización del
sistema.

Hardware: Consiste en los equipos, dispositivos y medios necesarios que constituyen la plataforma
física mediante la cual, el sistema de información puede funcionar. Se incluyen aquí, por supuesto,
los que permiten las comunicaciones y los enlaces de red. Estos recursos son, por ejemplo,
computadoras, monitores, impresoras, disquetes o componentes de almacenamiento de información
externos, disco óptico, papel de impresión, cableado de red, y otros.

Software o programas: Son el componente lógico, es decir, los programas, las rutinas e
instrucciones que conforman el sistema de información. Se les suele denominar aplicación de
sistema de información. Es así como los sistemas de información pueden tener aplicaciones
particulares, por ejemplo, para el área de ventas, de contabilidad, de personal o de compras. La
aplicación que conforma un sistema de información completo contiene subconjuntos de programas
que se encargan de apoyar las distintas actividades propias de la organización.

Cuando se habla de sistema de información, las


personas suelen pensar que se refiere sólo a la
aplicación, al conjunto de programas que la
constituye. En general este es el uso convencional
y aceptado, pero realmente es sólo una parte, un
componente o subsistema como se ha explicado.

Datos: Unidades de información que son


almacenadas y generadas en el transcurrir de la
labor de la empresa. Los datos son almacenados
en las denominadas bases de datos o bases de
conocimiento.
Componentes de un Sistema de Información

Impacto de los sistemas de información.


La implantación y uso de un sistema de información dentro de una organización regularmente
desencadena una serie de consecuencias, de las cuales unas son positivas y otras no lo son. A
continuación, algunas de las ventajas de contar con un sistema de información y algunos puntos
negativos que las organizaciones deben enfrentar al implantar un sistema de información:

Entre las ventajas de la utilización de un sistema de información computarizado:

• Control más efectivo de las actividades de la organización.


• Integración de las diferentes áreas que conforman la organización.
• Integración de nuevas tecnologías y herramientas de vanguardia.
• Ayuda a incrementar la efectividad en la operación de las empresas.
• Proporciona ventajas competitivas y valor agregado.
• Disponibilidad de mayor y mejor información para los usuarios en tiempo real.
• Elimina la barrera de la distancia trabajando con un mismo sistema en puntos distantes.
• Disminuye errores, tiempo y recursos superfluos. Permite comparar resultados alcanzados
con los objetivos programados, con fines de evaluación y control.

Entre las desventajas se puede encontrar:

• El tiempo que pueda tomar su implementación.


•La resistencia al cambio de los usuarios. Problemas técnicos, si no se hace un estudio
adecuado, como fallas de hardware o de software o funciones implementadas inadecuadamente
para apoyar ciertas actividades de la organización.

Categorías de los sistemas de información.


En la medida en que más funciones de las organizaciones se han automatizado, los sistemas de
información se han tornado aceleradamente más especializados, dando origen a distintos sistemas
de información. Estos sistemas individuales podrían llegar a combinarse para convertirse en
componentes o subsistemas del sistema general de información propio de una organización. Los
sistemas componen una pirámide, sirviendo de apoyo esencialmente más no es exclusivo, a uno de
los niveles jerárquicos conformados por el personal de la empresa. En esencia, se tiene en las
organizaciones, tres tipos de sistemas de información especializados.

Categorías de los sistemas de información organizacionales.

1. Sistema de procesamiento de transacciones: (Registra las operaciones diarias).


Estos sistemas permiten a la organización mejorar y mantener un seguimiento o registro de
sus operaciones o transacciones rutinarias, cuyos datos son almacenadas en una base de
datos. Es por esta razón que también se les llama sistemas de procesamiento de datos. Los
datos de las operaciones son integrados a la base de datos, en la cual se registran las
transacciones de la organización. La base de datos así conformada puede servir de apoyo a los
otros tipos de sistemas de información. Un sistema común de procesamiento de transacciones
en todas las empresas es el relacionado con el área de contabilidad. Entre las actividades que
automatiza se encuentra el procesamiento de órdenes de venta, control de cuentas por
cobrar, inventario, cuentas por pagar y nómina.

2. Sistema de información gerencial o administrativa: (Produce reportes estructurados). Es


un tipo de sistema de información que arroja reportes estandarizados en forma breve
y estructurada. Apoya la gestión del personal de rango medio. Se diferencian de los sistemas
de procesamiento de transacciones en que los primeros asisten o mantienen a la base de
datos, en tanto que el sistema de información gerencial realmente hace uso de la base de
datos. Puede requerir de administración de la base de datos que integre las bases de datos de
los diferentes departamentos. El personal de nivel medio requiere en general de información
resumida originada en distintas unidades funcionales. Es capaz de producir reportes
predeterminados, con un formato previo ya determinado que presenta siempre el mismo tipo
de contenido.

Existen tres categorías comunes de reportes en toda organización. Los reportes periódicos,
que se producen a intervalos de tiempo regulares, por ejemplo, los reportes de ventas
mensuales. Los reportes de excepción, que indican acontecimientos inusuales, por ejemplo, un
reporte que muestre que la venta de cierto artículo se encuentre muy por encima de los
pronósticos. Los reportes a solicitud, que son realizados por petición expresa, por ejemplo,
cantidad de empleados, de sexo femenino, en un rango determinado de edad; es un reporte
que no se requiere con periodicidad, sino en una situación ocasional, como la evaluación para
la contratación de un seguro médico para los empleados.

3. Sistema de apoyo ejecutivo o soporte de decisiones: (Apoyo al análisis de


situaciones imprevistas). Se diferencia de los anteriores, en que es una herramienta flexible
de análisis que produce reportes sin formato fijo. Estos sistemas permiten a los gerentes
obtener respuestas a problemas inesperados y relativamente excepcionales. Existen algunas
decisiones que no son de naturaleza recurrente y que deben enfrentarse muy ocasionalmente
o incluso una sola vez. Una decisión se considera no estructurada cuando no se cuenta con
procedimientos claros, preestablecidos para adoptarla y no es posible identificar
anticipadamente todos los factores a considerar en la decisión. Un factor clave en el uso de
estos sistemas es la flexibilidad de definir la información necesaria. Incluso ocurre que
conforme se adquiere información, el gerente requiera más información, dando un nuevo giro
a sus requerimientos iniciales. Como se percibe, en estos casos, no es posible diseñar
previamente ni el formato, ni el contenido de los reportes del sistema.

Este tipo de sistema debe brindar flexibilidad para que el usuario (gerente o directivo)
pueda solicitar informes definiendo el contenido y la manera de presentar la información. El
criterio de los directivos juega un papel importante en la toma de decisiones en problemas
no estructurados. Los sistemas que dan soporte, se limitan a respaldar, pero no reemplazan
el criterio del directivo.

Otros sistemas de información.

Sistemas de automatización para oficinas: Los empleados de una empresa utilizan diversas
aplicaciones, como procesadores de texto, hojas de cálculo y programas de comunicaciones para
encarar tareas diarias y rutinarias de una oficina: envío de cartas, memorandos, relación de
productos o servicios. Los sistemas automatizados de una oficina pueden constituirse a partir de
aplicaciones comerciales básicas que pueden ser adquiridas en el mercado, en lugar de desarrollar
hasta las más mínimas soluciones.

Sistemas expertos: Estos sistemas automatizan el proceso de toma de decisiones en un área


específica, como diagnósticos médicos, mecánicos o revisión de historias de crédito para
aprobación de solicitudes de préstamo. Los sistemas expertos tienen la capacidad de analizar
datos y luego suministrar una recomendación que indica el curso de acción. Por ejemplo, un sistema
de diagnóstico mecánico experto, puede proporcionar el diagnóstico más probable basándose en
condiciones que presenta una maquinaria. La creación de un sistema experto requiere de una
abundante colección de destreza y experticia humana en un campo específico que es recogido en
una base de datos de tipo especial altamente detallada que se denomina base de conocimientos.
Una pieza de software llamada mecanismo de inferencia, examina los datos disponibles,
relacionados con la base de conocimientos y selecciona la respuesta más apropiada.

Sistema de trabajo en grupo (Groupware): Existen situaciones en que para la resolución de


problemas complicados es necesario conformar equipos que se encarguen del asunto. Un sistema de
apoyo de decisiones grupales permite el trabajo colectivo. Esto se consigue utilizando
computadoras con software interactivo, que usa diversas tecnologías de telecomunicación, y
permite la intercomunicación inmediata entre usuarios ubicados incluso en sitios lejanos. Estos
sistemas pueden integrar programas que les permitan tener acceso a otros sistemas de
información propios de la empresa para obtener información inmediata y especifica de, por
ejemplo, producción, finanzas, ventas, y otros.

Visión de los sistemas de información.


Los sistemas de información computarizados forman hoy día parte imprescindible de la mayoría de
las organizaciones. Contar con fuentes de información confiables, veraces y oportunas que
ofrezcan un criterio para la toma de decisiones acertadas en beneficio de la organización es algo
que todo gerente anhela. Los sistemas de información son los encargados de que el flujo de
información en la organización sea adecuado, ofrecen la posibilidad de contar con información de
calidad, que genera un mejor desenvolvimiento de todos los demás componentes de la organización.

Gracias a los nuevos adelantos tecnológicos los beneficios que aportan los sistemas de información
se han extendido más allá de los límites de las instalaciones de la organización. Es factible que los
sistemas de información del futuro mediante la incorporación de las mejoras tecnológicas de
hardware y software, ofrezcan una mayor capacidad y abundancia de aún mejores opciones
adicionales. Es claro que hoy se conforma una sociedad de la información que incorpora grandes
avances tecnológicos en las telecomunicaciones y en la informática; velocidad, disponibilidad y
conectividad, juegan un papel de vital importancia en las organizaciones actuales, que sin exclusión
están obligadas a operar transmitiendo y recibiendo información, interna y externa para realizar
sus actividades diarias. Es evidente que la capacidad gerencial se ha visto enriquecida con los
cambios introducidos por el uso de tales innovaciones.

La gran mayoría de las organizaciones están conscientes que los mejores resultados se obtienen
adaptándose a las nuevas condiciones del entorno, un entorno que se ha ido haciendo cada vez más
cambiante, exigente y turbulento. Los desafíos organizacionales están influenciados por la
innovación, la rapidez, servicio de calidad y mejora continua. La información sobre su actuación y
desempeño le permiten evaluarse y reconocer sus fortalezas y debilidades para tomar los
correctivos adecuados evitando navegar a la deriva logrando mayor acierto en la toma de
decisiones.

Análisis y diseño de sistemas

En la actualidad la mayoría de los usuarios de


microcomputadoras tienen acceso a un sistema
de información o forman parte del mismo. Todas
las organizaciones cuentan con un sistema de
información de algún tipo, que sus empleados
deben utilizar. Cuando en cualquier organización
se desea implantar un nuevo sistema, de tal
forma que sus miembros sean más productivos,
obteniendo un mayor provecho y apoyo del
mismo, se requiere realizar una serie de acciones
y previsiones.

La creación o establecimiento de un nuevo sistema de información en la organización, puede ser una


tarea compleja. Para encarar este tipo de situaciones existe un proceso de análisis y diseño de
sistemas que auxilia en la resolución de tales problemas. El análisis y diseño de sistemas proporciona
una guía útil que busca disminuir las situaciones de fracaso o errores al acometer estos procesos.

Razones para conocer el análisis y diseño de sistemas


Aunque pareciese que es tema sólo de profesionales, como usuario final, toda persona que usa una
microcomputadora se beneficiará al conocer sobre este proceso. Puede ocurrir que, una vez
contratado como miembro de una organización, se convierta en usuario de su sistema de información,
entonces el conocimiento del análisis y diseño de sistemas, le permitirá aumentar su productividad
personal, sirviéndole para resolver los problemas que surjan en su área de trabajo, determinando
nuevos requerimientos de información y permitiéndole colaborar con los profesionales en informática
en la resolución de tales situaciones.

Necesidad del análisis y diseño de sistemas


La instalación de un sistema sin la adecuada
planeación puede conducir a grandes frustraciones y
causar que el sistema sea subutilizado, o peor aún,
deje de ser usado al no cumplir con las expectativas
que le dieron origen. El análisis y diseño de sistemas
es una guía que permite estructurar el proceso de
Consumo de recursos a lo largo de la vida del desarrollo de sistemas de información.
sistema

Tal proceso siempre representará un esfuerzo, inversión de tiempo y recursos por parte de la
organización. Acometer tal esfuerzo de manera casual, presenta un alto grado de riesgo al no
garantizar la culminación del proyecto con éxito. Este procedimiento permite reducir al mínimo el
riesgo de fracaso de nuevos proyectos, pues es común que muchos errores surjan al utilizar nuevos
sistemas de información, bien por no adaptarse correctamente a las necesidades reales o por
desempeñarse de forma inadecuada.

Ciclo de vida del desarrollo de sistemas


Antes de dar detalles sobre este proceso, se define lo que es un sistema. De manera sencilla, un
sistema puede ser definido como un conjunto de actividades y elementos organizados para alcanzar
un fin. Un sistema de información se compone de elementos como hardware, software, personas,
procedimientos y datos que interactúan unos con otros para generar la información primordial en el
desempeño de la organización.

La información es un recurso valioso que permite a la organización llevar a cabo la prestación de


servicios o elaboración de productos. Es común que las organizaciones deban cambiar sus sistemas de
información, motivado al crecimiento de la misma, cambio en regulaciones estatales, surgimiento de
nueva tecnología, y otros. Es decir, siempre habrán factores que modifiquen el ambiente donde se
desempeña la organización y ésta debe cambiar para afrontarlos, lo cual se verá reflejado en los
sistemas que la conforman.
El análisis y diseño de sistemas es un procedimiento para la resolución de problemas. Cuando se trata
del diseño de sistemas de información, busca analizar sistemáticamente la entrada o flujo de datos, la
transformación de los datos, el almacenamiento de datos y la salida de información en el contexto de
una organización particular. También es usado para analizar, diseñar e implementar mejoras que
puedan incorporarse a la organización y puedan ser alcanzadas al usar un sistema de información
computarizado.

Este procedimiento se lleva a cabo, en el llamado


ciclo de vida de desarrollo de sistemas, el cual
consta de seis pasos que permiten el diagnóstico
y optimización de un sistema de información.
Este ciclo puede repetirse indefinidamente,
porque como ya se señaló, las organizaciones
siempre se ven sometidas a cambios, y sus
sistemas deben renovarse periódicamente. Los
pasos del ciclo de vida de desarrollo son los que
se encuentran en la imagen. Se suele llamar
analistas de sistemas a quienes se encargan de
realizar en las empresas, el proceso de análisis y
Ciclo de vida de desarrollo de sistemas de seis fases
diseño de sistemas, definiendo los lineamientos a
(Haz clic sobre el diagrama)
seguir y la manera en que debe incorporarse la
tecnología de la computación para adecuar y
actualizar sus sistemas de información.

Los usuarios juegan un papel crítico al momento de cambiar o desarrollar exitosamente un sistema de
información, porque son quienes conocen los problemas de su área de trabajo, pudiendo suministrar
información valiosa y atinada sobre las necesidades que debería resolver tal sistema. El desarrollo
acertado de sistemas de información automatizados requiere del trabajo conjunto de usuarios finales
y de los analistas de sistemas (ver Tabla 1).

Tabla 1.- Resumen del ciclo de vida de desarrollo de sistemas

Ciclo de vida de desarrollo de sistemas

Fase Tareas asociadas

Definir el problema Sugerir alternativas


1 Investigación preliminar
Presentar reporte breve
Recopilar datos Analizar datos Documentar
2 Análisis
resultado

Diseñar alternativas Escoger la mejor


3 Diseño
alternativa Reportar resultado

Desarrollar o adquirir software Adquirir


4 Desarrollo
hardware Probar Sistema

5 Implementación Instalación Capacitación de usuarios

6 Mantenimiento Auditar nuevo sistema Evaluar eriódicamente

Fases del ciclo de vida del desarrollo de sistemas


A continuación se trata con más detalle cada una de las fases de la metodología con la finalidad de
aclarar de qué se trata cada una de ellas.

1. Investigación Preliminar
La primera fase tiene que ver con la identificación de problemas, oportunidades y objetivos. Es muy
valiosa y debe ser asumida con prudencia y atención, porque de ella depende el resto del proyecto.
La definición correcta del problema evitará desperdiciar el tiempo en un problema equivocado.
Requiere de la observación minuciosa del funcionamiento de la organización, usando las sugerencias
de los usuarios potenciales del sistema y de los demás miembros de la organización, para resaltar los
problemas que ellos probablemente ya han detectado.

Esta fase regularmente obedece a la solicitud


planteada por un usuario final o encargado de algún
área operativa, como un gerente, que no ve resuelto
sus necesidades de información en la situación
actual. Estos nuevos requerimientos dan origen a un
estudio que estará constituido por tres tareas
sucesivas: Una breve definición del problema;
sugerencia de posibles soluciones; elaboración de un
reporte breve. Este último permite a quien dirija la
Determinación de problemas, oportunidades y organización tomar la decisión de asumir o no el
objetivos proyecto.

La definición del problema conlleva el estudio del sistema de información que se encuentra en uso. Se
trata de determinar qué información se requiere y quiénes, cuándo y por qué la necesitan llevando a
cabo entrevistas con los involucrados y realizando observaciones. Así, la propuesta de posibles
soluciones consiste en sugerir planes alternativos de solución en base a la información recabada. Esto
puede ir, desde proponer una nueva organización de trabajo, hasta hacer cambios al sistema
computarizado que existe, desarrollar un nuevo sistema computarizado o elegir un nuevo software
comercial que se adapte a las necesidades encontradas.

Entonces, se procede a la redacción de un reporte que resuma los resultados de la investigación


previa, que sugiera las posibles soluciones o indique si se detecta que es innecesario continuar con el
proyecto. Podría incluir incluso un plan de trabajo en caso de que el proyecto continuara. En base a
este documento, los directivos tomarán su decisión de continuar o no.

2.- Análisis
Esta fase se ocupa de la reunión y estudio a detalle de los datos del sistema en operación y la
especificación de los nuevos requerimientos del sistema a desarrollar. Concluye en general con un
documento que recoge el resultado del análisis. Con la recopilación de datos se complementan los
datos resultantes de la fase 1, añadiendo detalles sobre el sistema actual. Son medios comunes para
acometer tal recopilación: las entrevistas, cuestionarios, encuestas a usuarios finales, así como
también, las consultas a documentos y manuales que contengan lineamientos de funcionamiento o
normas de procedimientos de operación.

Ya recopilados, los datos son analizados para


establecer cómo es el flujo de información y
detectar la posible causa de que este flujo sea
defectuoso. Se trata de evaluar el flujo de
información en la organización para determinar
si es realmente el adecuado. Es frecuente que el
funcionamiento inadecuado tenga su origen en
no llevar a cabo los procedimientos
correctamente. Si este es el caso, bastaría
entonces con entrenar al personal para ceñirse
apropiadamente a las normas y a los El análisis establece el flujo de datos y
procedimientos, siendo innecesario rediseñar o la causa de los problemas
crear un nuevo sistema.

Existen varias técnicas y herramientas útiles para el análisis de datos. Una de éstas es el uso de
diagramas de flujo de datos para diagramar la entrada, proceso y salida de las funciones de la
organización de manera gráfica. Estos diagramas sirven para desarrollar el llamado diccionario de
datos, el cual contiene la definición de los datos usados en el sistema, así como sus características de
tipo, tamaño, limitaciones o especificaciones especiales. La documentación de la etapa de análisis
recoge la descripción del sistema de información en uso, los requerimientos para el nuevo sistema y
un probable plan de desarrollo en un reporte dirigido a la gerencia. Este reporte permite tomar la
decisión de proseguir o no con el proyecto.
3.- Diseño
En esta fase se delinea el nuevo sistema de información. Se compone de tres tareas que son: diseño de
sistemas alternativos, selección del mejor sistema, y la consiguiente redacción del reporte del diseño.
Casi siempre podrá desarrollarse más de un diseño que cubra las necesidades de información. Debe
ser determinada la factibilidad de cada una de las alternativas. La factibilidad aquí referida tiene que
ver con tres aspectos:

• Factibilidad económica: Verificar si los costos del nuevo sistema son justificados por
los beneficios que ofrecerá.

• Factibilidad técnica: Establecer si se va a contar con el hardware, software y


personal necesarios para llevar a cabo el proyecto.

• Factibilidad operativa: Determinar si el nuevo sistema podrá operar en la organización,


siendo aceptado por los usuarios de todo nivel, o si por el contrario habrá una resistencia
insuperable al cambio.

Para elegir el diseño adecuado, los directivos van a evaluar básicamente si el sistema cumple con los
siguientes aspectos:

a) Se adaptará al sistema general de información de la organización.


b) Tendrá flexibilidad para aceptar modificaciones futuras.
c) Ofrece seguridad contra el uso no autorizado.
d) Los beneficios obtenidos valen más que los costos.

El reporte correspondiente a esta fase describe los diseños alternativos, comparando sus costos y
beneficios y un esbozo de sus efectos en la organización. Es conveniente recomendar una de las
alternativas, la más adecuada, basándose en las comparaciones de los mismos.

4.- Desarrollo
Durante esta fase los programadores pueden jugar un papel de importancia al crear o personalizar el
software que formará el sistema. Esta fase consiste de las tareas de desarrollo del software,
adquisición de hardware y prueba del nuevo sistema. En realidad el software de aplicación para el
nuevo sistema de información puede conseguirse de dos formas alternativas. Es posible adquirir un
paquete comercial que cumpla las expectativas o que incluso pueda ser modificado o adaptado. Si no
es posible conseguirlo, se hará necesario elaborar uno a la medida. La elaboración de software sigue
una serie de pasos que se describen en el tema sobre Programación.

Si se opta por desarrollar un sistema a la medida,


seguramente además del analista se encontrarán
involucrados un grupo de programadores. El analista
comunica a los programadores lo que requiere ser
programado, entonces estos diseñan, codifican y
depuran los componentes de software del sistema.
El trabajo del analista también involucra a los
usuarios, para quienes deberá desarrollar y
suministrar documentación, como los manuales de
procedimientos. Tal documentación explica al
usuario cómo usar el software desarrollado y qué
hacer en caso de que se presenten problemas.

Los programadores se encargan de elaborar el


software

La adquisición de hardware o nuevos equipos no siempre es requerida, si los equipos con los que se
cuenta son adecuados. En otro caso, debe preverse las características de los mismos y el lugar donde
serán instalados. El cambio de equipos puede representar un gran costo, por lo que se debe pensar
cuidadosamente en cuestiones como: si el mismo será útil al crecer la organización; en el caso de las
redes, si podrán ampliarse sin problemas; si se requerirá someter al personal a capacitación costosa
para poder usarlo.

Se procede a la prueba del sistema una vez instalados el software y el hardware usando datos de
muestra. La información que se obtiene tras procesar los datos en el sistema, se evalúa para acreditar
que los resultados son correctos. En el período de prueba los usuarios que lo utilizan pueden hacer
observaciones valiosas para afinar el sistema haciendo las correcciones pertinentes.

5.- Implementación
En la fase de implementación se instala el nuevo sistema de información para que empiece a trabajar y
se capacita a sus usuarios para que puedan utilizarlo. Pero la instalación puede realizarse según cuatro
métodos: Directo, paralelo, piloto y en fases. Veamos en qué se diferencian estos métodos:

• Método directo: Se abandona el sistema antiguo y se adopta inmediatamente el nuevo.


Esto puede ser sumamente riesgoso porque si algo marcha mal, es imposible volver al sistema
anterior, las correcciones deberán hacerse bajo la marcha. Regularmente con un sistema nuevo
suelen surgir problemas de pequeña y gran escala. Si se trata de grandes sistemas, un problema
puede significar una catástrofe, perjudicando o retrazando el desempeño entero de la
organización.

• Método paralelo: Los sistemas de información antiguo y nuevo operan juntos hasta que el
nuevo demuestra ser confiable. Este método es de bajo riesgo. Si el sistema nuevo falla,
la organización puede mantener sus actividades con el sistema antiguo. Pero puede representar
un alto costo al requerir contar con personal y equipo para laborar con los dos sistemas, por lo
que este método se reserva específicamente para casos en los que el costo de una falla
sería considerable.

• Método piloto: Pone a prueba el nuevo sistema sólo en una parte de la organización.
Al comprobar su efectividad, se implementa en el resto de la organización. El método es
menos costoso que el paralelo, aunque más riesgoso. Pero en este caso el riesgo es controlable
al limitarse a ciertas áreas, sin afectar toda la empresa.

• Método en fases: La implementación del sistema se divide en partes o fases, que se


van realizando a lo largo de un periodo de tiempo, sucesivamente. Una vez iniciada la primera
fase, la segunda no se inicia hasta que la primera se ha completado con éxito. Así se continúa
hasta que se finaliza con la última fase. Es costoso porque se hace más lenta la implementación,
pero sin duda tiene el menor riesgo.

Los métodos piloto y en fases suelen ser los más


practicados puesto que tienen menor riesgo.
Como se puede observar la decisión de adoptar
cualquiera de los métodos estará influenciada
por factores de riesgo y disponibilidad de
recursos. Otro aspecto importante de esta fase
es la capacitación del personal, que cobra
especial importancia para asegurar el uso
acertado del sistema. Se puede adelantar camino
al capacitar personal, antes incluso de contar con
los equipos nuevos, para que el usuario se
familiarice con el nuevo sistema. Si el sistema es
sencillo y el usuario tiene cierta experiencia, la
capacitación formal no se hace necesaria y
bastarán algunas instrucciones para ponerle al Métodos de implementación
tanto.

6.- Mantenimiento
Al finalizar la fase de implementación comienza la fase de mantenimiento. Es la fase final, de gran
importancia como se demostrará a continuación, y es una fase permanente en lo que le resta de vida
al sistema. El mantenimiento se inicia con una auditoria del sistema y luego continúa con evaluaciones
periódicas. Al realizar la auditoria del nuevo sistema, se verifica que su desempeño sea acorde a las
especificaciones planteadas en la fase de diseño, para comprobar que los procesos que han sido
integrados, efectivamente son los adecuados. En caso contrario, se hace necesario un nuevo diseño
para ajustar los inconvenientes detectados.

Las evaluaciones periódicas permiten determinar, si


el sistema continúa vigente respecto a su capacidad
para realizar los procesos adecuadamente. En caso
contrario, se requiere de nuevos ajustes, cambios o
modificaciones que le permitan al sistema adaptarse
a nuevas situaciones de las que pueda ser objeto la
organización. En este punto es bueno resaltar, que
las organizaciones son entes cambiantes, así mismo
sus sistemas componentes y específicamente los
sistemas de información, los cuales deberán ser
sensibles a estos cambios, mediante evaluación, para
adecuarlos a responder efectivamente a las
situaciones emergentes.

El mantenimiento se inicia con una auditoria al


sistema

El enfoque por prototipos


Una desventaja que se atribuye al proceso de análisis de seis fases, el cual se acaba de estudiar es que
puede resultar engorrosamente largo. Sobre todo porque existen situaciones en las que no es posible
contar con mucho tiempo. Existen contextos en los que no se pueda llevar a cabo la evaluación, diseño
y prueba de la manera en que se describió anteriormente.

El enfoque por prototipos consiste en la creación de un modelo preliminar del nuevo sistema, que
puede ser modificado o adaptado gradualmente antes de su instalación definitiva como sistema
funcional propiamente dicho. Entre sus ventajas se encuentra, que es una manera expedita de generar
nuevos sistemas. Los usuarios finales pueden ver desde un principio como lucirá el sistema, aportando
sus observaciones sobre los cambios necesarios para que el modelo se adapte adecuadamente a su
trabajo. Pero por otro lado, el uso exclusivo de este enfoque, tiene su riesgo. Puede propiciar cambios
o instalaciones de sistemas que no tomen en cuenta asuntos de importancia como los costos.

Mejoras en el desarrollo de sistemas


El ciclo tradicional del análisis y diseño de sistemas puede llegar a tomar mucho tiempo, incluso años,
en el caso de desarrollos de gran magnitud en organizaciones grandes. Pero en la actualidad, el ritmo
de los negocios y de las actividades de cualquier organización tiende a intensificarse, a hacerse más
acelerado, imponiendo exigencias de tiempo y calidad para poder mantener la operatividad y
competitividad de las mismas. Por tanto, surge la necesidad de contar con ciclos de desarrollo más
acelerados, pero que mantengan su confiabilidad.

Comienzan a plantearse nuevos métodos que


intentan incrementar la velocidad, reduciendo el
tiempo requerido de desarrollo. Entre los
elementos innovadores que se integran en estos
métodos se encuentra: El uso de software o
herramientas de desarrollo (como CASE;
integración de grupos de personas bien
capacitadas, enfocadas a la producción de
aplicaciones en menor tiempo y de mayor
calidad, la diestra utilización de nuevas y no tan
nuevas técnicas de desarrollo.

El uso de herramientas CASE permite acelerar


el proceso de análisis y diseño

Pero es adecuado resaltar que ninguno de estos métodos debería omitir los pasos del ciclo planteado,
si se desea trabajar efectivamente. El pasar por alto alguna de las fases, podría en todo caso, traer más
problemas que provecho. Debe quedar claro que estos nuevos planteamientos intentan optimizar y
reducir el tiempo de cada fase, más que obviarlas, de manera de reducir el tiempo total de desarrollo
del sistema en general.

Para concluir
En este tema se presenta un proceso de desarrollo de sistemas, que aún con sus variaciones e
inconvenientes, sirve como base al planteamiento de nuevas metodologías que intentan hacerlo más
efectivo. Este enfoque sistémico permite estructurar los proyectos y en especial llevar a cabo el
desarrollo de sistemas computacionales. Tener conocimiento sobre el mismo, es de gran utilidad y da
una idea de cómo abordar problemas que pueden tener un alto grado de complejidad.

El ciclo de desarrollo de sistemas tradicional que se plantea en este tema, ha servido efectivamente
por muchos años de guía para la elaboración de sistemas. Aunque según diferentes fuentes, el número
de fases puede variar, siempre podrán encontrarse los pasos aquí planteados, agrupados o listados
quizá de manera diferente. Pero no cabe duda que la adopción y seguimiento adecuado de estos
pasos, influirá notablemente en conseguir con éxito la culminación del proyecto.

Programación: La creación de programas

Se mostrará a continuación, que la programación es


un proceso muy similar al que aplican las personas en
general, para resolver cualquier situación o
problema. Se puede pensar en un curso en el que los
alumnos deben realizar un trabajo de investigación.
En primer lugar, cualquiera de ellos plantearía una
resolución general del problema, es decir,
determinaría las actividades que debe realizar, como
son, buscar la información en bibliotecas e Internet,
recopilar y extraer la información necesaria,
transcribir y organizar el trabajo, y otros.
Seguidamente se aboca a encarar cada actividad,
debiendo resolver problemas específicos.

Los programadores y desarrolladores, son profesionales encargados de codificar y crear programas.


Sin embargo, existen algunas aplicaciones (incluso de las llamadas de escritorio) que permiten a los
usuarios finales, automatizar en cierto grado algunas de sus actividades usando la programación,
ahorrándoles tiempo y esfuerzo. Nadie desperdiciaría la oportunidad de contar con algo más de
tiempo, ¿o si? La programación permite pensar en la resolución de un problema una vez, y luego el
computador se encargará del mismo infinitas veces.

Creación de programas a la medida:


Son los programas o software los que permiten a los componentes físicos y redes, procesar y distribuir
los datos y generar información. Ningún sistema de información computarizado está completo sin el
software adecuado. Al desarrollar un sistema de información, se precisan las necesidades y
requerimientos que se deben resolver. Se emplean las seis fases del ciclo de desarrollo de sistemas. La
programación forma parte de la fase 4, el desarrollo de sistemas, en el cual se resuelven los
requerimientos mediante la programación del software. En ocasiones, los desarrolladores resuelven
estas situaciones sugiriendo adquirir software comercial, siempre que las necesidades de los usuarios
finales sean estándares o requieran de poca o ninguna adaptación de los programas. Pero esto no
siempre es posible y entonces se deben crear los nuevos programas que conformarán el sistema de
información.

Programas:
Un programa de cómputo o programa informático (software) es un conjunto o secuencia de
instrucciones (llamadas también código) que pueden ser interpretadas y ejecutadas en el CPU de la
computadora. Esta secuencia de instrucciones se escribe en alguno de los diversos lenguajes de
programación que existen, como BASIC, Pascal o C. Visto de manera más general, el programa
contiene el esquema que especifica la secuencia de pasos que se siguen para completar un proceso
expresado en un lenguaje de programación.

Los programas pueden caer en una de dos categorías: Programas del sistema o programas de
aplicación. Regularmente todos estos programas están compuestos de muchos archivos: algunos
contienen las instrucciones para la computadora y otros contienen datos. El nombre de un archivo
suele estar seguido de un punto y una extensión. La extensión por lo general da indicios del tipo de
archivo de que se trata. Es costumbre que los archivos, los cuales componen una aplicación, se
almacenen en una misma carpeta o directorio que se denomina directorio de la aplicación y que
contará con un nombre que haga alusión a la aplicación.

La programación o desarrollo de software, es un


el procedimiento que permite la creación de los
programas. Como se muestra más adelante
consiste de seis pasos. No se trata sólo de
teclear las instrucciones en la computadora. La
creación de programas involucra actividades de
análisis y diseño, previas al paso en el cual se
traducirá a un algoritmo, al lenguaje de
computación, para entonces proseguir a realizar
pruebas de funcionamiento al código así Los programadores se encargan de la creación de
obtenido. programas

Características de un buen programa:


A continuación se enumeran algunas de las características con que debería contar un buen programa.
Es recomendable tenerlas en cuenta. A medida que continúe leyendo el tema podrá darse cuenta del
por qué de las mismas.

• Confiabilidad, es decir, el programa debe funcionar en prácticamente cualquier situación.


• Debe advertir los errores de entrada comunes y obvios.
• Deben ser bien estructurados, es decir, programas que utilicen organizaciones de
la programación estructurada.
• Estar adecuadamente documentado y ser comprensible, no sólo para quien lo crea, sino
para otros programadores. Esto es para facilitar las futuras y muy posibles modificaciones
que requiera.

Flujo de control de programa:


Aunque un programa puede estar constituido por muchos archivos, regularmente cuenta con un
archivo, que constituye su parte primordial, con frecuencia llamado archivo ejecutable, porque es el
que la computadora ejecuta cuando el usuario inicia el programa. Entonces, la computadora lee y
realiza la primera instrucción y luego continúa o fluye a otra, de manera sucesiva, hasta completar la
acción de la última instrucción y así el programa termina. Sin embargo, es muy probable que no todas
las instrucciones se encuentren en un único archivo. En este caso el flujo pasa momentáneamente a
las líneas de código almacenadas en este otro archivo y luego, devuelve el control al programa
principal. El flujo de control del programa es el orden en el cual se van ejecutando las instrucciones del
programa.

Variables:
Las variables son los “contenedores” de los datos que se van a procesar, son un elemento común en la
mayor parte de los lenguajes de computación. Físicamente, las variables son áreas designadas de
memoria en donde se guarda el valor del dato. Supongamos que se escribe un programa en el cual se
solicitan sueldos de empleados. Se debe contar con una variable que guarde ese dato. Puede
escogerse nombrarla, por ejemplo, v_sueldo.

Cuando, a solicitud del programa, el usuario introduce un número, ese dato se convierte en el valor de
la variable v_sueldo. Entonces de manera semejante como en álgebra o física, las variables pueden ser
usadas en programación para realizar operaciones de informática. Si el programa indica la declaración
v_sueldo + 500 y el valor en v_sueldo = 1.000, el resultado para esta declaración va a ser 1.500.

Algoritmos:
Se denomina algoritmo a una serie finita de pasos o instrucciones mediante los cuales se resuelve un
problema o se ejecuta una tarea específica. Más formalmente los algoritmos se caracterizan por:

• Ser finitos, porque tienen un número determinado de pasos.


• Ser definidos, lo que implica que cada vez que se siga se obtendrá invariablemente el
mismo resultado.
• Ser precisos, pues cada paso tiene un orden a seguir.

Los algoritmos especifican los pasos (instrucciones) que permiten llegar a la solución de un problema,
sin importar si el proceso es manual o automatizado. De modo que no se encuentran exclusivamente
relacionados con la computación. En la vida cotidiana son empleados en diversas ocasiones. Por
ejemplo, los pasos seguidos para retirar dinero de un cajero automático de un banco o cuando se
sigue una receta de cocina. Se puede entenderlos entonces, como una especie de “receta” que indica
los pasos que permiten alcanzar la solución de un problema.

Procedimientos y Funciones:
Los procedimientos y funciones son bloques de código reusables, que pueden ser invocados en
cualquier parte de un programa, mediante expresiones que les representan. Son algoritmos
específicos en un lenguaje de programación que resuelven un problema definido. Pueden ser usados
cada vez que es requerido, simplemente colocando la expresión que les invoca, sin necesidad de
reescribir todas las instrucciones que representan a tal procedimiento o función. Por ejemplo, si se
desea la raíz cuadrada de un número, podría usarse la expresión Sqrt(x). La x dentro del paréntesis es
llamada argumento, siendo el número del cual se desea la raíz cuadrada. El argumento permite
especificar la entrada a la función cuando el programa se está ejecutando. Siendo x la variable que
almacena el número 12 para un programa, la función buscará la raíz cuadrada de 12. Cuando la
función encuentra la raíz cuadrada, devuelve el valor al programa que la invocó.

A los procedimientos y funciones en conjunto suele denominárseles también rutinas o subrutinas.


Dependiendo del lenguaje de programación que se esté utilizando y de acuerdo a cómo éste
implemente las rutinas, se pueden imponer algunas diferencias entre las funciones y los
procedimientos. Las funciones, en general, son rutinas que devuelven un valor como resultado a partir
de uno o más argumentos. Es el caso de las funciones matemáticas, que calculan el logaritmo de un
número, su raíz cuadrada,... Los procedimientos por otro lado, son aquellas rutinas que no devuelven
un valor, sino que realizan una acción determinada, usando tal vez un grupo de argumentos. Es el
caso, por ejemplo, de un procedimiento para presentar por pantalla una circunferencia, en la que
tendría que suministrarse simplemente valores como la posición en la pantalla y el radio de la misma.

Enfoques de Programación:
En los inicios de la programación y hasta principios de los sesenta, no habían estructuras bien
definidas en la forma en que se escribía el código. Se disponía una línea tras otra de programación
construyendo un único e inmenso bloque, que constituiría el programa. Pero el control del flujo a
través de gran cantidad de líneas de instrucciones, resultaba difícil de seguir no sólo por su tamaño,
sino porque no siempre es posible programar siguiendo la secuencia de una línea tras otra. Por lo que
se hizo frecuente el uso de la instrucción go to (vaya a) escrito como “goto” en el programa.

Esta instrucción goto, identifica una línea de programa, que puede estar varias líneas más abajo e
incluso varias líneas más arriba, a la cual salta para cambiar el control del flujo. Si se piensa en un
programa pequeño, tal vez no resulte tan engorroso el seguimiento de estos saltos. La cuestión
cambia, si se trata de un programa de miles de líneas donde se generaliza el uso del goto, de modo
que el programa va a presentar multitud de saltos. Entonces seguir el flujo del programa realmente se
torna muy complicado e incluso imposible, aún para quien lo esté desarrollando.

La programación estructurada, surge como la práctica de construir programas usando un conjunto de


estructuras bien definidas. Esta programación evoluciona en los años sesenta y entre una de sus metas
se encuentra, la eliminación de la instrucción goto dentro del código. Aún cuando la programación
estructurada brindó mejoras, atribuyendo claridad y eficiencia en los programas, continuó existiendo
la necesidad de hacer programas de manera más rápida y eficiente. Se reconoce en la reutilización del
código, como un camino a la solución de acelerar la construcción de los programas. Las subrutinas,
bloques constructores en la programación estructurada, son un paso más en la solución de este
problema.

En la programación orientada a objetos, los bloques constructores son unos componentes modulares y
reusables, denominados objetos. Surge en los ochenta, afirmándose que llegará a ser el enfoque
dominante de la programación. Este enfoque enriquece la programación estructurada, más que
sustituirla. Los objetos están compuestos en sí mismos, por piezas de programa estructuradas, y la
lógica de manipulación de objetos también es estructurada.

Programación estructurada:
La investigación a través del estudio de los códigos logró demostrar que cualquier programa se podía
escribir, usando las tres estructuras siguientes de control:

1. La estructura secuencial: Está definida por el flujo


de control automático de un programa. De manera
natural, a menos que otra cosa se indique, la
computadora ejecuta las líneas de código en el orden
en que fueron escritas. El control del programa fluye
de la línea anterior a la línea siguiente.

Estructura secuencial

2. Las estructuras de selección: Se basan en una


declaración condicional. Si es verdadera, ciertas
líneas de código son ejecutadas. Si tal
declaración es falsa, esas líneas no serán
ejecutadas. Las dos estructuras de selección más
comunes son: Si-Entonces (If-Then) y Si-
Entonces-de lo contrario (If-Then-Else).
Estructuras de selección

3. Las estructuras de repetición (o de ciclos): Su


construcción también hace uso de declaraciones
condicionales. Si la condición evaluada es verdadera,
un bloque de una o más instrucciones se repetirá,
hasta que la condición sea falsa. La computadora
prueba la condición una primera vez, si es verdadera,
ejecuta el bloque de comandos. Entonces, finalizada
la primera repetición, comprueba de nuevo la
condición y si es verdadera se repite el bloque
nuevamente, y así sucesivamente hasta que la
condición sea falsa. Ya que este funcionamiento es
cíclico, cada una de estas repeticiones es llamada
Dos estructuras de repetición también ciclo. Tres estructuras de este tipo son:
Repita para (For-Next), Repita Mientras (While) y
Repita Hasta (Do-While).

Programación orientada a objetos (POO):


Los entusiastas de la POO aseguran que, a pesar de que sus conceptos básicos puedan parecer un
tanto abstractos al principio, este tipo de programación se asemeja más a la manera natural de pensar
y concebir el mundo. Por esta razón, el proceso de modelado es más intuitivo, y se hace posible crear y
mantener programas de manera más sencilla y rápida.

Objetos:
En general cuando se observa o se piensa sobre un objeto, por ejemplo un carro, siempre se le percibe
como un todo. No es común enfocarse en sus componentes de acero, vidrio o plástico, sino más bien,
la mente lo percibe como unidad completa, como un objeto, como un todo. Si se desea describir el
carro, se puede pensar en su color, tamaño y forma. Como todos los objetos, el carro posee atributos
que permiten describirle. Se puede pensar además en las cosas que el carro puede hacer, como
acelerar, retroceder, girar a derecha o izquierda,...

El carro tiene un conjunto de funciones que


puede realizar. Además, es fácil notar que el
carro contiene elementos que le constituyen:
Los cauchos, el chasis, el sistema de tracción, y
otros. Pero esos elementos a su vez están
formados por otros elementos. Como es el caso
del motor y de las partes que le forman. De
manera muy similar, en la POO se emplean
módulos llamados objetos, que poseen atributos
y funciones. Los objetos encapsulan o contienen En la POO el objeto carro posee atributos,
otros objetos, que a su vez pueden ser también funciones y contiene otros objetos
contenedores de objetos.

Clases y herencia de clases:


Cuando se mira alrededor, es posible ubicar los objetos en clases o categorías abstractas de objetos
afines. En un proceso similar, en POO por ejemplo, los autos de las diferentes marcas se agruparían en
una clase llamada carros. Una clase consiste en atributos y funciones que son compartidas por más de
un objeto. En el caso de los carros, todos cuentan con un volante y cuatro ruedas y pueden ir hacia
delante, en reversa, detenerse o acelerar. Los atributos de clase se denominan miembros de datos y
las funciones de la clase, se conocen como funciones de miembro o métodos.

Las clases pueden ser divididas en subclases. Las


subclases normalmente poseen todos los atributos
de la clase predecesoras, a lo que se llama herencia
Ilustración de los conceptos clases, subclases y
de clase.
herencia en POO

En el ejemplo de los carros, estos pueden tener una clase sedan, una clase deportivo y una clase
camioneta pick up; todas las clases comparten como atributo un volante y como función acelerar.
Además de las características heredadas, las subclases pueden tener características propias. Para las
pick up, por ejemplo, cuentan además con dirección en las cuatro ruedas. De este modo todo objeto
pertenece a una clase.
En POO crear un objeto se denomina instanciación. Al instanciar un objeto, éste adquiere de manera
automática los atributos y métodos asociados a la clase a la cual pertenece. Normalmente no se
espera que los carros operen por sí solos. Para que el carro vaya hacia delante se envía una señal,
presionando el acelerador. En POO se utilizan los mensajes para indicar a los objetos que realicen una
determinada función.

Pasos de la Programación: Los programas son


los bloques constitutivos del software del
sistema de información. Para la elaboración de
programas, se usa una adaptación del proceso
del ciclo de vida de desarrollo de sistemas. Los
pasos para la creación de programas son los
siguientes (ver también la Tabla 1 Resumen de
los pasos de la programación):

La programación consta de 6 pasos. La programación


forma parte de la fase de desarrollo de sistemas.

Especificación del programa:

En este paso se identifica y se define la necesidad a resolver, que indicará los objetivos,
salidas, entradas y requerimientos de procesamiento del programa. Los programadores,
verifican si existe ya, una solución provista por alguien que haya encarado el problema con
anterioridad y que lo ofrezca, bien en la propia organización o de manera comercial fuera
de ella. Solamente si la solución no se encuentra disponible, o existen limitaciones para
conseguirla, es cuando se comienza con la programación. En primer lugar, debe
establecerse cuál es el problema que se intenta resolver, delimitándolo claramente. Se
procede entonces, a determinar cuál es la salida de información que se desea genere el
programa. La salida, se puede tratar de una salida impresa o una que se presente en el
monitor, como por ejemplo, un reporte de facturación para cada mes. La determinación
de entradas requiere identificar qué datos son necesarios para realizar el proceso y cuál es
su origen. Seguidamente, se definen las tareas de procesamiento que deben realizarse
para transformar los datos de entrada en salida.
Diseño del programa:

Es la etapa en la cual los programadores delinean cada componente del programa y las
interfases entre cada componente. Se cuenta con muchas herramientas para este proceso,
entre las que se tiene, diagramas de flujos (para programación estructurada), círculos y
canales de mensaje (programación orientada a objetos) y seudocódigo. Estas herramientas
permiten presentar una documentación que describe la solución en términos gráficos y
descripción de las instrucciones que conforman los procedimientos.

Codificación del programa:

En esta fase se realiza la generación del programa, usando un lenguaje de programación.


Se obtendrá de la fase el código que ejecutará la computadora. Implica desde la escritura
de las instrucciones en el llamado código fuente, hasta la realización de prueba del mismo.
Para esta fase se hace uso de la lógica que se determinó en el paso anterior para realizar la
generación del programa. Puede hacerse uso del código que ya fue escrito y probado
anteriormente (probablemente en otros proyectos), en especial si se está usando la POO.
La integración y adaptación de código existente a una nueva aplicación, puede ahorrar
gran cantidad de tiempo.

Prueba del programa:

La aparición de errores en los programas es prácticamente inevitable. Existen dos tipos de


errores principalmente: de sintaxis y lógica. Los errores de sintaxis violan las reglas del
lenguaje de programación. Para afrontarlos se hace uso de un compilador que los
detectará de forma automática. Los errores de lógica causan que el programa se ejecute
de manera inesperada o incorrecta. El proceso para eliminar los errores de lógica se
denomina depuración.

Documentación del programa:

Este paso resalta la necesidad de completar y revisar toda la documentación acumulada en


el proceso y adaptarla, para quienes estarán relacionados con el programa en el futuro:
Los usuarios finales y los programadores. La documentación contiene de manera escrita
todas las descripciones y procedimientos, que surgen a lo largo del proceso, acerca de un
programa y su modo de uso. La documentación para los usuarios les indica cómo utilizar el
programa y cómo resolver los mensajes de error. Suele ir incluida dentro del programa, en
una opción de ayuda, o separada en manuales impresos. Para los programadores, la
documentación es valiosa por dos situaciones: al pasar el tiempo, un programador puede
olvidar detalles de su producto, o también, cuando un programador debe actualizar,
modificar o dar mantenimiento a un programa desarrollado por otro.

Mantenimiento del programa:


Esta fase se inicia inmediatamente después de instalado el producto. Está motivada,
porque algunos defectos menores podrían haber sido pasados por alto y deberán ser
solventados o porque los programadores podrían querer añadir mayor funcionalidad al
mismo, como respuesta a las inquietudes de los usuarios finales. Debido a que todas las
organizaciones experimentan cambios con el tiempo, los programas inevitablemente
deben cambiar con ellas. De modo que deberán ser ajustados, para mejorar,
estandarizarse o adecuarse a los cambios.

Tabla 1.- Resumen de los pasos de la programación

Pasos de la Programación

Pasos Descripción

Determinar objetivos, salida, entrada y


1. Especificación
requerimientos del programa

Delinear los componentes y sus


2. Diseño
interfaces

Generar el programa en un lenguaje de


3. Codificación
programación

Verificar desempeño del programa,


4. Prueba
determinar errores de sintaxis y lógica

Redactar documentación para usuarios y


5. Documentación
programadores

Corrección de errores, ajustes por nuevos


6. Mantenimiento
cambios

Pensar una vez, resolver un millón


Lo verdaderamente mágico de la programación, es
que una vez que se ha determinado de manera
precisa la forma de resolver un problema,
estableciendo los pasos necesarios para el proceso,
éste puede ser codificado en un lenguaje de
programación. Entonces, el proceso puede delegarse
a la computadora que lo realizará de manera
confiable, exacta, en menor tiempo y tantas veces
como sea requerido. Como se pudo ver, el proceso
de la programación es muy similar a la manera en
que se enfrenta los problemas o situaciones de la
vida diaria.

La programación permite automatizar


procesos facilitando el trabajo

Regularmente se toman estos problemas generales y se van dividiendo en problemas específicos más
pequeños. Al ir resolviendo estos problemas específicos gradualmente se resuelve también el
problema general.

Es importante destacar, que el proceso de programación del software, se encuentra dentro de la fase
de desarrollo del ciclo de vida del sistema. Es parte de un proceso más grande y complejo. Aquí se
señalan específicamente los pasos que conforman el proceso de programación, explicando
brevemente cada uno y mencionando algunas herramientas que son usadas en el proceso. Sin
embargo, todo esto es sólo una introducción que aspira inspirar la curiosidad de investigar con más
profundidad y detalle sobre el tema y seguramente que no se defraudará de lo que encuentre. En el
tema sobre Lenguajes de Programación encontrará material complementario al presente tema, acerca
de las herramientas que permiten traducir en código los razonamientos y pasos para resolver un
problema.

Lenguajes de programación

Cuando se programa, se indica una serie de


instrucciones para que la computadora las
ejecute. Para asegurarse que la computadora
entienda las instrucciones, se han establecido
lenguajes bien definidos para especificar y poder
generar la comunicación con al computadora.
Estos lenguajes tienen características similares a
los lenguajes comunes que utilizan las personas
para comunicarse unas con otras, pues cuentan
con reglas y estructuras que deben seguirse.

A continuación se expondrá lo que son los lenguajes de computación, el papel que juegan dentro de la
programación, herramientas que permiten traducir los algoritmos a instrucciones que puedan ser
interpretadas y ejecutadas por las computadoras.

¿Qué es un Lenguaje de programación?


En computación, un lenguaje de programación es cualquier lenguaje artificial, el cual, se utiliza para
definir adecuadamente una secuencia de instrucciones que puedan ser interpretadas y ejecutadas en
una computadora. Se asume que las instrucciones así escritas son traducidas luego a un código que la
máquina pueda “comprender”. El proceso de traducción es realizado normalmente por la
computadora, usando un programa especializado para tal fin.

Los lenguajes de programación intentan conservar una similitud con el lenguaje humano, con la
finalidad de que sean más naturales a quienes los usan. Establecen un conjunto de reglas sintácticas y
semánticas, las cuales rigen la estructura del programa de computación que se escribe o edita. De esta
forma, permiten a los programadores o desarrolladores, poder especificar de forma precisa los datos
sobre los que se va a actuar, su almacenamiento, transmisión y demás acciones a realizar bajo las
distintas circunstancias consideradas.

Uso de los lenguajes de programación:


Una vez que se identifica una tarea y se conoce el algoritmo para resolverla, el programador debe
codificarlo en una lista de instrucciones, propias de algún lenguaje de computación. Los programas
pueden ser escritos en cualquier lenguaje de la amplia gama disponibles. La escogencia del más
adecuado, dependerá de factores como la experiencia del programador con un lenguaje, determinar
cuál producirá el programa menos complicado, la flexibilidad y la compatibilidad del programa como
resultado del lenguaje usado.

A continuación se presenta como ejemplo un sencillo programa fuente, escrito en C, el cual, es un


lenguaje de programación que llegó a ser muy popular, y justo al lado se explica la acción que realizará
la computadora en respuesta a los comandos del programa. El programa tiene como finalidad el
cálculo del promedio de una lista de cinco números.

Instrucciones en Lenguaje C Acción de la computadora

1.- Define una matriz (datos) de números enteros y


int datos[ ] = { 25, 88, 20, 75, 62 };
le asigna los valores 25, 88, 20, 75, 62.

2.- Define la variable (nDatos) de tipo entero y le


int nDatos = 5;
asigna el valor 5.

3.- Define la función (promedio) que devuelve un


int promedio ()
número entero.

{
int suma; 4.- Define la variable (suma) de tipo entero.

int prom; 5.- Define la variable (prom) de tipo entero.

int cont; 6.- Define la variable (cont) de tipo entero.

suma = 0; 7.- Asigna a suma el valor 0.

8.- Para cada elemento de la matriz datos, añade su


for (cont=0; cont<nDatos; cont++)
valor a la variable suma.

suma += datos [cont];

9.- Asigna a prom el resultado de dividir la variable


prom=suma/nDatos;
suma por la variable nDatos.

10.- Devuelve como resultado de la función el


return (prom);
contenido de la variable prom.

Clasificación de los lenguajes de programación: Niveles y Generaciones:


En computación se suele hablar de niveles y generaciones de los lenguajes de programación. Respecto
al nivel, se clasifican en lenguajes de bajo y alto nivel. Los lenguajes de bajo nivel, son aquellos que se
asemejan al lenguaje empleado por la computadora, mientras que los lenguajes de alto nivel, son
aquellos que se asemejan al lenguaje humano.

Los lenguajes de alto nivel son resultado de una


evolución, desde los lenguajes de bajo nivel. La
computadora sólo es capaz de comprender su
lenguaje máquina. Pero para las personas no es fácil
entender y manejar este código máquina de
combinaciones binarias. Las investigaciones dieron
un primer paso que llevó a la evolución desde las
hileras de números binarios del código máquina, a un
lenguaje ensamblador, que las representaba como
una serie de comandos más entendibles. Los
Niveles de los lenguajes de programación lenguajes de nivel superior están orientados más
hacia lo que se quiere realizar, que en la manera
como se ejecutarán los comandos.

Niveles de los lenguajes de programación:


1.- Lenguajes de bajo nivel:
A nivel de circuitos, los microprocesadores sólo son capaces de procesar señales electrónicas binarias.
Estas instrucciones binarias que se envían al microprocesador, se componen de series de unos y ceros,
espaciadas en el tiempo de una forma determinada. Esta secuencia de señales se denomina código
máquina. El código representa normalmente datos y números, así como instrucciones para
manipularlos. Para hacer más fácil el manejo del código máquina, se dio a cada instrucción un
mnemónico, como por ejemplo STORE (Almacenar), ADD (Adicionar) o JUMP (Saltar). Tal abstracción
da como resultado el ensamblador, que es un lenguaje de muy bajo nivel basado en mnemónicos y
que es específico para cada microprocesador.

De esta forma, son llamados lenguajes de bajo nivel, a aquellos constituidos por instrucciones en
lenguaje máquina o próximos a él. Tales lenguajes permiten crear programas muy rápidos y eficientes,
pero en contrapartida, estos lenguajes suelen ser difíciles de aprender, programar y depurar. Un
hecho importante es, que los programas escritos en un bajo nivel, son prácticamente específicos para
cada procesador, lo que implica, que si se quiere ejecutar el programa en otra máquina de
arquitectura diferente, es necesario volver a escribir el programa desde el principio.

2.- Lenguajes de alto nivel:


Al pensar en una computadora, normalmente se concibe como una máquina que realiza tareas de
procesamiento de texto y cálculos. Esta es una percepción bastante sintética y esquemática de
entender la computadora. Existe un alto nivel de abstracción entre lo que se pide a la computadora y
lo que realmente comprende. De un modo paralelo se presenta una relación compleja entre los
lenguajes de alto nivel y el código máquina. Un programa escrito en un lenguaje de alto nivel, debe ser
compilado o interpretado para traducir su código, en otro de bajo nivel (lenguaje máquina). Como
ejemplo de lenguajes de alto nivel se tienen Pascal, BASIC, FORTRAN, COBOL, Java, C y C++.

En los lenguajes de alto nivel las instrucciones son independientes de la máquina, son más fáciles de
aprender porque están formados por elementos de lenguajes naturales (del inglés). En BASIC,
comandos como "IF CONTADOR = 10 THEN STOP" son usados para ordenar a la computadora, que
pare si CONTADOR es igual a 10. Pero aunque las computadoras parecieran comprender el lenguaje
natural, lo hacen de una manera bastante rígida y sistemática, lo cual podría parecer un poco
frustrante e inspira la búsqueda de lenguajes más cercanos aún al natural.

Compiladores e Intérpretes:
Se ha señalado que la computadora sólo puede ejecutar instrucciones en código de máquina, por lo
cual, todos los programas escritos en cualquiera de los lenguajes de programación deben ser
convertidos o traducidos. Este proceso es llevado a cabo por unos programas especiales, los
“compiladores” y los “interpretes”. Para darse una idea de cómo funcionan, es útil comparar su
actuación con la de un profesional humano encargado de traducir. Un compilador equivale a que el
traductor humano, partiendo de un texto, prepare otro texto nuevo e independiente, traducido a la
otra lengua. En contraste, un intérprete equivale a que tal profesional traduzca de forma hablada,
cada grupo de palabras o instrucción, a medida que la oye, sin dejarlas por escrito.

La traducción del código fuente, escrito en


lenguaje ensamblador, a código máquina
(o código objeto), no representa un proceso
complicado y se lleva a cabo mediante un
compilador. De manera similar, la traducción de
código fuente de lenguajes de alto nivel puede
ser realizada por un compilador, o también
mediante un intérprete. Con base en el código
fuente suministrado, el compilador crea una lista
Proceso de compilación
de instrucciones de código máquina:

El código objeto. Este código objeto obtenido, es un programa rápido y ya listo para funcionar, pero
está expuesto a poseer errores que pueden provocar fallas en la computadora. En el proceso de
compilación pueden resultar varios archivos de código objeto, los cuales deben enlazarse para obtener
un archivo ejecutable. Esto se logra mediante un programa llamado enlazador.

Por otra parte, los intérpretes recorren línea a línea el código fuente en el momento de su ejecución.
Esto los hace más lentos, debido a la necesidad de traducir el programa mientras se ejecuta, pero a
cambio, son más flexibles como entornos de programación y depuración. Es natural que los lenguajes
de programación utilicen sólo uno de estos métodos para producir el código fuente, sin embargo
muchos también disponen de versiones interpretadas y compiladas. En cuanto a las generaciones de
lenguaje, se tienen cinco diferentes, considerando que cada generación sucesiva se establece con
lenguajes más poderosos y fáciles de usar que los de la generación precedente. Los lenguajes
calificados como de alto nivel, comienzan a partir de la tercera generación.

Generaciones de los lenguajes de programación

• Primera generación: Lenguaje máquina Son los


lenguajes más básicos. Los lenguajes de máquina se
representan en bytes, los cuales, están compuestos
de bits, que son números binarios o que consisten
únicamente de ceros (0) o unos (1). Estos valores
pueden corresponder a que la electricidad esté
encendida o apagada en la máquina, o a la presencia
o ausencia de carga magnética en un medio de
almacenamiento. A partir de estos dos estados se
forman los esquemas de codificación (como el código
ASCII) que permiten generar letras, números, signos
El lenguaje máquina consiste de códigos binarios
de puntuación y caracteres especiales.

Una computadora sólo es capaz de comprender su lenguaje máquina original, el conjunto de


instrucciones para realizar sus operaciones elementales.

• Segunda generación: lenguajes ensambladores:


Están constituidos por nemotécnicos similares a palabras en idioma inglés. En primer lugar,
se crea un archivo fuente con las instrucciones que se desea que la computadora ejecute,
usando un editor, que es una especie de procesador de palabras. El código fuente es traducido
al lenguaje máquina mediante programas traductores (compiladores). Los programadores rara
vez escriben programas de tamaño relevante en este tipo de lenguajes, debido a que, a pesar que
es mucho más fácil que utilizar código de máquina, siguen siendo altamente
detallados (instrucciones muy básicas). Sólo se hace en los casos donde la velocidad es
clave (como en la programación de juegos de video) y para afinar partes importantes de los
programas que son escritos en lenguajes superiores.

• Tercera generación: Lenguajes de alto nivel:


Son llamados de alto nivel porque se asemejan más al lenguaje que utilizan los humanos
al comunicarse. Fueron desarrollados con la finalidad de facilitar el proceso de
programación. Cuentan con comandos que se acercan más a las palabras de uso común en lugar
de tener que usar combinaciones binarias del código máquina o los comandos básicos del
ensamblador. Estos lenguajes hacen más fácil la lectura, escritura y comprensión de los
programas, aunque de manera semejante a los lenguajes ensambladores, deben ser convertidos a
lenguaje máquina, para poder ser usados en la computadora.

Los programas de la tercera generación son


capaces de soportar programación estructurada,
es decir, permiten el uso de estructuras de
programación específicas para ramificaciones y
ciclos en el flujo del programa. Por otro lado,
resultan más claros puesto que usan palabras o
comandos semejantes al lenguaje normal, lo que
permite compartir el desarrollo entre diferentes
programadores. Los programadores que
conforman un equipo pueden leer el código
Los lenguajes de tercera generación crean
realizado por los demás y comprender la lógica y
programas más claros y estructurados
el flujo de control del programa.

Entre los lenguajes de tercera generación se incluyen:

- FORTRAN (Traductor de Fórmulas: Formula TRANslator), diseñado específicamente


para programas matemáticos y de ingeniería, motivo por el cual, no fue de amplio uso en
computadoras personales. Su uso se dirige especialmente a equipos de cómputo dedicados a la
investigación y la educación. La versión más actual (1990) fue denominada FORTRAN-90.

- COBOL (Lenguaje simbólico de programación, orientado hacia aplicaciones comerciales y


de gestión: Common Business Oriented Languaje) desarrollado en 1960, con el fin de solucionar
las incompatibilidades de los fabricantes de computadoras. Ganó amplia aceptación como
lenguaje estandarizado llegándose a utilizar ampliamente en los negocios, pero perdió seguidores
en la pasada década. Motivado al problema del año 2000 fueron requeridos
programadores especializados en este lenguaje para reprogramar las millones de líneas de código
escritas en COBOL para que tales programas continuasen funcionando.

- BASIC (Código de instrucción simbólica universal para principiantes: Begginners


Allpurpose Symbolic Instruction Code) comienza como una herramienta para enseñar sobre
programación a estudiantes. Fue desarrollado por Jhon Kemeny y Thomas Kurtz en 1964. Por su
simplicidad se volvió ampliamente popular y usado en educación y entre los programadores
aficionados, pero no ha llegado a ser un lenguaje viable para aplicaciones comerciales. Esto último
se debe a que no posee un amplio repertorio de herramientas como el que ofrecen otros lenguajes.
Además, sus compiladores no producen archivos ejecutables tan compactos, rápidos y eficientes
como los que producen otros lenguajes.

- PASCAL, nombrado en honor del inventor francés Blas Pascal, es introducido por Niklaus Wirth
en 1971. El Pascal, buscaba superar las limitaciones de los otros lenguajes de programación
y demostrar la manera adecuada de implementar un lenguaje de cómputo. Ha llegado a
considerarse un excelente lenguaje de enseñanza. Las personas que se inician en la programación le
consideran fácil para implementar algoritmos, su compilador es estricto con el uso de
programación estructurada, asegurándose de que los errores sean señalados al principio.

- C, desarrollado a principios de los sesenta por Brian Kernighan y Dennis Ritchie, quienes
buscaban un mejor lenguaje de integrar con el sistema operativo UNIX, para que los usuarios
pudiesen hacer modificaciones y mejoras con facilidad. El código ejecutable obtenido del lenguaje C,
es rápido y eficiente. El C es poderoso, puesto que brinda la libertad de conseguir que se realice
casi cualquier cosa en una computadora. Esta es una de las razones por la cual se ha vuelto tan
popular entre quienes desarrollan software para aplicaciones comerciales profesionalmente. Su
dificultad estriba, en que no es tan sencillo de aprender en comparación con otros lenguajes.

- C++, Es un lenguaje de principios de los ochenta desarrollado por Bjarne Stroustrup.


Es extremadamente poderoso y eficiente igual que el C. Su aprendizaje implica aprender todo
acerca de C y además aprender sobre la programación orientada a objetos y su aplicación mediante
el C++. Desde su origen ha ido ganando terreno entre quienes desarrollaban en C.

- Java (1991) es desarrollado por Sun Microsistema. Cuando Internet comenzó a ganar
popularidad como red de comunicaciones a mediados de los noventa, Sun redirige a Java para
convertirlo en un ambiente de programación que permitiese crear sistemas interactivos y dinámicos
(denominados applets) para las páginas Web. La complejidad de Java es similar a C++, pero ha ido
ganando popularidad por la demanda de aplicaciones para páginas Web, incluso se estima que
puede llegar a desplazar a C++ como ambiente de programación.

• Cuarta generación: Lenguajes de propósito especial:


Estos lenguajes de cuarta generación (4GL) son usados en programación, de
propósitos específicos, caracterizados por una mayor facilidad de uso comparados con los
de la tercera generación, permitiendo la creación de prototipos de una aplicación rápidamente.
Los prototipos permiten tener una idea del aspecto y funcionamiento de la aplicación antes que el
código sea terminado. Esto implica que quienes estén involucrados en el desarrollo de la
aplicación pueden aportar retroalimentación en aspectos como, estructura y diseño desde el
principio del proceso. A cambio de esta capacidad para trabajar más velozmente, debe sacrificarse
parte de la flexibilidad con la que se disponía con los lenguajes anteriores.

Muchos de estos lenguajes tienen capacidad para bases de datos, permitiendo crear programas que
sirvan de enlace con las mismas. Los programas incluyen formas y cuadros para introducir datos, así
como solicitar reportes de información de las bases de datos. En general, ahorran tiempo puesto que
el código requerido para “conectar” los cuadros de diálogo y las formas se genera de forma
automática.

Entre los programas de cuarta generación se tienen:

- Los programas de ambientes visuales: Existen versiones de programas populares como el Visual
BASIC o el Visual C, los cuales, soportan características y métodos orientados a objetos y que permiten
crear programas en un ambiente visual. Por ejemplo, si se desea ubicar un cuadro de texto en un
formulario para entrada de datos sólo se requiere arrastrarlo desde la barra de herramientas hasta la
posición deseada sobre el formulario. Con los programas de tercera generación se requiere escribir el
código, indicando el tamaño y ubicación exacta del cuadro de texto.

En el ambiente visual, simplemente se ubica el


cuadro en el lugar que se requiere y se da el tamaño
adecuado arrastrando sus bordes con el ratón, el
código se genera automáticamente. Esto facilita el
desarrollo de la interfaz de usuario, acelerando y
facilitando la creación de programas.

La creación de formularios es más fácil en


ambientes visuales.

- Ambientes de autoría: Conformados por herramientas de programación para


propósitos especiales, se usan para crear multimedia, capacitación basada en computadora, páginas
Web y otros. Un ambiente de autoría es “Macromedia Director” el cual se usa para crear
títulos multimedia que combinen, cortos de música, texto, animación, gráficos y demás. Son
ambientes de desarrollo visuales en el cual gran parte del código se escribe automáticamente, pero
la mayoría de ambientes de autoría robustos también incluyen sus propios lenguajes, lenguajes de
escritura, que proporcionan un control extra sobre el producto final.
• Quinta generación: Lenguajes naturales:
Esta generación incluye la inteligencia artificial y sistemas expertos. En lugar de sólo
ejecutar un conjunto de órdenes, el objetivo de estos sistemas es “pensar” y anticipar las
necesidades de los usuarios. Estos sistemas se encuentran aún en desarrollo. Aunque los sistemas
de inteligencia artificial han demostrado ser más complicados para desarrollar de lo que se
anticipaba, los investigadores afirman que pronto serán capaces de tomar como entrada
hechos y luego usar un procesamiento de datos que formule una respuesta adecuada, de modo
similar a como responden los humanos.

Tabla 1.- Las cinco generaciones de lenguajes de programación

Generación Nombre Particularidad

Específico para cada microprocesador, uso de


Primera De máquina
código binario

Uso de nemotécnicos que abstraen del lenguaje


Segunda Ensamblador
máquina.

Lenguajes estructurados con comandos cercanos


Tercera De procedimientos
al lenguaje común.

Cuarta Orientados a procesos Programas orientados a problemas específicos.

Quinta Natural Incluye inteligencia artificial y sistemas expertos.

Nuevas tendencias:
La disponibilidad de programas de calidad desarrollados más rápidamente, se ve acrecentada con el
pasar del tiempo motivada por dos aspectos. Por un lado, la acumulación del conocimiento de cómo
hacer las cosas, organizado mediante técnicas y metodologías bien definidas y estructuradas, que
plantean alternativas como guías a seguir. Por otro lado, la disponibilidad de lenguajes de
programación los cuales proveen mejores medios para que los desarrolladores sean capaces de aplicar
su creatividad, ingenio y experiencia.

Una tendencia marcada desde hace algunos


años, es la dependencia creciente de
componentes de software reusable por parte de
programadores y equipos de desarrollo. El
enfoque de la programación orientada a objetos
es muestra de ello, así como su incorporación en
los lenguajes de programación. De tal modo, es
muy probable que incluso lleguen a existir
proveedores de objetos componentes de
software, que los ofrezcan a los programadores,
como en la actualidad se ofrecen componentes
hardware. Entonces el enfoque del trabajo de los
desarrolladores de software cambiará, tal vez,
dividiéndolos en dos grupos.

En la programación cada vez, es más común


el uso de componentes reusables

Por un lado, quienes se encarguen de la integración de los objetos cuando se trata de desarrollar
programas específicos, más que de desarrollar a detalle cada componente desde el principio. En tanto
que los surtidores de tales componentes se especializan en desarrollar los objetos que les son
demandados, que podrán ser componentes estándar o a la medida (con especificaciones únicas).

Otra gran influencia en el desarrollo de programas, es resultado de la expansión en el uso de Internet


en lo personal y en lo comercial. Es posible que pronto se generalice el uso de programas los cuales se
ejecuten en Internet y los desarrolladores produzcan programas que además de enviar y recibir
mensajes y archivos, hagan uso de los inmensos recursos mundiales disponibles. Los programadores
podrían estar desarrollando programas que se ejecuten en Internet, requiriendo entonces, lenguajes
de programación más adaptados a este tipo de empresas.

S-ar putea să vă placă și