Sei sulla pagina 1di 32

CICLO DE GRADO SUPERIOR INFORMTICA

DESARROLLO DE APLICACIONES MULTIPLATAFORMA

Mdulo: ENTORNOS DE DESARROLLO

U.D. 1.- Desarrollo de Software


TEMA 1.- Introduccin al desarrollo de aplicaciones informticas

ENTORNOS DE DESARROLLO

Autores: Javier Tamargo Rodrguez y Jos A. Priego. Partes de este documento


estn derivadas de un documento previo creado por Joaquin Alvarez.
Este documento se publica bajo licencia Creative Commons No se permite
un uso comercial de la obra original ni de las posibles obras derivadas, la
distribucin de las cuales se debe hacer con una licencia igual a la que
regula la obra original.

ENTORNOS DE DESARROLLO

1. INTRODUCCIN
Para el ser humano como individuo y para las organizaciones en las que participa, la
necesidad de informacin es fundamental para la realizacin de las actividades. La
correcta toma de decisiones define el xito o el fracaso de la actividad. Teniendo en
cuenta que cualquier accin a ejecutar se decidir a partir de la informacin disponible, se
debe concluir que, para que la toma de decisiones sea correcta, como mnimo es
necesario tener la informacin adecuada.
Se define el procesamiento de datos como el conjunto de actividades que a partir de
una serie de datos, obtienen como resultado informacin til.
El procesamiento de datos ha ido creciendo en importancia a lo largo de la historia hasta
llegar a la sociedad actual (Sociedad de la Informacin), donde ha ocupado un papel
fundamental. Muchos factores han determinado esta preponderancia, pero podramos
citar tres como determinantes:

La creciente complejidad moderna, donde muchas actividades que consideramos


hoy en da como cotidianas, son relativamente nuevas y han creado una necesidad
de realizar un tratamiento de la informacin (recibos, seguros, tarjetas de crdito,
operaciones bancarias, etc).

La nueva gestin que ahora se realiza en las organizaciones administrativas y


econmicas, donde las decisiones vienen dadas por la informacin existente en
cada instante. Las decisiones requieren disponer de la informacin adecuada; es
decir, es necesario procesar todos los datos posibles (tanto internos como
externos) en el menor tiempo posible, para facilitar la toma de decisines ms
eficaces.

El avance imparable de la tecnologa encargada de ayudar a procesar los datos,


cada vez ms abundantes. Una vez que disponemos de las herramientas, se ve
que gracias a ellas podemos tratar ms informacin y cuanto mayores son los
datos, mejores resultados obtenemos, en consecuencia solicitamos ms y ms. El
resultado es una creciente demanda de informacin y, en consecuencia, un
continuo avance tecnolgico.

Con la finalidad de ayudar en la toma de decisiones surge la INFORMTICA (palabra de


origen francs, formada por la contraccin de los vocablos INFORmacin y autoMTICA),
como una ciencia encargada del estudio y desarrollo de mquinas y mtodos para el
tratamiento automtico de la informacin.
La Real Academia Espaola de la Lengua define:
La Informtica como el conjunto de conocimientos cientficos y tcnicas que hacen
posible el tratamiento automtico de la informacin por medio de ordenadores.

ENTORNOS DE DESARROLLO

El ordenador como Mquina electrnica dotada de una memoria de gran capacidad y de


mtodos de tratamiento de la informacin, capaz de resolver problemas aritmticos y
lgicos gracias a la utilizacin automtica de programas registrados en ella.
Un programa informtico como Conjunto unitario de instrucciones que permite a un
ordenador realizar funciones diversas, como el tratamiento de textos, el diseo de
grficos, la resolucin de problemas matemticos, el manejo de bancos de datos, etc.

2.

GNESIS Y EVOLUCIN DE LAS MQUINAS DE TRATAMIENTO DE LA

INFORMACIN
2.1. Generacin Cero ( - a 1936)
El hombre desde hace muchos siglos no ha parado de buscar herramientas y mtodos
que lo ayuden en las tareas de clculo y procesado de la informacin; de hecho la propia
palabra clculo tiene su origen en el trmino latino calculus, que significa piedra. Este
trmino se utilizaba hace miles de aos para denominar a unas pequeas piedras que se
depositaban en unos surcos hechos en la tierra y que se utilizaban para contar.
A partir de este primitivo elemento de clculo apareci, en diferentes lugares, el primer
elemento manual para contar, el baco.
El baco ms antiguo encontrado hasta el momento data del ao 3.500 aC y fue
encontrado en Mesopotamia, entre los ros Tigris y Eufrates. A lo largo de la historia han
existido muchas variaciones de bacos, que utilizaban diferentes sistemas de
numeracin.
Este dispositivo es muy sencillo, consta de un marco rectangular de madera ensartado de
varillas en las que se desplazaban bolas agujereadas de izquierda a derecha. La posicin
de la cuenta en la varilla representa la cifra y nmero de la varilla representa la posicin
de la cifra para obtener el nmero.

Abco Japones (Soroban).

Abco Maya (Nepohualtzintzin)

Sistema Decimal

Sistema Vigesimal

ENTORNOS DE DESARROLLO

Soroban

Nepohualtzintzin

Sistema decimal, base 10

Sistema vigesimal, base 20

Unidades

100 = 1

Kines

200 = 1

Decenas

101 = 10

Uinales

201 = 20

Centenas

102 = 100

Tunes

202 = 400

Unidades de millar

103 = 1000

Katunes

203 = 8000

Decenas de millar

104 = 10000

Baktunes

204 = 160000

Centenas de millar

105 = 100000

Pictunes

205 = 3200000

Unidades de milln

106 = 1000000

Calabtunes

206 = 64000000

Decenas de milln

107 = 10000000

Kinchiltunes

207 = 1280000000

Centenas de milln

108 = 100000000

Alautunes

208 = 25600000000

Fernando Tejn, en la pgina web http://es.geocities.com/abacosoroban/ ha realizado un


autntico manual de uso del baco Soroban.
Con el baco, nos encontramos quiz con el primer dispositivo que permite representar
valores y realizar operaciones aritmticas (incluso races cuadradas) y que fue utilizado de
manera ordinaria en occidente hasta el siglo XVI, cuando comenzaron a aparecer
dispositivos y herramientas de clculo ms potentes.
Otro paso ms en la evolucin de mecanismos para facilitar el tratamiento de la
informacin, vino de la mano del matemtico John Napier (1550-1617) que, en un intento
de simplificar las operaciones de multiplicacin, divisin y potenciacin, invent los
logaritmos naturales o neperianos a finales del siglo XVI y en 1614 costruy las primeras
tablas de algoritmos neperianos.
Los logaritmos neperianos permitan que el logaritmo del producto de dos nmeros se
pudiera transformar en la suma de los logaritmos de los nmeros a multiplicar. Los
logaritmos de los nmeros a multiplicar se buscaban en una tabla y se sumaban, el
resultado era el logaritmo del producto, luego si buscamos el valor en la tabla podemos
saber a qu nmero le corresponde, que es precisamente el valor del producto. La
divisin utilizando el mismo sistema en la resta y la potenciacin era el producto.

ENTORNOS DE DESARROLLO

Napier ide un dispositivo mecnico que permitira realizar este proceso de forma
automtica, pero los impedimentos tcnicos de la poca impediran su construccin.

Sera su amigo William Oughtred (1574-1660),


reconocido matemtico de la poca, quien construira
una regla de clculo que permita realizar operaciones
aritmticas mediante escalas basadas en los logaritmos.

Hacia el ao 1623, el cientfico alemn Wilheim Schickard (1592-1635) ide una


calculadora electromecnica denominada reloj basculante,
que funcionaba con ruedas dentadas que se engranaban
entre s y que era capaz de sumar y restar, pero que
tampoco pudo construirse debido a los impedimentos
tcnicos de la poca. Esta mquina combinada con la de
Napier fue construida a principios del siglo XX por la actual
IBM y es consideraba la primera mquina de calcular de
origen mecnico.
En 1642, el matemtico Blaise Pascal (1623-1662) invent la primera mquina
automtica de calcular completa, a base de ruedas dentadas, que simulaba el
funcionamiento del baco. Esta mquina, denominada mquina aritmtica de Pascal,
realizaba las operaciones de suma y resta.

En 1672 el matemtico alemn Gottfried Wilhelm von Leibniz (1646-1716) mejor la


mquina de Pascal, de forma que poda realizar, adems de las operaciones de suma y
resta, las operaciones de multiplicar, dividir y realizar races cuadradas.

ENTORNOS DE DESARROLLO

Un hecho muy determinante de la evolucin informtica se produjo en 1805, cuando el


francs Joseph Marie Jackard (1752-1834) construy un telar automtico que realizaba
el control de las agujas tejedoras mediante unas tarjetas perforadas que contenan datos
para el control de las figuras y dibujos que se tejan en las telas. Esta mquina se
considera la primera mquina mecnica programada.

Sin embargo sera el matemtico ingls y profesor de la Universidad de Cambridge,


Charles Babbage (1792-1871) quien dise dos mquinas de calcular que rompan la
lnea general de las mquinas de la poca.

La primera fue su Mquina Diferencial, que basada en


fundamentos mecnicos era capaz de realizar operaciones de
clculo de tablas matemticas. Babbage tuvo tuvo la idea de crear
una mquina que ejecutara ese trabajo, eliminando el error humano,
y facilitando la tarea de realizar operaciones repetitivas. En 1822
present su proyecto en la Royal Astronomical Society, capaz de
resolver polinomios de segundo grado mediante un mtodo
numrico diferencial. Esta mquina nunca lleg a finalizarse, puesto
que se abandon para afrontar el diseo de una segunda mquina.

ENTORNOS DE DESARROLLO

En 1833, Charles Babbage se centr en un nuevo proyecto, una Mquina Analtica que
tuviera un propsito general, capaz de resolver mltiples problemas matemticos.

Su mquina analtica funcionara a vapor y constara


de un mecanismo de entrada y salida mediante
tarjetas perforadas basadas en el modelo de
Jacquard, una memoria para 1.000 nmeros de 50
cifras, una unidad de control para que las
operaciones se realizasen en el orden correcto y
una unidad aritmtico-lgica para los clculos.
Esta mquina tampoco lleg a construirse por las
limitaciones tcnicas de la poca, pero en su diseo
se encuentran reflejados los fundamentos bsicos
de los ordenadores actuales.

La mquina analtica de Babbage empleara tarjetas perforadas que se utilizaran para


sumistrar y recoger datos del proceso, dispondra de una unidad de clculo, de una
unidad de almacenamiento temporal de los resultado intermedios y de una unidad de
control.

Esquema de la mquina analtica de Babbage

MEMORIA TEMPORAL

UNIDADES DE

UNIDAD

UNIDAD

UNIDADES DE

ENTRADA

DE

ARITMETICA

SALIDA

CONTROL

Por el diseo de la Mquina Analtica, a Babbage se le considera el padre de la


informtica.

ENTORNOS DE DESARROLLO

Sin embargo el diseo de Babbage estaba incompleto. Era necesario sentar las bases de
la programacin de esta mquina y sera Lady Augusta Ada Byron, hija del poeta ingls
Lord Byron, la que dise el esquema de deberan de tener estos programas informticos.

Ada Augusta estudi matemticas y ciencias, a pesar de los


condicionantes de la poca por ser mujer. Su relacin con Charles
Babbage comenz cuando ella visitaba su taller a una edad temprana.
Babbage estaba muy impresionado con la manera en que ella
entenda su computador para el que escribi un "plan" describiendo
los pasos que permitiran calcular los valores de los nmeros de
Bernoulli. Suyos son, adems, conceptos tan familiares en un
lenguaje de programacin como un conjunto de instrucciones que
permiten que otras se repitan en un bucle o subrutina.
Posteriormente, Babbage pas a ser su tutor y ms tarde trabajaron juntos. Public en
1843 una serie de influyentes notas sobre la computadora de Babbage, su mquina
analtica que nunca lleg a construirse, aunque las firm con sus iniciales por miedo a
ser censurada por ser mujer.
Ada Byron se llam a s misma una analista, un concepto realmente moderno para la
poca. Tambin podemos encontrar en sus notas una expresin que dice que la
mquina analtica slo poda dar informacin disponible que ya era conocida, lo que
nos lleva al concepto de que una mquina no puede originar conocimiento.
Por sus aportaciones se reconoce a Ada Byron como la primera persona en describir un
lenguaje de programacin de carcter general. Como reconocimiento a su persona, en
1979 el Departamento de Defensa de los Estados Unidos cre un lenguaje de
programacin basado en Pascal en honor de Ada Byron, llamado lenguaje de
programacin Ada. Su rostro tambin ha aparecido como marca de autenticidad en los
certificados de licencia del sistema operativo Microsoft Windows.

Lady Ada Augusta es consideraba la primera programadora de la historia.

Es importante citar tambin a George Boole (1815-1864), matemtico y filsofo britnico,


que en 1854 hizo pblico un estudio sobre las leyes del pensamiento en las que se basan
las teoras matemticas de la lgica y la probabilidad, aplicando smblos a operaciones
lgicas estructurados segn el lgebra convencional. Surge as el lgebra de la lgica
(lgebra de Boole), que es el aplicado en la construccin de ordenadores y circuitos.

ENTORNOS DE DESARROLLO

10

El 1880 la poblacin de los Estados Unidos llegaba a los


50 millones de personas, y realizar el censo de la
poblacin llev cerca de 8 aos. El norteamericano y
funcionario de la Oficina del Censo de EEUU, Herman
Hollerith (1860-1929), analizando las preguntas que se
hacan, desarroll un sistema de cmputo automatizado, y
lo hizo diseando una mquina (mquina censadora de
Hollerith) que utilizaba tarjetas en las que se
representaba la informacin (nombre, direccin, sexo,
edad, raza...) mediante perforaciones, que eran
detectadas por la mquina, clasificando (tabulando) debidamente la informacin segn la
lgica de Boole.
Mediante esa mquina el censo de 1890 se logr completar en 2 aos y medio, a pesar
de que la poblacin haba aumentado en ms del 20%.
En 1896 Hollerith fund su propia compaa, Tabulating Machine Company, que en 1911
se fusion con otras dos empresas, formando as la Computing Tabulating Recording
Company (CTR), sta a su vez pasa a manos de Thomas Watson en 1914 y, diez aos
ms tarde, en 1924, toma el nombre de International Business Machines (IBM).

2.2. Primera Generacin (1936-1956)

En el ao 1900 se celebr en Pars el Congreso Internacional de Matemticas, donde el


matemtico ruso David Hilbert formul una pregunta clave: existe un mtodo definido
que pueda aplicarse a cualquier sentencia matemtica y que nos diga si esa sentencia es
cierta o no?
En agosto de 1936, Alan Mathison Turing (1912-1954) public un artculo que vena a
dar respuesta a la pregunta formulada por David Hilbert mediante el concepto de la
Mquina de Turing; es decir, si hay un mtodo definido que pueda aplicarse a cualquier
sentencia matemtica y que nos diga si esa sentencia es cierta o no.
En el artculo On Computable Numbers, Turing construy un modelo matemtico
abstracto de mquina de computacin, la Mquina de Turing, y demostr que haba
problemas tales que una mquina no poda resolver. La mquina de Turing es el primer
modelo terico de lo que luego sera un computador programable. Con el tiempo, a este
tipo de mquina se la conoci como mquina de estado finito, debido a que en cada etapa
de un clculo, la siguiente accin de la mquina se contrastaba con una lista finita de
instrucciones de estado posibles. Una mquina de Turing debe verse ms como un
algortimo (software) que como un ordenador en s (hardware).

ENTORNOS DE DESARROLLO

11

Al estallar la Segunda Guerra Mundial, Turing fue alejado del mundo acadmico y
reclutado por la Escuela de Cdigos y Cifrados del gobierno britnico. Las actividades que
realizaba consistan de manera primordial en descifrar el cdigo militar alemn ENIGMA.
Para ello colabor en el desarroll el invento ms secreto de dicha guerra: el Colossus,
primer ordenador electromecnico del mundo. Ms adelante, sera destinado a los
Estados Unidos con el fin de crear unos cdigos seguros para las comunicaciones
transatlnticas entre los pases aliados.
Acabada la guerra, Turing colabor en proyectos civiles para la construccin de nuevos
equipos informticos (ENIAC, ACE, MARK I, ).
En 1952, Turing fue acusado de homosexualidad y apartado de su trabajo en el
departamento de comunicaciones del gobierno. Dos aos ms tarde se suicid.
Diario el Mundo, 14 de septiembre de 2009
El primer ministro del Reino Unido, Gordon Brown, ha pedido disculpas
pblicamente en su web oficial (http://www.number10.gov.uk/Page20571) por el
trato 'inhumano' que recibi Alan Turing por parte de las autoridades britnicas de
la poca.
Las disculpas oficiales llegan unas semanas despus de que el cientfico John
Graham Cumming pusiera en marcha una peticin formal que solicitaba una
disculpa pblica del gobierno britnico por el tratamiento que recibi quien logr
descifrar los mensajes alemanes durante la contienda. La iniciativa cont con el
apoy popular y lleg a reunir ms de 30.000 firmas, segn The Guardian.
"En nombre del gobierno britnico, y de aquellos que viven libremente gracias al
trabajo de Alan, estoy orgulloso de decir: lo sentimos, te merecas algo mucho
mejor" dijo Brown en el comunicado.
Turing se hizo famoso durante la II Guerra Mundial por lograr descifrar los
cdigos alemanes de la mquina Enigma. Pero en 1952 fue perseguido tras
admitir haber mantenido relaciones sexuales con otro hombre. Fue castrado
qumicamente y se le impidi continuar con su trabajo para el departamento de
comunicaciones del gobierno. En 1954 se suicid.
Brown describi el tratamiento como "horroroso" y "tremendamente injusto".
"Cientos de personas se han unido para pedir justicia por Alan Turing" dijo Brown.
"Yo estoy agradecido de tener la oportunidad de decir cuanto lamento,
lamentamos, lo que le ocurri" concluy Brown.

ENTORNOS DE DESARROLLO

12

Prcticamente al mismo tiempo que Turing desarrollaba su modelo matemtico, en


Estados Unidos, Alonzo Church (1903-1995) di a conocer el clculo lambda, un
trabajo equivalente al de Turing, que puede ser usado para definir de manera limpia y
precisa qu es una funcin computable (una funcin computable es aqulla que puede ser
calculada con una mquina de clculo). Se puede considerar al clculo lambda como el
ms pequeo lenguaje universal de programacin.
Turing y Church son considerados los padres de la Ciencia de la Computacin y la
Inteligencia Artificial.

El ingeniero alemn Konrad Zuse (1910-1995) construy en 1938 la Z1, un prototipo de


una mquina electromecnica de sistema binario que poda ser programada de forma
limitada y que usaba rels elctricos para automatizar los procesos,
leyendo las instrucciones de una cinta perforada.

Un rel es un dispositivo electromecnico, que funciona como un


interruptor controlado por un circuito elctrico en el que, por medio de una bobina y
un electroimn, se acciona un juego de uno o varios contactos que permiten abrir o cerrar
otros circuitos elctricos independientes. Fue inventado por Joseph Henry en 1835.
El Z1 no lleg a funcionar correctamente debido a la imperfeccin de alguna de sus
piezas mecnicas.
En 1940 concluy la construccin de la Z2, modelo perfeccionado con rels telefnicos, y
en 1941 cre la Z3, que dispona de una memoria de 64 palabras, un procesador con dos
registros, una unidad de lectura de cinta perforada y una unidad de control que
decodificaba una instruccin leda en la cinta perforada y transfera estos datos dentro de
la mquina y los dispositivos de entrada/salida.
En el bombardeo aliado sobre Berln en 1944, la Z3 original fue destruida. Konrad Zuse no
recibi el apoyo del rgimen Nazi, por lo que tuvo que financiarse todos sus proyectos y,
en su momento, tampoco obtuvo el reconocimiento del exterior que s recibieron otros
contemporneos. An as, fund varias empresas propias y, en 1950, realiza la primera
venta de un ordenador de la historia, el modelo Z4, a una compaa suiza.

El ingeniero electrnico y doctor en fsica terica estadounidense de origen blgaro John


Vincent Atanasoff (1903-1995) es considerado el inventor del ordenador digital
electrnico, despus de una resolucin judicial en la que se vi envuelto indirectamente.

ENTORNOS DE DESARROLLO

13

Como le ocurri a Konrad Zuse, Antanasoff quera encontrar una manera de agilizar los
numerosos clculos que deba realizar, as que comenz a desarrollar ideas para la
construccin de una mquina para tal fin, ms eficiente y rpida que las del momento.
Antanasoff concibi la idea final fundamentndose en cuatro principios: el uso de
componentes elctricos, un sistema binario, condensadores como elementos de memoria
y un sistema lgico para el cmputo.
Un condensador o capacitador es un dispositivo que almacena energa elctrica y est
formado por un par de superficies conductoras, separadas por un material dielctrico que
acta como aislante, que adquieren una determinada carga elctrica, positiva en una de
las placas y negativa en la otra
En diciembre de 1939 tena terminado un prototipo que funcionaba correctamente que
llam ABC (Atanasoff Berry Computer).
En 1940, Atanasoff asiste a una lectura del Dr. John
William Mauchly y le muestra su mquina. Mauchly
copia muchas ideas de la ABC para disear junto
con John Presper Eckert la ENIAC, considerada la
primera computadora digital electrnica del mundo,
hasta que en 1967 un litigio entre dos compaas,
Honeywell y Sperry Rand Corporation (que haba
adquirido la patente sobre la ENIAC), llevaran el
caso a los juzgados. Tras seis aos de litigio el juez
Earl R. Larson, de Minneapolis, sentenci que la patente del ENIAC no era vlida y di la
autora a Atanasoff y a su ABC del primer ordenador digital electrnico.
En febrero de 1944, el ingeniero estadounidense Howard Hathaway Aiken (1900-1973),
financiado por IBM, termina la construccin del ordenador electromecnico MARK I,
basndose en los diseos de la mquina analtica de Charles Babbage.

Tena unas dimensiones gigantescas:


meda unos 15,5 metros de largo, unos
2,40 metros de alto y unos 60 centmetros
de ancho, su peso era de unas cinco
toneladas y en su interior se reparta un
cableado de unos 800 kilmetros de
longitud con casi 3 millones de conexiones.
Estaba compuesta por unas 750.000
piezas, cerca de 1.500 interruptores
rotatorios de diez posiciones. Haca uso del
sistema decimal en lugar del binario, y

ENTORNOS DE DESARROLLO

14

contena 72 registros mecnicos, cada uno de los cuales poda almacenar 23 dgitos
decimales ms un dgito para el signo. Para la compaa IBM fue el comienzo de su larga
y de sobra conocida trayectoria como fabricante de ordenadores.
En febrero de 1944, un proyecto
secreto britnico durante la Segunda
Guerra
Mundial
deriv
en
la
construccin de Colossus, un ordenador
digital destinado a leer y descifrar los
cdigos alemanes, quienes utilizaban la
mquina encriptadora Enigma para el
envo de instrucciones al frente. Hasta
entonces no se haba encontrado un
sistema de descifrado eficaz contra la
mquina alemana.

Colossus fue diseado por el ingeniero britnico Thomas Harold Flowers (1905-1998) y
estaba compuesta originalmente por 1.500 vlvulas electrnicas (tubos de vidrio al vaco),
un lector fotoelctrico que reciba los datos mediante una cinta perforada, posea una
memoria de cinco caracteres de cinco bits, su velocidad de proceso era de 5.000 hercios
y empleaba el sistema binario. Tena unas medidas de 2,25 metros de alto, 3 metros de
largo y 1,20 metros de ancho. Hasta el final de la guerra se construyeron varios modelos
ms de Colossus, contando con la participacin de Alan Turing.

En 1940 John Mauchly y John P. Eckert, junto con cientficos de la Universidad de


Pensilvania construyeron la que se consideraba la primera computadora electrnica,
hasta el litigio de 1967 entre las compaas Honeywell y Sperry Rand Corporation. Esta
mquina se la denomin ENIAC y entr en funcionamiento en 1945.
Constaba de 17.468 vlvulas o tubos de
vidrio al vaco (ms resistencias,
condensadores, etc.), con 32 toneladas de
peso, 2,40 de ancho y 30 metros de largo.
El calor de las vlvulas elevaba la
temperatura del local hasta los 50.
Para efectuar diferentes operaciones,
deban cambiarse las conexiones (cables)
como en las viejas centrales telefnicas, lo
cual era un trabajo que poda tomar varios
das.

ENTORNOS DE DESARROLLO

15

Era capaz de calcular con gran velocidad la trayectorias de proyectiles, principal objetivo
inicial de su construccin. En 1,5 segundos poda calcular la potencia 5.000 de un nmero
de 5 cifras. ENIAC poda resolver 5.000 sumas y 360 multiplicaciones por segundo, pero
su programacin era terriblemente tediosa y deban cambirsele los tubos contnuamente.
Otra figura importante en la historia de la computacin es el ingeniero y matemtico John
Von Neumann (1903-1957). De origen hngaro, Neumann, fue un nio prodigio que a la
edad de 6 aos poda dividir mentalmente cifras de 8 dgitos y que con slo 30 aos
ingres en el Instituto de Estudios Avanzados.
En 1944 contribuy en forma directa en los diseos de fabricacin de computadoras,
asesorando a Eckert y John Mauchly, creadores de la ENIAC. Durante esa dcada trabaj
como consultor para la IBM colaborando con Howard Aiken para la construccin de la
computadora Mark I de Harvard.
Los primeros computadores se programaban en realidad recablendolos. Esto
prcticamente equivala a reconstruir todo el computador cuando se requera de un nuevo
programa. La tarea era simplificada gracias a un panel de contactos (muy similar al de los
primeros conmutadores telefnicos que eran atendidos por operadoras, y que hoy en da
slo llegamos a ver en viejas pelculas en blanco y negro) con el que era posible enlazar
circuitos para crear secciones dedicadas a una actividad especficas.
Estas arquitecturas de cableado establecan una clara distincin entre los datos
(representados por los estados o seales elctricas) y el programa (las conexiones que
seran establecidas entre estos componentes del hardware).
Esto vino a cambiar con el concepto del programa almacenado, un concepto terico muy
importante que fue establecido por el matemtico John von Neumann el 30 de junio de
1945 en un borrador sobre el diseo de la EDVAC.
A diferencia de los primeros computadores, von Neumann propona que tanto el programa
como sus datos fueran almacenados en la memoria del computador. Esto no slo
simplificaba la labor de programacin al no tener que llevar a cabo el recableado del
computador, sino que adems libraba y generalizaba el diseo del hardware para hacerlo
independiente de cualquier problema y enfocado al control y ejecucin del programa.
Este concepto fue tan importante y decisivo que dio lugar al concepto de la arquitectura
de von Neumann, con la que se construyen los ordenadores actuales.
Los ordenadores con arquitectura Von Neumann constan de las siguientes partes: una
unidad aritmtico-lgica (ALU), una unidad de control (UC), la memoria de
almacenamiento, un dispositivo de entrada/salida, el bus de datos que proporciona un
medio de transporte de los datos entre las distintas partes, el bus de direcciones, para
acceder a las posiciones de memoria donde estn almacenados los datos y el bus de
control, para controlar todo el proceso. Adems dispone de pequeas memorias de apoyo
(registros) de los procesos que ocurren.

ENTORNOS DE DESARROLLO

16

En 1946 Mauchly y Eckert propusieron la construccin de una nueva mquina,


denominada EDVAC por las siglas de su nombre en ingls Electronic Discrete Variable
Automatic Computer. Bajo la tutela de John von Neuman se dise un ordenador
consistente en el almacenamiento en memoria y un sistema de numeracin en binario,
donde la suma, la resta y la multiplicacin era automtica y la divisin programable.
La EDVAC fue terminada en 1952 y entregada a un laboratorio militar americano. Tena
6.000 tubos de vaco y 12.000 diodos de cristal, ocupaba 45,5 m de superficie y pesaba
7.850 kg.
La memoria consista en lneas de mercurio dentro de un tubo de vidrio al vaco, de tal
modo que un impulso elctrico poda ir y venir en 2 direcciones, y de esa forma poda
representar dos posibles estados. Esto era indispensable ya que en lugar de usar
decimales, la EDVAC empleaba nmeros en sistema binario (0 y 1).

Internamente el EDVAC estaba organizado en cinco partes principalmente:


Unidad de lectura-grabacin, que era la encargada de la lectura, grabacin y
borrado de las cintas magnticas.
Unidad de control, que se encargaba de decodificar las instrucciones, emita
seales de control hacia el resto de unidades y almacenaba la instruccin que se
deba ejecutar en cada momento.
Unidad de memoria, que almacenaba los datos y las instrucciones.
Unidad de clculo, que realizaba las operaciones bsicas aritmticas. La unidad
aritmtica estaba por duplicado, las operaciones se hacan en ambas unidades y
se comparaban los resultados, interrumpindose la ejecucin si no eran idnticos.
Un reloj, cuya misin era sincronizar los procesos y que emita pulsos de reloj a
intervalos de 1 segundo (10-6 sg)
Posteriormente Eckert y Mauchly trabajaran en el proyecto UNIVAC. El primer
ordenador UNIVAC fue entregado a la Oficina de Censos de los Estados Unidos (United
States Census Bureau) el 31 de marzo de 1951 y fue puesto en servicio el 14 de junio de
ese ao.

ENTORNOS DE DESARROLLO

17

Los primeros contratos para la venta de UNIVAC


fueron realizados con instituciones del gobierno de
los Estados Unidos, tales como la oficina de
censos, la Fuerza Area, y el servicio de mapas
del ejrcito; tambin contrataron sus servicios
particulares como la ACNielsen Company y la
Prudential Insurance Company.

UNIVAC fue la primera computadora comercial estadounidense y fue diseada desde el


principio para su uso en administracin y negocios (es decir, para la ejecucin rpida de
grandes cantidades de datos, con operaciones aritmticas relativamente simples, a
diferencia de los clculos numricos complejos requeridos por las computadoras
cientficas).

2.3. Segunda generacin: circuitos transistorizados (1957-1964).

El transistor (palabra surgida por la contraccin de Transfer Resistor),


es un elemento de silicio o germanio inventado por los Laboratorios
Bell Telephone en 1947, que acab sustituyendo a los tubos de vaco (o
vlvulas), debido a la gran diferencia de sus prestaciones: tamao
minsculo, menor coste y menor consumo elctrico, generando as
tambin menos calor. La vida til del transistor no tiene comparacin
tampoco, ya que es prcticamente ilimitada, mientras que las vlvulas
deban ser reemplazadas con mucha frecuencia.

Las primeras computadoras construidas completamente a base de transistores fueron


introducidas por las compaas NCR (NCR 304, en 1957) y RCA (RCA 501, en 1958). Sin
embargo, IBM cre los modelos ms populares, logrando una cuota de mercado del 70%
en la dcada de los 60. El primer modelo de IBM que empleaba transistores fue el IBM
7090, creado a finales de 1958.
Durante el perodo que engloba la segunda generacin tiene lugar tambin la ampliacin
de las memorias internas y el uso de perifricos de gran capacidad de memoria como los
tambores y discos magnticos.
Aparecen los lenguajes ensambladores que traducen las instrucciones del cdigo
mquina y aparecen lenguajes de alto nivel, cuyas instrucciones se parecen ms al
lenguaje natural. Los ms representativos de esa poca son:

ENTORNOS DE DESARROLLO

18

FORTRAN, contraccin de las palabras inglesas Formula Translator (traductor de


frmulas), lenguaje empleado sobre todo en aplicaciones cientficas, fue
desarrollado entre 1954 y 1957 por la compaa IBM.
LISP, acrnimo de LISt Processing (procesamiento de listas), creado en 1958 por
John McCarthy en el Instituto Tecnolgico de Massachusetts (MIT). McCarthy
introdujo en 1956, en una conferencia en Dartmouth, el concepto de Inteligencia
Arificial.
COBOL, acrnimo de COmmon Business Oriented Language (lenguaje comn
orientado a negocios), orientado hacia la informtica de gestin empresarial y que
se desarroll con la intencin de lograr un lenguaje estndar, debido a las mltiples
incompatibilidades de los equipos de la poca.
ALGOL, que proviene del ingls Algorithmic Language (lenguaje algortmico). Su
uso era bastante extendido en las universidades, pero no tuvo aceptacin como
lenguaje de utilizacin comercial.
En 1963 el Comit Estadounidense de Estndares (ASA, que en 1969 tomara el nombre
de Instituo Estadounidense de Estndares Nacionales, o ANSI) aprueba el cdigo ASCII,
acrnimo ingls de American Standard Code for Information Interchange (cdigo estndar
americano para el intercambio de informacin), basado en el uso anglosajn del alfabeto
latino. Su origen se encuentra en los conjuntos de cdigos usados hasta entonces en
telegrafa. En 1967 se incluyeron las minsculas, y se redefinieron algunos cdigos de
control para formar el cdigo conocido como US-ASCII.

2.4. Tercera generacin: circuitos integrados (1964-1974).

En 1959, el ingeniero elctrico estadounidense Jack St. Claire Kilby (1903-2005) invent
el circuito integrado cuando trabajaba para la empresa Texas Instruments. Logro que
sent los cimientos conceptuales y tcnicos para todo el campo de la microelectrnica y
que en los aos 80 llevara al desarrollo de los microprocesadores.

Un circuito integrado (CI), es una pastilla pequea de silicio,


de algunos milmetros cuadrados de rea, sobre la que se
fabrican circuitos elctricos y que est protegida dentro de un
encapsulado de plstico o cermica. El encapsulado posee
conductores metlicos apropiados para hacer conexin entre
la pastilla y un circuito

ENTORNOS DE DESARROLLO

19

Este hecho permiti por un lado abaratar costes y por el otro, aumentar la capacidad de
procesamiento reduciendo el tamao fsico de las mquinas. Por su contribucin al
desarrollo de la tecnologa de la informacin, en el ao 2000 Kilby fue galardonado con el
Premio Nobel de Fsica.
Se considera como inicio de la tercera generacin el ao 1964, cuando el 7 de abril IBM
presenta el IBM S/360. Tena la capacidad de realizar tanto anlisis numricos como
administracin y procesamiento de archivos y contaba con unidades de cinta magntica
de nueve canales y paquetes de discos magnticos.

La serie 360 fue la primera tambin en utilizar un


Sistema Operativo, el OS/360, en diferentes versiones
segn el modelo, dotando as a la mquina de
capacidad de multiprogramacin, al permitir ejecutar
ms de un programa simultneamente.

Durante el perodo que representa la tercera generacin se estandarizaron los lenguajes


de programacin ms utilizados como el FORTRAN (1966), el ALGOL (1968) y el COBOL
(1970). Tambin aparecieron lenguajes nuevos, como el BASIC (1964) o el PASCAL
(1970).
El 21 de noviembre de 1969 se realiza la primera interconexin de computadoras, a
travs de una red, entre la Universidad de California y el Instituto de Investigaciones de
Stanford. Fue un proyecto llamado ARPANET (Advanced Research Projects Agency
Network), desarrollado por la DARPA (Agencia de Investigacin de Proyectos Avanzados
de Defensa). El 5 de diciembre de ese mismo ao lograron interconectar cuatro nodos: el
Instituto de Investigaciones de Stanford, la Universidad de California de Los ngeles, la
Universidad de California Santa Brbara y la Universidad de Utah.

1969 es la fecha tambin del desarrollo final del sistema operativo UNIX, cuyas siglas
provienen de UNiplexed Information and Computing System, ejecutado por primera vez en
1970 en una mquina PDP 11/20. El proyecto estaba liderado por el cientfico Kenneth
Lane Thompson y el fsico Dennis MacAlistair Ritchie, quien escribira en 1972 el lenguaje
de programacin C para el sistema, lo que le dara portabilidad para ser instalado en
diferentes ordenadores con unos pequeos cambios.
En 1973, el presidente de Intel, Gordon Moore, postula la famosa ley de Moore que
predeca que el nmero de transistores en las CPU se duplicaran cada 18 meses, lo que
se ha venido cumpliendo hasta la actualidad.

ENTORNOS DE DESARROLLO

20

2.5. Cuarta generacin: circuitos integrados (1974-actualidad).

La cuarta generacin de ordenadores se considera iniciada con la aparicin del


microprocesador, invento que permitira luego la creacin del ordenador personal (PC).
En 1974, la empresa estadounidense Intel Corporation present el modelo de
microprocesador 8080. Contena 4.500 transistores y poda manejar 64k de memoria
RAM a travs de un bus de datos de 8 bits.

El 8080 fue el cerebro del primer ordenador


personal (PC), el Altair 8800, fabricado por la
compaa
MITS
(Micro
Instrumentation
Telemetry Systems), promoviendo un gran
inters en hogares y pequeos negocios a partir
de enero de 1975, cuando apareci publicitada
en la revista Popular Electronics y se venda
como un kit.

El primer lenguaje de programacin para la mquina fue el Altair BASIC, escrito por
William Henry Gates y Paul Allen, quienes inmediatamente despus fundaran
Microsoft. El Sistema Operativo que utilizaba el Altair 8800 era el CP/M (Control Program
for Microcomputers), escrito por Gary Kildall.
En 1976, Steve Wozniak (entonces ingeniero en Hewlett-Packard) y Steve Jobs (que
trabajaba en Atari) fabrican en el garaje de la casa de Jobs, la microcomputadora Apple I
y fundan, en abril de 1976, la empresa Apple Computers.
El Apple I se construa manualmente, y no lleg a ser vendido masivamente, pero con el
desarrollo a partir de 1977 del Apple II, la compaa de Wozniak y Jobs lleg a tener una
alta cuota de mercado, solamente superada por IBM.
En 1980 Tim Paterson, programador de SCP (Seattle Computer Products), desarroll un
sistema operativo conocido como 86-DOS (Disk Operating System, sistema operativo de
disco). En un principio se le llam QDOS (Quick and Dirty Operating System, sistema
operativo rpido y sucio), se basaba en el CP/M para un procesador Intel 8086.
Microsoft le compr por 50.000 dlares el Sistema Operativo y lo adapt a los
requerimientos que IBM deseaba para su novedoso modelo IBM PC. Microsoft se reserv
la patente y en 1984 eran ya 200 las marcas que haban adquirido una licencia de MSDOS, lo que supondra el principio del casi-monopolio de Microsoft. IBM, por su parte,
acrecent su liderazgo en el mercado con su PC (Personal Computer, ordenador
personal), vendiendo ms de 65.000 unidades el primer ao y acercando la figura del
ordenador a la sociedad y a los hogares con los modelos sucesivos.
La privatizacin masiva que estaba sufriendo el software en la poca llev a Richard
Matthew Stallman a desarrollar, a partir de 1983, un proyecto de creacin y difusin de
software libre, denominado GNU (acrnimo de GNU is Not UNIX, GNU no es UNIX). Su

ENTORNOS DE DESARROLLO

21

finalidad era el desarrollo de un sistema operativo totalmente libre. En 1985 promovera el


nacimiento de la FSF (Free Software Foundation, fundacin para el software libre).
En noviembre de 1985 aparece la primera versin del sistema operativo Windows
(1.0), que posibilitaba el uso de una interfaz grfica para los PC's de IBM, que desde
haca un ao ya ofrecan los modelos Macintosh (Mac) de Apple. Microsoft sigui
lanzando al mercado sucesivas versiones del sistema operativo, como Windows NT
(1992), Windows 95 (1995), Windows 98 (1998), Windows 2000 (2000), Windows XP
(2001), Windows Vista (2007) y Windows 7 (2009). Actualmente se estima que alrededor
del 95% de los ordenadores usan alguno de estos sistemas operativos.
En 1992, el ingeniero informtico finlands Linus Benedict Torvalds desarrolla el
sistema operativo Linux, cuyo cdigo fuente es de libre acceso y supuso un hito para el
movimiento del software libre. Sistema Operativo que sigue en uso actualmente con
constantes mejoras y cambios del cdigo por parte de los programadores de todo el
mundo, surgiendo as tambin diferentes versiones o sabores en terminologa Linux.
Tambin en 1992 fue la presentacin pblica del sistema global de hipertextos iniciado
por el fsico ingls Timothy John Berners-Lee mientras trabajaba en proyectos de
investigacin en el CERN de Ginebra. El sistema de hipertexto es el que ha posibilitado la
expansin de la world wide web (www), tal y como la conocemos hoy en da.

2.6. Quinta generacin?


En octubre de 1981, el mundo de los ordenadores se vio sacudido por el anuncio hecho
en Japn de una iniciativa de investigacin y desarrollo orientada a producir una nueva
generacin de ordenadores en la primera dcada de los aos de los 90, a los que se les
dio el nombre de ordenadores de quinta generacin.
Los ordenadores de esta generacin deberan de ser capaces de resolver problemas muy
complicados, algunos de los cuales requeriran la capacidad de razonamiento de las
personas para ser resueltos. Deberan de ser capaces de trabajar con grandes
subconjuntos de los lenguajes humanos y estar asentados en grandes bases de datos de
conocimiento y deberan poder ser manejados por personas no expertas en informtica.
Para conseguir estos fines tan ambiciosos estos equipos no tendrn un nico procesador,
sino un gran nmero agrupado en tres subsistemas fundamentales: un sistema
inteligente, un mecanismo de razonamiento y una interfaz de usuario inteligente.

Actualmente no estn desarrollados estos ordenadores, por lo que se considera a esta


generacin como fallida.

ENTORNOS DE DESARROLLO

22

3. GENESIS DEL DESARROLLO DE APLICACIONES


En este apartado se presentarn los porqus y el cmo del proceso de desarrollo de
software, las distintas fases que ha atravesado a la largo de la historia reciente la forma en
que se desarrollaban los programas informticos.
Un proceso software es un conjunto de actividades y resultados que conducen a la
creacin de un producto software

3.1. El proceso de desarrollo de software en los Aos 60 y 70


Desde una perspectiva histrica, el mercado de software apenas exista en los aos
60-80 del siglo pasado. El software bsico se compraba al fabricante de
la mquina (Sistema Operativo, Compilador, Sort, etc), Haba algn software de
propsito general de fabricantes independientes (Bases de Datos, algn programa de
gestin de ficheros, y poco ms), y casi ningn Software de Aplicacin.
En una palabra, todos los programas de gestin de las empresas estaban hechos ex
profeso para las propias empresas, y casi siempre por personal de las propias
empresas que pertenecan al llamado entonces Departamento de Proceso de
Datos.
Las tareas eran casi artesanales, hechas a mano.

Generalmente, aunque no siempre, haba una persona (Analista Funcional o


Jefe de Proyecto era su denominacin ms habitual), que se ocupaba de la
comunicacin con usuarios, como Contabilidad, Cuentas Corrientes, Prstamos, etc.
Esta figura, se encargaba de recibir peticiones del Usuario, proponer soluciones y dirigir
al equipo de programadores que deban programarla. Una vez consensuada la
Aplicacin, realizaba el Anlisis Funcional que era la descripcin ms o menos
ordenada de las funciones que debe cubrir el Sistema de Informacin a disear.
Este proceso, como se comentaba antes, era artesanal o al menos bastante informal.
No se segua ningn mtodo preestablecido ni se generaba una documentacin segn
una estructura prediseada al efecto. No haba extensos documentos de justificacin de
gastos.
El personal encargado del desarrollo era personal de la propia empresa
(generalmente bancos), de las reas administrativas (cajeros, auxiliares, etc), que eran
seleccionados para ser formados especficamente en el ordenador que haba
adquirido la empresa, durante varios meses.

ENTORNOS DE DESARROLLO

23

El desarrollo se realizaba por dos o tres programadores al servicio de cada jefe de


proyecto o analista funcional. No era difcil decidir quin se encargaba de qu ni hacer el
seguimiento al proyecto.
El software se pona en produccin tras unas pruebas y el mismo equipo daba el
soporte (mantenimiento).
Las bases de datos tenan escasas capacidades, se encontraban en los albores y la
mayor parte de la informacin se almacenaba en ficheros secuenciales almacenados
en cinta magntica.
Una de las herramientas de diseo era el diagrama de flujo u ordinograma, a veces
mal llamado organigrama que defina las secuencias lgicas del programa. Se
realizaba casi siempre a mano.

Ilustracin 1: Diagrama de flujo

En cualquier caso, los saltos de un lado a otro del flujo, segn las condiciones que se
fueran satisfaciendo, se pintaban con flechitas, que tendan a entremezclarse y volar de
arriba abajo, de derecha a izquierda y, en realidad, en todas direcciones ... de ah la

ENTORNOS DE DESARROLLO

24

denominacin de cdigo spaghetti para los programas resultantes (frente al cdigo


estructurado que surgir posteriormente).
Una vez hecho el ordinograma (ms o menos detallado, segn la experiencia y habilidad
del programador), se comenzaba a codificarlo, es decir, a traducirlo al lenguaje que el
ordenador entiende (Algol, Cobol, Fortran o lo que fuera). El programa se escriba a
mano en fichas que luego se transformaban en tarjetas perforadas. Esas tarjetas se
traducan a cdigo mquina durante la compilacin, que era lo que se ejecutaba en las
pruebas.

3.2. El proceso de desarrollo de software en los Aos 80


3.2.1. Mejora tecnolgica
A medida que la tecnologa progresaba, fue posible desarrollar aplicaciones ms
complejas por los que se hizo posible que ciertas necesidades pudieran ahora por fin ser
cubiertas mediante el desarrollo de software.

Aparecen las bases de datos relacionales, que mejoran y racionalizan el


tratamiento de datos, cambiando la filosofa en el diseo de aplicaciones.

Aparece la programacin estructurada.

El diseo de aplicaciones cada vez ms complejas necesitaba equipos de


personas ms numerosos para su implementacin.
En esa situacin, haba que asegurarse, en lo posible, de que tanto el
procedimiento de Diseo de las Aplicaciones como la Documentacin asociada
estuvieran formalizados, uniformizados, reglamentados, constreidos, de tal modo
que cualquier persona pudiera leer, comprender y, llegado el caso, modificar cualquier
Aplicacin sin necesidad de apelar a la memoria o el conocimiento de su creador.
Lo realizado por un informtico, cualquiera que sea su posicin en la cadena de
desarrollo (jefe de proyecto, analista, programador, etc, ...), deba quedar
documentado mediante alguna manera que hiciera posible a otra persona
retomar el trabajo del informtico anterior. Si al El Hombre-Aplicacin, esa
persona que llevaba la Aplicacin de Nminas en la cabeza, igual que los HombresLibro le daba por irse de vacaciones, o enfermar, igual no se poda pagar la Nmina.
Esta era una situacin que se daba con alguna frecuencia, y que las empresas no
estaban dispuestas a que volviera a ocurrir en el futuro.
Haba que implantar un procedimiento de Diseo, Construccin y Documentacin
que permitiera eliminar a los Hombres-Aplicacin. Y para ello, se necesitaba, en primer
lugar, un Mtodo que dijera qu haba que hacer, y qu no; en segundo lugar, unas
Tcnicas de uso comn para realizar Anlisis, Diseo, y Programacin (aunque esta
ltima ya estaba bastante formalizada); y en tercero, a ser posible, un Sistema de

ENTORNOS DE DESARROLLO

25

algn tipo que se asegure que las Normas del Mtodo se cumplen y las Tcnicas se
aplican.

3.2.2. Nacimiento de las metodologas


Estas necesidades bsicas son solucionadas, como habis intuido, por las
Metodologas de Desarrollo de Software, por las Tcnicas de Anlisis y Diseo,
y por las Herramientas CASE (Computer Aided Software Engineering, Ingeniera
de Software Asistida por Ordenador), respectivamente.
Las metodologas, en su mayora, fueron promovidas por ciertos Gobiernos para
asegurar el cumplimiento de las especificaciones y, sobre todo, de los costes de los
grandes proyectos contratados por la Administracin.
Por otro lado, el mantenimiento de aplicaciones era un serio problema, y tena toda la
pinta de convertirse en El Problema. Aqu tenemos un grfico de los costes de
cualquier gran Aplicacin a lo largo del tiempo.

Ilustracin 2: Curva de coste del Software

Una vez puesta en marcha (puesta en produccin) la aplicacin comienza su


fase de mantenimiento (la zona naranja), que supondr seguramente, a lo largo de
toda la Vida de la aplicacin, entre un 75% y un 90% del coste total dedicado a dicha
Aplicacin a lo largo de su vida til.
La consecuencia a la que se lleg es que no hay que escatimar esfuerzos durante la
etapa inicial de Diseo y Construccin de la Aplicacin para reducir todo lo
posible el coste del Mantenimiento posterior.

ENTORNOS DE DESARROLLO

26

Una segunda vuelta de tuerca consista en la bsqueda y construccin de la


herramienta CASE ideal en la que, introducidas de alguna manera las premisas de la
aplicacin, se generase todo el diseo, documentacin y el desarrollo, amn de
facilitar el mantenimiento. Varias decenas de aos despus y unos cientos de
herramientas, la bsqueda contina an hoy.
Desde luego se es el ideal del empresario, encontrar una herramienta que pueda ser
manejada por personal poco especializado (y barato), para generar complejas
aplicaciones.
Las primeras herramientas fueron meras ayudas a la programacin, ayudando a
hacer el trabajo ms rpido y facilitando la deteccin y eliminacin de errores
del cdigo (depuracin). Editores y depuradores de programas sobre pantalla se
encargaban de esa labor

Mtodos o Tcnicas y herramientas de diseo

Varios ingenieros de la computacin estaban atacando ya (de hecho, llevaban algunos


aos en ello) el problema siguiente al de cmo realizar eficientemente la Programacin,
es decir: cmo realizar el Diseo de los Sistemas? Hacer tanto el Diseo
Tcnico (Bases de Datos, Transacciones, Procesos Batch...) como el propio Anlisis
Funcional, de alguna manera ciertamente ms formal que simplemente escribir la
documentacin
Uno de los esfuerzos vino de Michael Jackson1, que en 1983 public su libro
System Development, en el que presenta su mtodo JSD de programacin
estructurada, aunque ya estaba dando cursos y seminarios sobre el asunto desde
haca un par de aos.

ENTORNOS DE DESARROLLO

27

En realidad JSD es una extensin de su mtodo de Estructuracin de Programas,


esta vez orientado al Diseo de los Sistemas. No tuvo excesivo xito (veremos que
lleg algo tarde), pero nuevamente Jackson hizo una formalizacin extraordinaria: su
mtodo fue el primero que estableci que los Sistemas deben ser diseados a
partir de las Salidas (es decir, los resultados esperados). Todos los procesos, los
datos necesarios, etc, son la consecuencia lgica de conocer para qu debe servir
nuestro sistema, es decir, qu es lo que esperamos que haga el sistema, lo que debe
de producir, en definitiva: las salidas. No tuvo el xito debido a que lleg tarde.
Otra tcnica de programacin estructurada que parta de los datos fue Warnierr-Orr.
Tanto JSD como Warnier reducan las estructuras o bloques programables a tres:
Iteracin, Seleccin y Secuencia, eliminando los saltos incondicionales, rupturas de
la secuencia del programa a capricho o sentencias GOTO.
Anteriormente, Peter P. Chen haba atacado con xito la problemtica de la modelizacin
de los datos, mediante su tcnica Modelo de Entidad-Relacin (ERM), publicado
inicialmente tan pronto como en 1976, pero que no tuvo aceptacin real hasta que
las Bases de Datos Relacionales no comenzaron a invadir las instalaciones de todo el
mundo, a mediados de los ochenta. Esta forma de modelizar los datos fue adoptada por
virtualmente todos los mtodos de Desarrollo de Aplicaciones de entonces (y de ahora),
debido a su consistencia y, sobre todo, a su facilidad de aprendizaje y comprensin.

Ilustracin 5: Modelo E-R extendido

ENTORNOS DE DESARROLLO

28

Pero haba otros gurs que pensaban justo lo contrario que Jackson y Chen: que lo
importante de las aplicaciones no son los datos, sino los Procesos, es decir,
conocido lo que hay que hacer, los datos necesarios para hacerlo se hacen evidentes,
pues son el subproducto de los procesos.
Edward Yourdon y Tom de Marco propusieron esta Tcnica de Anlisis y Diseo
Estructurado, que se basa en una aproximacin top-down al problema del Diseo de
los Sistemas de Informacin: comenzar con el diagrama ms general, e ir
descomponiendo el Sistema desde lo ms general a lo ms particular. El resultado son
los Diagramas de Flujo de Datos (DFDs)

Ilustracin 6: Ed Yourdon y Tom de Marco

Ilustracin 7: Ejemplo de un DFD

ENTORNOS DE DESARROLLO

29

En los DFD, las burbujas indican una accin (vase que contienen siempre un verbo),
esto es, una accin o mejor, un proceso. Las flechas son los flujos o movimientos de
los datos, que pueden recibirse o enviarse a otros procesos o bien recuperarse o
almacenarse en los almacenes indicados con dos lneas paralelas (en la figura
anterior, PARAMETROS es un almacn de datos).
Uno de los personajes ms importantes de la informtica del siglo pasado, el britnico
James Martin, se adhiri pronto y de modo estusiasta a las tcnicas de modelizacin,
y cre, o quiz slo la adopt y dio a conocer, en 1981, la Metodologa IE (Information
Engineering), que tuvo casi de inmediato una muy buena aceptacin. Us las dos
tcnicas de modelizacin antes mencionadas: la de procesos, va los DFDs, y la de
datos, va los ERDs.

Ilustracin 8: James Martin

A raz de la publicacin de los mtodos grficos anteriores surgieron las herramientas


CASE que facilitaban su uso de modo automatizado.

Ilustracin 9: Notacin Martin de un modelo de datos

ENTORNOS DE DESARROLLO

30

3.3. La era de las Metodologas


Una metodologa abarcar todo el proceso completo desde la concepcin de la
aplicacin a desarrollar hasta su retirada, incluyendo la fase de mantenimiento,
esto es, abarca todo el ciclo de vida del software y especifica al detalle cada paso.
La metodologa especifica al detalle y de modo sistemtico:
Cmo se debe dividir un proyecto en etapas.
Qu tareas se realizan en cada etapa.
Qu salidas se producen y cundo se deben producir. Qu restricciones se
aplican.
Qu herramientas se van a utilizar.
Cmo se gestiona y controla un proyecto.
La metodologa normalmente consistir en un conjunto de fases descompuestas en
subfases (mdulos, etapas, pasos, etc.) de forma que esta descomposicin gue a los
desarrolladores en la eleccin de las tcnicas que se debe elegir para cada estado
del proyecto, facilitando la planificacin, gestin, control y evaluacin de los proyectos.

Una definicin de metodologa podra ser el conjunto de filosofas, fases,


procedimientos, reglas, tcnicas, herramientas, documentacin y aspectos de
formacin para los desarrolladores de sistemas de informacin (Maddison 1983).

3.3.1. Metodologas de enfoque estructural


A partir de los aos 80 en, EEUU, se comienzan a utilizar metodologas de desarrollo,
primero de forma tmida, luego con cada vez mayor aceptacin. Todas ellas se basan
en mayor o menor medida en la programacin estructurada o el anlisis estructurado
que ha desarrollado en el apartado anterior..
En Europa, se desarrollaron mientras tanto unas metodologas globales que recogieron
el paso a paso, usando diversas tcnicas y mtodos, del desarrollo y mantenimiento
de un producto software. Nacieron de mano de las Administraciones Pblicas de cada
pas.
En Francia exista desde haca unos aos (mediados de los setenta) la metodologa
Merise, en principio una relacin (exhaustiva, eso s) de pasos y tareas con alguna
tcnica manual sencilla, y que tambin a principios de los ochenta se enriqueci con las
nuevas tcnicas de modelizacin de Datos y Procesos; se trata de un mtodo francs,
pensado por y para franceses, y que tuvo pocos seguidores fuera del mundo
francfono, pero como la Administracin francesa exigi el uso de Merise para la

ENTORNOS DE DESARROLLO

31

contratacin de proyectos informticos desde muy pronto (principios de los ochenta),


se convirti en el standard de facto en el mercado francs en el final de la dcada de
los ochenta.
En el Reino Unido, en la misma poca, se estaba gestando SSADM, que adopt
entre sus tcnicas a una mezcla de varios de los incipientes mtodos de anlisis
estructurado del momento, en particular los de Yourdon, De Marco, Jackson y
Constantine, que fueron incorporados desde el principio al mtodo, se supone que
tomando lo mejor de cada uno de ellos. A partir de 1983, tambin se hizo obligatorio el
uso de SSADM para poder contratar proyectos para la Administracin britnica, por lo
que fue ampliamente seguida en el Reino Unido, y despus tambin en el resto de
Europa.
Y en Espaa? A mediados de los ochenta, el Ministerio de Administraciones
Pblicas comenz el desarrollo de una Metodologa Espaola (a imagen y semejanza de
la francesa y la britnica), que recibi el nombre de Mtrica. Participaron diferentes
Organismos de la Administracin, y se encarg su realizacin final a una consultora
(Coopers & Lybrand, que por entonces no estaba an fusionada con Price Waterhouse,
ni mucho menos con IBM, como ahora lo est). Se encuentra muy poca documentacin
de Mtrica en Internet, y la poca que hay es de la versin 3, ya de fines de los noventa
aqu2.
Mtrica se pareca, inicialmente, a SSADM, pero se le aliger de bastantes pasos
burocrticos, para adaptarlo ms a nuestra mentalidad, aunque se aadieron algunos
otros. Result una Metodologa moderna y muy bien fundada. En cuanto a tcnicas,
bsicamente usaba las mismas que los dems, ERD, DFD, Diseo Estructurado... A la
versin 1 sigui la versin 2... y, por fin, la actual versin 3, desarrollada en la segunda
mitad de los noventa, que incorpora ya las ltimas novedades (Orientacin a Objetos,
UML, etc).

3.3.2. Metodologas orientadas a objetos


En los aos 90 surgieron nuevos paradigmas, formas nuevas de concebir el anlisis
y la implementacin de programas y bases de datos, tales como la orientacin a
objetos, lo que cambi en gran medida la perspectiva del desarrollo y, por extensin, la
concepcin de todo el ciclo del proyecto software.
El paradigma orientado a objetos, a diferencia del enfoque estructurado, trata los
procesos y los datos de forma conjunta, esto es, modula tanto la informacin como el
procesamiento. La orientacin a objetos empieza con los lenguajes de programacin
orientados a objetos (LOO) . En estos lenguajes se daba nfasis a la abstraccin de
datos y los problemas del mundo real se representaban como un conjunto de objetos de

ENTORNOS DE DESARROLLO

datos para los que se adjuntaban un conjunto de operaciones (SIMULA, Smaltalk como
prototipos y ADA, C++, Smaltalk y Objetive C como lenguajes de desarrollo).
Entre las metodologas clsicas de anlisis y diseo estructurado y las de orientacin
al objeto existe un cambio de filosofa apreciable. Mientras en las primeras se
examinan los sistemas desde el punto de vista de las funciones o tareas que
deben realizar (tareas que se van descomponiendo sucesivamente en otras tareas
ms pequeas y que forman los bloques o mdulos de las aplicaciones), en la
orientacin al objeto cobra mucha ms importancia el aspecto de modelado del
sistema, examinando el dominio del problema como un conjunto de objetos que
interactan entre s.
En las metodologas tradicionales se produce una dicotoma entre los dos
elementos constituyentes de un sistema: las funciones que llevan a cabo los programas
y los datos que se almacenan en ficheros o en bases de datos.
Sin embargo, la orientacin al objeto intenta obtener un enfoque unificador de ambos
aspectos, que se encapsulan en los objetos.
Se profundizar en temas posteriores.

32

Potrebbero piacerti anche