Unidad III. Principios del software Documento base para los temas:
1. Introducción al software.
2. Software de aplicaciones.
3. Software libre
4. Programas de utilidad
5. Lenguajes de programación.
Unidad III. Principios del software [Pág. 2 ]
© Universidad Rafael Belloso Chacín
1a. Edición
Queda prohibida la reproducción o transmisión total o parcial del texto de la presente obra bajo cualquier forma,
electrónica o mecánica, incluyendo el fotocopiado, el almacenamiento en algún sistema de recuperación de
información, o el grabado sin el consentimiento previo y por escrito del editor.
Equipo de Trabajo
Elizabeth Paredes Coordinadora de Diseño Instruccional
Giovanni Esposito
Especialista en Contenido
Rosmary Medina Diseñadora Instruccional
Raúl Cantillo
Especialista en Computación
Aleyne Castillo Especialista Gráfico
Maracaibo, Venezuela – 2009
Unidad III. Principios del software [Pág. 3 ]
Contenido Programático
Contenido Programático .......................................................................... 3
Introducción ......................................................................................... 5
Tema 1. Introducción al software .............................................................. 6
1.1. Definición de software ............................................................. 6
1.2. Importancia .......................................................................... 7
1.3. Tipos de software ................................................................... 9
1.3.1. Sistemas Operativos ...................................................... 10
Tema 2. Software de aplicaciones ........................................................... 13
2.1. Procesadores de Texto ............................................................ 14
2.2. Hojas Electrónicas ................................................................. 15
2.3. Administradores de bases de datos ............................................. 17
2.3.1. Funciones de los administradores de base de datos ................................................................................ 17
2.4. Algo más acerca de software ..................................................... 22
2.5. Clasificaciones del software ...................................................... 23
Tema 3. Software Libre ......................................................................... 26
3.1. Definición de Software Libre ..................................................... 27
3.2. Ubicación del Software Libre en las distintas clasificaciones ..................................................................... 27
3.3. Ventajas y desventajas del Software Libre ................................... 30
3.4. Decisiones que afecta el uso del Software Libre .............................. 32
3.4.1. Libertad de elección ..................................................... 33
3.4.2. Protección de la inversión ............................................... 33
3.4.3. Relación rendimiento/precio ........................................... 34
Unidad III. Principios del software [Pág. 4 ]
3.4.4. Comunicación e interoperabilidad de sistemas ...................... 35
3.5. Maneras de obtener software libre .............................................. 35
3.6. Leyes relacionadas ................................................................. 36
3.7. Entidades relacionadas con el Software ........................................ 37
3.8. Importancia de afrontar el estudio del Software Libre ...................... 39
Tema 4. Programas de utilidad ................................................................ 40
4.1. Definición de software de utilidad .............................................. 40
4.2. Importancia ......................................................................... 40
4.3. Tipos ................................................................................. 41
Tema 5. Lenguajes de programación ......................................................... 43
5.1. Definición de lenguaje de programación ....................................... 44
5.2. Importancia ......................................................................... 45
5.3. Tipos ................................................................................. 45
Sinopsis ............................................................................................. 47
Bibliografía ......................................................................................... 49
Unidad III. Principios del software [Pág. 5 ]
Introducción
En esta unidad se tratará de cómo está formado, sus diferentes funciones, etc.; y cuán
importante es para el funcionamiento del computador, ya que prácticamente sin él,
este no funcionaria.
Este es el que va a controlar los equipos, es el que da las instrucciones para que
funcionen adecuadamente, transfiere datos tanto en la misma memoria como para el
usuario cuando este la necesite.
El software es tan complejo que posee infinidad de programas para diferentes
funcionamientos en particular; para que haya un orden a la hora de trabajar con él; y
así al usuario no se le haga tan complicado.
Este programa es muy importante, como también son importantes los diferentes
elementos que lo rodean para poder funcionar, ya que requiere de una serie de
sistemas o programas que lo ayudan a realizar mejor sus funciones.
El software requiere ser estudiado detenidamente ya que son muchos elementos que
lo conforman, y si no sabemos sus funciones no podemos manejar correctamente al
computador.
Objetivo general
Distinguir los elementos que componen el Software de la computadora.
Unidad III. Principios del software [Pág. 6 ]
Tema 1. Introducción al software
En ésta parte del contenido expondremos algunas definiciones del software, su
importancia, tipos, funciones, así como también conoceremos sobre los sistemas
operativos, sus funciones básicas, clasificación y funcionamiento básico, que nos
permitan tener a la mano todas las herramientas necesarias para el uso del
computador y sus aplicaciones en las tareas diarias de cualquier profesional.
1.1. Definición de software
El software son las instrucciones electrónicas que van a indicar al ordenador que es lo
que tiene que hacer. También se puede decir que son los programas usados para dirigir
las funciones de un sistema de computación o un hardware.
Según la Real Academia Española, el significado de la palabra Software del Diccionario
de la Lengua Española, XXIIº Edición, es una palabra proveniente del inglés
(literalmente: partes blandas o suaves), que en nuestro idioma no posee una
traducción adecuada al contexto, por lo cual se utiliza asiduamente sin traducir y fue
admitida por la Real Academia Española (RAE). Aunque no es estrictamente lo mismo,
suele sustituirse por expresiones tales como programas (informáticos) o aplicaciones
(informáticas).
En computación, el software en un sentido estricto, es todo programa o aplicación
programado para realizar tareas específicas. El término "software" fue usado por
Unidad III. Principios del software [Pág. 7 ]
primera vez por John W. Tukey en 1957. Algunos autores prefieren ampliar la
definición de software e incluir también en la definición todo lo que es producido en el
desarrollo del mismo. La palabra "software" es un contraste de "hardware"; el software
se ejecuta dentro del hardware.
1.2. Importancia
Se puede hacer un símil entre un ordenador y una orquesta dirigida por un director
musical. Toda la orquesta compondría el hardware del sistema. El director de orquesta
actuaría como el microprocesador: su labor es leer una serie de instrucciones
(partitura que sería el importantísimo "Software") y enviar órdenes al resto de la
orquesta para que ésta “funcione”. Los músicos y sus instrumentos funcionarían como
elemento periféricos: reciben órdenes del microprocesador y actúan en consecuencia.
La partitura del director sería el programa, que está almacenado en la memoria del
ordenador: sin tal partitura (software), la orquesta no hace nada. La labor del director
es ir tomando las instrucciones escritas en la partitura y dar las órdenes
correspondientes a los músicos. El director no haría nada por iniciativa propia:
solamente lee la partitura y actúa en consecuencia.
El software científico constituye en muchas ocasiones una potente herramienta para el
desarrollo de contenidos de cualquier tipo: gráfico, aequitectónico, multimedia, de
sistemas, de cálculo, etc. Tradicionalmente, la ciencia ha sido uno de los nichos de
mercado más importantes del desarrollo de software. Permitiendo al científico una
más rápida verificación de sus teorías aprovechando la potencialidad y rapidez de
Unidad III. Principios del software [Pág. 8 ]
cálculo del computador, asegurando la posibilidad de poder ensayar y corregir según la
necesidad corrigiendo y mejorando la aplicación de las teorías.
La calidad del software puede parecer un concepto inexplorado y alejado de la vida
diaria de la mayoría de las personas, pero nada más lejos de la realidad. Cuando en el
software de un computador aparece un mensaje de error o una pantalla azul, estamos
ante un problema de calidad del software; cuando un fallo en el sistema de gestión
aeroportuaria provoca retrasos, pérdidas de maletas o inutiliza pantallas de
información, estamos ante un problema de calidad del software; cuando en un
restaurante se bloquean los terminales de cobro y anotación de pedidos, estamos ante
un problema de calidad del software.
Es muy probable que hayamos sufrido los efectos de estos problemas de calidad en
forma de retrasos, pérdidas de tiempo o dinero, etc. como simples ciudadanos.
Lamentablemente, estos problemas pueden ser mucho más graves si afectan a
sistemas críticos; es decir, aquellos cuyo fallo puede provocar graves pérdidas
económicas o problemas ambientales o sociales e, incluso, la pérdida de vidas
humanas. Un ejemplo bien documentado se produjo con el lanzamiento en 1996 del
primer cohete Arianne 5 de la Agencia Espacial Europea. Este ingenio que costó 10
años y 7.000 millones de euros desarrollar, explotó por un defecto en el software de
control interno antes de que pasara un minuto de vuelo.
Los fallos de software afectan a todos los sectores y a todos los países, como puede
constatarse en la recopilación de incidentes documentados por Peter Neumann desde
1987 (http://www.csl.sri.com/neumann/illustrative.html). A pesar de estos datos, es
Unidad III. Principios del software [Pág. 9 ]
cierto que actualmente se desarrolla software fiable y correcto a un coste razonable.
Los auténticos profesionales y las empresas bien organizadas son prudentes y saben
que deben aplicar distintas técnicas de control y prevención, además de un buen
proceso de desarrollo.
1.3. Tipos de software
Existe una gran variedad de clasificaciones y tipos de software definidos por muchos
autores tomando en cuenta diversos puntos de vistas y enfoques. Los tipos de software
más mencionados por los autores son los referentes a la clasificación general del
software, los cuales se explican a continuación.
Cuadro III.1. Tipos de Software
Tipos Explicación
Sistema operativo
Es el software que controla la ejecución de todas las aplicaciones y de los programas de software de sistema.
Programas de ampliación
Es el software diseñado y escrito para realizar una tarea especifica, ya sea personal, o de procesamiento. Aquí se incluyen las bases de datos, tratamientos de textos, hojas electrónicas, gráficas, comunicaciones, etc.
Lenguajes de programación
Son las herramientas empleadas por el usuario para desarrollar programas, que luego van ha ser ejecutados por el ordenador.
A continuación se explica en detalle los sistemas operativos
Unidad III. Principios del software [Pág. 10 ]
1.3.1. Sistemas Operativos
Son una serie de programas que administran los recursos del computador. Este indica
como interactuar con el usuario y como usar los dispositivos: discos duros, teclado y
monitor.
Dentro de sus funciones se encuentran las siguientes.
• Es el núcleo de toda la actividad del software.
• Monitorea y controla todas las entradas y salidas de sistemas de
computación.
• Este responde a las indicaciones provenientes del usuario, o de un
conjunto previamente definido de comandos.
• Controla la ejecución de varios programas, simultáneamente.
• Actúa como traductor, entre las operaciones y la respuesta de la
maquina.
• Informa al usuario de cualquier error que presente la maquina.
• Este posee un programa llamado "manipulador de discos" opera con un
circuito electrónico llamado controlador de discos, este ayuda a traducir
las ordenes de los programas para encontrar la pista adecuada.
El sistema operativo es generalmente diseñado por el fabricante y por ello no es
posible definir uno estándar; aunque hay un conjunto de funciones básicas o
componentes que todo sistema debe considerar y son las siguientes:
Unidad III. Principios del software [Pág. 11 ]
• Controlar las operaciones de entrada y salida.
• Cargar, inicializar y supervisar la ejecución de los trabajos.
• Detectar errores.
• Controlar las interrupciones causadas por los errores.
• Asignar memoria a cada tarea.
• Manejar el multiproceso, la multiprogramación, memoria virtual, etc.
Clasificación de los sistemas operativos
Los sistemas operativos se clasifican en usuario único y usuario múltiple, los cuales son
explicados brevemente a continuación en el siguiente cuadro.
Cuadro III.2. Sistemas operativos
Tipos Explicación
Usuario único Es de tipo simple, ya que se dedica a un solo programa a la vez.
Usuario múltiple
Es de tipo general, ya que puede satisfacer las exigencias de usuarios múltiples con los recursos de programas y maquina de qué se dispone. Puede ser de varios tipos: multiprogramación, tiempo compartido, lotes y tiempo real. A continuación se explica cada uno de estos tipos.
Unidad III. Principios del software [Pág. 12 ]
Multiprogramación Es un caso en la que múltiples programas pueden almacenarse en la memoria y ejecutarse siguiendo un nivel de prioridades.
Tiempo compartido Permite que cada programa actúe durante cierto tiempo (apropiado para programas interactivos).
Lotes Es una colección de programas, escritos en COBOL o FOLTRAN, se incorpora al ordenador y se procesa.
Tiempo real En este la respuesta al ordenador debe ser lo bastan rápida como para proporcionar una decisión en tiempo real.
Unidad III. Principios del software [Pág. 13 ]
Tema 2. Software de aplicaciones
Describe programas que son para el usuario, así descrito para poder realizar casi
cualquier tarea. Este es aquel que puede ser utilizado en cualquier instalación
informática, independiente del empleo que vayamos a hacer de ella. Como existen
muchos programas se dividen en varias categorías: negocios, utilería, personal y
entretenimiento.
Cuadro III.3. Programas para el usuario
Categorías Ejemplos
Negocios Dentro de la categoría de software para negocios tenemos los software o sistemas de información administrativos o de finanzas, ya sea para usuarios personales, de pequeñas o medianas empresas. Permiten que sus usuarios puedan ejecutar procesos administrativos de forma sistematizada y, en algunos casos hasta automatizada, tales como inventarios, facturación, cuentas por cobrar y pagar, presupuestos financieros, declaración de impuestos, conciliaciones bancarias, entre otros.
Utilería Podemos mencionar aquellos software que permiten cumplir alguna función relacionada con el funcionamiento del computador, tales como los software antivirus, cortafuegos o firewall, antispans, antispywares, software para realizar respaldos, descargas de archivos, entre otros.
Personal Existen aquellos que permiten administrar agendas de actividades y citas, los software de correo electrónico de uso personal, software de finanzas personales, entre otros, que ayudan al usuario particular a mejorar sus procesos diarios a realizar de manera más eficiente sus actividades.
Entretenimiento Es una de las primeras aplicaciones que ha tenido el software. Aquellos que permiten que las personas puedan distraerse a través de juegos de azar, de ficción, de aventuras, educativos, entre otros.
Unidad III. Principios del software [Pág. 14 ]
2.1. Procesadores de Texto
También llamados Procesadores de palabras, fueron los primeros en servir de atracción
en la adquisición de una computadora, ya que sustituyen absolutamente el trabajo de
una tradicional maquina de escribir, a nuestras fechas han evolucionado tanto que ya
sólo les falta tomar dictado, y no les falta mucho para hacerlo pero dentro de las
necesidades de escritura actuales en la mayoría de ellos podemos encontrar las
siguientes funciones:
• Escribir de corrido y una sola vez todo nuestro documento
• Permiten con suma rapidez y flexibilidad hacer modificaciones al contenido, como:
mover párrafos o bloques de texto completo de una hoja a otra, entre documentos e
incluso entre programas.
• Cambiar en un instante palabras o frases repetidas por sinónimos sin importar la
cantidad de ellas
• Permiten modificar en la marcha el escrito sin desperdiciar papel, ni tiempo.
• Se puede cambiar de opinión una vez impreso el documento y en unos segundos
cambiar completamente el estilo, diseño, formato e incluso el tipo y tamaño de la
letra deseada.
• Podemos verificar la ortográfica del documento e incluso de ciertas áreas, así como
también buscar sinónimos relacionados con ciertas palabras o frases dudosas.
• Se pueden crear cartas o documentos de tipo constante, ya sea para circulares o
formatos específicos incluso de facturación y manipularlos rápidamente.
• Analizar el documento desde distintos ángulos sin necesidad de imprimirlo.
Unidad III. Principios del software [Pág. 15 ]
• Permitir que el programa corrija automáticamente nuestra ortografía o incluso nos
ayude a escribir más pronto mediante palabras que va aprendiendo.
• Crear documentos estilo periodístico o a base de columnas, con gráficos, imágenes o
fotografías e incluso en formato cuadricular.
• Cuentan palabras, deshacen los cambios, imprimen partes, etc.
Procesadores de texto más populares y avanzados:
• Compañía que lo produce, Nombre y versión
• Microsoft Co., Word para Windows 6.0
• Novell, Wordperfect 6.1 para DOS y Windows
• Lotus Co, Amipro
2.2. Hojas Electrónicas
También denominadas Hojas de cálculo, casi junto con los procesadores de texto han
invadido toda la administración con sus bondades, es una de las herramientas
imprescindibles en cualquier empresa, ya que gracias a ella, la mayor parte del
trabajo rutinario de arrastrar el lápiz se convierte en un proceso tranquilo y
sistemático para cualquier tarea que involucra complejas fórmulas y procesos basados
en análisis, proyecciones, presupuestos, amortizaciones, cálculos básicos pero
repetidos en cantidades, etc. Entre las capacidades de las modernas hojas de cálculo,
encontramos las siguientes:
Unidad III. Principios del software [Pág. 16 ]
• Diseño basado en la hoja tabular a base de renglones y columnas
• Rápida escritura de fórmulas autocalculables
• Inmensa cantidad de funciones automáticas para necesidades financieras,
científicas, matemáticas, lógicas, de texto, etc.
• Diseño y formato fácil de corregir y ampliar
• Estilo, tipo y tamaño de letra fácilmente modificables
• Manipulación de hojas en libros de trabajo
• Implementación avanzada de varios gráficos estadísticos
• Incrustración de texto e imágenes de diseño gráfico
• Impresión inteligente fácilmente controlable
• Poder en la manipulación de grandes cantidades de registros de información
• Diseño, Generación e Impresión rápida de reportes y listados.
• Herramientas flexibles de proyección y análisis para la planeación y la oportuna
toma de decisiones
• Facilidad de uso y aprendizaje entre otras.
Hojas de cálculo más populares y avanzadas:
• Compañía que la produce-nombre y versión
• Microsoft Co.-Excel 5.0 para Windows
• Lotus Co.-Lotus 123 para Windows 3.0
• Novell-Quattro Pro 3.0 para DOS
Unidad III. Principios del software [Pág. 17 ]
2.3. Administradores de bases de datos
Cuando las necesidades de manejo de información dentro de la empresa crecen
desorbitadamente, no hay mejor herramienta que los programas de administración de
Bases de Datos, los cuáles gracias a la facilidad de sus procesos nos permiten
rápidamente crear, trabajar y modificar conjuntos específicos de registros con los
cuales en su momento es muy práctico consultar datos precisos, obtener listados
ordenados y extracciones directas de registros basadas en criterios de búsqueda que
satisfagan la necesidad inmediata del jefe del departamento tal como se muestra a
continuación en el ejemplo.
Ejemplo III.1
!!Quiero un listado de todos los clientes de la zona norte del país, que sean del sexo masculino, con edad mayor a 40 años, que tengan saldo menor a $100,000 y ventas anuales promedio mayores de $1,000,000, etc.
2.3.1. Funciones de los administradores de base de datos
Dentro de las funciones de los administradores de base de datos se encuentran las
siguientes:
• Permiten crear fácilmente cualquier estructura de registro y comenzar a capturar la
información deseada
Unidad III. Principios del software [Pág. 18 ]
• Mediante sofisticados pero sencillos lenguajes o procedimientos facilitan la
programación de sistemas específicos
• Sus consultas son muy rápidas
• Permiten ordenar grandes cantidades de información en poco tiempo.
• Son muy útiles para las listas y reportes basados en condiciones de búsqueda.
• Son los únicos capaces de manipular grandes cantidades de registros al mismo
tiempo.
• Tienen la capacidad de relacionar y manipular varias bases de datos creadas para
distinto propósito y en tiempos distintos.
• Los hay tanto para usuarios finales como para Programadores expertos.
De acuerdo a los Administradores de bases de datos más populares y avanzados, se
encuentran las siguientes.
Cuadro III.4. Administradores de bases de datos más populares y avanzados
Compañía que lo produce Nombre y versión
Microsoft Co. Access 2007
Microsoft Visual Fox Pro 8 para Windows / DOS
Microsoft SQL Server
Novell Dbase 4.1
Lotus Co. Approach
A continuación se presentan otras aplicaciones populares en las empresas:
Unidad III. Principios del software [Pág. 19 ]
Cuadro III.5. Otras aplicaciones populares en las empresas
Nombre Compañía que lo produce Área de aplicación
Autocad 10 Autodesk Diseño arquitectónico 3d
Bancos Apemex, Compaq, Microsip Control de Bancos y conciliaciones
Caja Apemex Sistema de punto de venta
Campeon Análisis y manejo de costos en Construcción
Contpaq Computación en Acción Sistema de Contabilidad Integral
Coreldraw 5 Corel Diseño Gráfico Publicitario
Freelance Lotus Presentaciones Gráficas
Harvard Graphics SPC Presentaciones Gráficas
MegaPak Computación en Acción Facturación, Inventarios, CxC y CxP
Money 2.0 Microsoft Administración de finanzas personales
Nómina Microsip Sistema de Nómina
Organizer Lotus Organizador diario
Page Maker 4 Aldus Edición Tipográfica
Photoshop Photoshop Edición fotográfica y Diseño
Power Point Microsoft Presentaciones Gráficas
Projet 2.0 Microsoft Administración de Proyectos
Quicken 2.0 Intuit Administración de finanzas personales
SAE APEMEX Sistema Administrativo Empresarial : CxC,CxP, Inventarios, Facturación
Winfax 4.0 Delrina Manejo y Admón. de faxes
Works 4.0 Microsoft Paquete Integrado : Hc, Pt, Bd.
Unidad III. Principios del software [Pág. 20 ]
De igual manera también se puede clasificar el software de acuerdo a los diversos usos
que se le dan en las organizaciones:
Cuadro III.6. Software de aplicaciones que se consiguen en las organizaciones
Clasificación Características
Software de Aplicaciones para Computadores Personales
Son Software de aplicación con funciones muy específicas para propósitos de usuarios particulares, fáciles de usar, amigables, con capacidades de personalización, configuración flexible, intuitivo, fácil de aprender y usar con poco entrenamiento.
Software hechos a la medida
El software hecho a la medida es aquel que se propone construir dada las necesidades y situaciones específicas de una organización las cuales no pueden ser cubiertas por software de tipo comercial del mercado o cuando sus beneficios pueden ser más significativos particularizando sus características. Son desarrollados por terceros en medianos o largos plazos, son costosos de adquirir y de mantener pero generalmente agregan grandes valores e impactos a las organizaciones, además de colaborar en el desarrollo de la ciencia, la gestión del conocimiento y la generación de puestos de trabajo.
Software empacados o comerciales Es aquel cuyos objetivos principales es satisfacer las necesidades, problemas y situaciones de grandes grupos de usuarios con características comunes. Se adquieren generalmente en tiendas por departamento, distribuidores o por catálogos electrónicos. Es necesario ser instalados para ser utilizados y requieren de la contratación de servicios a terceros para su implementación, mantenimiento y soporte técnico.
De acuerdo a la forma de adquirir el software se pueden clasificar en: El Shareware y
El Freeware
Unidad III. Principios del software [Pág. 21 ]
Cuadro III.7. El Shareware y El Freeware
Shareware Freeware
Distribuido de forma gratuita para ser probado. Si el usuario decide quedarse con el programa y seguir usándolo, debe pagar al desarrollador. Normalmente, el shareware es desarrollado por compañías relativamente pequeñas o inclusive por programadores individuales y generalmente es barato.
Programas gratuitos que los desarrolladores ponen a disposición de otros usuarios sin ningún costo. En algunos casos el desarrollador no reclama derechos de autor y el programa se convierte en software del dominio público. En otros casos, el software tiene derechos de autor pero el desarrollador ha permitido a otra gente usarlos y copiarlo gratuitamente.
Según la criticidad de su función en una organización se puede clasificar en: aplicación
vertical y de apoyo y de soporte.
Cuadro III.8. Clasificación del software según la criticidad de su función.
Aplicación vertical De apoyo y de soporte
Las aplicaciones verticales son programas que realizan todas las fases de una función crítica del negocio. Estos programas, que muchas veces corren en una combinación de Mainframes, Servidores, Minis y computadoras personales, se denominan algunas veces aplicaciones de misión crítica. Generalmente son desarrollados a la medida por cada compañía que los tiene y son usados por muchos individuos dentro de una Organización.
Son aquellos programas que realizan procesos de función periódica, ordinaria y cotidiana dentro de una organización, generalmente para el soporte y apoyo a procesos de secundarios que soportan el funcionamiento normal de la organización.
Unidad III. Principios del software [Pág. 22 ]
2.4. Algo más acerca de software
El software comprende programas de computación, código fuente, Licencia, Copyright
y Usuarios, conceptos que se explican brevemente a continuación en el siguiente
cuadro.
Cuadro III.9. Conceptos generales relacionados al software
Programas Explicación
Computación
• Es un conjunto de instrucciones detalladas que le dirán a la computadora que hacer, paso a paso.
• Es una expresión de un conjunto de instrucciones en cualquier lenguaje, apto para lograr que una computadora realice un trabajo.
Código Fuente También denominado programa fuente.
• Es un texto escrito en un lenguaje de programación para crear el programa. Es la forma del programa legible por el programador.
• Es un texto que describe lo que hace el programa, y que una vez pasado por un proceso llamado compilación (traducción de lenguaje fuente a lenguaje maquina) genera el código ejecutable, el programa que usamos.
• Es el conjunto completo de instrucciones y archivos originales y de soporte, creados y/o modificados por el programador, destinado a producir el programa ejecutable a partir de ellos.
Licencia
• Es la forma en que un autor permite el uso de su creación por otras personas, de la manera que el cree aceptable.
• Es el instrumento que regula las maneras en que el usuario puede utilizar el software.
Copyright Es el derecho legal de un autor que obtiene por el resultado creativo de un trabajo original. Es una forma de protección garantizada por la ley.
Usuario Es aquella persona que emplea el software.
Unidad III. Principios del software [Pág. 23 ]
2.5. Clasificaciones del software
De acuerdo a su costo, e, software se divide en dos: costo cero y costo mayor a cero, y
son explicados brevemente a continuación en el siguiente cuadro.
Cuadro III.10. Clasificaciones del software
Costo cero Costo mayor a cero
Es conocido como software gratis o gratuito. Es aquel software cuyo costo de adquisición es nulo, es decir, no hace falta efectuar un desembolso de dinero para poder usarlo.
Es conocido como software "comercial o de pago". Es el software desarrollado por una entidad que tiene la intención de hacer dinero con su uso.
El código fuente, se divide en dos, código fuente abierto y código fuente cerrado, y
son explicado brevemente a continuación en el siguiente cuadro.
Cuadro III.11. Apertura de su código fuente
Código fuente abierto Código fuente cerrado
Es llamado " fuente abierta" u "open source". Es aquel software que permite tener acceso a su código fuente a través de cualquier medio (ya sea acompañado con el programa ejecutable, a través de Internet, a través del abono de una suma de dinero, etc.)
Es llamado "software cerrado". Es el software que no tiene disponible su código fuente disponible por ningún medio, ni siquiera pagando.
Generalmente tiene esta característica cuando su creador desea proteger su propiedad
intelectual.
De acuerdo a su protección, éste se divide en dos, dominio público y por licencia, y es
explicado brevemente a continuación en el siguiente cuadro.
Unidad III. Principios del software [Pág. 24 ]
Cuadro III.12. Características para proteger su propiedad intelectual
Protección Explicación
Dominio público
Es el software que no esta protegido por ningún tipo de licencia. Cualquiera puede tomarlo y luego de modificarlo, hacerlo propio.
Protegido por licencias
Es el tipo de software protegido con una licencia de uso. Dentro de este grupo se encuentran los Protegido con copyright y los Protegido con copyleft, los cuales se explican a continuación :
• Protegido con copyright: es decir, con derechos de autor (o de copia). El usuario no puede adquirirlo para usarlo y luego vender copias (salvo con la autorización de su creador).
• Protegido con copyleft: es aquel cuyos términos de distribución no permiten a los redistribuidores agregar ninguna restricción adicional. Quiere decir que cada copia del software, aun modificada, sigue siendo como era antes.
De acuerdo a su "legalidad" se clasifican en legales e ilegales y se explican a
continuación en el siguiente cuadro.
Cuadro III.13. La legalidad
Clasificación Explicación Ejemplo
Legal Es aquel software que se posee o circula sin contravenir ninguna norma.
Si tengo un software con su respectiva licencia original y con su certificado de autenticidad, o si lo tengo instalado en una sola computadora (porque la licencia solo me permite hacer eso).
Ilegal Es el software que se posee o circula violando una norma determinada.
Tengo licencia para usarlo en una sola computadora pero lo instalo en más de una, no tengo la licencia pero lo puedo utilizar mediante artificios (cracks, patchs, loaders, key generators, números de serie duplicados, etc).
Unidad III. Principios del software [Pág. 25 ]
De acuerdo a su "filosofía" se divide en software propietario y el software libre, y son
explicados brevemente a continuación en el siguiente cuadro.
Cuadro III.14. Filosofía del software
Tipos Explicación Ejemplo
Software Propietario
Es aquel software que refleja el hecho de que su propiedad absoluta permanece en manos de quien tiene sus derechos y no del usuario, quien únicamente puede utilizarlo bajo ciertas condiciones. Su uso, redistribución y/o modificación están prohibidos o restringidos de modo tal que no es posible llevarlos a cabo. Es decir, este tipo de software le da al usuario derechos limitados sobre su funcionamiento, cuyo alcance establece el autor o quien posea ese derecho.
Por ejemplo, ese derecho puede ser el de ejecutar el programa "tal como es" en una determinada computadora.
Software Libre
Es el tipo de software que le da al usuario la libertad de usarlo, estudiarlo, modificarlo, mejorarlo, adaptarlo y redistribuirlo, con la única restricción de no agregar ninguna restricción adicional al software modificado, mejorado, adaptado o redistribuido. Vale aclarar que debe permitir el acceso al código fuente, debido a que ello es una condición imprescindible para ejercer las libertades de estudiarlo, modificarlo, mejorarlo y adaptarlo.
Unidad III. Principios del software [Pág. 26 ]
Tema 3. Software Libre
En un principio el desarrollo del software fue libre. Durante los años sesenta el
panorama de la tecnología informática estaba dominado por los grandes ordenadores,
instalados fundamentalmente en empresas y centros gubernamentales. La empresa
IBM era el principal fabricante de computadores, con gran diferencia sobre sus
competidores. En esta época, cuando se adquiría un ordenador (el hardware), el
software venía como un acompañante. Mientras se pagase el contrato de
mantenimiento, se tenía acceso al catálogo de software que ofrecía el fabricante.
Además, no era común la idea de que los programas fueran algo separado desde un
punto de vista comercial.
En esta época el software se distribuía habitualmente junto con su código fuente (en
muchos casos sólo como eso), y en general sin restricciones prácticas. Los grupos de
usuarios como SHARE (usuarios de sistemas IBM) o DECUS (usuarios de DEC)
participaban, y hasta cierto punto organizaban, estos intercambios. La sección
“Algorithms” de la revista “Communications of the ACM” era otro buen ejemplo de
foro de intercambio.
Podría decirse que durante los primeros años de la evolución informática, el software
era libre porque usuarios e investigadores podían habitualmente disponer del código
fuente, estaban acostumbrados a compartirlo, modificarlo y aprovechar sus
modificaciones mutuamente. Estas experiencias se reflejan en las palabras de Richard
Stallman, refiriéndose a la situación en el Massachusetts Institute of Technology, uno
Unidad III. Principios del software [Pág. 27 ]
de los lugares con más penetración de uso y más prestigio en investigación sobre
informática en la época.
3.1. Definición de Software Libre
El Software Libre es un tipo particular de software que le permite al usuario el
ejercicio de cuatro libertades básicas:
• Ejecutarlo con cualquier propósito
• Estudiar como funciona y adaptarlo a sus necesidades
• Distribuir copias
• Mejorarlo, y liberar esas mejoras al público
Con la única restricción del copyleft (o sea, cualquiera que redistribuya el software,
con o sin cambios, debe dar las mismas libertades que antes), y con el requisito de
permitir el acceso al código fuente (imprescindible para ejercer las libertades 1 y 3).
3.2. Ubicación del Software Libre en las distintas clasificaciones
La ubicación del software libre en las distintas clasificaciones se explican en el
siguiente cuadro.
Unidad III. Principios del software [Pág. 28 ]
Cuadro III.15. Ubicación del costo de adquisición
Ubicación del Software Explicación
Costo de adquisición El Software Libre puede ser de las dos clases, es decir, de costo cero o de costo mayor que cero. Lo que lo diferencia del Software Propietario es que su costo es independiente del número de computadoras que se poseen. Un ejemplo de ubicación de acuerdo al costo de adquisición, en el caso del Sistema Operativo Microsoft Windows 3.1/95/98/Me/NT/2000/XP por cada computadora en que lo instale debo pagar una licencia. En cambio, si utilizo en Sistema Operativo GNU/Linux (en cualquiera de sus distribuciones, como Red Hat, Mandrake, Debian, Ututo) debo pagar una sola licencia (no obstante, algunas licencias no tienen costo).
La apertura del código fuente El Software Libre siempre es "open source", es decir, de código fuente abierta, ya que dijimos que el acceso al código fuente es necesario para el ejercicio de las libertades 1 y 3 arriba descriptas. El ser "open source" implica una serie de ventajas que serán descriptas en la sección "Ventajas del Software Libre".
Protección El Software Libre siempre esta protegido con licencias, y más específicamente, con licencias de copyleft. ¿Por que no de dominio público? Porque de ese modo cualquiera puede adueñarse de él, por ejemplo, adquiere un Software Libre, lo modifica, lo compila y lo distribuye con código cerrado. ¿Por que no con Copyright? Porque de esa manera alguien le puede agregar alguna restricción, por lo tanto no va a seguir siendo Software Libre.
Legalidad El Software Libre siempre es legal, porque al usarlo, estudiarlo, modificarlo, adaptarlo y/o mejorarlo no estoy violando ninguna norma, ya que de por si este tipo de software me permite hacerlo, con la única salvedad de no poder agregarle ninguna restricción adicional cuando lo transfiera a otra persona.
Unidad III. Principios del software [Pág. 29 ]
Las libertades básicas del Software Libre son cuatro y son explicadas brevemente a
continuación en el siguiente cuadro.
Cuadro III.16. Libertades básicas del Software Libre
Libertad Explicación
Cero "usar el programa con cualquier propósito". Es decir, el ejercicio de esta libertad implica que lo podemos utilizar con cualquier fin, ya sea educativo, cultural, comercial, político, social, etc. Esta libertad deriva de que hay ciertas licencias que restringen el uso del software a un determinado propósito, o que prohíben su uso para determinadas actividades.
Uno "Estudiar como funciona el programa, y adaptarlo a sus necesidades". Significa que podemos estudiar su funcionamiento (al tener acceso al código fuente) lo que nos va a permitir, entre otras cosas: descubrir funciones ocultas, averiguar como realiza determinada tarea, descubrir que otras posibilidades tiene, que es lo que le falta para hacer algo, etc. El adaptar el programa a mis necesidades implica que puedo suprimirle partes que no me interesan, agregarle partes que considero importantes, copiarle una parte que realiza una tarea y adicionarla a otro programa, etc.
Dos "Distribuir copias". Quiere decir que soy libre de redistribuir el programa, ya sea gratis o con algún costo, ya sea por email, FTP o en CD, ya sea a una persona o a varias, ya sea a un vecino o a una persona que vive en otro país, etc.
Tres "Mejorar el programa, y liberar las mejoras al público". Tengo la libertad de hacer mejor el programa, o sea que puedo: hacer menores los requerimientos de hardware para funcionar, que tenga mayores prestaciones, que ocupe menos espacio, que tenga menos errores, etc. El poder liberar las mejoras al publico quiere decir que si yo le realizo una mejora que permita un requerimiento menor de hardware, o que haga que ocupe menos espacio, soy libre de poder redistribuir ese programa mejorado, o simplemente proponer la mejora en un lugar publico (un foro de noticias, una lista de correo, un sitio Web, un FTP, un canal de Chat).
El Software Libre puede ser el software regalado, el código fuente y el dominio público
y son explicados a continuación en el siguiente cuadro.
Unidad III. Principios del software [Pág. 30 ]
Cuadro III.17. Tipos de Software Libre
Software Explicación
Regalado Regalado o de costo cero, pero sin el código fuente. Es el que normalmente viene en los CD’s de revistas de computación o que se consigue en sitios freeware.
Código fuente Esto quiere expresar que el software se provee con su código fuente, pero no necesariamente brinda las libertades del Software Libre.
Dominio público Este tipo de software no tienen licencias de uso, por lo tanto corre el peligro de dejar de serlo si alguien lo utiliza con el fin de apropiárselo.
3.3. Ventajas y desventajas del Software Libre
Dentro de las ventajas que presenta el software libre se encuentran, el Escrutinio
Público, la Independencia del proveedor, el Manejo de la Lengua, la Mayor seguridad y
privacidad, la Garantía de continuidad y el Ahorro en costos, los cuales son explicados
brevemente a continuación en el siguiente cuadro.
Cuadro III.18. Ventajas del Software Libre
Ventajas Explicación
Escrutinio Público
Al ser muchos las personas que tienen acceso al código fuente, eso lleva a un proceso de corrección de errores muy dinámico, no hace falta esperar que el proveedor del software saque una nueva versión.
Independencia del proveedor
Al disponer del código fuente, cualquier persona puede continuar ofreciendo soporte, desarrollo u otro tipo de servicios para el software. No estamos supeditados a las condiciones del mercado de nuestro proveedor, es decir que si este se va del mercado porque no le conviene y discontinua el soporte, nosotros podemos contratar a otra persona.
Manejo de la Lengua
Traducción: cualquier persona capacitada puede traducir y adaptar un software libre a cualquier lengua.
Unidad III. Principios del software [Pág. 31 ]
Corrección ortográfica y gramatical: una vez traducido el software libre puede presentar errores de este tipo, los cuales pueden ser subsanados con mayor rapidez por una persona capacitada.
Mayor seguridad y privacidad
Los sistemas de almacenamiento y recuperación de la información son públicos. Cualquier persona puede ver y entender como se almacenan los datos en un determinado formato o sistema. Existe una mayor dificultad para introducir código malicioso como ser: espía (Ejemplo capturador de teclas), de control remoto (Ejemplo Troyano), de entrada al sistema (Ejemplo puerta trasera), etc.
Garantía de continuidad
El software libre puede seguir siendo usado aun después de que haya desaparecido la persona que lo elaboro, dado que cualquier técnico informático puede continuar desarrollándolo, mejorándolo o adaptándolo.
Ahorro en costos En cuanto a este tópico debemos distinguir cuatro grandes costos: de adquisición, de implantación (este a su vez se compone de costos de migración y de instalación), de soporte o mantenimiento, y de interoperabilidad. El software libre principalmente disminuye el costo de adquisición ya que al otorgar la libertad de distribuir copias la puedo ejercer con la compra de una sola licencia y no con tantas como computadoras posea (como sucede en la mayoría de los casos de software propietario). Cabe aclarar que también hay una disminución significativa en el costo de soporte, no ocurriendo lo mismo con los costos de implantación y de interoperatividad.
Dentro de las Desventajas que presenta el Software libre se encuentra, la Dificultad en
el intercambio de archivos y los costos de implantación e interoperabilidad, los cuales
se explican a continuación.
Si observamos la situación actual, es decir la existencia mayoritaria de Software
Propietario se encuentra la dificultad en el intercambio de archivos, y los Mayores
costos de implantación e interoperabilidad, los cuales son explicados brevemente a
continuación.
Unidad III. Principios del software [Pág. 32 ]
Cuadro III.19. Desventajas del Software Libre
Desventajas Explicación
Dificultad en el intercambio de archivos:
Esto se da mayormente en los documentos de texto (generalmente creados con Microsoft Word), ya que si los queremos abrir con un Software Libre (por ejemplo Open Office o LaTeX) nos da error o se pierden datos. Pero esta claro que si Microsoft Word creará sus documentos con un formato abierto (o público) esto no sucedería.
Mayores costos de implantación e interoperabilidad
Dado que el software constituye "algo nuevo", ello supone afrontar un costo de aprendizaje, de instalación, de migración, de interoperabilidad, etc., cuya cuantía puede verse disminuida por: Mayor facilidad en las instalaciones y/o en el uso, Uso de emuladores.
Ejemplo III.2.
Si el usuario utiliza Microsoft Windows, la solución seria instalar alguna distribución de GNU/Linux y luego un emulador de Windows, como Wine, VMWare. Terminal X, Win4Lin).
Vale la pena aclarar que el costo de migración esta referido al software, ya que en lo
que hace a Hardware generalmente el Software Libre no posee mayores
requerimientos que el Software Propietario.
3.4. Decisiones que afecta el uso del Software Libre
De acuerdo al uso y a las decisiones del software libre, éste comprende la libertad de
elección, la Protección de la inversión, la Relación rendimiento/ Precio y la
comunicación e interoperabilidad de sistemas, y es explicado brevemente a
continuación en los siguientes cuadros.
Unidad III. Principios del software [Pág. 33 ]
3.4.1. Libertad de elección
A continuación se explica la libertad de elección respecto al software, hardware,
soporte y formación y capacitación.
Cuadro III.20. La libertad en el software
Software Se obtiene la independencia del soporte de versiones. Es de publico conocimiento que Microsoft ha dejado de ofrecer soporte de desarrollo a Windows 95 y Windows 98, para dedicarse de lleno a Windows Me, 2000, XP y .NET.
Hardware Al tener requisitos de funcionamiento no tan elevados, el usuario no esta atado a la compra de una determinada computadora, o procesador, o disco rígido, o cantidad de memoria RAM, etc. Esa compra que haga el usuario solo depende de la velocidad con la que desee realizar sus tareas, no de si el software va a funcionar o no en esas condiciones.
Soporte Al tener acceso al código fuente, cualquier persona idónea nos puede ofrecer soporte, no solo nuestro proveedor. En el software Propietario esto no sucede, ya que ninguna persona ajena al proveedor conoce el funcionamiento interno del mismo.
Formación o Capacitación
La puede ofrecer cualquiera, no solo el proveedor.
3.4.2. Protección de la inversión
En el cuadro siguiente se explica la protección a la inversión en software, hardware,
soporte, formación,
Unidad III. Principios del software [Pág. 34 ]
Cuadro III.21. La protección en el software
Software Los desarrollos en software siempre son aprovechables para otros desarrollos, si se licencian de manera "libre". Además, el fomento de la comunidad de usuarios supone un potencial extraordinario en cuanto a la generación de nuevo y mejor software.
Hardware No se necesita reemplazar el hardware constantemente, porque no se necesita cambiar el software si este ya no funciona como se quiere.
Soporte La experiencia ganada por los técnicos propios puede extenderse a otro tipo de software.
Formación Como no existen artificios para ocultar información, puede elegirse a otra persona que brinde capacitación con un precio más accesible.
3.4.3. Relación rendimiento/precio
De acuerdo a la relación rendimiento/precio, se puede mencionar el costo de
software, Costo del Hardware, Costo de Soporte, Costo de Formación y son explicados
brevemente a continuación en el siguiente cuadro.
Cuadro III.22. Rendimiento/precio
Costo del Software El software libre tiene la ventaja de no obligar a pagar una licencia por cada computadora en que se lo instale.
Costo del Hardware Hay cierto Software Propietario que tiene requerimientos excesivos de hardware para funcionar. Es decir, no hay relación razonable entre la tarea que realiza y el hardware que requiere.
Costo de Soporte Su costo es menor porque cualquiera lo puede ofrecer, si bien es cierto que no tenemos una calidad garantizada.
Costo de Formación Su costo es menor, al no estar monopolizada. Aquí cabe el mismo comentario que el realizado con respecto al costo de soporte.
Unidad III. Principios del software [Pág. 35 ]
3.4.4. Comunicación e interoperabilidad de sistemas
El Software Libre garantiza el respeto a los estándares en los formatos, protocolos e
interfases. En cambio el Software Propietario generalmente los cambia, para obligar al
usuario a cambiar de versión. Pero un costo importante en esta parte es el de adaptar
los estándares cerrados a estándares abiertos (por ejemplo, XLS a XML, DOC a Tex,
etc.).
3.5. Maneras de obtener software libre
De acuerdo a las maneras de obtener software libre, éstas comprenden las copias en
CD, el Internet y las Computadora en general, y se explica brevemente a
continuación.
Cuadro III.23. Maneras de obtener software libre
Copias en CD Los que a su vez se pueden conseguir en revistas especializadas, o comprándolos en una casa de computación, o pidiéndoselos a un amigo, pariente, etc.
Internet Por medio de FTP, sitios Web, canales de chat, foros de noticias, programas de intercambio de archivos, etc.
Computadora En este caso, comprando una que venga con Software Libre preinstalado, ya sea de fabrica o por su vendedor.
Unidad III. Principios del software [Pág. 36 ]
3.6. Leyes relacionadas
De acuerdo a las leyes que están relacionadas con el software libre, éstas comprenden
la Ley 11723 y la de Proyecto de ley sobre Software Libre y son explicadas brevemente
a continuación.
a. Ley 11723
b. Proyecto de ley sobre Software Libre
a. Ley 11723: es una ley compuesta por 89 artículos, sancionada en 1933 (y todavía
vigente), conocida como "Ley de Propiedad Intelectual" o también como "Ley de
Propiedad Científica, Literaria y Artística". Esta ley regula todo lo referente a derecho
de propiedad de una obra artística, científica o literaria, derechos de coautor,
enajenación o cesión de una obra, licencias, etc. Además, establece sanciones tanto
pecuniarias (multa) como privativas de la libertad (prisión) a quienes violen sus
normas. Su última reforma data de Noviembre de 1998, cuando por Ley 25036 se le
introdujeron modificaciones referidas al software, para darle fin a las discusiones
doctrinarias y jurisprudenciales sobre la cuestión de si el software estaba o no bajo el
amparo de esta ley. Ahora establece expresamente en su Art. 1 que "... las obras
científicas, literarias y artísticas comprenden los escritos de toda naturaleza y
extensión, entre ellos los programas de computación fuente y objeto; las
compilaciones de datos o de otros materiales,..." y en su art. 55 bis que "La
explotación de la propiedad intelectual sobre los programas de computación incluirá
entre otras formas los contratos de licencia para su uso o reproducción".
Unidad III. Principios del software [Pág. 37 ]
b. Proyecto de ley sobre Software Libre: es un proyecto presentado en Marzo de
2001 por Marcelo Luis Dragan, Diputado Nacional por la provincia de Tierra del Fuego,
del Partido Acción por la Republica. Originalmente lleva el nombre de Utilización de
Software Libre por el Estado Nacional", y establece la obligación de usar
prioritariamente Software Libre en todas las dependencias de la Administración
Publica Nacional, salvo excepciones. Entre los aspectos que motivaron el proyecto, se
destacan el económico (por el costo de las licencias y por la libertad de copiar que
otorga el Software Libre), el moral (es conocido que en todos los ámbitos de la
Administración Pública se utiliza Software Ilegal, ya sea por cuestiones de costos,
negligencia, etc., lo cual coloca al Estado como uno de los principales infractores a la
Ley 11723), el cultural, el educativo, el de seguridad nacional, etc. Actualmente este
proyecto se encuentra en estudio en la comisión de Legislación General y
Comunicación.
3.7. Entidades relacionadas con el Software
Hay una innumerable cantidad de organizaciones relacionadas con esta temática:
Por el lado del Software Libre: la “Free Software Foundation” (FSF), la Organización
Open Source, la Fundación Vía Libre, y por el lado del "Software Legal", se encuentran
dos, como lo son la “Business Software Alliance” (BSA) y la organización "Software
Legal":
Unidad III. Principios del software [Pág. 38 ]
Gráfico III.1. Entidades relacionadas con el Software
1. La BSA: "Business Software Alliance" es una organización mundial sin fines de lucro,
creada en 1988 por un grupo de empresas fabricantes de software. Tiene tres
funciones fundamentales:
a) Inculcar a los gobiernos y a los consumidores que pagar por usar en Software
redunda en beneficio de la economía, incrementando la productividad de los
trabajadores y el número de puestos en empleo.
b) Emprender acciones legales contra aquellos que no cumplan con las leyes de
propiedad intelectual y/o que hagan mal uso de las licencias de software.
c) Promover legislaciones que protejan los derechos de propiedad intelectual, y
conseguir que los gobiernos las ejecuten.
Unidad III. Principios del software [Pág. 39 ]
2. La organización "Software Legal": es una asociación civil sin fines de lucro, creada
en 1992 por un grupo de empresas fabricantes de software. Tiene las mismas funciones
y características de la BSA.
3.8. Importancia de afrontar el estudio del Software Libre
De acuerdo a la importancia de afrontar el estudio del software libre, esta comprende
la económica, la legal, la técnica y la labor, y es explicable brevemente a
continuación en el siguiente cuadro.
Cuadro III.24. Importancia de afrontar el estudio del software libre
Económica El costo de las licencias de Software Propietario es bastante importante, y por la situación económica actual, imposible de afrontar de la manera que los fabricantes de Software lo piden.
Legal El Software Libre es siempre legal, salvo contadas excepciones (p/ej., que compilemos el código fuente y lo vendamos como propietario). Por lo tanto, al utilizar este tipo de software estaremos siempre "por derecha", por lo que no seremos pasibles de multas y/o prisión.
Técnica es sabido que Microsoft ha dejado de ofrecer soporte de desarrollo para Windows 95 y Windows 98, por lo que si hoy o mañana se descubre un error en ellos, Microsoft no esta obligado a repararlo. Para solucionar esto, tendríamos dos caminos: a) Migrar a otras versiones de Sistema Operativos de Microsoft: esto lleva aparejado una serie de costos, principalmente en licencias, luego costos de implantación, soporte e interoperabilidad, y además implica volver a hacer lo mismo dentro de dos o tres años. b) Utilizar Software Libre
Laboral La implementación de Software Libre plantea un futuro muy prometedor para aquellas personas que sepan programar, traducir, utilizar un programa, enseñar, etc. Si tenemos que elegir entre pagar una licencia de software a un coloso informático o darle trabajo directamente a una persona, es de esperar que nos volquemos a la segunda alternativa.
Unidad III. Principios del software [Pág. 40 ]
Tema 4. Programas de utilidad
En ésta parte del contenido expondremos la definición de un software de utilidad, su
importancia y tipos, así como también describiremos las características más
resaltantes de algunos software de utilidad que permitan tener a la mano todas las
herramientas necesarias para el mejor aprovechamiento del computador y sus
aplicaciones en las tareas diarias de cualquier profesional.
4.1. Definición de software de utilidad
El software de utilidad comprende todos aquellos programas que se consideran de
utilidad para mejorar las posibilidades de navegación, visualización de imágenes,
archivos o vídeos, seguridad de la información, integridad en los datos, etc.
4.2. Importancia
El software de utilidad tiene significativa importancia para todo tipo de usuario ya que
entre sus funciones está el monitoreo de desempeño del sistema, la seguridad de la
información, la protección contra virus informáticos, software maliciosos, spams, las
comunicaciones electrónicas a través de correos electrónicos, chats, video
conferencias, visualización de sitios webs, visualización de diversos formatos de
archivos que permitan la transportabilidad y compatibilidad de la información y los
sistemas, entre otras. Todo esto permitiendo que el aprovechamiento del uso del
computador y sus aplicaciones sea más productivo trayendo beneficios sustanciosos a
Unidad III. Principios del software [Pág. 41 ]
los usuarios y a los procesos que llevan a cabo a través éste tipo de software, evitando
así la pérdida de información, mantener la seguridad de los sistemas, administrar de
manera más eficiente la información, entre otras.
4.3. Tipos
El software de utilidad se puede clasificar desde una perspectiva general como:
Software de reproducción multimedia, Software de visualización de archivos, Software
de comunicación, Software de seguridad, Software de compresión y cifrado y Software
de mantenimiento y soporte.
Cuadro III. 25. Tipos de software
Tipo Explicación
Software de reproducción multimedia
Son aquellos que permiten la reproducción y visualización de contenidos multimedia como sonidos, música, videos, animaciones, fotografías, entre otros.
Software de visualización de archivos
Son aquellos que permiten visualizar el contenido de archivos en los distintos formatos utilizados para la transportabilidad y compatibilidad de la información entre sistemas y usuarios, tales como los formatos de archivo Acrobat, de imágenes GIF, JPG, entre otros.
Software de comunicación
Son aquellos que permiten al usuario compartir, descargar, cargar, enviar o recibir información en redes de computadores y usuarios, tales como los navegadores webs, los software de correo electrónico, chats, video conferencias, Software “Peer to Peer” (P2P), software emuladores, entre otros.
Software de seguridad Son aquellos que permiten proteger la integridad de los sistemas y la información de ataques, intrusiones o programas maliciosos, tales como el software antivirus, antispyware, antispams, firewall, entre otros.
Software de compresión y cifrado
Son aquellos que permiten comprimir y/o cifrar el contenido de los archivos para su mejor portabilidad y seguridad, tales como el WinZip, WinRar, entre otros.
Unidad III. Principios del software [Pág. 42 ]
Software de mantenimiento y soporte
Son aquellos que permiten monitorear el funcionamiento del sistema y la información, hacer labores de mantenimiento, des fragmentación de sistemas de archivos, respaldos, replicación de unidades de almacenamiento, entre otros.
Unidad III. Principios del software [Pág. 43 ]
Tema 5. Lenguajes de programación
La computadora no solamente es una máquina que puede facilitar procesos para
darnos resultados sin que tengamos la noción exacta de las operaciones que realiza
para llegar a ellos. Con la computadora además de lo anterior también podemos
diseñar soluciones a la medida, de problemas y necesidades específicos que se nos
presenten. Más aun, si estos involucran operaciones matemáticas complejas y/o
repetitivas, o requieren del manejo de un volumen muy grande de datos.
El diseño de soluciones a la medida de nuestros problemas, requiere como en otras
disciplinas una metodología que oriente de manera gradual, la forma de llegar a estas
soluciones. A las soluciones creadas por computadora se les conoce como
programas, que no son más que una serie de operaciones que realiza la computadora
para llegar a un resultado, con un grupo de datos específicos. Lo anterior lleva al
razonamiento que un programa nos sirve para solucionar un problema específico.
Para poder realizar programas, además de conocer alguna metodología, también
debemos conocer, de manera específica las funciones que puede realizar la
computadora y las formas en que se pueden manejar los elementos que hay en la
misma.
El desarrollo de programas de aplicaciones es actividad fundamental para el desarrollo
de la ciencia y el progreso de las organizaciones a través de las tecnologías de
Unidad III. Principios del software [Pág. 44 ]
información y comunicaciones creadas a partir de la computación, la informática y las
telecomunicaciones.
Este tema servirá de herramienta para conocer y describir la definición de un lenguaje
de programación, su composición, su importancia y sus tipos, para así tener una visión
más completa del proceso de desarrollo del software y sus aplicaciones en las
organizaciones y sus procesos.
5.1. Definición de lenguaje de programación
Los lenguajes de programación es un software que está compuesto por un conjunto de
símbolos y reglas para combinar dichos símbolos que se usan para expresar programas,
los cuales son una serie de instrucciones que dirigen actividades del computador
permitiéndole procesar datos y registrar información o resultados. Constan de un
léxico, una sintaxis y una semántica.
Cuadro III.26. Lenguajes de programación.
Instrucciones Explicación
Léxico Conjunto de símbolos permitidos o vocabulario.
Sintaxis Reglas que indican cómo realizar las construcciones del lenguaje.
Semántica Reglas que permiten determinar el significado de cualquier construcción del lenguaje.
Unidad III. Principios del software [Pág. 45 ]
5.2. Importancia
El mundo de posibilidades que nos ofrecen los lenguajes de programación para crear
programas de aplicaciones en los computadores es infinito. El conocer el uso de los
lenguajes de programación que van surgiendo y las nuevas metodologías de
programación permiten que los usuarios programadores puedan crear productos
innovadores dentro del mercado informático.
Los procesos científicos de desarrollo de software han permitido que la era informática
haya alcanzado fronteras inimaginables permitiendo mejorar significativamente la
calidad y estilo de vida de la gente del mundo de hoy, así como ha ayudado a innovar a
las organizaciones, instituciones, empresas e industrias.
5.3. Tipos
Desde el punto de vista de la abstracción de la complejidad de la arquitectura del
hardware del computador al usuario programador, se pueden clasificar en: lenguaje
máquina, lenguaje de bajo nivel o ensamblador y lenguaje de alto nivel.
Cuadro III.27. Tipos de lenguajes de programación.
Tipos Explicación
Lenguaje Maquina Es aquel lenguaje cuyas instrucciones son directamente entendibles por la computadora y no necesitan traducción posterior para que la unidad central de procesamiento (CPU) pueda comprender y ejecutar el programa. Las instrucciones en lenguaje maquina se expresan en términos físicos a través de la unidad mínima de representación electrónica de los datos en el
Unidad III. Principios del software [Pág. 46 ]
computador, en bits (dígito binario 0 o 1).
Lenguaje de Bajo Nivel o Ensamblador
En este lenguaje las instrucciones se escriben en códigos alfabéticos conocidos como mnemotécnicos para las operaciones y direcciones simbólicas. Generalmente es muy particular dependiendo de la arquitectura física del computador.
Lenguaje de Alto Nivel Los lenguajes de programación de alto nivel (BASIC, pascal, cobol, frotran, etc.) son aquellos en los que las instrucciones o sentencias a la computadora son escritas con palabras similares a los lenguajes humanos (en general en ingles), lo que facilita la escritura y comprensión del programa sin tener necesidad de conocer gran detalle de la arquitectura física del computador.
Unidad III. Principios del software [Pág. 47 ]
Sinopsis
Como se ha podido describir, el software es un producto creativo del hombre y su
ingenio que le ha permitido innovar en el mejoramiento continuo de la calidad y estilo
de vida y en el progreso de sus organizaciones.
Hay infinidades de programas y aplicaciones, pero a medida que las computadoras se
vuelven más populares y útiles, los desarrolladores de software, constantemente están
sacando programas para quitar las tediosas tareas personales y hacerlas más divertidas
y productivas. Estos programas pueden ser excelentes herramientas para la educación
ya que si los niños y adultos disfrutan realizando las tareas jugando, le han ofrecido
nuevos horizontes con la educación a distancia a través de medios telemáticos, el
comercio electrónico, los sistemas de información gerenciales, geográficos, entre
otros.
Todos los días desarrolladores perceptivos encuentran problemas y necesidades sobre
los cuales construir soluciones de software, y es que la tecnología a avanzado tanto
que una persona puede realizar operaciones bancarias desde su casa, enviar un correo
electrónico a cualquier parte del mundo, etc.; todo esto a través del computador. Y
esto es significativamente beneficioso ya que cada día la competencia por crear un
mejor software motiva a crearlos más creativos e innovadores, a precios más
accesibles y pertinentes.
Unidad III. Principios del software [Pág. 48 ]
El software se ha convertido en el elemento clave de la evolución de los sistemas y
productos informáticos. En las pasadas cuatro décadas, el software ha pasado de ser
una resolución de problemas especializadas y una herramienta de análisis de
información, a ser una industria por sí misma. Pero la temprana cultura e historia de la
programación ha creado un conjunto de problemas que persisten todavía. El software
se ha convertido en un factor que limita la evolución de los sistemas informáticos. El
software se compone de programas, datos y documentos. Cada uno de estos elementos
compone una configuración que se crea como parte del proceso de la Ingeniería del
Software. El intento de la Ingeniería del Software es proporcionar un marco de trabajo
para construir software con mayor calidad que impacte significativamente la vida del
hombre y su sociedad.
Unidad III. Principios del software [Pág. 49 ]
Bibliografía
Peter Norton. Introducción a la computación.
Larry y Nancy Long. Introducción a la computación.
Beekman. Introducción a la computación.
Top Related