Desarrollo De Aplicaciones
SOFTWARE
H E R N Á N A S T U DI L L O R .
D E P A R T AM E N T O DE I N F O R M Á T I C A , U N I VE R SI D A D T É C N I C A F E D E RI C O S A N T A M A RÍ A
I.
SOFTWARE
El término “software” es un anglicismo, inventado en contraposición al “hardware” o
ferretería. La industria de TIC1 mueve alrededor miles de millones de dólares al año en el
mundo, y elsoftware está presente en sistemas de todo tipo: de transporte, médicos, de
telecomunicaciones, industriales, educacionales, militares, de entretención, oficinas, etc.
En una definición clásica, Pressman (1993) define software como "... (1) las instrucciones
(programas de computadora) que cuando son ejecutadas proveen funciones y el desempeño
deseado, (2) las estructuras de datos que permiten ainstrucciones manejar adecuadamente la
información, y (3) los documentos que describen la operación y uso de las instrucciones."
Esta definición proporciona algunas pistas sobre las características especiales de la
producción de software. Este producto es en esencia información procesando información y
entregando como resultado información. Esto lo hace relativamente fácil de replicar y
habitualmente muycomplejo de idear o desarrollar; en contraste a la parte física de los
sistemas de la información (o hardware), donde su complejidad está en la manufactura de los
mismos (Carnahan et al., 1997). En consecuencia, dentro de la industria se dice que un
software no puede ser fabricado o manufacturado, más bien es desarrollado.
La mayoría de las personas tiene experiencia diaria con software a través dedos canales: su
teléfono o “móvil” (si es Android, iPhone o equivalente), y el computador personal “de
escritorio” en su oficina u hogar. Si bien tendencias recientes del mercado han tendido a
converger ambas categorías (como “tablets” y “laptops”), ambas experiencias aún difieren; en
particular, el comportamiento del software móvil en general no es modificable sino a través
del cambio deparámetros o adición de “apps”, en tanto que el comportamiento del software
de escritorio puede modificarse en formas amplias y casi arbitrarias (p.ej. con “macros” de
planillas de cálculo o de editores).
TIC: Tecnologías de Información y Comunicación
Casa central Av. España 1680, Valparaíso, Chile, Fono: 56-32-265 42 42, Fax: 56-32-279 75 13
www.inf.utfsm.cl
Campus San Joaquín Av. Vicuña Mackenna 3939,San Joaquín, Santiago, Chile, Fono: 56-2-432 66 09, Fax: 56-2432 67 02
Campus Vitacura Av. Santa María 6400, Vitacura, Santiago, Chile, Fono: 56-2-353 14 88, Fax: 56-2-353 14 73
1
Sin embargo, desde el punto de vista de la industria, estos dos tipos de software son atípicos:
son productos cerrados, vendidos como unidad, y tienen versiones actualizadas cada cierto
tiempo, cuya liberación es partede un ciclo de vida prolongado y guiado por el mercado.
A diferencia de estos tipos de software, los sistemas informáticos de negocios típicamente
tienen un “stack” (término inglés para “apilar”) con cuatro “capas”, cada una de las cuales
utiliza a las precedentes:
1) Hardware: máquinas y dispositivos; son típicamente adquiridos in toto de grandes
proveedores, p.ej. “servidores” (grandesmáquinas) HP, IBM o Hitachi.
2) Software básico: disponibiliza las capacidades del hardware independientemente del
proveedor de hardware, y es desarrollado por proveedores de gran escala; p.ej. los
“sistemas operativos” como Windows (de Microsoft). Linux (de comunidad “open
source”), Android (de Google, basado en Linux), y OSX y iOs (ambos de Apple).
3) Middleware: ofrece capacidades especializadas,independientemente del software
básico; p.ej. los gestores de bases de datos2 como DB2 (de IBM), Oracle Database (de
Oracle), o MongoDB (de comunidad “open source”); y servidores de aplicaciones,
como Oracle WebLogic (de Oracle), WebSphere (de IBM), y JBoss (de RedHat).
4) Aplicaciones: software que ayuda a usuarios concretos a realizar su trabajo; si
apoyarán tareas genéricas pueden ser adquiridas...
Regístrate para leer el documento completo.