Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Unidad I: Tecnologia de Desarrollo de Aplicaciones (Tda)
Unidad I: Tecnologia de Desarrollo de Aplicaciones (Tda)
Objetivo de la Unidad
Identificar las características básicas relacionadas al ámbito del desarrollo de aplicaciones
informáticas
Objetivos Específicos:
1. Conocer la historia del desarrollo de la Informática y los conceptos que se relacionan con ella.
2. Diferenciar los distintos tipos paradigmas de programación que existen.
3. Utilizar un entorno de Desarrollo Integrado para codificar una solución informática.
4. Identificar lo que hace y no hace un profesional de la programación.
Datos: La palabra "datos" (data en latín e inglés) es el plural de dato, que significa "hecho". Los
datos, por lo tanto, son hechos o material original de información. Son representados por
símbolos, es decir que son considerados como un conjunto de símbolos que caracterizan un
hecho o situación. Ejemplos de datos de una persona son: su nombre, su dirección, su teléfono,
el número único de identificación, etc.
1
Información: La información es un conjunto de datos arreglados y ordenados de forma útil. En
otras palabras, la información es el conocimiento relevante producido como resultado del
procesamiento de datos y adquirido por la gente para realzar el entendimiento y cumplir
propósitos específicos.
Computadora: Máquina compuesta de elementos físicos capaz de aceptar unos datos de
entrada, realizar con ellos operaciones lógicas y matemáticas con gran velocidad y precisión, y
proporcionar los resultados a través de algún medio de salida, todo esto es llevado a cabo sin la
intervención humana y bajo el control de un programa de instrucciones previamente almacenado
en la propia computadora. Por consiguiente, un computador lo podemos representar por medio
del siguiente esquema:
SISTEMA DE PROCESO
RECIBE
Datos DEVUELVE
Ordenes codificadas Resultados o
COMPUTADORA
o programas Información útil
Programa: Conjunto de órdenes o instrucciones que se le dan a una computadora para que
ésta realice un proceso o tarea determinada. Las órdenes que integran un programa indican a la
computadora las tareas u operaciones que han de ser realizadas para llevar a cabo el proceso
requerido.
Tratar acerca del surgimiento de la informática es remontarse a las primeras necesidades que la
humanidad encontró para poder resolver sus cálculos matemáticos; en un inicio utilizaba piedras para
contar, sucesivamente fueron apareciendo nuevas formas o instrumentos que permitían al hombre
satisfacer sus necesidades hasta llegar a contar con una tecnología apropiada a lo que hoy en día
demanda el hombre y su trabajo en todas sus áreas. Algunos eventos históricos relevantes, se listan
a continuación:
2
occidental se dan después del Renacimiento cuando el matemático escocés John Napier (1550-
1617), basado en su teoría de que todas las cifras numéricas podían expresarse en forma
exponencial, inventa los logaritmos, que permiten reducir a sumas y restas las operaciones de
multiplicación y división.
Otro de los hechos importantes en la evolución de la informática se sitúa en el siglo XVII, donde el
científico francés Blaise Pascal inventó una máquina calculadora, que únicamente realizaba
operaciones de sumas y restas.
El dispositivo de Pascal, sirvió como base para que el alemán Leibnitz, en el siglo XVIII,
desarrollara una máquina que, además de realizar operaciones de adición y sustracción, podía
efectuar operaciones de producto y cociente.
En el siglo XIX se comercializaron las primeras máquinas de calcular. En este siglo el matemático
inglés Babbage desarrolló lo que se llamó "Máquina Analítica", la cual podía realizar cualquier
operación matemática. Además, disponía de una memoria que podía almacenar 1000 números
de 50 cifras y hasta podía usar funciones auxiliares; sin embargo seguía siendo una máquina de
funcionamiento mecánico.
Recién en el primer tercio del siglo XX, con el desarrollo de la electrónica, se empiezan a
solucionar los problemas técnicos que acarreaban estas máquinas, reemplazándose los sistemas
de engranaje y varillas por impulsos eléctricos, estableciéndose que cuando hay un paso de
corriente eléctrica será representado con un *1* y cuando no haya un paso de corriente eléctrica
se representaría con un *0*.
RECURSOS: Para completar esta sección, ver en www.youtube.com los siguientes videos:
1. La Historia de la Computadora y Computación – Documental Completo
2. La Historia del Internet (Discovery Channel)
3. Historia de Internet
De acuerdo a la tecnología que se utiliza en las computadoras a través del tiempo, éstas se clasifican
en generaciones, siendo siempre la única diferencia entre una y otra la novedad tecnológica de la
época.
3
2° Generación: Va desde 1952 a 1964. Esta surge cuando se sustituye la válvula
por el transistor. En esta generación aparecen las primeras computadoras
comerciales, las cuales ya tenían una programación previa que serían los sistemas
operativos. Éstos interpretaban instrucciones en lenguaje de programación (Cobol,
Fortran), de esta manera, el programador escribía sus programas en esos
lenguajes y el computador era capaz de traducirlo al lenguaje máquina.
4
Las computadoras también pueden clasificarse por el tipo de señales que aceptan y con las que
trabajan, generando los siguientes tipos:
Analógicas:
La computadora análoga es la que acepta y procesa señales continuas, tales como: fluctuaciones de
voltaje o frecuencias. Ejemplo: El termostato es la computadora análoga más sencilla.
Híbridas:
La computadora híbrida es una computadora digital que procesa señales análogas que han sido
convertidas a forma digital. Es utilizada para control de procesos y en robótica.
Atendiendo al propósito para el cual fueron diseñadas y construidas, las computadoras pueden ser:
5
computacional, física, química, diseño electrónico, investigación de energía nuclear,
meteorología, diseño de automóviles, efectos especiales de películas, trabajos sofisticados de
arte, planes gubernamentales y militares y la fabricación de naves espaciales por
computadoras. Ejemplo: Cray 1, Cray 2.
DESKTOP: Nombre con el que se conoce a la PC (Personal Computer) que se ubica sobre un
escritorio o mueble. Está formada por varias partes y es raro que se
cambie de lugar.
Se ha definido una computadora como una máquina que recibe datos y órdenes que al ejecutarlas
producen cierta información; todos los datos e información que se almacena en la computadora, se
representa en forma codificada, ya que las computadoras no entienden ningún idioma humano
(español, inglés, francés, etc.), sino que ellas manejan su propio lenguaje de máquina, éste forma un
código que utiliza solo dos símbolos cero (0) y uno (1), para representar cualquier dato u orden que
se le brinde.
En resumen podemos decir que una computadora es un conjunto de tecnologías capaz de efectuar
cuatro operaciones: Aceptar entradas (datos y programas), Producir salidas (o información), Procesar
los datos y Almacenar información.
6
Entrada Salida
Básicamente los componentes de una computadora son: La parte física, conocida como Hardware y
la parte lógica, conocida como Software.
El significado del término hardware no es fácil de expresar en español con una sola palabra;
literalmente se debe entender como “conjunto de útiles duros”; en el contexto que nos ocupa, el
hardware de un computador, como se dijo anteriormente, es el conjunto de dispositivos físicos que lo
componen.
A continuación, se estudian cada una de las partes que componen la estructura física de una
computadora:
Unidad Central de Proceso. La UCP más conocida por sus siglas en inglés CPU (Central
Proccessing Unit) representa el cerebro de la computadora y allí es donde se procesa la información
recibida, por lo que casi siempre nos referimos a ella como el procesador. La UCP está formada por
la unidad de control (UC), que clasifica y organiza las instrucciones recibidas, y la unidad
aritmética y lógica (UAL), que las ejecuta.
También la UCP está provista de unos registros que proporcionan almacenamiento interno a la UCP;
así como por mecanismos de interconexión (buses) que permiten la comunicación entre la unidad
de control, la unidad aritmética y lógica y los registros. Gráficamente:
UCP
UC ALU
Interconexión
interna a la CPU
Registros
7
esa instrucción necesita argumento almacenado en la memoria, lee (en su caso) las direcciones de
memoria que contienen los argumentos de la instrucción y da la orden correspondiente a la UAL.
BUS
Memoria Principal: almacena o guarda el conjunto de instrucciones (programa) que está siendo
ejecutado, junto con los datos de entrada y de salida de la ejecución, del mismo.
8
Físicamente, la memoria está dividida en celdas con una capacidad de información de un Bit
(abreviación de Binary digit) agrupadas en palabras de memoria, de ahí que, la unidad mínima de
memoria es el Bit, y se puede almacenar en él, un cero o un uno, que como se dijo anteriormente es
lo que la máquina “comprende”. Debido a que los datos que se almacenan en la computadora son, la
mayoría de ellos, distintos de ceros y unos, se unieron ocho bit y dieron cabida a datos diferentes. Al
conjunto de ocho bit se le conoce como Byte. De este nacen múltiplos tales como:
Cada letra, número o símbolo es traducido a un código de 8 bits, cada carácter del teclado tiene
relacionado un código binario. Existen códigos estandarizados para representar estos caracteres
entre ellos el Código ASCII, el EBCDIC y el Unicode.
Estos son códigos que asocian cada carácter con una determinada secuencia de bits. Son códigos de
entrada y salida de datos, es decir que los datos que se le dan a una computadora se transforman
primero a estos códigos y de aquí al código binario; y la información que la computadora produce en
código binario se convierte primero en uno de estos códigos y luego a los caracteres que los
humanos manejan (números decimales, letras o símbolos).
El código ASCII básico utiliza 7 bits (dígitos binarios, 0, 1) para cada carácter a representar, lo que
supone un total de 27 (128) caracteres distintos. El código ASCII ampliado utiliza 8 bits y, en ese caso
consta de 256 caracteres. Este código ASCII adquirió una gran popularidad, ya que fue el estándar en
todas las familias de computadoras personales. Actualmente casi ha sido reemplazado por otros
códigos, que tienen más capacidad de generación de caracteres, y su uso se extiende a los alfabetos
de raíz latina como Ingles, Francés, etc..
El código EBCDIC utiliza 8 bits por carácter y, por consiguiente, consta de 256 caracteres distintos.
Su notoriedad reside en ser el utilizado por la firma IBM (sin embargo, en las computadoras
personales PC, XT, AT y PS/2 siguieron usando el código ASCII).
Se ha dicho anteriormente que las memorias son dispositivos de lectura y escritura, y esto es cierto
cuando se habla de la memoria RAM (del inglés Random Access Memory, memorias de acceso
aleatorio). Son memorias volátiles en el sentido de que necesitan la alimentación eléctrica para
conservar la información. Dentro de este tipo de memorias se puede distinguir las RAM estáticas y las
RAM dinámicas. Las estáticas se caracterizan por tener un tiempo de acceso igual a cada dirección
de memoria (cada dirección tiene su propio camino de acceso dentro del microchip, generalmente
construido con semiconductores).
9
generalmente son más baratas que las estáticas.
Sin embargo, existe otro tipo de memorias principal de sólo lectura que hace las veces de manual de
comportamiento de la máquina que la contiene.
Las memorias de sólo lectura reciben el nombre genérico de memorias ROM (acrónimo del inglés
Read Only Memory). Los computadores vienen dotados con una memoria de este tipo donde se
almacena la rutina de arranque. Otras aplicaciones de este tipo de memorias las encontramos en las
lavadoras automáticas y en los juguetes electrónicos. En este tipo de memoria la información es
almacenada de forma permanente.
Algunas variantes de la memoria ROM son la PROM (ROM programable), EPROM (PROM borrable,
erasable PROM) y la EEPROM (PROM eléctricamente borrable). Estos tipos de memoria son útiles
en la fase de desarrollo de una computadora, en la cual aún no se ha fijado el contenido final de la
ROM.
La forma más nueva de memoria semiconductora es la memoria FLASH (denominada así por la
velocidad con la que puede reprogramarse). Se encuentra, en coste y funcionalidad, entre las
EPROM y las EEPROM.
Para que el usuario pueda introducir la entrada, la computadora tiene varios dispositivos de entrada
como parte de su hardware: el teclado y el ratón son los más populares. La salida al usuario se le
proporciona mediante dispositivos de salida, tales como impresora o pantalla.
Los periféricos también se pueden clasificar como locales o remotos, según su conexión al
computador. Un periférico local, como el ratón, se encuentra cerca de la UCP conectado mediante
cables que hacen las veces de prolongador de los buses del computador. A veces las empresas
tienen un solo impresor ubicado físicamente en el centro de computo, pero que los empleados
pueden tener acceso a éste mediante computadoras fuera del centro de computo pero conectadas
entre sí a través de una red de comunicaciones.
a. De entrada de datos: Son dispositivos físicos mediante los cuales se introducen los datos a la
computadora y son transformados a códigos binarios. Los más utilizados son:
Teclado. Es similar al teclado de una máquina de escribir y cuenta
además con algunas teclas de control.
Ratón. Es un dispositivo que al ser desplazado sobre una superficie
permite mover el cursor por la pantalla.
Sensores. Este tipo de periféricos incluye a las pantallas táctiles,
capaces de seleccionar distintas opciones reconociendo el tacto sobre
distintas zonas de la pantalla. También se pueden encontrar otro tipo de
sensores como:
Lápiz óptico. Cuando se posa en la pantalla reconoce la posición que ocupa mediante una
medición de la luminosidad que recibe.
Tableta gráfica. Similar a una pizarra provista de un lápiz. Los trazos sobre la tableta aparecen
en la pantalla del computador.
Escáner. Permite digitalizar imágenes planas (fotografías o texto) y archivarlas.
10
b. De salida de datos: Permiten obtener los resultados de los cálculos o del procesamiento:
El primero de todos los dispositivos de almacenamiento magnético fue la unidad (lectora y grabadora)
de cinta magnética, y posteriormente se desarrollaron las unidades de discos fijos (también
llamados discos duros) y las unidades de disco flexibles.
En una cinta magnética el acceso a la información es secuencial (se tiene que hacer correr la cinta
hasta que aparezca la información que se busca); esto hace que sea un medio muy lento.
Los discos magnéticos reciben este nombre por su forma y porque su superficie es magnética y son
dispositivos de acceso directo, esto es, no se tiene que recorrer toda la información que hay delante
de la que se necesita.
Los discos magnéticos necesitan organizarse lógicamente para poder albergar información de un
modo ordenado; dar formato a un disco magnético es dotarlo de la organización lógica necesaria para
cada modelo de computador.
La información se almacena siguiendo círculos concéntricos llamados pistas que a su vez se dividen
en sectores que contienen un cierto número de palabras. Para indicar una dirección se especifica la
pista y el sector donde comienza la información, por lo cual una transferencia de datos a un disco
siempre empieza en la primera palabra de un sector.
Entre los distintos tipos de discos destacan los discos duros, que
disponen de una gran capacidad de almacenamiento. Suelen
contener el sistema operativo y los programas de uso más
común. Existen dos tipos de discos duros:
Fijos (se fabrican en el interior de una carcasa sellada de la que
no se pueden extraer).
Removibles (se fabrican también en una carcasa contenedora,
también sellada, pero se pueden introducir en la unidad de
proceso de la computadora, bien en ranuras adecuadas o bien
mediante cables especiales); estos discos se suelen utilizar para
11
el traslado de grandes cantidades de información de una computadora a otra.
Los discos flexibles, diskettes o disquetes (en Inglés floppies), son extraíbles y por eso pueden ser
usados para transferir información de un computador a otro. Estos discos tienen una capacidad
mucho menor que un disco duro y el tiempo de acceso a la información almacenada es bastante
grande. Existen discos flexibles de dos tamaños distintos, de 51/4 pulg. (en desuso) y de 31/2 pulg.
Discos ópticos: CD-ROM y DVD. Los discos ópticos difieren de los tradicionales discos duros en
que los primeros utilizan un haz de láser para grabar la información. Son dispositivos de
almacenamiento que emplean la misma tecnología que los dispositivos compactos de audio para
almacenar información digital. Estos discos se suelen usar para almacenar información histórica (no
va a sufrir modificaciones frecuentes), archivos gráficos complejos, imágenes digitales, etc. Al igual
que los disquetes, son transportables y compatibles entre computadoras.
El CD-ROM (Compact Disk-Read Only Memory). Estos discos son de solo lectura, por lo que solo se
pueden grabar una vez y son conocidos como CD-R. Permiten almacenar 650 o 700 Megabytes de
información.
El CD-RW (CD Recordable y ReWritable), son discos que permiten la grabación de datos, además de
lectura. En estos discos se puede leer y escribir información por parte del usuario cuantas veces se
desee. Es el modelo regrabable por excelencia.
El DVD (Digital Versatil Disk), nacieron en 1995, son dispositivos de alta capacidad de
almacenamiento, interactivos y con total compatibilidad con los medios existentes. Tienen una gran
ventaja: su formato sirve tanto para las computadoras como para los dispositivos de electrónica de
consumo. Es capaz de almacenar hasta 26 CD con una calidad muy alta y con una capacidad que
varia, desde los 4,7 GB del tipo de una cara y una capa, hasta los 17 GB de la de dos caras y dos
capas. Estas cifras significan que se pueden almacenar en uno de estos discos una película completa
en diferentes idiomas e incluso subtítulos.
En la actualidad se pueden encontrar tres formatos de DVD grabables: DVD-R (se puede grabar una
sola vez); DVD-RAM (re-escribible pero con un funcionamiento similar al disco duro); DVD-RW
(lectura y escritura, regrabable).
El software se puede clasificar de la siguiente manera: Software del Sistema, Software Utilitario y
Software de Aplicación
12
El software del sistema es un software que auxilia en la creación, modificación y ejecución del
software de aplicación. Se pueden distinguir dos categorías de programas del sistema:
1. Programas Básicos del Sistema: es el conjunto de instrucciones mínimas que necesita una
computadora para funcionar; los diseña y almacena el diseñador de la máquina en la memoria
ROM.
2. Sistema Operativo es un software que establece la comunicación entre los componentes del
Hardware y el resto del software. Su función principal es administrar el funcionamiento del
hardware según las órdenes dadas por algún software, por ejemplo, si se está usando un software
de procesamiento de textos, y se desea imprimir un trabajo, el sistema operativo verifica que la
impresora esté encendida, si lo está, permite que se realice la impresión, y durante ésta, continúa
verificando su estado; si la impresora no está encendida envía un mensaje indicándolo. Si el
sistema operativo no estuviera presente, la comunicación entre el software de procesamiento de
textos y la impresora no podría realizarse. Lo mismo ocurriría con cualquier otra interacción con el
hardware.
Generalmente, las aplicaciones pueden ser conectadas o desconectadas. Para comprender mejor el
apartado siguiente, se hará una revisión de conceptos de Comunicaciones.
Un proceso cualquiera de comunicación está constituido por un EMISOR que envía INFORMACIÓN a
través de un CANAL de transmisión, la cual es recibida por un RECEPTOR. Se puede por tanto,
hablar de comunicación oral, escrita, etc., donde el canal será respectivamente el aire, el papel, etc.
La información no es transmitida directamente, sino que se utilizan unos CÓDIGOS entendibles por el
emisor y el receptor, y que se comunica mediante SEÑALES físicas. Los códigos serán el lenguaje
utilizado y las señales las ondas sonoras, luminosas, etc. En muchos casos, la utilización de códigos
y señales exigirá que la información sea CODIFICADA en la transmisión y DECODIFICADA en la
recepción. Es decir, pueden ser codificadores/decodificadores los sentidos, los traductores, etc. El
objetivo de un proceso de comunicación es que la información que se quiere transmitir sea idéntica a
la que se recibe. Si falla cualquiera de los elementos que intervienen (transmisor, canal de
transmisión o receptor), se producen pérdidas de información; para intentar evitarlo, se repiten los
mensajes en su totalidad o en parte (redundancia), o se acompañan de códigos especiales (de
control) que permitan reconstruir la información. La comunicación suele ser en ambas direcciones
alternativa o simultáneamente, convirtiéndose el transmisor en receptor y viceversa.
13
El concepto general de comunicación, se puede extrapolar al mundo informático, con la intervención
de diferentes máquinas o computadoras que comunicarán la información a diversos tipos de
receptores. Los principales beneficios que aportan las comunicaciones informáticas son:
Estas necesidades han conducido al gran desarrollo de las redes de comunicaciones. Se verá cómo
es posible conectar computadoras y terminales. Un terminal puede ser "tonto" o inteligente. El primero
consiste en un monitor y un teclado, y el segundo es un computador completo, es decir, se
diferencian en que el terminal inteligente posee capacidad de procesamiento de datos de forma
autónoma. Las redes se distinguen primeramente por la distancia existente entre sus terminales,
clasificándose en:
Como medio físico o canal de comunicación se usan el aire o cables (par trenzado, coaxial y fibra
óptica). No se puede hablar de uno mejor que otro, sino de cuál es el más adecuado a cada
necesidad y dependerá de las prestaciones, costo, fiabilidad de instalación y capacidad de integración
con otros sistemas. Se diferencian también por la velocidad de transmisión. Esta se mide en bits por
segundo frecuentemente confundida con baudios. El baudio es una unidad de velocidad de
señalización, o de modulación, igual al número de condiciones discretas o símbolos que se suceden
en la línea, por segundo. La velocidad de transmisión en baudios coincide con la velocidad de
transmisión en bit/s, sólo si cada símbolo representa un bit. Un baudio es el inverso del intervalo del
pulso más corto de señalización medido en segundos.
El intercambio de información entre los distintos dispositivos tiene que estar regido por unos
PROTOCOLOS, o lenguajes de diálogo que lo regulen. Consisten en un conjunto de normas
comunes para establecer la comunicación tanto para el receptor como para el emisor. Desde el
comienzo de la industria informática, cada fabricante intentaba idear una serie de procedimientos, con
los cuales podía controlar la información y así monopolizar el mercado de las ventas de los distintos
elementos que componen la informática. Con el paso del tiempo esta industria se ha extendido tanto,
que surgió la necesidad de compatibilizar los procedimientos de la información. Actualmente existen
asociaciones de fabricantes de computadoras, y organizaciones internacionales como por ejemplo
ISO, que establecen unas recomendaciones sobre los procedimientos normalizados de
comunicación, que van a gobernar ese intercambio de información. Un protocolo es pues, un conjunto
14
de procedimientos normalizados o estandarizados que gobiernan el intercambio de comunicaciones,
acuerdos o convenios que se adoptan para poder establecer una comunicación correcta; afectan a
las frecuencias de las señales, reconocimiento de la conexión, código de recepción y emisión, control
de errores, control de la sincronía, inicio de las operaciones, establecimiento de los caminos por los
que irán los mensajes, asegurar que los datos han sido recibidos, etc.
Una red de computadoras es una colección de equipos que pueden almacenar y manipular datos
electrónicos, interconectados de forma que sus usuarios pueden almacenar, recuperar y compartir
información con los demás. Las máquinas conectadas pueden ser, microcomputadoras,
minicomputadoras, grandes computadoras, terminales, impresoras, dispositivos de almacenamiento,
entre otros. En una red de computadoras se puede almacenar cualquier información, incluyendo
textos, imágenes, mensajes de voz e imágenes visuales como por ejemplo fotos. Como se ha visto
las redes aportan beneficios, los más habituales son:
15
trabajos en un tiempo razonable. Otra alternativa es el procesamiento paralelo, es decir resolver el
problema de cálculo mediante el trabajo simultáneo de varios equipos de la red. Algunos programas
son demasiado complicados para poder ejecutarse en computadoras individuales, o tardarían mucho
tiempo, pero mediante el procesamiento paralelo entre los diversos equipos de la red se aceleraría
mucho el cálculo.
Dado que se vive en la era de las computadoras; de hecho, es difícil pensar una profesión en la que
no haya influido el desarrollo de éstas. El aumento explosivo de la demanda de computadoras
personales y de todo tipo de dispositivos dirigidos por computadora han colocado el poder
computacional en prácticamente cualquier lugar: el gimnasio, la empresa, el laboratorio, el hogar, las
universidades, la industria, los bancos, el comercio, etc.
Es indudable que los alcances de la computación son cada vez mayores. Hoy existen aplicaciones
que hasta hace solo 10 años ni siquiera se habían pensado y es impresionante el ritmo con que
avanza día con día esta tecnología.
La informática hoy en día tiene una gran variedad de aplicaciones en la actualidad; dentro de las
cuales se mencionan algunas de ellas:
INTERNET
16
4. Acceso a World Wide Web (conocido como www) que es un conjunto de servidores que proveen
el acceso a servicios de hipertexto, imagen, voz y vídeo.
5. El IRC (Internet Relay Chat) nos permite entablar una conversación en tiempo real con una o
más personas por medio de texto.
6. Servicios de telefonía, nos permiten establecer una conexión con voz entre dos personas.
Algunos de estos servicios incorporan también imagen (Videoconferencia).
MULTIMEDIA
Es cualquier combinación de texto, arte gráfico, sonido, animación y vídeo
por computadora u otros medio electrónicos. Estimula todos los sentidos, y
lo más importante, el cerebro. Es conveniente el uso de la multimedia
cuando se necesita tener acceso a información electrónica de cualquier tipo.
INTELIGENCIA ARTIFICIAL.
Es una metodología que estudia el uso de la computadora para imitar el comportamiento inteligente
propio del ser humano (razonamiento, visión, aprendizaje, etc.). Los programas de inteligencia
artificial tienen respuestas cercanas a las humanas, dentro de esta disciplina se tienen:
INFORMATICA GRAFICA
Es uno de los campos de más interés y que crece más rápidamente dentro de
la informática. Incluye una serie de principios de diseño y de uso orientados a
conseguir la visualización de imágenes por computadora con una apariencia lo
más cercana posible a la realidad. Para ello, los sistemas gráficos incluyen
componentes hardware y software que permiten realizar fácilmente acciones
como desplegar gráficos en dos o tres dimensiones, modificar su tamaño,
rotarlos, deformarlos, etc.
REALIDAD VIRTUAL
Esta es una área de mayor impacto de aplicación en la actualidad; de hecho, sin computadoras, la
economía se paraliza por completo. En este campo se incluye todo lo relacionado con la
17
automatización de las funciones típicas de gestión empresarial, como son la gestión de personal,
proceso de nóminas y contabilidad, facturación, control de inventario, gestión bancaria, problemas de
optimización, investigación de mercado, etc.
También dentro del ámbito administrativo han
tenido gran importancia las aplicaciones
relacionadas con la automatización del trabajo
de oficina que ha originado a la aparición de
una nueva técnica, la Ofimática.
APLICACIONES TÉCNICO-CIENTÍFICAS
El computador es utilizado ampliamente por los científicos como herramienta imprescindible. En el
campo de la investigación, cabe destacar el uso de los computadores para acceder a grandes bases
de datos distribuidos por diversos lugares, desarrollar teorías, recoger y validar datos. También aquí
se incluyen todas las aplicaciones relativas al uso de la computadora para la resolución de modelos
complejos (simulación, análisis de datos experimentales, etc.) y cálculos matemáticos (cálculo
numérico, etc.), dentro de las cuales se puede mencionar: predicción meteorológica, control
ambiental, control de tráfico, control de comunicaciones, control sísmico, etc.
18
APLICACIONES MÉDICAS Y BIOLÓGICAS
APLICACIONES EDUCATIVAS
Por una parte, se plantea la necesidad de incluir la informática como materia en los planes de
estudios, dada la importancia de que una persona esté formada en el uso y aprovechamiento de la
tecnología computacional.
Por otra parte, el ordenador constituye un complemento muy útil en la formación del estudiante
mediante técnicas como CAI (Computer-Assisted Instruction-Enseñanza con ayuda del computador) y
CAL (Computer-Assisted Learning-Aprendizaje con ayuda del computador), que proporcionan
características didácticas muy importantes.
En Informática, una aplicación es un tipo de programa informático diseñado como herramienta para
permitir a un usuario realizar uno o diversos tipos de trabajos. Esto lo diferencia principalmente de
otros tipos de programas, como los sistemas operativos (que hacen funcionar la computadora), los
utilitarios (que realizan tareas de mantenimiento o de uso general), y los lenguajes de programación
(para crear programas informáticos).
19
Suele resultar una solución informática para la automatización de ciertas tareas complicadas, como
pueden ser la contabilidad, la redacción de documentos, o la gestión de un almacén. Algunos
ejemplos de programas de aplicación son los procesadores de textos, hojas de cálculo, y bases de
datos.
Ciertas aplicaciones desarrolladas «a medida» suelen ofrecer un gran potencial ya que están
exclusivamente diseñadas para resolver un problema específico. Otros, llamados paquetes
integrados de software, ofrecen menos potencia pero a cambio incluyen varias aplicaciones.
Algunas compañías agrupan diversos programas de distinta naturaleza para que formen un paquete
(llamados suites o suite ofimática) que sean satisfactorios para las necesidades más apremiantes del
usuario. Todos y cada uno de ellos sirven para ahorrar tiempo y dinero al usuario, al permitirle hacer
cosas útiles con la computadora; algunos con ciertas prestaciones, otros con un determinado diseño;
unos son más amigables o fáciles de usar que otros, pero bajo el mismo principio.
A continuación, un diagrama que muestra la ubicación y relación que tienen las aplicaciones frente al
usuario final, y con otros programas informáticos existentes:
Online es una palabra inglesa que significa “en línea”. El concepto se utiliza en el ámbito de la
Informática para nombrar a algo que está conectado o a alguien que está haciendo uso de una red
(generalmente, Internet).
Una aplicación que se conecta ocasionalmente utiliza datos de una base de datos remota si tiene
acceso a dicha base de datos: de lo contrario, utiliza los datos almacenados en una memoria caché
local. Cuando está disponible una conexión, las aplicaciones que se conectan ocasionalmente
sincronizan los datos almacenados en la memoria caché local con los datos almacenados en la base
de datos remota. Así, los usuarios de las aplicaciones que se conectan ocasionalmente pueden
seguir utilizando su aplicación aunque no dispongan de una conexión de red.
20
Cuando se empieza a pensar en el desarrollo de una aplicación, una de las primeras decisiones que
se deben tomar es la arquitectura para la cual vamos a desarrollar nuestra aplicación: estará
conectada o no lo estará.
El desarrollo de aplicaciones conectadas o full web, ha sido mejorado cambiando la forma en que las
páginas web, estilos, y java scripts son generados cuando la aplicación es mostrada en los
dispositivos.
La elección entre una de estas dos arquitecturas debe estar basada en el uso que se le piensa dar a
la aplicación. Se debe tomar en cuenta: conectividad, tiempos de ejecución y tráfico de información.
Conectividad: si se piensa en una aplicación conectada, se debe estar seguro que se tendrá acceso
el 100% del tiempo. En general las aplicaciones conectadas se utilizan dentro de depósitos donde
esta variable se puede controlar.
Tiempos de ejecución y tráfico de información: una aplicación local siempre será más rápida que
una a la que se acceda vía web además para trabajar no necesita enviar ni recibir información.
Adicionalmente, puede existir el caso de aplicaciones locales que se conectan en diferentes intervalos
de tiempo. En este sentido, se pueden desarrollar mecanismos para sincronizar con la base de datos
central cuando se tenga conectividad mientras todo puede ir quedando almacenado localmente.
Por último, el mantenimiento de la aplicación, en ambos casos es muy fácil y no tiene complicaciones.
Con respecto a la web basta con actualizar el server con los cambios realizados. Mientras que, en
las aplicaciones locales es un poco diferente. Lo que se debe hacer es generar el archivo .cab ( que
es un formato de compresión utilizado por Microsoft para compilar archivos ejecutables en un espacio
reducido y publicarlo luego) para enviar vía mail o sms la url a cada dispositivo donde el mencionado
archivo quedó publicado, luego de descargado el archivo .cab con un clic se instala solo en el
dispositivo.
1.7. Cloud Computing
La computación en la nube, conocida
también como servicios en la nube,
informática en la nube, nube de
cómputo o nube de conceptos (del
inglés cloud computing), es un
paradigma que permite ofrecer servicios
de computación a través de una red, que
usualmente es Internet.
Cloud computing es un nuevo modelo de prestación de servicios de negocio y tecnología, que permite
incluso al usuario acceder a un catálogo de servicios estandarizados y responder con ellos a las
necesidades de su negocio, de forma flexible y adaptativa, en caso de demandas no previsibles o de
picos de trabajo, pagando únicamente por el consumo efectuado, o incluso gratuitamente en caso de
proveedores que se financian mediante publicidad o de organizaciones sin ánimo de lucro.
El cambio que ofrece la computación desde la nube es que permite aumentar el número de servicios
basados en la red. Esto genera beneficios tanto para los proveedores, que pueden ofrecer, de forma
más rápida y eficiente, un mayor número de servicios, como para los usuarios que tienen la
posibilidad de acceder a ellos, disfrutando de la ‘transparencia’ e inmediatez del sistema y de un
modelo de pago por consumo. Así mismo, el consumidor ahorra los costos salariales o los costos en
inversión económica (locales, material especializado, etc.).
Computación en nube consigue aportar estas ventajas, apoyándose sobre una infraestructura
tecnológica dinámica que se caracteriza, entre otros factores, por un alto grado de automatización,
una rápida movilización de los recursos, una elevada capacidad de adaptación para atender a una
demanda variable, así como virtualización avanzada y un precio flexible en función del consumo
realizado, evitando además el uso fraudulento del software y la piratería.
El concepto de “nube informática” es muy amplio, y abarca casi todos los posibles tipo de servicio en
línea, pero cuando las empresas predican ofrecer un utilitario alojado en la Nube , por lo general se
refieren a alguna de estas tres modalidades: el software como servicio (por sus siglas en inglés SaaS
–Software as a Service-) , Plataforma como Servicio (PaaS) e Infraestructura como Servicio (IaaS).
El software como servicio (SaaS) es un modelo de distribución de software en el que las aplicaciones
están alojadas por una compañía o proveedor de servicio y puestas a disposición de los usuarios a
través de una red, generalmente la Internet.
La infraestructura como Servicio (IaaS) se refiere a la tercerización de los equipos utilizados para
apoyar las operaciones, incluido el almacenamiento, hardware, servidores y componentes de red.
22
Internet de las cosas (en inglés Internet
of things, abreviado IoT) es un concepto
que se refiere a la interconexión digital de
objetos cotidianos con internet.
Alternativamente, Internet de las cosas es
el punto en el tiempo en el que se
conectarían a internet más “cosas u
objetos” que personas. También suele
referirse como el internet de todas las
cosas o internet en las cosas. Si los
objetos de la vida cotidiana tuvieran
incorporadas etiquetas o sensores,
podrían ser identificados y gestionados
por otros equipos, de la misma manera
que si lo fuesen por seres humanos.
Por ejemplo, si los libros, termostatos, refrigeradores, la paquetería, lámparas, botiquines, partes
automotrices, etc. estuvieran conectados a Internet y equipados con dispositivos de identificación, no
existirían, en teoría, cosas fuera de stock o carencia de medicinas o caducadas, se conocería
exactamente la ubicación, cómo se consumen y se compran productos en todo el mundo; el extravío
sería cosa del pasado y se sabría qué está encendido o apagado en todo momento.
Voz sobre protocolo de internet o Voz por protocolo de internet, también llamado voz sobre IP,
voz IP, vozIP o VoIP (siglas en inglés de voice over IP: ‘voz por IP’), es un conjunto de recursos que
hacen posible que la señal de voz viaje a través de Internet empleando el protocolo IP (Protocolo de
Internet). Esto significa que se envía la señal de voz en forma digital, en paquetes de datos, en lugar
de enviarla en forma analógica a través de circuitos utilizables sólo por telefonía convencional.
Los protocolos de internet que se usan para enviar las señales de voz sobre la red IP se conocen
como protocolos de voz sobre IP o protocolos IP.
El tráfico de voz sobre IP puede circular por cualquier red IP, incluyendo aquellas conectadas a
Internet, como por ejemplo las LAN (local area network: redes de área local).
Es muy importante diferenciar entre voz
sobre IP (VoIP) y telefonía sobre IP:
23
2.1. Introducción
Las siglas IDE responden a las palabras inglesas Integrated Development Environment, las cuales
se refieren a un conjunto de programas que usan una interfaz única para todos ellos. Por ejemplo,
Windows sería uno de estos programas, pues tiene múltiples accesorios que pueden ejecutarse
desde su interfaz principal.
Los IDE están diseñados para maximizar la productividad del programador proporcionando
componentes muy unidos con interfaces de usuario similares. Los IDE presentan un único programa
en el que se lleva a cabo todo el desarrollo. Generalmente, este programa suele ofrecer muchas
características para la creación, modificación, compilación, implementación y depuración de software.
Uno de los propósitos de los IDE es reducir la configuración necesaria para reconstruir múltiples
utilidades de desarrollo, en vez de proveer el mismo set de servicios como una unidad cohesiva.
Reduciendo ese tiempo de ajustes, se puede incrementar la productividad de desarrollo, en casos
donde aprender a usar un IDE es más rápido que integrar manualmente todas las herramientas por
separado.
Una mejor integración de todos los procesos de desarrollo hace posible mejorar la productividad en
general, más que únicamente ayudando con los ajustes de configuración. Por ejemplo, el código
puede ser continuamente armado, mientras es editado, previendo retroalimentación instantánea,
como cuando hay errores de sintaxis. Esto puede ayudar a aprender un nuevo lenguaje de
programación de una manera más rápida, así como sus librerías asociadas.
Algunos IDE están dedicados específicamente a un lenguaje de programación, permitiendo que las
características sean lo más cercanas al paradigma de programación de dicho lenguaje. Por otro lado,
existen muchos IDE de múltiples lenguajes, como Microsoft Visual Studio.
La programación visual es un marco de usuario en la que generalmente se requiere una IDE. Los IDE
visuales le permiten a los usuarios crear nuevas aplicaciones de programación en movimiento,
bloques de construcción, o nodos de código para crear diagramas de flujo o diagramas de estructura
que luego son compilados o interpretados. Estos diagramas de flujo muchas veces se basan en el
lenguaje de modelado unificado, UML.
Microsoft .NET es el conjunto de nuevas tecnologías en las que Microsoft ha estado trabajando
durante los últimos años
.NET ofrece una plataforma sencilla y potente para distribuir el software en forma de servicios que
puedan ser suministrados remotamente y que puedan comunicarse y combinarse unos con otros de
manera totalmente independiente de la plataforma, lenguaje de programación y modelo de
componentes con los que hayan sido desarrollados.
24
.NET es una nueva plataforma para el desarrollo y explotación de aplicaciones “gestionadas” o
“administradas” (managed) modernas y orientadas a objetos.
2.0
3.0
VB C# J# ・・・
CLS y CTS
ASP.NET Windows
Las aplicaciones .NET se pueden desarrollar en cualquier lenguaje de programación que se ajuste a
.NET
.NET soporta una extensa colección de librerías de clases independientes del lenguaje de
programación y soporta la creación de componentes. Ofrece integración multi-lenguaje, reutilización
de componentes y herencia entre componentes desarrollados en diferentes lenguajes.
.NET ofrece una nueva manera de desarrollar aplicaciones gráficas usando WPF (Windows
Presentation Foundation), así como maneras innovadoras de desarrollar aplicaciones basadas en
navegador Web a través de ASP.NET
.NET soporta la creación de Servicios Web XML independientes de la plataforma, a través de SOAP
(Simple Object Access Protocol) y WSDL (Web Services Description Language). Ofrece una nueva
arquitectura para el desarrollo y explotación de objetos remotos WCF (Windows Communitation
Foundation) y permite el desarrollo de RIA (Rich Internet Applications) a través de Silverlight.
Las clases ADO.NET proveen una arquitectura desconectada para acceso a datos a través de Internet
Microsoft .NET está compuesto de la plataforma .NET, .NET framework SDK, Visual Studio .NET,
servicios web (Microsoft .NET myServices) y servidores para empresas (SQL Server.NET...).
El CLR se encarga de gestionar la ejecución de las aplicaciones .NET. Entre las características y
servicios que ofrece el CLR están: ejecución multiplataforma, integración de lenguajes, gestión de
25
memoria (recolección de basura), tratamiento de excepciones, soporte multi-hilo (multi-threading),
distribución transparente e interoperabilidad con código antiguo.
Al código escrito para ejecutarse en la plataforma .NET se le llama código gestionado o código
manejado. Mientras que al código escrito para ejecutarse directamente se le llama código no
gestionado o còdigo no manejado o código nativo.
El CLR realiza una compilación Just in Time (JIT) que traduce el código gestionado en código
nativo sobre la arquitectura de hardware sobre la que se ejecuta. En la página siguiente, se muestra
el Modelo de Ejecución.
La librería de clases (Framework Class Library-FCL) es una librería formada por cientos de tipos
que permiten acceder a los servicios ofrecidos por el CLR y a sus funcionalidades.
Además, el programador puede crear nuevas clases que extiendan su funcionalidad y se integren
perfectamente con el resto de las clases de la FCL.
Esta librería de clases está escrita en MSIL y cualquier lenguaje cuyo compilador genere MSIL podrá
usarla.
Con esta librería, se pueden crear todo tipo de aplicaciones: aplicaciones de consola, de ventanas,
servicios Web, ASP.NET...
Dada la amplitud de la FCL, ha sido necesario organizar sus clases en espacios de nombres
(Namespace) que agrupan clases con funcionalidades similares. Se organiza de forma jerárquica.
El espacio de nombres System es el espacio raíz del que cuelgan todos los demás. Los espacios de
nombre de uso común son:
System:contiene tipos de datos muy usados, datos básicos, tablas, excepciones.Es el raíz
System.Object: soporta toda la jerarquía de las clases de .NET.
System.Collections: colecciones de datos de uso común como pilas, colas, listas...
System.Data: manipulación de bases de datos. Forma la arquitectura ADO.NET.
System.Drawing: acceso a la interfaz gráfica de dispositivo (GDI)
System.IO: Manipulación de ficheros.
System.Math: Funciones logarítmicas, trigonométricas...
System.XML: Acceso a datos en formato XML.
System.Web: Aplicaciones Web.
System.Windows Forms: clases para crear aplicaciones Windows.
26
Código C#
C# VB
VB C++
C++
Fuente
Compilador Compilador Compilador Código
No
Manejado
Modelo de Ejecución
Microsoft distribuye el kit .NET Framework SDK de desarrollo como parte del paquete .NET.
Disponible en: http://www.microsoft.com/downloads. Este kit contiene documentación sobre la
plataforma, ejemplos y código fuente, y una serie de utilidades que sirven para desarrollo y prueba
de aplicaciones .NET.
Visual Studio .NET es un entorno gráfico que permite a los desarrolladores crear, probar y depurar
aplicaciones desarrolladas o no para la plataforma .NET.
Empresas ajenas han creado compiladores de sus lenguajes para la plataforma .NET: Eiffel,
Perl, Python, Haskell, Pascal, Oberon...
La plataforma .NET es independiente del Lenguaje de Programación, por ende no se está restringido
a desarrollar en Visual C++ y Basic. Existen compiladores para C#, Visual Basic.NET, Jscript.NET,
COBOL, Python, Perl, etc. .NET soporta estos lenguajes no soportando realmente ninguno de ellos:
27
.NET sólo entiende MicroSoft Intermediate Language (MSIL)
C o m e nt a r i os:
Todo programa en C# contiene al menos una clase.
Main es el punto de entrada del programa .
Console.WriteLine(“msg”), visualiza “msg”, invocando al método WriteLine de la clase Console.
El espacio de nombres System pertenece a .NET FCL (Framework Class Library).
FCL contiene muchas clases útiles, que pueden usarse desde las aplicaciones .NET.
28