Facultad de Ciencias Económicas y de Administración Introducción a la Computación COMPUTACION APLICADA A CONTABILIDAD, ADMINISTRACION Y ECONOMIA Módulo Software Nelson Pequeño Agosto 2005 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía Índice 1. SOFTWARE................................................................................................... 4 1.1 Relación entre Hardware y software ...................................................................... 5 2 ARCHIVOS Y BASES DE DATOS ................................................................. 5 2.1 Archivos de datos ................................................................................................... 6 2.2 Archivos tradicionales ........................................................................................... 7 2.3 Ordenamiento de los archivos ............................................................................... 7 2.4 Respaldo y recuperación........................................................................................ 8 2.5 Bases de datos......................................................................................................... 8 2.6 Tabla, registro y campo .......................................................................................... 8 2.7 Los datos como activo de la organización............................................................ 11 3 TRANSFORMACIÓN DE DATOS ................................................................ 11 3.1 Datos e información ............................................................................................. 11 3.2 Propiedades de la información requerida ............................................................. 12 3.3 Información precisa .............................................................................................. 12 3.4 Información oportuna ........................................................................................... 12 3.5 Información completa........................................................................................... 12 4 SISTEMA ...................................................................................................... 13 4.1 Los niveles de los sistemas de información.......................................................... 14 4. 2 Las funciones básicas de un sistema de información son:................................... 16 4.3 Tipos de sistemas de información: ....................................................................... 16 5 PROGRAMA ................................................................................................. 18 5.1 Etapas en el desarrollo de un programa................................................................ 18 5.2 Lenguaje de programación ................................................................................... 20 5.3 Clasificación de los lenguajes de programación................................................... 20 5.4 Ejemplos de lenguajes de programación .............................................................. 22 5.5 Programas compiladores ...................................................................................... 25 5.6 Programas Intérpretes ........................................................................................... 26 6 CLASIFICACIÓN DEL SOFTWARE............................................................. 27 6. 1 Software de base.................................................................................................. 27 6.1.1 Sistema Operativo.............................................................................................. 27 6.1.2 Componentes y funciones de un sistema operativo:......................................... 28 6.1.3 Clasificación de Sistemas operativos ................................................................ 29 6.1.4 Sistemas operativos monotarea y multitarea. .................................................... 29 6.1.5 Sistemas operativos monousuario y multiusuario. ............................................ 30 6.1.6 Sistemas Operativos para redes ......................................................................... 30 7 SOFTWARE DE APLICACIÓN..................................................................... 47 7.1 Categorías de software de aplicación ................................................................... 47 7.1.2 De uso específico............................................................................................... 48 7.1.3 Hechos a medida................................................................................................ 48 7.2 Tipos de programas dentro de una organización. ................................................. 48 Agosto 2005 2 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía 8 SISTEMAS EXPERTOS................................................................................ 51 9 SISTEMA DE INFORMACION CONTABLE ................................................ 52 9.1 EL PROCESAMIENTO DE LA INFORMACION CONTABLE....................... 53 9.2 Procesamiento de datos contables ........................................................................ 54 9.3 TIPOS DE SISTEMAS CONTABLES COMPUTARIZADOS .......................... 55 9.4 Personalización y parametrización (flexibilidad) ................................................. 55 9.5 USUARIOS DE LOS SISTEMAS CONTABLES COMPUTARIZADOS ....... 57 9.6 INCIDENCIA DE LAS NORMAS CONTABLES ............................................. 59 10 SOFTWARE LIBRE ................................................................................... 61 10.1 Reseña Histórica ................................................................................................. 61 10.2 Proyecto GNU .................................................................................................... 62 10.3 BSD (Berkeley Software Distribution) .............................................................. 63 10.4 OTRAS LICENCIAS LIBRES .......................................................................... 64 Licencia EULA........................................................................................................... 66 10.5 Características del Software Libre...................................................................... 68 10.6 ¿Qué no es Software Libre? ............................................................................... 69 10.7 COMPARACIÓN CON SOFTWARE PROPIETARIO.................................... 70 10.8 Comparación LINUX vs. WINDOWS............................................................... 72 11 SISTEMAS EXPERTOS E INTELIGENCIA ARTIFICIAL ........................... 75 11.1 Tendencias y futuro ............................................................................................ 76 ANEXO 1.......................................................................................................... 79 Información sobre las distribuciones más importantes de Linux ............................... 79 ANEXO 2.......................................................................................................... 83 PRINCIPALES CARACTERÍSTICAS DE LAS DISTRIBUCIONES DE LINUX. 83 OTROS SISTEMAS OPERATIVOS LIBRES .......................................................... 85 3 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía 1. SOFTWARE Así como el computador requiere ciertos componentes para funcionar adecuadamente, también es necesario contar con programas para poder utilizarlo. Aunque tenga almacenados datos, sin programas adecuados no es posible obtener información. El “Software” es el conjunto de programas, datos y procedimientos necesarios para hacer funcionar el computador, sin ellos solo se tiene un conjunto de componentes electrónicos inoperantes. Es el complemento del “Hardware” y debe estar en relación con éste. La palabra SOFTWARE se forma por la unión de los términos SOFT y WARE SOFT blando, suave + WARE material SOFTWARE HARDWARE = Material blando, componentes no tangibles complemento de HARDWARE SOFTWARE + Inicio programa Inicializar variables Imprimir títulos Comienza iteración Leer datos Filtrar datos Comparar datos Calcular detalle Imprimir detalle ReCalcular totales Fin iteración = SISTEMA INFORMATICO Imprimir totales Fin programa Agosto 2005 4 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía El término software se asocia en general con programa, aunque en realidad es más amplio. Implica todos los elementos “no tangibles”, y no sólo los programas; también los datos, ya sean bases de datos, archivos de texto, planillas, etc. Y los procedimientos asociados a ellos. Hoy en día, en general el Software que posee un computador tiene un costo superior al Hardware (esto es debido en parte a la disminución de los costos de los componentes electrónicos), por lo que es fundamental tenerlo presente cuando se va a adquirir un equipo. Ambos, Software y hardware deben ser compatibles ya que existen determinados componentes que requieren programas específicos para funcionar correctamente; así como ciertos programas requieren que el computador posea ciertas características. 1.1 Relación entre Hardware y software Las tareas Se facilitan a través de Productos de Software Los que determinan los Requerimientos de hardware Un software sólo puede ser ejecutado en los sistemas operativos para los cuales fue diseñado, en sus versiones más avanzadas o en los compatibles con ellos. Asimismo deben tenerse en cuenta los requerimientos mínimos de hardware al diseñar o adquirir una aplicación, que generalmente se refieren a procesador (tipo y velocidad) memoria principal (tipo, velocidad de acceso y cantidad) capacidad de almacenamiento en disco otros componentes que dependen de cada software en particular Estos requerimientos pueden condicionar el correcto funcionamiento de la aplicación, cuanto más sofisticado sea el software a utilizar, los requerimientos de hardware serán más críticos. Tanto el sistema operativo como el hardware deberían adecuarse a aquella aplicación que la empresa considere que satisface plenamente sus necesidades, pero deberá tenerse en cuenta el análisis de costo-beneficio de la implementación de la misma. Instalación y desinstalación Existen diversas maneras de recibir los archivos necesarios para instalar una aplicación, ya sea respecto al medio magnético así como a los propios archivos. Cualquiera sea la forma en que el proveedor los suministre debería brindar al comprador toda la información necesaria para una instalación exitosa. Por otra parte, para evitar la violación de los derechos intelectuales del productor del software, algunos productos tienen controles sobre la cantidad y forma de instalación, por lo cual se deberá tomar en cuenta este aspecto en caso de producirse una desinstalación inesperada. 2 Archivos y bases de datos 5 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía Los datos que toma un programa para transformarlos, pueden ingresarse manualmente a medida que se van procesando, o acumularlos en conjuntos llamados archivos para que sean procesados en conjunto. Archivo es un término general que se aplica a todo conjunto de datos almacenados. Por ejemplo: existen archivos de texto, planillas, archivos de datos, de imágenes, de sonido, entre otros. El tipo de dato almacenado en el archivo, determina sus características y la forma en que es almacenado. Este tema es tratado en forma más extensa en otra publicación. Aquí sólo se incluyen los conceptos básicos. 2.1 Archivos de datos Se denominan archivos de datos a un conjunto de datos organizados entre sí. Cada registro contiene datos sobre un elemento. Por ejemplo: en un archivo de estudiantes, se tendrán, entre otros datos: nombre, dirección, cédula de identidad, fecha de ingreso. Cada estudiante tendrá el mismo conjunto de datos, pero con valores distintos. Cada uno de estos datos se denomina campo, es un espacio de almacenamiento (una cantidad de bytes), que contendrá un valor de cierto tipo. Un conjunto de campos es un registro. Cada estudiante tendrá su propio registro con los campos de nombre, dirección, etc. Al conjunto de todos los registros se le denomina archivo de datos. Ejemplo: Archivo de estudiantes: Esta compuesto por los siguientes campos: Nombre Dirección Número de estudiante Cédula de identidad Cada estudiante tendrá un registro con los mismos cuatro campos, pero con los valores correspondientes. Cada uno de los campos tendrá un largo determinado en bytes. Nombre podrá ser de 40, dirección de 60, número de estudiante de 6, etc. A su vez cada campo es de un tipo determinado, el nombre y la dirección son alfanuméricos, el número de estudiante es numérico, etc. El tipo de dato determina los valores que puede contener y las operaciones que se pueden realizar con ellos. Los archivos de datos se pueden clasificar de acuerdo al uso en: Maestros, de Transacciones, Históricos, etc. Los archivos Maestros son aquellos que contienen los datos básicos que luego serán utilizados para las tareas diarias, Ej., Clientes, stock. Los archivos de transacciones son aquellos donde se registran las tareas cotidianas, Ej.: ventas, compras. Agosto 2005 6 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía Los archivos históricos permiten tener almacenados los datos antes de transformarlos. Permite conocer la situación a un momento dado y tener registro de como han ido cambiando los datos. Es común el utilizar archivos históricos mensuales donde se registran los valores al cierre de mes. Ej.: stock mensual, histórico de entradas y salidas de stock. 2.2 Archivos tradicionales Los archivos de datos tradicionalmente se manejaron en forma independiente. Para obtener información de ellos era necesario utilizar programas específicos. Cuando era necesario obtener información que involucra a varios archivos era necesario hacer un programa para ello. Este tipo de archivo se continúa utilizando hoy en día porque es la forma más simple de almacenar datos. 2.3 Ordenamiento de los archivos Los archivos de guardan en dispositivos de almacenamiento (discos, CD, DVD, cintas, etc.) agrupados de acuerdo a determinados criterios. Es común que un computador contenga más de mil archivos; si no se sigue algún orden, se haría muy difícil ubicar los datos deseados. Por esta razón, los archivos se agrupan en “directorios” o “carpetas”. Los directorios tienen un nombre bajo el cual se agrupan archivos y otros directorios. Forman una estructura jerárquica o de árbol, con una raíz (directorio principal) el cual se subdivide en otros directorios, y así sucesivamente. Cada directorio puede contener archivos y otros directorios. Esto permite agrupar los archivos en varios niveles. Ejemplo: Directorio raíz: Sub- directorios de la raíz: raíz Planillas imágenes sueldos ventas fotos dibujos juegos ajedrez arcade El directorio raíz esta dividido en tres: Planillas, imágenes y juegos. A su vez, Planillas contiene los directorios sueldos y ventas; imágenes los directorios fotos y dibujos, etc. En este ejemplo los archivos de Planillas se agrupan en dos; esto permite no mezclar los datos de sueldos con los de ventas. Existen varias formas de ordenamiento: Por tipo de archivo. Esto implica tener todos los archivos de un mismo tipo, juntos. Por funcionalidad. Se agrupan de acuerdo a la tarea que realizan. 7 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía 2.4 Respaldo y recuperación El respaldo de datos involucra todos los procedimientos necesarios para tener a resguardo copias de los datos. Estas copias deben asegurar que en el caso de alguna anomalía, la pérdida de datos sea mínima y la recuperación se realice rápidamente. La tarea de respaldo consiste básicamente en copiar los datos en otro dispositivo y almacenarlos en otro lugar. A pesar de que cada vez los equipos son más confiables, existe siempre la posibilidad de que fallen, los dispositivos de almacenamiento se dañen, haya interrupciones en la energía eléctrica o errores de operación. Debido a lo anterior siempre se deben respaldar los datos y verificar que se puedan recuperar en tiempo y forma. 2.5 Bases de datos Base de datos es un conjunto de datos organizados en archivos vinculados entre sí, con independencia entre los datos y los programas que los utilizan. No es un conjunto de archivos de datos aislados, sino que existen “relaciones” entre los distintos archivos. Estas relaciones forman vínculos entre los distintos datos para poder manejarlos mejor y establecer controles de integridad. Estos vínculos son independientes de los programas (procedimientos), que se utilicen para manejarlos, es decir la base de datos incluye todas las características de los datos, y no depende de los procesos que se utilicen para manipular los datos. 2.6 Tabla, registro y campo Un programa de base de datos almacena la información que introducimos en forma de tablas como las que podemos ver, por ejemplo, en una agenda telefónica: Agenda Nombre Dirección Teléfono Avenida Italia 12354 123457 García García, Ana Eduardo Acevedo 34 54 405566 Santos Gemio, Luis 18 de Julio 2556 4081234 Cabrera Ortiz, Pedro En este listado nos interesa tener almacenados de modo ordenado los datos de una serie de personas. Para que aparezcan de modo claro los hemos desglosado en: Nombre, Dirección y Teléfono, haciendo que aparezca cada uno en una columna diferente. Así es mucho más sencillo encontrar la dirección de una persona buscando a partir de su nombre. Aquí podemos ver cómo la información referida a una persona, "un dato", aparece en una fila de la tabla: a esto es a lo que se denomina Registro. A cada una de las partes en Agosto 2005 8 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía las que hemos desglosado la información se le denomina Campo, y al conjunto formado por todos los registros, Tabla. Registro: es el concepto básico en el almacenamiento de datos. El registro agrupa la información asociada a un elemento de un conjunto y está compuesto por campos. Tabla: conjunto de registros homogéneos con la misma estructura. Para hacer una base de datos que cumpla las funciones de agenda telefónica necesitamos una sola tabla, pero puede haber casos en los que necesitemos más de una. Un hospital, por ejemplo, necesitará almacenar más datos además del nombre y dirección de sus pacientes. Tendrá que llevar, a parte de otras muchas cosas, constancia de las visitas que un paciente haga al hospital. ¿Es posible almacenar esta información en una sola tabla?: Hospital Fecha Nombre Dirección Tfno. Diagnóstico Tratamiento Médico 6-12-95 Cabrera Ortíz, Pedro Italia 1234 4198987 Apendicitis Cirugía Dra. Sanz 5-05-95 García García, Ana Colonia 2323 256699 Gripe Frenadol Dr. Pérez 12-0196 Santos Gemio, Luis Mercedes 3232 369856 Sarampión Augmentine Dr. Pérez 12-0196 Cabrera Ortiz, Pedro Italia 1234 4198987 Sinusitis Sinus Dr. Alonso 23-0595 García García, Ana Colonia 2323 256699 Clamoxil Dra. Sanz 6-12-95 Cabrera Ortiz, Pedro Italia 1234 4198987 Sinusitis Sinus Dr. Pérez 01-0196 Santos Gemio, Luis Mercedes 3232 369856 25-0295 Cabrera Ortiz, Pedro Italia 1234 4198987 Amigdalitis Clamoxil Sarampión Amigdalitis Clamoxil Dr. Alonso Dra. Sanz Esta tabla contiene de modo abreviado los campos que interesan en una base de datos de este tipo. Pero se plantea un problema: si cada vez que viene un paciente al médico se le tiene que abrir una ficha, en poco tiempo los datos personales del paciente (dirección y teléfono) estarán repetidos muchas veces. Si esto se multiplica por todos los pacientes la base de datos contendrá gran cantidad de datos redundantes innecesarios, lo que aumentará su tamaño y la hará menos eficaz. Para hacer una base de datos como ésta se usarán necesariamente varias tablas que luego se relacionarán por un campo común en ambas. De esta manera se consigue que no haya datos repetidos. Con esta estructura cada vez que venga un paciente, no es necesario volver a introducir sus datos personales. Basta con introducir su código para que el Gestor de base de datos sepa de qué paciente se 9 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía trata. Para que se pueda establecer esta relación es necesario que las dos tablas contengan un campo en común (en este caso el código del médico). A esta forma de organizar la base de datos mediante distintas tablas relacionadas por campos comunes se le llama base de datos relacional. Cuando se utiliza solamente una tabla hablamos de una base de datos plana. Generalmente todos los programas de base de datos de propósito múltiple de última generación tienen capacidad relacional. Algunos de los más conocidos son Oracle, Fox, Access, Mysql, SqlServer Esta base de datos relacional estará formada por tablas. Con la característica de que las mismas se relacionan entre sí mediante uno o más campos. Se puede decir que cada objeto de la realidad será una tabla en nuestra base de datos y que hay que buscar la manera de reflejar las relaciones antes mencionadas. Así, para este ejemplo, se pueden emplear las siguientes tablas: Tabla de Pacientes: Identificador Nombre Dirección Teléfono Médico de cabecera El campo médico de cabecera es el encargado de representar la relación que nos interesa almacenar de la realidad. Tabla de Médicos: Identificador Nombre Especialidad Domicilio Teléfono En este caso el campo especialidad es el encargado de relacionar las dos tablas Tabla de Especialidades: Identificador Nombre de especialidad Cada tabla está compuesta por registros, y en este caso, cada registro contendrá la información pertinente de: un paciente, un doctor o una especialidad. A su vez, cada registro está formado por diferentes campos, por ejemplo, para la tabla pacientes tendremos los siguientes campos: Nombre, Apellidos, Dirección, Teléfono, Identificador. A cada campo se le asociará un tipo de dato de acuerdo con lo que se quiera guardar en él, como se verá más adelante. Agosto 2005 10 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía Algunas consideraciones sobre diseño de bases de datos Antes de ver lo que es el programa en sí es importante que se tenga claro qué pasos hay que seguir al diseñar una base datos. 1. Es importante conocer exactamente para qué se quiere usar la base de datos, qué datos son los que interesan de los que existen en la realidad y qué información se necesitará extraer. Una vez que esto esté claro, se definen las Tablas que compondrán la base de datos. Dentro de cada tabla, se piensa qué campos serán necesarios. Conviene detenerse y definir correctamente la base de datos, ya que un mal diseño hará que el sistema sea lento y los resultados no sean los esperados. 2.7 Los datos como activo de la organización Hoy en día los datos, ya sean archivos tradicionales o bases de datos, se pueden considerar como un activo. Tienen un valor económico que está dado por varios factores: • • • Costo de adquisición. Está dado por el costo que implicó tener los datos. Por ejemplo: si los datos fueron digitados, este costo podrá estar dado por el sueldo del digitador y por la amortización del equipo utilizado. Costo de almacenamiento: Está dado por el costo que implica hacer respaldos, el soporte utilizado (disco, cinta), etc. Valor real. Es el valor que tiene la información. Es lo más importante y muchas veces el más difícil de determinar. Existen ejemplos claros en los que el giro de la empresa consiste justamente en el mantenimiento al día de la información (Ej. Clearing de Informes), es el único o principal origen de los ingresos. 3 Transformación de datos 3.1 Datos e información Los datos son valores de ciertos atributos. Por ejemplo ANA, 12/06/79, 1.456.899-6, 957865, son datos correspondientes a nombre, fecha de nacimiento, cédula y número de estudiante. Los datos por sí solos carecen de significado; son simplemente un conjunto de números y letras que no dicen nada. Si estos mismos datos son organizados, ordenados y transformados, pueden producir información. La información surge de aplicar transformaciones a los datos; la materia prima para obtener información son los datos. Datos --> Proceso (transformación de datos) --> Información (ordenar, seleccionar, mover, calcular, comparar) 11 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía 3.2 Propiedades de la información requerida Por regla general, cuanto más sirva la información para reducir el elemento de incertidumbre en las decisiones que toman los gerentes en todos los niveles, mayor será su valor. Pero, a semejanza de otros recursos básicos con que cuentan los gerentes, la información no suele ser gratuita. Casi siempre es preciso comparar el costo de adquisición de la información con los beneficios que se pueden obtener de su uso. En términos generales, la información que es precisa, oportuna, completa y concisa es más útil que la información que carece de una o más de estas características. Sin embargo, a menudo se hacen concesiones respecto a una o más de estas propiedades, por razones económicas. 3.3 Información precisa La precisión es la razón entre la información correcta y la cantidad total de información que se produce en un periodo. Si se producen 1000 elementos de información y 950 de estos elementos reflejan correctamente la situación real, entonces el nivel de precisión es de 0.95. El que este nivel sea o no suficiente dependerá de la información que se produce. Cincuenta saldos bancarios incorrectos, en una remesa de 1000 estados de cuenta, son intolerables. Pero si los registros de inventarios físicos de grandes cantidades de piezas de bajo costo logran un nivel de precisión de 0.95, podría considerarse aceptable. En el caso de los estados de cuenta bancarios, es necesario obtener mayor precisión. En el caso de inventarios de piezas, podría lograrse mayor precisión, pero el valor adicional que tendría para los gerentes el contar con un inventario más preciso podría ser menor que los costos adicionales que implicaría el obtenerlo. 3.4 Información oportuna La oportunidad es otra característica importante de al información. No es mucho consuelo para un gerente saber que la información era precisa si llegó demasiado tarde para servir de algo. La precisión no basta por sí sola. ¿Cuál debe ser la rapidez de respuesta del Sistema de información? Desafortunadamente, en este caso tampoco es posible dar una respuesta apropiada para todas las situaciones. En el caso de informes periódicos, una respuesta inmediata después de cada transacción produciría un torrente constante de documentos. El resultado sería una costosa avalancha de papel que abrumaría a los gerentes, por lo que a menudo se requiere un equilibrio. El tiempo de respuesta deberá ser lo bastante corto como para que la información no pierda su frescura y su valor, pero deberá ser lo bastante largo como para que se reduzca el volumen (y el costo) y revele tendencias importantes que indiquen cuándo es necesario actuar. Por supuesto, cuando se requiere el acceso instantáneo a cierta información para la que el tiempo es crítico, es preciso utilizar sistemas en líneas de respuestas rápidas. 3.5 Información completa La mayoría de los gerentes que deben tomar decisiones se han visto frustrados en alguna ocasión al recibir información de apoyo que es precisa, oportuna pero incompleta. Un ejemplo de las consecuencias que puede tener el no consolidar fragmentos de información relacionados entre sí se presento en Pearl Harbor en 1941. Los Agosto 2005 12 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía historiadores aseguran que los datos de que se disponía, en forma fragmentada y en puntos dispersos, de haberse integrado hubieran indicado el peligro de un ataque japonés. Uno de los objetivos de los diseñadores de sistemas de información es integrar mejor los datos de que se dispone en puntos dispersos de un negocio con el fin de proporcionar a los gerentes información más completa. 3.6 Información concisa. Muchos sistemas de información tradicionales s han diseñado bajo el supuesto de que los datos incompletos constituyen el problema más crítico al que se enfrentan los gerentes. Esta suposición a menudo ha hecho que los diseñadores adopten una estrategia muy poco efectiva, que consisten bombardear a los gerentes con más información de la que pueden aprovechar. Es común que la información importante, junto con datos relativamente inútiles, queden enterrada en pilas de informes detallados. Los gerentes se enfrentan entonces al problema de extraer los elementos de información que necesitan. Lo que necesitan muchos gerentes actuales (y que a menudo no reciben) es información concisa que resuma los datos pertinentes y haga resaltar las excepciones con respecto a las actividades normales o planeadas. 4 Sistema Se define sistema como un conjunto de elementos que interaccionan entre sí, orientados a la consecución de un objetivo común. Un sistema puede formar parte de otro más general que sería su entorno, y /o estar formado por otros sistemas, que en este caso lo tendrían a él como entorno común denominándose subsistema. Cualquier organización o empresa es en sí un sistema. Su entorno es el sistema productivo en que se inserta, del que recibe una serie de entradas, en forma de demandas, y al que entrega una serie de salidas. A su vez, dentro de él existen varios subsistemas, los distintos departamentos o áreas en que se divide la empresa (producción, ventas, comercialización, mantenimiento, publicidad, marketing). Un Sistema de información se basa en el procesamiento de datos, es un conjunto de procesos que, operando sobre un conjunto de datos, recopila, elabora y distribuye la información necesaria para el funcionamiento de una organización. Un Sistema esta compuesto de varios programas que interactúan entre sí. 13 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía EMPRESA ENTORNO PRODUCTIVO SUBSISTEMA DE SUBSISTEMA DE EMPRESA 1 VENTAS PRODUCCIÓN ORGANIZACIÓN 1 P A I S ORGANIZACIÓN 2 SUBSISTEMA DE E ADMINISTRACION EMPRESA 2 SUBSISTEMA DE EMPRESA N ORGANIINFORMACIÓN ZACIÓN N SUBSISTEMA DE S CONTABILIDAD E S SUBSISTEMA DE SUBSISTEMA DE COMPRAS INVESTIGACIÓN Y Y Las empresas ySUMINISTROS organizaciones como subsistemas de un sistema productivo. DESARROLLO Los departamentos como subsistemas de sistema empresa u organización. 4.1 Los niveles de los sistemas de información El sistema de información de una organización no siempre está al mismo nivel. Dentro de él incluso podemos encontrar varios. Históricamente, como ya hemos visto, se han ido alcanzando diferentes niveles o categorías de sistemas. El primer nivel en los sistemas de información es el operacional o transaccional. Existe en todas las organizaciones y es el que tiene que ver con la operativa diaria. Pensemos, por ejemplo, en una empresa de servicios telefónicos. En este nivel se incluirán las operaciones como realizar un contrato, consultar el estado de un teléfono, Agosto 2005 14 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía dar de alta una avería... Los operadores disponen de manuales donde de manera cerrada se explican los procedimientos o normas de cada operación o transacción. ENTORNO EMPRESA NORMAS PROCEDIMIENTOS METODOS SOFTWARE E RECURSOS HUMANOS RECURSOS FISICOS PERSONAL HARDWARE S FICHEROS Y BASES DE DATOS DOCUMENTOS Elementos Del sistema de información de la empresa. 15 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía Uno de los sistemas que forma parte de la empresa es el sistema de información que es el conjunto de personas, datos, y procedimientos que trabajan coordinadamente para alcanzar el objetivo de apoyar el funcionamiento de la organización haciendo posible que la empresa mantenga contacto con el medio ambiente que la rodea, es decir: clientes, proveedores, organizaciones estatales, funcionarios, accionistas o propietarios. Este sistema es el medio por el cual los datos fluyen de una persona o departamento hacia otros. Los elementos de un sistema de información son muy variados. Pueden agruparse en recursos físicos, como archivos, teléfonos, recursos humanos, documentación en general, y una serie de normas, procesos y procedimientos que determinan los flujos de información tanto internos como hacia y desde el exterior, así como el uso y administración de los recursos. 4. 2 Las funciones básicas de un sistema de información son: • • • Recibe datos de fuentes internas o externas de la empresa Almacena los datos Produce información actuando sobre los datos 4.3 Tipos de sistemas de información: 4.3.1 Sistema de procesamiento de transacciones Sustituye los procedimientos manuales por otros basados en computadoras. Son procesos de rutina bien estructurados y básicos para la operativa de la empresa. Tienen como finalidad mejorar las actividades rutinarias de una empresa y de las que depende toda la organización. Un gran porcentaje de las decisiones son programables. Los procedimientos a seguir son generalmente muy estables. Las decisiones operacionales y las acciones que resultan cubren períodos cortos (un día, una semana). Presenta las siguientes características: • • • • • • Gran volumen de datos Similitud entre tipos de transacciones Procedimientos claros, definidos y se pueden describir detalladamente Hay pocas excepciones Alto nivel de rutina de trabajo Los tiempos de respuesta y la confiabilidad del Sistema son básicos. 4.3.2 Sistemas de información administrativa Proporcionan la información que será empleada en los procesos de decisión administrativos. Se encarga de situaciones con decisiones bien estructuradas. Es posible anticipar los requerimientos de información más comunes. Los sistemas de información administrativa ayudan a los directivos a tomar decisiones y resolver problemas. Los especialistas en sistemas de información describen las decisiones apoyadas por estos sistemas como decisiones estructuradas. El aspecto estructurado se refiere al hecho de que los administradores conozcan de antemano los factores que deben tenerse en cuenta para la toma de decisiones así como las variables con influencia más significativa sobre el resultado de una decisión. Agosto 2005 16 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía Características • • • 4.3.3 Decisiones estructuradas Se pueden anticipar los requerimientos de información Los tiempos de respuesta no son tan críticos Sistemas para el soporte de decisiones Proporcionan información a las personas que deben tomar decisiones sobre situaciones particulares. Dan apoyo a la toma de decisiones en circunstancias que no están bien estructuradas. Los sistemas para el soporte de decisiones ayudan a los directivos que deben tomar decisiones no muy estructuradas. Una decisión se considera no estructurada si no existen procedimientos claros para tomarla y tampoco es posible identificar, con anticipación, todos los factores que deben considerarse para la misma. El propósito es apoyar a la Dirección en la toma de decisiones que generalmente no son repetitivas y responden a condiciones inesperadas. Características • • • Decisiones no estructuradas Es difícil anticipar los requerimientos de información. Deben ser de fácil acceso y con interfaces “amigables” de uso. 17 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía 5 Programa Llamamos programa al conjunto de instrucciones, sentencias u órdenes, escritas de acuerdo a determinadas reglas y que dirigen al HW paso a paso de manera tal que se logra obtener la información deseada, a partir de ciertos datos. Las instrucciones deben ser dadas en forma clara, concreta y no ambigua. Sólo se procesarán aquellas instrucciones que estén correctamente definidas. Los programas se escriben utilizando lenguajes de programación. 5.1 Etapas en el desarrollo de un programa Para que un programa se encuentre operativo, es necesario seguir determinada secuencia de pasos o etapas; el tiempo que lleve cada una de ellas, dependerá de muchos factores: complejidad del programa y herramientas de computación con las que se cuenten, habilidad del programador, apoyo que pueda brindar la persona que hará uso del mismo, entre otros. 1) Especificación del problema: en esta etapa, quien llevará adelante el desarrollo del programa deberá "afinar" los objetivos del mismo, trabajando en lo posible con la/s persona/s que hará/n uso de él (persona/empresa que lo solicita) y realizando un relevamiento. 2) Análisis: en esta etapa será necesario evaluar los requisitos en cuanto a archivos y bases de datos a usar, hardware existente o a adquirir, definición del lenguaje de programación a usar y vinculación con otros programas de la empresa, si corresponde. 2) Diseño: una vez establecidos los objetivos del programa, es necesario contar con una definición precisa de los pasos a seguir para obtener el resultado esperado. En esta etapa se podrán usar diferentes técnicas de ayuda para el diseño del programa; deberán especificarse las entradas y salidas del programa, así como también la definición de los archivos a utilizar. Dentro de las técnicas de ayuda en el diseño de programas, encontramos: • Diagramación: Utiliza símbolos gráficos para indicar acciones. Es como realizar un mapa del programa. • Seudocódigo: Consiste en escribir con palabras, las acciones a realizar. Utiliza palabras de lenguaje común siguiendo reglas similares a las utilizadas en el lenguaje Pascal. Agosto 2005 18 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía • • Tablas de decisión: se usan tablas donde se establecen las condiciones y acciones a seguir. Son muy útiles cuando existen condiciones múltiples y complejas, ya que permite simplificarlas. Lenguaje de especificación: Existen lenguajes similares a los de programación pero destinados a definir en forma precisa las órdenes a dar al computador. 4) Codificación: en esta etapa, se realizará la traducir la secuencia de pasos a realizar por el programa, en el lenguaje seleccionado, generando un programa en "código fuente". 5) Compilación y creación del programa ejecutable: en esta etapa, el programa codificado en la etapa anterior, será sometido al proceso de compilación (si se usa compilador), o interpretación (en caso de usar intérprete), generándose un programa ejecutable. Este proceso, consiste en verificar el cumplimiento de las reglas de lenguaje “control de sintaxis”, en caso de no haber error, se genera un programa en lenguaje de máquina denominado “código objeto” ó “código ejecutable”, siendo este el que realmente se ejecuta. Código fuente -------> Compilación ---------> Código objeto Alto nivel Bajo nivel 6) Prueba: en esta etapa, se someterá a diferentes pruebas al programa, a efectos de corregir los errores que pudiera tener (errores lógicos o ajustes) 7) Implantación: una vez corregidos los errores, el programa queda operativo. 8) Mantenimiento: durante esta etapa, se le van haciendo ajustes al programa para que se vaya adaptando a la realidad cambiante. En todas las etapas, debe realizarse documentación de la misma. Esta tarea es de importancia capital, y en muchas oportunidades la misma se subestima, tanto por el tiempo que insume, como por lo tediosa que puede resultar. Para que un programa quede operativo, es necesario someterlo a un proceso iterativo o repetitivo, en el cual, durante las sucesivas etapas, se van detectando errores que, luego de corregidos, obligan a repetir algunas de las etapas ya pasadas. Por ejemplo, un error de lógica detectado al momento de la prueba, obliga a rever el diseño; esto trae aparejado cambios en la codificación y en la compilación y luego debe ser sometido nuevamente a la etapa de prueba. 19 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía 5.2 Lenguaje de programación Conjunto de símbolos y reglas mediante las cuales se escriben instrucciones que forman un programa, de tal forma que sean comprensibles y realizadas por el computador. El lenguaje de programación determina cómo deben especificarse las órdenes que el computador procesará. 5.3 Clasificación de los lenguajes de programación a) De acuerdo al nivel Una primera clasificación esta dada por el nivel del mismo, lo que se indica de acuerdo a la complejidad de las instrucciones. El nivel hace referencia a la cercanía con el lenguaje humano. Un lenguaje de bajo nivel, se encuentra cercano al lenguaje entendido por la máquina; cuanto más bajo sea el nivel, más cercano estará del lenguaje de la máquina y menos del lenguaje humano. Un lenguaje de alto nivel está más cercano al hombre y requiere a veces de varias etapas de “traducción”, para que sea asimilable por el computador. Incluso se habla de “lenguaje natural”, haciendo referencia a que el computador podría comprender el significado de un texto escrito en forma normal, y ejecutar las tareas indicadas. b) De acuerdo al orden cronológico También se pueden clasificar a los lenguajes de programación, de acuerdo al momento del tiempo en que fueron apareciendo. A medida que vamos avanzando en el tiempo, los lenguajes van tendiendo a simplificarse y a acercarse más al lenguaje humano. Se clasifican, entonces, de acuerdo a la generación. Primera generación: Son lenguajes de máquina El lenguaje de máquina es el lenguaje de más bajo nivel que existe. Las instrucciones se escriben directamente en el sistema binario (sucesión de ceros y unos), que es aquel que comprende la máquina. Es la forma más elemental de darle órdenes al computador. Es utilizado solamente para procesos internos de la UCP y otros componentes. Fue el primer lenguaje utilizado. Debido a la dificultad de comprenderlo y a lo tedioso de escribirlo, es que fueron surgieron lenguajes de más alto nivel. Ej.: 00011001010100100010100101010101010101010100101010010101010010 Agosto 2005 20 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía 11010101010101000101011101001010110001000011110001010101010100 La elaboración de este tipo de instrucciones de programa en sistema binario, es muy complicado y de difícil corrección. Segunda generación: Son los lenguajes ensambladores En el lenguaje ensamblador, también conocido como “assembler”, las instrucciones se escriben con letras y números. Cada instrucción consta de un código (por lo general de tres letras) y uno o más operadores que pueden ser números o constantes identificadas por letras y números. Cada modelo de UCP posee su propio lenguaje ensamblador creado por el fabricante. Surgió posteriormente al lenguaje binario como forma de establecer códigos que fueran más comprensibles. Se lo utiliza para procesos internos de la UCP y periféricos. control de los distintos Ej.: ADD 4, 5, R2 : Significa sume 4 a 5, y el resultado almacénelo en R2 STC “Total”, R3 : Significa almacene la palabra Total en R3 JMP 1024 : Continúe con la instrucción que está en la posición 1024 de memoria El lenguaje ensamblador es traducido a binario en el momento de ser ejecutado, (Recuerde el lector, que la UCP sólo procesa señales binarias). Esta traducción se hace directamente “por hardware”; las instrucciones de lenguaje assembler y su correspondiente significado en binario se encuentran “grabadas de fábrica” en el Hardware, haciéndose en forma inmediata. Un cambio en el hardware del equipo, probablemente traerá aparejado un cambio en la programación. Tercera generación: Son los lenguajes de alto nivel Los lenguajes de alto nivel son más parecidos al lenguaje común y, por lo tanto, se encuentran más alejados del lenguaje de máquina. Esto hace que los programas sean escritos y comprendidos más fácilmente por las personas, pero es necesario traducirlos a lenguaje de máquina para que el computador los entienda. Esta traducción puede ser realizada de diferentes maneras: • Usando un programa denominado "intérprete", el cual va leyendo las instrucciones del programa de alto nivel (programa fuente), las va traduciendo al lenguaje de máquina y las va ejecutando, una a una • Usando un programa llamado "compilador", el cual, por medio de un proceso, toma todas las instrucciones del programa escrito en el programa de alto nivel (programa fuente), y crea un programa denominado "objeto", transformándolo en un programa entendible por la máquina. 21 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía Existen muchos tipos de lenguajes de alto nivel para distintas tareas y con distintas facilidades. Cada uno de ellos utiliza un programa compilador diferente al momento de crear un programa objeto. Cuarta generación: son lenguajes de muy alto nivel. A este tipo de lenguaje se les llama también “Generadores de programas”, ya que en base a especificaciones dadas, construyen los programas necesarios en un lenguaje de tercera generación. Las especificaciones son dadas en base al diseño de las pantallas, los archivos de datos, los informes a presentar, y luego se realiza un proceso que genera los programas necesarios. 5.4 Ejemplos de lenguajes de programación A continuación, se presenta una lista no taxativa de lenguajes de programación, con una breve descripción de algunos de los tipos de lenguajes mencionados. BASIC (Beginners All purpose Simbolic Instruccion Code: Código simbólico de instrucciones de propósito múltiple para principiantes). Características: • Es un código que utiliza símbolos, o sea, es un lenguaje de programación. • Es de propósito múltiple porque es de uso general para diversos tipos de procesamiento. • Es para principiantes porque es sencillo y no requiere de conocimientos avanzados. Surgió a principios de los 60 en una Universidad de Estados Unidos. Fue el más utilizado en microcomputadores al principio de los 80; es más, muchos de los PC sólo aceptaban programas escritos en ensamblador o BASIC. Actualmente se dispone de la versión “Visual Basic”, que es considerado otro lenguaje ya que posee características distintas, siendo el sucesor del original BASIC. Luego fue relegado su uso al surgir otros lenguajes más potentes. Ej.: INPUT A INPUT B LET A + B = C PRINT C Agosto 2005 22 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía Este programa pide valores de A y B, luego los suma, poniendo su resultado en C. Por último, muestra el resultado. Véase que en lugar de códigos de tres letras, utiliza palabras en ingles, (Input, let, print) para indicar la tarea a realizar. COBOL (COmmon comunes). Bussines Oriented Languaje: Lenguaje orientado a los negocios Es un lenguaje orientado al área comercial, diseñado para emitir listados contables, cuentas corrientes, facturación, entre otros. Surgió a fines de los años ´50 en Estados Unidos como resultado del trabajo de una comisión formada por fabricantes de computadoras, el gobierno y universidades ( CODASYL: COnference of DAta SYstems Languajes) Su uso requiere más conocimientos que el BASIC. Sus instrucciones son similares a describir en ingles la tarea a realizar: EJ. ACCEPT A, B FROM CONSOLE SUM A TO B GIVING C DISPLAY C Este ejemplo realiza la misma suma que en BASIC. Nótese que es un lenguaje más cercano al natural, ya que para realizar una suma se debe escribir en ingles el equivalente a: “sume A a B obteniéndose el resultado en B”, lo cual es más comprensible que LET A + B = C FORTRAN (FORmula TRANslation: Traducción de fórmulas). Es un lenguaje netamente científico orientado principalmente a la realización de tareas de cálculo (tipo científicas y de ingeniería). Surge a fines de los ´50, por interés de los fabricantes de computadoras. Posee facilidades para realizar cálculos complejos, manejo de matrices de varias dimensiones, etc. Debido a su complejidad y sus características, no es utilizado en programas de uso comercial. RPG (Report Progam Generator: Generador de programas de reportes). Lenguaje surgido en 1960 para agilizar las tareas de emisión de informes. Fue realizado por IBM. Hoy en día se siguen utilizando versiones de este lenguaje: RPG II y RPG III. En general, sólo es utilizado en equipos IBM, aunque existen versiones para PC. La principal característica es su facilidad para crear listados contables, de facturación, stock, entre otros. 23 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía ALGOL (ALGOrithmic Language) Lenguaje basado en algoritmos de aplicación matemática, basado en el FORTRAN. Surge a fines de los años ´50. PASCAL Su nombre es en honor del matemático Blaise Pascal, del siglo 18 y fue desarrollado en Suiza por Nicklaus Wirth. Su finalidad es la de enseñar técnicas de programación, en particular, “Programación estructurada”. Fue difundido en Universidades europeas y actualmente es muy utilizado como un primer lenguaje de aprendizaje en Universidades e Institutos de enseñanza. Es descendiente de ALGOL. ADA Su nombre es en honor de Ada, hija de Lord Byron, que trabajó con la máquina analítica de Babbage, y es considerada la primera programadora. Este lenguaje surgió a pedido del Ministerio de Defensa de Estados Unidos en 1980. Se quería usar un único lenguaje en todos los equipos militares. A pesar que inicialmente tuvo mucho empuje, debido a los requerimientos de hardware y a la diversidad de opciones que posee no es muy difundido. Actualmente se lo utiliza como lenguaje de especificación y de enseñanza de técnicas avanzadas de programación. Fue un ejemplo de que no es posible utilizar un único lenguaje de programación, ya que a pesar de que fue por este motivo que se desarrolló, en la práctica se vio que para poder ser un lenguaje universal, se le debían incorporar un gran volumen de características y opciones que lo hacen muy complejo de aprender e impráctico en las tareas comunes. C Surgió en los 80 a nivel universitario en Estados Unidos. Su nombre hace referencia a que hubo dos versiones anteriores “A” y “B” que no pasaron de pruebas. Este lenguaje tiene la particularidad de que incorpora muchas instrucciones de bajo nivel que facilitan el poder programar los distintos periféricos del computador. Creado originalmente para mini computadores, con el surgimiento de Sistemas Operativos como DOS y Unix fue ampliamente difundido existiendo muchos programas comerciales realizados en este lenguaje. CLIPPER Surgió a mediados de los años 80, exclusivamente para PC. Hoy en día existe la posibilidad de utilizarlo en mini computadores. Agosto 2005 24 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía Debido a su rápido aprendizaje y la facilidad de manejar archivos de datos, se difundió ampliamente entre los programadores de microcomputadores. C++ Es una versión avanzada de C. Su principal característica es que introduce la técnica de “Programación Orientada a Objetos”, y la de manejo de “Clases”. Muchos lenguajes incluyeron estas técnicas en los años ´90, por ejemplo: Pascal, CLIPPER, etc. Visual Basic Lenguaje de programación “Visual”. Surgió en los ´90, junto con “Windows”. Se basa en manejo de objetos e iconos con representación gráfica y uso de ratón. En base a él, también surgieron Visual C, Visual Fox, etc. Todos ellos funcionan en ambiente gráfico basado en iconos. Java Es un lenguaje de reciente aparición, pensado para aplicaciones en redes, en particular para Internet. Sus principales características están basadas en las facilidades de comunicación que provee. SQL Structure Query Languaje – Lenguaje de consulta estructurado. Es un estándar para realizar consultas a bases de datos. Muchos productos lo incluyen como parte de su lenguaje de programación. Su principal característica es que es un estándar que provee una interfase entre distintos productos como ser: lenguajes de programación y bases de datos. Algunos ejemplos son: GENEXUS Es un generador de aplicaciones que puede producir programas en CLIPPER, COBOL, RPG, etc. Es utilizado en equipos medianos de IBM y en PC. LINC Es un generador de programas COBOL utilizado por UNISYS en todos sus equipos. 5.5 Programas compiladores El proceso de compilación es realizado por programadas diseñados para ese fin llamados “compiladores”. Un compilador reconoce un solo lenguaje de alto nivel, es así que existen compiladores para COBOL, BASIC, etc. 25 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía Un mismo computador puede aceptar programas escritos en varios lenguajes, ya que cada compilador generará el código objeto correspondiente al lenguaje de bajo nivel del computador utilizado. Por ejemplo un computador basado en un microprocesador 486 puede utilizar programas en COBOL y en CLIPPER utilizando un compilador COBOL y un compilador CLIPPER, generando ambos código objeto en el lenguaje de máquina del microprocesador 486. También es posible utilizar el mismo programa en computadoras diferentes. Por ejemplo: un mismo programa COBOL puede utilizarse en un microcomputador con el compilador adecuado y en un mini-computador con el compilador correspondiente a éste. 5.6 Programas Intérpretes Existe otro proceso utilizado en lugar de la compilación llamado “Interpretación”. Este proceso es realizado pro programas llamados “Intérpretes”. Un intérprete toma el código fuente y procesa de una instrucción por vez, es decir, toma la primera orden, la analiza, controla errores de sintaxis, y si es correcta la traduce a lenguaje de máquina y la ejecuta, continuando con las restantes instrucciones. Si se detecta algún error el proceso se detiene. Es importante destacar que no se genera un programa objeto, sino que son procesadas las instrucciones de a una por vez. Este proceso tiene la ventaja de que se pueden ir probando las instrucciones del programa fuente, a medida que se escriben y tiene la desventaja que es más lento; además, al no tener el código objeto, es necesario utilizar el intérprete cada vez que se necesita ejecutar el programa. Agosto 2005 26 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía 6 Clasificación del software Usuario Programas de uso cotidiano Software de aplicación Software de base Sistema Operativo y utilitarios Hardware Componentes físicos 6. 1 Software de base1 Los programas que se clasifican como software de base son aquellos dependientes del tipo de hardware y que son utilizados como “base” para otros programas. 6.1.1 Sistema Operativo Dentro del software de base se encuentran los sistemas operativos. En el caso de los Sistemas Operativos, permiten manejar el hardware e interactuar con el usuario. Están compuestos, entre otros elementos, por programas que operan los distintos elementos físicos, dispositivos de almacenamiento, UCP, impresoras, etc.; también incluye interfaces con el usuario, que permiten darle “órdenes” al computador y por último realizan la supervisión y el control de los demás programas. El Sistema operativo es un conjunto de programas que controlan el hardware y, por lo tanto, son específicos para el tipo de UCP. Es un Sistema intermediario entre el usuario 1 Extraído del trabajo monográfico “Tecnologías de información y comunicaciones”, Págs. 42-50 Maria Berrondo, Daniel Gallego y Carla Macedo, Marzo 2005, Facultad de Ciencias Económicas y de Administración 27 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía y el hardware de un computador y su propósito es proporcionar un entorno en el cual el usuario pueda ejecutar programas, También se puede definir como una capa de software compleja entre el hardware y el usuario, que facilita al usuario o al programador las herramientas e interfaces adecuadas para realizar sus tareas informáticas, abstrayéndole de los complicados procesos necesarios para llevarlas a cabo. Por ejemplo, un usuario normal simplemente abre los archivos grabados en un disco, sin preocuparse por la disposición de los bytes en el medio físico, los tiempos de espera del motor del disco, la posición de un cabezal, el acceso de otros usuarios, etc. La mayoría de estos programas están escritos en lenguaje ensamblador y “C”. 6.1.2 Componentes y funciones de un sistema operativo: Los distintos componentes de un Sistema Operativo se dividen en dos: programas de control y de procesos. 1 Programas de control (del funcionamiento de una máquina.) • SUPERVISOR o MONITOR (no confundir con la pantalla) Supervisa el funcionamiento de los demás programas: Controla la entrada y salida de datos Carga cada uno de los programas en memoria a medida que se necesiten Administra el almacenamiento secundario Maneja errores del sistema Controla tiempos de ejecución Controla interrupciones Controla el estado del sistema Controla buffers con periféricos (su velocidad es menor a la del procesador) Controla cache Controla spooling • CARGADOR INICIAL Se encarga de inicializar todos los componentes. Es utilizado cuando se enciende el equipo, realizando chequeos del hardware. • CONTROLADOR DE TAREAS - administra los trabajos (JOB control). - prepara los programas para su ejecución 2 Programas de procesos: Ejecuta y controla esa ejecución: • De servicio Editores Bibliotecas Utilitarios: SORTs Conversión de un medio a otro: cinta a disco, etc Compiladores: Traduce lenguaje de alto nivel a lenguaje máquina Controla sintaxis y semántica Lista errores Agosto 2005 28 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía • De Aplicación Científicos Otros Otras facilidades: Multiprogramación Capacidad de atender varios programas al “mismo tiempo”; de esta manera, se aprovechan los tiempos ociosos del procesador compartiendo recursos. Multiprocesamiento Se manejan varios procesadores en forma simultánea. Si el computador posee varios procesadores UCP, el Sistema operativo debe administrar el uso de los mismos, sincronizando y dividiendo las distintas tareas. Memoria Virtual Técnica de paginados: la memoria RAM se divide en páginas, y se llevan y traen al /desde el disco a medida que se necesitan/no se utilicen más (ilusión de tener una RAM del tamaño del disco). 6.1.3 Clasificación de Sistemas operativos Existen varias clasificaciones posibles, en este documento se definirán dos. De acuerdo a la cantidad de tareas que realizan a la vez y otra clasificación de acuerdo a la cantidad de usuarios que permite manejar el sistema Operativo. 6.1.4 Sistemas operativos monotarea y multitarea. Es monotarea cuando el usuario sólo puede hacer una tarea a la vez, en particular el más conocido es el DOS, el cual se describe más adelante. Multitarea es aquel que permite realizar más de un proceso a la vez, en particular Windows permite tener varias “ventanas” a la vez, cada una correspondiente con una tarea. Hoy en día la mayoría son multitarea. Aunque se posea una sola CPU, la cual sólo puede ejecutar una instrucción por vez, los programas comparten el uso de la misma y mientras un programa está buscando datos en un almacenamiento, (por lo que no esta realizando operaciones en la CPU), otro programa puede ejecutar instrucciones en la CPU. Esto permite, debido a la alta velocidad con que operan los computadores hoy en día, que a los ojos del usuario el computador realice varias tareas a la vez. Existen programas del Sistema Operativo que se encargan de administrar el uso de los distintos componentes y periféricos y tratar de optimizarlos al máximo. Por ejemplo, mientras un programa hace cálculos utilizando la CPU, otro puede estar a la espera de datos de un disco y un tercero puede estar utilizando otro periférico. Un ejemplo muy 29 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía común es el hecho de imprimir un documento y seguir trabajando con otro programa: mientras la impresora está ocupada, el resto del computador está libre y se aprovechan los demás recursos en otras tareas. En realidad, como se mencionó anteriormente, la CPU no ejecuta dos programas a la vez, sino que luego de haber enviado los datos a la impresora, continúa con otro programa. Sin embargo existen computadores con multiprocesadores, esto significa que tienen varias CPU, con Sistemas operativos adecuados y son realmente multitarea: ejecutan simultáneamente varias aplicaciones, haciendo uso de varias UCP. Estos equipos son utilizados en tareas especiales como ser cálculos complejos, aplicaciones críticas en tiempo real, servidores de redes con mucho volumen de comunicaciones, etc. 6.1.5 Sistemas operativos monousuario y multiusuario. Monousuario implica que un sólo usuario puede hacer uso del computador. El DOS es el ejemplo más común: sólo una persona puede estar utilizando el computador. Multiusuario implica la posibilidad de “compartir” los distintos recursos del Sistema. Esto no significa que al mismo tiempo dos personas estén utilizando el mismo teclado del computador, ni el mismo ratón. El término multiusuario se refiere a la posibilidad del sistema Operativo de definir diferentes usuarios: Implica dos facilidades: la primera es que se pueden definir distintos “perfiles de usuario”: esto significa que existen en el Sistema usuarios definidos con nombre y contraseña. Cada vez que un usuario desea utilizar el equipo debe suministrar su nombre y contraseña, lo que lo habilita para realizar ciertas tareas y acceder a determinados datos. El termino multiusuario, se refiere en este caso a que varios usuarios pueden realizar tareas distintas, pero en diferentes momentos, con la posibilidad de que cada uno maneje sus propios datos sin afectar a los de otros. Esto es independiente de trabajar en una red de computadores. Otra cualidad de multiusuario es la de compartir recursos a través de una red. Hoy en día es muy común, incluso desde el hogar cuando se ingresa en Internet, en realidad se está siendo parte de una red. Esto permite que un usuario en otro equipo, pueda utilizar periféricos e incluso datos y programas en otro computador. Lo más común es compartir impresoras, y bases de datos. Windows, desde su versión 3.11, incorpora facilidades de red para compartir y administrar recursos; para ello, es necesario definir usuarios que pueden utilizar un computador o acceder a través de otro que esté conectado a la red, asignar permisos y definir “perfiles”. Un perfil o “profile” (en inglés), implica definir los recursos, tareas y datos a los que se puede acceder, así como también el momento y la forma. 6.1.6 Sistemas Operativos para redes Son Sistemas operativos diseñados con el objetivo de permitir que varios equipos accedan a diversos archivos y programas que en encuentran en uno o más equipos servidores. Estos sistemas deben ser multiusuario. Los usuarios de una red pueden compartir archivos o comunicarse entre sí con facilidad. En consecuencia, a menudo se Agosto 2005 30 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía puede reducir el costo de los programas y equipos, se pueden adquirir versiones para red de los programas más usados y compartir dispositivos costosos, como ser impresoras, unidades de almacenamiento, scaners, etc. Cada vez más va en aumento la necesidad de utilizar redes, así como también van disminuyendo los costos del hardware necesario. Instalando placas de red, cables y software de red, es posible configurar un sistema de comunicaciones sofisticado y productivo. Con la difusión de los computadores personales en la década de los 80, empezó a hacerse evidente que si se lograba conectarlas se obtendrían grandes beneficios, como el compartir periféricos costosos, utilizar correo electrónico y compartir archivos. Comienzan entonces a aparecer las redes de área local “LAN”, basadas en un esquema de hardware muy concreto; los distintos fabricantes diseñaban nuevos modelos de redes con la esperanza de que se convirtieran en un nuevo estándar. Aunque cada elemento del equipo y cada tipo de red tenía sus propias ventajas, los usuarios se veían obligados frecuentemente a elegir una red local concreta condicionada por el software que estuviera disponible para ella. Esto se debía a que cada fabricante de redes locales seguía su propio conjunto de normas basándose en el hardware que había diseñado, y los diseñadores de software encontraban muy difícil crear programas para los distintos tipos de redes, limitándose frecuentemente a un solo tipo. En 1984 surge el protocolo NETBIOS (Network Basic Input/Output System (Sistema Básico de Entrada/Salida para Redes), el cual se convirtió rápidamente en un estándar. Esto implicó que los estándares de las redes pasaban a basarse en el software en lugar del hardware. El Sistema Operativo de las LAN pasó a ser el factor crítico de su desarrollo, superando a su configuración física. A partir de entonces, las redes comenzaron a desarrollarse según modos más sofisticados. Comenzaron a incluirse características, que hasta entonces sólo se asociaban a los grandes computadores, como ser: bloqueos de registros, condiciones de seguridad y aplicaciones multiusuario. Una red puede ser un sistema cerrado que utiliza sus propios métodos de comunicación, lo que significa que otros fabricantes no pueden colaborar al desarrollo del sistema creando software complementario. En cambio un sistema abierto ofrece a otros fabricantes sus especificaciones e incluye facilidades de programación que permite que otros fabricantes puedan crear con facilidad aplicaciones complementarias. Un sistema abierto puede ajustarse a un conjunto de reglas y métodos que se han convertido en un estándar. La estandarización permite que los fabricantes diseñen productos que puedan interactuar fácilmente con otros. Actualmente se utiliza como estándar para redes el modelo de Interconexión de Sistemas Abiertos (OSI Open System Interconection). Este modelo define una red por niveles, comenzando con el nivel físico más básico (el hardware), hasta el nivel donde se ejecutan las aplicaciones. Cada nivel ofrece las bases de los servicios y el soporte necesario para el nivel que se encuentra por encima. Los niveles son los siguientes: 31 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía 1) Nivel de aplicación: Es donde se ejecutan las aplicaciones 2) Nivel de presentación: Ofrece al usuario posibilidades tales como transmisión de archivos y ejecución de programas. 3) Nivel de sesión: Gestiona la conexión entre los niveles más bajos y el usuario; es la interfase de usuario de la red. 4) Nivel de transporte: Comprueba la integridad de los datos en la red, y si es necesario ordena los paquetes de datos dándoles el orden correcto. 5) Nivel de red: Encamina los mensajes dentro de la red. Cada mensaje se transfiere a su destino gracias a los niveles inferiores. 6) Nivel de enlace: Gestiona las entradas/salidas. Organiza y verifica los datos. 7) Nivel físico: Define las normas y protocolos usados en la conexión y cables de red, así como los tipos de cables y conectores. En su mayor parte, los niveles de la red son transparentes para los usuarios. Mientras que los administradores de la red habrán de controlar varios aspectos a diferentes niveles, los usuarios sólo tendrán que utilizar el software de aplicación. Los Sistema operativos son actualmente multitarea y multiusuario. A continuación se describen varios de ellos. En particular el DOS se menciona debido a que hasta hace pocos años era el más utilizado. En muchos equipos todavía se lo utiliza y es la base de Windows 95 y Windows 98. A pesar de que tanto Windows 95 y 98 sustituyen al Dos, esto no es del todo cierto, para ciertas tareas de configuración es necesario utilizar programas de DOS, e incluso varios utilitarios son en realidad programas de DOS, a los cuales se les ha agregado una interfase gráfica. Sistema operativo DOS Hasta hace pocos años, el sistema operativo más difundido en los computadores personales era el DOS: Disk Operating System “Sistema Operativo en Disco”, escrito su mayor parte en el lenguaje “C”, siendo utilizado en los computadores basados en los microprocesadores de la línea Intel 80xxx ( 8080, 8088, 8086, 80286, 80386, 80486, 80586) y en microprocesadores compatibles como ser V20, Cyrix, AMD, Texas, etc. Todos estos microprocesadores tienen lenguajes de máquina similares. Agosto 2005 32 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía El DOS surgió a principio de los 80, para el computador personal IBM; fue evolucionando y utilizando las prestaciones del nuevo hardware existente, por ejemplo inicialmente sólo reconoció discos fijos de hasta 30 Mb hoy en día existen discos de más de 5 Gb. El DOS también es conocido como MS-DOS (Microsoft DOS), siendo Microsoft la empresa que lo diseñó originalmente y la que lidera el mercado. Varios fabricantes de computadores realizaron modificaciones al DOS de acuerdo a diferencias en el hardware (por ejemplo: IBM suministra el sistema PC-DOS, ya que “PC-Personal Computer” es sigla registrada de IBM; el PC-DOS utiliza características del hardware de los computadores IBM que no están disponibles en otros equipos). Sistema operativo UNIX El UNIX es un Sistema Operativo multiusuario y multitarea, diseñado originalmente para equipos de porte medio (mini computadores). Estos equipos tienen la particularidad de poseer un computador central y varias “terminales tontas”, conectadas a él. La principal característica de UNIX es que es un Sistema “abierto”, esto quiere decir que no es exclusivo de un fabricante de hardware y puede utilizarse con muchos tipos de computadores, siendo un standard para los equipos medianos. Hasta mediados de los 80, cada marca tenía su propio Sistema para sus equipos medianos y grandes, no existiendo la posibilidad de utilizar productos de otros fabricantes. El UNIX obligó a los grandes fabricantes de computadores a “abrirse al mercado”, haciendo que sus equipos fueran compatibles con el standard, permitiendo que cualquier programa desarrollado para UNIX pudiera utilizarse con distintos marcas y tipos de computadores, existiendo actualmente varias versiones, incluso para microcomputadores con interfaces similares a la de Windows. Es un Sistema “Universitario”, ya que es muy utilizado para investigación, desarrollo y enseñanza a nivel terciario. Existe una versión llamada “Linux”, que es “shareware”, es decir no se necesita adquirir licencia para su uso, siendo de distribución gratuita. Además se dispone de programas “utilitarios”, que permiten agregarle y/o modificar sus características, incluso los programas “fuentes” escritos en lenguaje “C” están disponibles. Fue originalmente desarrollado por AT&T. Los siguientes sistemas operativos son variaciones (en el amplio sentido de la palabra) de UNIX: • Linux • FreeBSD • Rhapsody • Mac OS X • NeXT • Solaris Entre otros. Linux 33 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía Es un sistema operativo multiusuario, multitarea, muy similar a UNIX, siendo una de sus principales características su estabilidad. Los sistemas Linux pueden funcionar por meses sin reiniciar, lo cual es particularmente importante para servidores de red. Destacan las capacidades para trabajo en redes, así como el software disponible, en continuo aumento. Linux es gratuito, ya que no es propiedad de ningún individuo u organización, y además su código fuente es de dominio público. Quizás una de las principales desventajas de este sistema operativo es que depende en gran medida de interfaces de línea de comandos, así como archivos de configuración basados en texto, los cuales son poco “amigables” para usuarios novatos, pero esto se está revirtiendo con la aparición de interfaces gráficas. Actualmente hay como mínimo 7 millones de sistemas Linux. Mas adelante en este documento se mencionan las versiones más populares. OS/2 Warp Sistema operativo multitarea de alta Performance desarrollado por IBM. Permite correr aplicaciones DOS y Windows 3.1, así como applets y aplicaciones JAVA. Su enfoque es más bien para el ámbito empresarial, y está particularmente optimizado para el trabajo en redes. Hoy en día no es muy difundido. BeOs BeOs es un sistema operativo multitarea completamente nuevo de alta Performance para sistemas de escritorio. Está especialmente optimizado para tratamiento de multimedia. Aún hay relativamente pocas aplicaciones para este sistema operativo (aunque de excelente calidad), lo cual limita la cantidad de usuarios a técnicos en computación, y programadores, pero en un tiempo cercano será una excelente opción para usuarios normales. La popularidad de este sistema operativo es inusualmente alta, teniendo en cuenta que aún se encuentra en fase de desarrollo, y no está disponible la versión final. Además Intel ha invertido en este proyecto, dándole a BeOS mayor reputación. Rhapsody (Mac OS X server o MXS) Agosto 2005 34 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía Es un sistema operativo basado en UNIX que incluye capacidades de los sistemas operativos NeXT y Macintosh. Es implementado por Apple Computers y corre en plataformas Intel Pentium así como Motorola/IBM Power PC, y tiene compatibilidad con Windows. Combina la estabilidad de UNIX con la simplicidad de los sistemas Macintosh. Mac Os MacOs es el sistema operativo alternativo más conocido, y muchos piensan que es solamente utilizado por una cantidad marginal de personas. Al contrario, MacOs es un sistema operativo más estable que Windows en muchos aspectos, y la porción de mercado que comparte es grande. Se destaca por su interfase amigable con el usuario, así como por su versatilidad y potencia. Tiene especiales características que lo hacen idóneo para el tratamiento de multimedia. Más de dos millones y medio de copias de MacOs 8.5 están en uso, así como muchas más copias de versiones anteriores también. MacOs es un sistema operativo muy popular, habiendo superado la versión 8.5 en ventas a Windows 98 en su lanzamiento. Sistema Operativo Novell Netware Netware es el Sistema Operativo de la empresa Novell para redes. Surgió a principios de los 80 junto con los computadores personales. Está basado en un sistema 35 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía con servidor dedicado o no dedicado. No permite utilizar conexiones punto a punto. Es compatible con el modelo OSI de siete niveles. Antes del surgimiento de la versión 3.11 de Windows era el más difundido en las redes locales, ya que permitía conectar equipos que utilizaban DOS como Sistema Operativo, permitiendo compartir recursos de un equipo Servidor. Entre las principales características se destaca el manejo de la seguridad basada en perfiles de usuario, facilidades de servidor de Internet “Intranetware” y de correo “GroupWise”. Agosto 2005 36 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía Sistema Operativo Windows Es un Sistema operativo basado en un entorno gráfico que surgió a fines de los 80. No tuvo mucho éxito al principio ya que era lento, no brindaba mejoras sustanciales y no había muchas aplicaciones que aprovecharan sus nuevas características. Este Sistema fue desarrollado para computadores personales como sucesor del DOS, sin embargo el DOS continuó evolucionado al igual que WINDOWS. La principal diferencia es el uso de “iconos”, símbolos que representan acciones y programas, y el uso del ratón mediante el cual se selecciona un icono y pulsando sus botones se lo activa. El término “Windows”, surge de poder tener varias “ventanas”, es decir varias aplicaciones en áreas distintas de la pantalla. Windows es promocionado como un sistema multitarea que permite ejecutar varios programas independientes a la vez e intercambiar datos entre ellos. Aunque esto técnicamente no es del todo cierto. 37 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía Las versiones más populares fueron 3.1 y 3.11 que incluye manejo de red de computadores. Están diseñadas para ser usadas en computadores personales con microprocesador 80386 o superior. A pesar de definirse como un Sistema Operativo es en realidad un “Shell”, es decir una coraza o recubrimiento, ya que es necesario contar con DOS para que funcione. Agosto 2005 38 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía Sistema Operativo Windows 95 A fines de 1995 surgió el denominado “Windows 95”, versión que pregonaba ser muy fácil de instalar y usar. Sus requerimientos de hardware son superiores a las versiones anteriores requiriendo microprocesadores 80386 como mínimo, y memoria RAM de 8 Mb (se recomiendan 16Mb y para algunas aplicaciones complejas 32MB). Esta versión incorpora programas de edición de textos, de comunicación y otros utilitarios con más prestaciones que las versiones anteriores. También elimina el uso del DOS, ya que lo posee incorporado no dándose cuenta el usuario de su existencia. Windows 95 es, a diferencia de las anteriores versiones, un sistema operativo de 32 bits, adaptado a las necesidades actuales. Como tal, es un sistema multitarea preparado para su manejo tanto en red como en sistema monopuesto, con acceso a las distintas vías de comunicación telemáticas. Es compatible con programas escritos para versiones anteriores tanto de MS-DOS como de Windows. Incluye el sistema “plug and play”, que permite que el propio computador se autoconfigure en función de detectar automáticamente el hardware instalado. Escritorio de Windows 95 Sistema Operativo Windows NT 39 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía Windows NT es un Sistema Operativo de apariencia similar a Windows 95, posee la misma interfase de usuario, pero internamente posee importantes diferencias. Aprovecha mejor los recursos del computador, lo que implica que las aplicaciones se ejecutan más rápido y con mayor seguridad. Tiene un sistema de archivos denominado NTFS ( NT File System), sobre el cual está basado la seguridad de acceso a los datos. Esto lo hace mucho más confiable y seguro que Windows95. Existen dos versiones: Servidor y Estación de trabajo. La versión servidor es competencia de Novell Netware, en cambio la versión de estación puede utilizarse como independiente o formar parte de una red. Requiere equipos con mayor capacidad de memoria y almacenamiento que la versión 95, recomendándose 64Mb de memoria. Es promocionado como un Sistema Operativo para negocios, orientándose hacia la confiabilidad, seguridad y alto desempeño en las empresas. Agosto 2005 40 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía Windows 98 Surgió a mediados de 1998, siendo la versión posterior a Windows 95. Tienen muchas similitudes; su principal diferencia consiste en la incorporación, como parte del Sistema operativo, de la conexión a Internet, así como también la apariencia de ventanas, similares a las páginas de Internet. Además, incorpora mejoras para juegos y aplicaciones multimedia. Requiere mayor memoria memoria RAM. que Windows 95, recomendándose 32 Mb de Windows 2000 Sucesor de Windows NT. Existen cuatro versiones de Windows 2000, una de ellas para el uso en estaciones de trabajo ("Workstation") y las restantes, con diferentes grados de complejidad, para el uso en servidores de redes. Windows 2000 Professional La versión "Profesional" reemplaza a la NT 4 Workstation. Está destinada a ser usada en computadoras de escritorio para profesionales y personal de empresas y posee características superiores de seguridad y configuración. Quizás en la pantalla parezca similar a Windows 95 ó 98, pero técnicamente es muy diferente y no es apropiada para el uso doméstico. La versión profesional es capaz de operar con microprocesadores dobles. Windows 2000 Server Esta es la opción básica para servidores de pequeñas y medianas empresas, e incluye un servidor de Internet, y servicios de terminal y acceso remoto. Es capaz de correr en máquinas de hasta cuatro procesadores. Windows 2000 Advanced Server La versión Advanced Server realiza las funciones de la antigua "NT Enterprise Edition", permite la operación hasta con ocho procesadores, y permite agrupamiento y balance de carga. Esta versión está destinada a tareas intensas con bases de datos y otros tipos de trabajos de gran volumen. Windows 2000 Datacenter Server Esta versión de Windows 2000 está destinada al uso empresarial o académico a gran escala. Puede emplear hasta 16 procesadores y 64 GB de memoria. 41 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía Windows XP incluye cuatro versiones2 Windows XP Professional Se ha creado pensando en negocios de todos los tamaños así como para usuarios domésticos que quieren sacar el máximo provecho de su experiencia informática, Windows XP Professional ofrece un nuevo estándar en fiabilidad y resultados. Además trae incluidas todas las características y el nuevo diseño de Windows XP Home Edition, además de características de protección y seguridad de primer orden, opciones de recuperación avanzadas, una mayor capacidad de conexión a redes grandes y mucho más. Windows XP Home Edition Diseñada para usuarios domésticos. Trae incluido un diseño más intuitivo y claro, característica de multimedia digital avanzadas que haces que trabajar con fotografías digitales y reproducir música digital se más sencillo. Windows XP Tablet PC Edition Diseñado para equipos portables. Ligero y plano, pero de un gran potencial, el nuevo Tablet PC ofrece la libertad de ser realmente móvil. Al ampliar las capacidades de voz y lápiz digital, Tablet PC le ofrece una experiencia informática natural y versátil. Puede escribir directamente con el lápiz digital directamente sobre la pantalla y puede controlar su equipo del mismo modo que lo hace con el ratón. Con el Panel de entrada de Tablet PC puede escribir texto dentro de la aplicación con su propio puño y letra. Además, Tablet PC dispone de tecnologías inalámbricas incluidas, de manera que puede utilizar el equipo con más frecuencia y en más lugares que antes. Windows XP Professional x64 Edition Similar a la versión Profesional, pero diseñada para los nuevos procesadores de 64 bits. 2 Extraído de www.microsoft.com Agosto 2005 42 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía Cuadro comparativo entre las diferentes versiones de Windows ○ indica una función parcial que no está disponible indica una paridad parcial de la función con Windows XP o paridad completa, pero sólo en un subconjunto de los sistemas operativos listados ● indica una función que tiene una paridad completa con Windows XP Profesional Confiable Función Escenarios de reinicio sustancialmente reducidos Protección de archivos de Windows Windows Installer Descripción Windows 9x/Me Windows NT 4.0 Windows 2000 Professional Subconjunto de funciones Subconjunto de funciones Windows XP Professional Windows XP Professional tiene como base el código comprobado de Windows NT® y Windows 2000, que presenta una arquitectura de cómputo de 32 bits, así como un modelo de memoria totalmente protegido. ○ ● Elimina la mayoría de los escenarios que obligaban a los usuarios finales a reiniciar en Windows NT 4.0 y Windows 9x. Así mismo, muchas de las instalaciones de software no requerirán de reinicio. Windows XP Professional protege los archivos del sistema para que no los sobrescriban las instalaciones de las aplicaciones. En el caso de que se sobrescriba un archivo, la Protección de archivos de Windows lo reemplazará con la versión correcta. Servicios de un sistema que ayuda a los usuarios a instalar, configurar, dar seguimiento, actualizar y ○ ○ ● ● ○ ○ ● ● ○ ○ ● ● 43 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía Políticas mejoradas de restricción de software remover programas de software correctamente. Windows XP Professional cuenta con políticas mejoradas para la restricción de software, que le proporcionan a los administradores un mecanismo basado en políticas para identificar software que se ejecute en su ambiente. Este recurso se puede usar para evitar virus y caballos de Troya, así como las interrupciones de software. ○ ○ ○ ● Rendimiento Función Descripción Windows Windows 9x/Me NT 4.0 Windows Windows 2000 XP Professional Professional Arquitectura de multitareas preventivas Windows XP Professional está diseñado para permitir que varias aplicaciones se ejecuten simultáneamente, al tiempo que asegura un excelente tiempo de respuesta y estabilidad del sistema. ○ ● ● ● Memoria escalable y soporte de procesadores Soporta hasta 4 GB de memoria y hasta dos multiprocesadores simétricos. ○ ● ● ● Seguridad Función Descripción Sistema encriptador de archivos (EFS) con soporte para Permite encriptar cada archivo con una clave generada aleatoriamente. Los procesos de encriptación y Agosto 2005 Windows Windows 9x/Me NT 4.0 ○ Windows Windows 2000 XP Professional Professional ○ ● No ofrece soporte para uso con múltiples 44 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía multiusuarios desencriptación son transparentes para el usuario. Con Windows XP Professional, EFS ahora soporta la capacidad de que varios usuarios tengan acceso a un documento encriptado. Seguridad IP Ayuda a proteger los datos que se transmiten a través de una red. IPSec es parte importante, debido a que proporcionar seguridad para redes privadas virtuales (VPNs), que permiten a las organizaciones transmitir datos de manera segura por Internet. Soporte a los estándares de hardware más recientes Instalación con actualización dinámica Instalación no asistida Windows XP Professional proporciona soporte a los estándares de hardware más recientes. Soporta UDF 2.01, el estándar más reciente para lectura de discos DVD. También soporta el formateo de unidades DVD-RAM con los sistemas de archivos FAT32. Adicionalmente, se incluirá el soporte de DirectX® 8 en Windows XP. Windows XP Professional también soporta completamente IRDA, USB e IEEE 1394. Durante el proceso de instalación, antes de que los archivos se instalen, Windows XP Professional revisa el Web para ver si hay actualizaciones críticas y las descarga para que se incluyan en la instalación. Windows XP Professional proporciona la capacidad usuarios ○ ○ ● ● ○ Soporte para algunos estándares listados ○ ● Soporte para algunos estándares listados ○ ○ ● ● Soporte Soporte Soporte 45 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía Actualizaciones automáticas Opciones de inicio en modalidad segura (“Safe”) Consola de recuperación de especificar un número para mayor de opciones que las subconversiones previas de junto de Windows, así como opciones permitir un grado mayor de seguridad al encriptar contraseñas en los archivos de respuesta. Windows XP Professional puede bajar Subconautomáticamente junto de actualizaciones críticas del funciones sistema mientras el usuario en está conectado a Internet. Windows Estas descargas están Me reguladas para minimizar el impacto de la capacidad de respuesta de la red y se retoman automáticamente si el sistema se desconecta antes de que la actualización haya sido totalmente descargada. Una vez que la actualización ha sido descargada en la PC, el usuario podrá entonces elegir su instalación. Permite que Windows XP ● Professional inicie el sistema al nivel más básico, utilizando configuraciones predeterminadas y drivers mínimos de dispositivos. Proporciona una consola de línea de comando que permite a los profesionales de informática iniciar y detener servicios, formatear unidades, leer y escribir datos en una unidad local y realizar muchas otras tareas administrativas. ○ para subconjunto de opciones para subconjunto de opciones ○ ○ ● ○ ● ● ○ ● ● Requisitos para utilizar Microsoft® Windows® XP Home Edition: Se recomienda un PC con procesador de 300 MHz o superior; se requiere un mínimo de 233 MHz;* se recomienda la familia Intel Pentium/Celeron, la familia AMD K6/Athlon/Duron o procesador compatible Agosto 2005 46 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía Se recomiendan 128 MB de memoria o más (tener solo 64 MB; puede limitar el rendimiento y algunas funciones) 1.5 GB de espacio disponible en disco duro Los requerimientos finales variarán dependiendo de la configuración de su sistema y de las aplicaciones y funciones que elija instalar. Tal vez requiera espacio adicional en el disco duro si está llevando a cabo la instalación a través de una red. Para mayor información, consulte www.microsoft.com/windowsxp. 7 Software de aplicación Llamamos software de aplicación al conjunto de programas orientados a la resolución de problemas; son aquellos programas usados por los usuarios para poder llevar a cabo las tareas necesarias de procesamiento de datos. 7.1 Categorías de software de aplicación Existen varias formas de clasificar el Software de aplicación, una de las posibles es en tres grandes categorías: 7.1.1 De uso general: Son programas o conjuntos de programas que han sido realizados con el fin de solucionar una amplia gama de problemas; de acuerdo a las circunstancias pueden llegar a resolver problemas diversos. Ejemplos de este tipo de paquetes: planillas electrónicas (Lotus, Excel) y los procesadores de texto (Word, WordPerfect). Estos programas, pueden ser usados para un uso variado: una planilla electrónica podrá usarse para llevar una contabilidad sencilla, para realizar una liquidación de sueldos, o para llevar los gastos de una casa. Es por esta razón que decimos que tiene un USO GENERAL y no específico. Este tipo de software tiene muchas ventajas: • Vienen pronto para usar, lo cual implica que no hay que hacerle modificaciones; • Ya han sido usados por muchas empresas o personas, por lo cual están ampliamente probados, tanto en plaza como en el exterior; por esta razón es muy improbable que contengan errores; • Habitualmente, detrás de este tipo de programa existe una empresa proveedora de software de cierta magnitud, lo cual implica un respaldo importante a la inversión que se realiza; • El campo de aplicación de este software es muy amplio, pudiendo solucionar problemas muy variados; • Generalmente, son de fácil aplicación y están dirigidos a usuario no necesariamente experimentados en computación; la idea es facilitarle la tarea, ni que tenga necesidad de realizar cursos prolongados para estar en condiciones de usarlos; 47 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía Como desventajas, encontramos que este tipo de programas no se adaptan a todas las necesidades; ante determinadas situaciones, se requiere un programa específico que se solucione temas puntuales. Por otra parte, a veces los paquetes de uso general son tan amplios que ocupan mucho lugar, y quizá se utilice una mínima parte de las prestaciones que el mismo brinda. 7.1.2 De uso específico Están orientados a resolver problemas de un área específica. Por ejemplo el sistema de facturación, o el sistema de contabilidad. Pueden ser usados en varias empresas, pero en ocasiones, cuando las características de las empresas son particulares, puede ser necesario que el proveedor realice cambios en esos programas, o bien que la empresa decida adecuar sus procedimientos a los mismos. Los programas de uso ESPECÍFICO frecuentemente están siendo usados en varias empresas, pero no siempre son programas tan probados, y es aconsejable tener alguna precaución en este sentido. En otras oportunidades, las características de la empresa son particulares, y el proveedor debe realizar cambios en los programas, o la empresa decide realizar cambios en sus procedimientos, para amoldarse al programa. En cuanto al costo de estos paquetes, generalmente no es demasiado elevado teniendo en cuenta lo que puede llegar a modificar toda la operativa de una empresa. 7.1.3 Hechos a medida Son confeccionados a solicitud de una persona o empresa y pueden ser desarrollados por: Personal de la empresa Proveedores de software externos contratados por la empresa Estos paquetes surgen de acuerdo al estudio realizado de los requerimientos del usuario, por lo cual en general transcurre un tiempo entre la solicitud y el programa pronto para usar. Este tipo de programación, tiene ventajas importantes: en primer lugar, se adaptan estrictamente a las necesidades del usuario de los mismos; no deberían existir partes del paquete que no fueran explotados. El programa es realizado de acuerdo al estudio que se haya realizado de los requerimientos del usuario, y en base a estos es que surge el paquete. La idea es similar a lo que ocurre cuando una persona se manda a hacer un traje a la medida y cuando lo compra en un comercio: quien encarga, en este caso, podrá elegir los detalles y lo podrá ajustar totalmente a sus necesidades: el traje se adaptará a la persona; de otra manera, probablemente sea la persona quien se adapte al traje. Esta es la gran ventaja de la programación hecha a medida. Como desventajas, encontramos que no se podrá hacer uso del paquete en forma inmediata: transcurre necesariamente un tiempo entre la solicitud y el programa pronto para usar. Por otra parte, al entrar en funcionamiento surgirán errores que habrá que ir ajustando (por más pruebas que se hayan realizado, la realidad generalmente supera la imaginación). El costo de los programas hechos a la medida, suele ser elevado. 7.2 Tipos de programas dentro de una organización. Dentro de una empresa existen tres áreas: Agosto 2005 48 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía Nivel básico u operativo Nivel medio o de control Nivel superior, gerencial o de decisión Para cada uno de ellos es conveniente contar con programas adecuados: pertenecientes a un mismo sistema de información. Es decir, todo sistema debe proveer información apropiada a cada nivel de la organización, para su buen manejo e interpretación. A nivel operativo o de producción, los programas básicamente se dedican a ingreso de datos y emisión de documentos. Ej.: facturación, cuentas corrientes etc. A nivel medio, son programas que brindan datos para verificar la adecuada realización de los procedimientos establecidos. Ej.: control de límite de crédito de clientes. A nivel gerencial se cuenta con resumen de la información y valores de indicadores para toma de decisiones. Ej.: total de ventas del trimestre por familia de artículos, gráfica de la evolución de ingresos y egresos, etc. Cuanto más arriba se está dentro de la organización, la información requerida tenderá a ser más sumarizada o resumida. Esto no quiere decir que el nivel gerencial no tendrá acceso al registro detallado de las operaciones; por el contrario, si bien por lo general se requerirá de información más global, se deberá contar con las herramientas que permitan desagregar la información y llegar al nivel de detalle que deseen. El tipo de información sumarizada surge del procesamiento de los datos obtenidos a nivel de producción o detalle, los cuales fueron controlados a nivel medio y agrupados de forma conveniente. Software Gerencial Para realizar una actividad de tipo gerencial, es preciso que se cuente con información de calidad que apoye las decisiones que debe tomar. El ambiente gerencial en la época actual es muy complejo y cambiante; el gerente, en muchas ocasiones, debe tomar decisiones en forma apresuradas y requiere de información precisa y oportuna. La información que necesita generalmente para poder tomar decisiones dependerá de: 1- El tipo de decisión –estructurada o no estructurada- que deba tomar 2- El nivel que ocupe en la organización y las actividades que realice 3- Los factores que determinen su éxito. Decisiones estructuradas y no estructuradas Una decisión estructurada es una decisión de rutina que se toma después de terminar una serie de pasos planeados con antelación. Decisiones altamente estructuradas pueden obtenerse mediante programas para luego ser evaluadas. Existen programas que se encargan de las decisiones rutinarias y deja que las personas manejen 49 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía las excepciones. Por ejemplo: a todos los clientes que compren por más de $ 50.000 tienen 60 días de plazo para pagar, si nunca compra por ese importe pero es comprador frecuente, igualmente tienen 60 días para pagar. La primera es una decisión rutinaria, pero la segunda es una decisión de excepción. Una decisión no estructurada no es rutinaria, es decir se presenta con muy poca frecuencia, por lo que no amerita el desarrollo de un sistema para ello. Lo que se hace en estos casos es reunir la información necesaria, se analiza y luego se decide. El programa solamente brinda la información necesaria. Las decisiones en los distintos niveles de la organización Generalmente cuando se trata de una empresa pequeña, los gerentes deben tomar decisiones de índole general; por lo general, los gerentes no son muchos y están informados del desarrollo de cualquier actividad de la empresa, debiendo resolver sobre cualquier tema. A medida que la empresa crece o en una empresa mayor, los gerentes son más y generalmente cada uno se especializa en determinada área; entonces, las decisiones a tomar son sólo sobre las actividades de su área, aunque esto no quita que estén informados sobre las actividades de toda la empresa. Los gerentes de nivel bajo o medio necesitan tener acceso a un software que produzca con regularidad informes ya planeados o de casos excepcionales y responda a preguntas esperadas. En cambio, a nivel más alto, se necesita emplear software que permita tener acceso a los datos almacenados de forma de poderlos clasificarlos, ordenarlos y agruparlos y poder responder, de esta manera, a consultas no pre-definidas que ayuden a la toma de decisiones. Los componentes de un software gerencial. El software gerencial difiere de una empresa a otra; en términos generales se puede definir como un conjunto de procedimientos computarizados y de bases de datos accesibles por un computador, que se integra con procedimientos manuales con el fin de proporcionar información que apoye a la toma de decisiones. Los componentes del software gerencial son: 1- Sistemas de apoyo operativo y táctico que procesan transacciones de contabilidad, ventas, producción, inventario y otras. Crean informes regulares, proporcionan respuestas a las solicitudes y consultas esperadas de los gerentes. Este tipo de software está pensado para gerentes de nivel bajo y medio que deben tomar decisiones estructuradas. 2- Software de apoyo a decisiones. Ayuda a los gerentes a extraer datos esenciales de otros sistemas para después aplicar procedimientos de análisis de datos para tomar decisiones de tipo no estructuradas. Este tipo de software a menudo se apoya en software de análisis matemático y gráfico. Agosto 2005 50 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía Las ventajas más relevantes del software gerencial son: 1234- Hacer que se capten más rápidamente los problemas y las oportunidades. Permitir a los gerentes que dediquen más tiempo a la planificación. Permitir a los gerentes estudiar, en el momento oportuno, relaciones más complejas. Ayudar a llevar a la práctica las decisiones. 8 Sistemas expertos Un sistema experto es un conjunto de programas que intentan codificar los conocimientos y reglas de decisión de los especialistas humanos, de manera que los usuarios comunes puedan aprovechar esto para tomar decisiones. Esto sistemas incluyen: 1- una base de conocimientos especializada en un área. 2- Un programa capaz de consultar la base de conocimientos y hacer recomendaciones. Estos sistemas son el resultado de años de investigación en el campo de inteligencia artificial. Para poder desarrollar un sistema, especialistas en el tema investigan para poder extraer información que formará la base de conocimientos y realizar los programas de consultas. Una vez que el sistema está pronto, se suministran datos al mismo y éste responde sugiriendo acciones a tomar de acuerdo a la base de conocimiento almacenada. 51 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía 9 SISTEMA DE INFORMACION CONTABLE 3 En toda empresa conviven varios sistemas -o mejor dicho, subsistemas- de información. Según Fowler Newton: “La Contabilidad, parte integrante del sistema de información de un ente, es la técnica de procesamiento de datos que permite obtener información sobre la composición y evolución del patrimonio de dicho ente, los bienes de propiedad de terceros en su poder, y ciertas contingencias. Dicha información debería ser de utilidad para facilitar las decisiones de los administradores del ente y de los terceros que interactúan o pueden llegar a interactuar con él, así como permitir una eficaz vigilancia sobre los recursos y obligaciones del ente”. De la definición anterior surge que la contabilidad forma parte del sistema de información que maneja toda la empresa, es decir que el sistema de información contable puede ser concebido como un subsistema del sistema de información de la empresa. Este procesamiento de información contable puede caracterizarse por los siguientes aspectos: 9 Realiza tareas necesarias: la Ley exige a toda empresa mantener un registro de sus actividades. Además elementos del entorno (por ejemplo el Gobierno), los accionistas y propietarios y la comunidad financiera exigen que se realice un procesamiento de datos. Incluso, de no ser exigido por estos, la gerencia siempre implementaría un sistema de información contable para establecer y mantener un control. 9 Sigue procedimientos relativamente estandarizados: existen reglamentos y prácticas generalmente aceptadas por las empresas, que dictan la forma de procesar los datos. 9 Maneja datos detallados: los registros de procesamiento de datos describen las actividades de las empresas en forma detallada, creando un rastro de auditoria. 9 Tiene un enfoque primordialmente histórico: los datos recabados por este sistema describen situaciones pasadas, especialmente cuando se utiliza el sistema de procesamiento por lotes. 9 Proporciona información para la resolución de problemas: los informes de contabilidad de tipo estándar producidos por el sistema, son valiosos tanto en el área financiera de la compañía, como en los niveles gerenciales más altos. Asimismo, proporciona una rica base de datos que suministra gran parte de las entradas de otros subsistemas que contribuyen a la resolución de problemas. En la actualidad, la gran mayoría de las empresas utilizan sistemas computarizados para efectuar el procesamiento de la información contable. De esta manera podemos decir 3 Extraído del trabajo monográfico “Seguridad de los Sistemas Contables en las PYMES”, Págs. 1-9 Virginia Semperena, Cecilia Peña, Febrero 2004, Facultad de Ciencias Económicas y de Administración Agosto 2005 52 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía que estos sistemas forman parte del sistema de información contable de la empresa, considerándolos como subsistema del mismo. Hay quienes suelen confundir el sistema de información contable de la empresa con estos sistemas contables computarizados sin considerar que existen otras tareas necesarias para alcanzar el objetivo de la contabilidad, las cuales no es posible informatizar. Podemos citar a modo de ejemplo las siguientes: definición de criterios de valuación, selección de unidad de medida, asignación de tareas a personas, elaboración de manuales de procedimientos contables, etc. Por lo expuesto, debe quedar claro que si bien ambos son sistemas en sí mismos, no deben ser utilizados como sinónimos. SISTEMA DE INFORMACION DE LA EMPRESA SISTEMA DE INFORMACION CONTABLE Definición de Criterios de valuación SISTEMA CONTABLE COMPUTARIZADO Elección de Unidad de medida Asignación de tareas a personas Sistema de información contable 9.1 EL PROCESAMIENTO DE LA INFORMACION CONTABLE El procesamiento de la información contable consiste en captar datos del contexto y transformarlos en información comunicable. Dicho procesamiento es susceptible de ser dividido en una serie de etapas o subprocesos en los cuales interviene, directa o indirectamente el factor humano: a)- Captación de datos: consiste en la recepción de información sobre hechos y transacciones que describen cada una de las acciones de la compañía, tanto internas como relacionadas con el entorno de la misma. b)- Controles sobre la recepción de datos: no es suficiente tener la documentación respaldante de las transacciones, sino que es necesario analizar si la misma cumple con 53 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía determinadas especificaciones y si se ha recibido toda la documentación correspondiente. c)- Análisis de datos: este subproceso marca las pautas de cómo debe actuar quién se encarga de la registración frente a la documentación recibida, determinando si corresponde o no su registro así como la forma de llevarlo a cabo. d)- Registro de datos: una vez controlados y analizados los hechos y transacciones que deben ser registrados contablemente, corresponde su registro, lo cual se traduce en los llamados “asientos de entrada”. Es necesario en esta etapa, efectuar una serie de controles en el ingreso de la información como forma de garantizar la correcta imputación contable. e)- Cálculo de saldos y de su composición analítica: según Fowler Newton, “Este proceso responde a la aplicación de un algoritmo habitualmente sencillo, dado que consiste en sumar algebraicamente el saldo anterior de la cuenta o concepto analítico de que se trate y los débitos y créditos registrados”. f)- Controles periódicos de saldos: siguiendo a Fowler Newton, “El sistema contable, prevé la aplicación de otros mecanismos de control destinados a obtener satisfacción de que los saldos mostrados por el sistema son razonablemente confiables y pueden servir como base para la preparación de informes. i)- Preparación de informes: cumplidas las etapas anteriores y sobre la base de saldos contables confiables, se procede a la preparación de los informes, los cuales en la mayor parte de los casos consistirán en documentos que serán utilizados por individuos y organizaciones tanto de dentro como de fuera de la empresa. PROCESAMIENTO REGISTRO ENTRADA (Datos) CLASIFICACION ALMACENAMIENTO CALCULO SALIDA (Información) 9.2 Procesamiento de datos contables Informatización de las tareas de procesamiento contable. Como mencionamos anteriormente, algunas de las tareas de procesamiento contable de datos pueden efectuarse con la ayuda de computadores y además como consecuencia de esta informatización va a surgir nuevas tareas, entre ellas: 1)- Captación de datos a ser registrados: para que sea posible, los datos deben ser susceptibles de lectura directa por el software contable. 2)- Registración de asientos: normalmente, estas registraciones implican anotaciones en bases de datos cuyo contenido permite en cualquier momento, “rearmar” los asientos, identificar los movimientos que afectan a las diversas cuentas y sus saldos. Agosto 2005 54 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía 3)- Comparaciones lógicas, cálculos matemáticos y clasificación de datos para la realización de controles, para la preparación de nuevos asientos, o para la preparación de informes. 4)- Armado de respuestas a consultas aisladas y de informes periódicos: los tipos de consultas de posible formulación y los informes de emisión periódica deben estar previstos por el software, para que este sea capaz de entenderlos y resolverlos. 5)- Grabación de dichas respuestas e informes en archivos electrónicos, para su posterior lectura, modificación, combinación con otro archivo, inserción en un documento, utilización por otro software o impresión. 6)- Respaldo de datos: respaldo es la obtención de una copia exacta de la información en otro medio magnético de tal modo que a partir de dicha copia es posible restaurar el sistema al momento de haber realizado el respaldo. De esta manera obtenemos una solución al problema de la pérdida de datos así como también la seguridad contra la destrucción deliberada o accidental de los mismos. La informatización de este procesamiento permite que las tareas se realicen con mayor rapidez y eficacia por las características físicas de los computadores. Sin embargo, también es necesario tener en cuenta el grado de seguridad que pueda brindar este tipo de software, lo que dependerá de que el mismo haya sido desarrollado considerando de manera conveniente este aspecto. En cuanto al alcance de esta informatización, debe tenerse en cuenta que la misma no tiene porqué abarcar todas las áreas susceptibles de informatización y puede ser progresiva, alcanzando sucesivamente a diversos subsistemas del sistema contable. 9.3 TIPOS DE SISTEMAS CONTABLES COMPUTARIZADOS Los sistemas contables informatizados (o aplicaciones contables) se encuentran comprendidos dentro del concepto de “Software de aplicación”, que es definido como el conjunto de programas orientados a la resolución de problemas. Es decir que son aquellos programas usados por los usuarios para poder llevar a cabo las tareas necesarias de procesamiento de datos. Los sistemas contables pueden clasificarse dentro de las dos últimas categorías ya que están orientadas a un área específica, y pueden ser paquetes estándar ya existentes en plaza, o programas confeccionados a medida. Por otra parte, algunos productos pueden ser solamente ejecutados en computadores individuales, mientras que otros también pueden utilizarse en redes. Lo más importante respecto de un sistema contable computarizado es que permita obtener información para la toma de decisiones, el control patrimonial y el cumplimiento de disposiciones legales. Para alcanzar con mayor eficiencia este objetivo, es de esperar que el sistema contable computarizado esté ampliamente integrado con otros sistemas, como por ejemplo facturación y liquidación de sueldos, de modo que no sea necesario ingresar los mismos datos más de una vez o preparar resúmenes de ellos en forma manual. Generalmente dicha integración es posible debido a que estos sistemas son desarrollados por la misma firma. Por el contrario, cuando para las distintas tareas se adquieren sistemas computarizadas de distinto origen, no es de esperar tal grado de integración automática. De todos modos debería considerarse si existen mecanismos que faciliten la conexión entre los diversos sistemas. 9.4 Personalización y parametrización (flexibilidad) En cuanto a personalización nos referimos a la posibilidad de que la aplicación permita la modificación de aspectos puntuales de su funcionamiento. Debido a que en los 55 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía sistemas contables esta posibilidad se encuentra más acotada que en las de propósito general, el usuario no debe adquirir aplicaciones que incluyan características incompatibles con sus necesidades. En el caso de las aplicaciones hechas a medida, el usuario debe ser quién decida sobre los aspectos significativos en el diseño de dicho software. Gran parte de la funcionalidad del sistema está basada en un conjunto de valores que afectan de manera directa su comportamiento, por ello luego de la personalización se debe proceder a la parametrización del sistema: una vez que el implantador conoce los procesos del cliente procede a configurar el sistema, para que este se adapte, tanto como sea posible, a los procesos y requerimientos del cliente. El conocimiento de las estructuras de las bases de datos puede considerarse innecesario cuando la aplicación brinda todos los informes solicitados por el usuario de acuerdo a sus necesidades, esta está totalmente integrada y ejecuta coordinadamente las principales tareas contables. En cambio, el mismo puede considerarse imprescindible para el desarrollo de programas especiales que puedan leer dichas bases de datos para obtener informes o archivos que la aplicación no genera; aunque si el desarrollo de la aplicación importadora prevé su lectura e interpretación, el conocimiento detallado de esa estructura dejaría de ser imprescindible. Por otra parte, si se realiza la exportación de datos de la aplicación contable con la expectativa de que ellos sean utilizados por otras no integradas a la misma, es necesario informarse sobre la estructura de tales archivos ya que esta información es imprescindible para diseñar programas que puedan leerlos. El control interno de cualquier empresa debe prever mecanismos para la protección de los datos contables, los cuales son considerados un activo valioso para la misma. Cuando se informatizan las tareas contables, la aplicación de los mecanismos referidos depende, en parte, del grado de seguridad de los sistemas computarizados que se utilicen. Sin embargo, también es necesario considerar el grado de seguridad en los niveles inferiores al del software de aplicación como lo son, el software de base y el hardware. Si el grado de seguridad en alguno de estos niveles no es el adecuado, la aplicación podrá ser atacada por más que esta posea un excelente nivel de seguridad. La puesta en marcha de una aplicación contable computarizada incluye diversas actividades: Instalación, tarea durante la cual: a)- se define los directorios que la aplicación utilizará para leer los programas; b)- se extraen los archivos que el proveedor hubiere entregado comprimidos; c)- se copian los archivos necesarios en los directorios adecuados; d)- se definen algunas pautas para el funcionamiento de la aplicación. La personalización se basa en las características del Hardware a utilizar y en las necesidades o preferencias del usuario, puede formar parte de la instalación o efectuarse luego de la misma; además puede ser modificada con posterioridad. En cuanto a parametrización, antes de poder utilizar funciones como la emisión de facturas o boletas, o cualquier otra opción propia de los procedimientos administrativos de una empresa, se deberá alimentar al sistema con la información básica necesaria para su funcionamiento. Durante esta actividad el implantador configura: Agosto 2005 56 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía · · · Los parámetros de cada una de las empresas que el cliente maneja Las pantallas de los principales procesos que maneja el sistema La seguridad de los datos Apertura de bases de datos: Dicha apertura incluirá el registro de datos: del contexto, utilizables en la contabilidad de más de un ente; y necesarios para la contabilidad de cada ente emisor de información contable. Selección y diseño de los informes a ser preparados: Normalmente, los sistemas contables computarizadas prevén un conjunto de consultas e informes prediseñados que los usuarios pueden requerir o no y no permiten que los usuarios elijan y diseñen otras consultas e informes. Por lo expuesto debería evaluarse si los informes prediseñados contemplan todos los datos que a juicio de la gerencia sean imprescindibles para: ¾ toma de decisiones ¾ control patrimonial ¾ preparación de informes de uso externo ¾ cumplimiento de las normas legales En el caso de las aplicaciones hechas a medida, el usuario deberá brindar al diseñador las pautas necesarias efectos de confeccionar los informes que contemplen los datos referidos anteriormente. Definición de medidas de seguridad Es importante que en la empresa se realice un análisis de riesgos de la información procesada, a efectos de identificarlos y establecer su importancia. A partir de este análisis se podrán desarrollar los mecanismos básicos de seguridad, que dependerán de la tecnología utilizada. Estos mecanismos deberán formar parte de una Política de Seguridad, la cual debe estar formalmente documentada y adecuadamente divulgada entre los funcionarios para lograr la concientización, entendimiento y compromiso de todos los involucrados. Asimismo deberán llevarse a cabo tareas de mantenimiento de dichas sistemas, que podrán consistir en revisar y actualizar las bases de datos generales, de modo de lograr una mayor eficiencia o seguridad. Las actividades descriptas anteriormente deberían ser asignadas a los diversos participantes del proceso de generación de información contable, documentando dicha asignación por escrito e incluyéndola en los correspondientes manuales de organización y procedimientos. 9.5 USUARIOS DE LOS SISTEMAS CONTABLES COMPUTARIZADOS En general, los analistas emplean el término usuario final para referirse a las personas que no son especialistas en sistemas de información pero que utilizan computadoras para hacer su trabajo. Estos usuarios finales pueden dividirse en cuatro categorías (4): 57 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía 1)- Usuarios finales directos: son los que interactúan con el sistema suministrando los datos de entrada al mismo y recibiendo sus salidas. 2)- Usuarios finales indirectos: son aquellos que se benefician de los resultados o reportes que genera el sistema, pero que no interactúan de manera directa con el Hardware o el Software. 3)- Usuarios gerentes: son quienes tienen responsabilidades administrativas en los sistemas de aplicación. Actúan como usuarios finales directos o indirectos y tienen autoridad para aprobar o no la adquisición de los sistemas. Asimismo son responsables ante la organización de la efectividad de los mismos. 4)- Usuarios directivos: son los que incorporan los usos estratégicos y competitivos de los sistemas de información en los planes y estrategias de la organización. Además evalúan los riesgos originados por fallas en los sistemas a los que se expone la misma. En el caso particular de los sistemas contables informatizados en las PYMES, podemos llegar a identificar estas cuatro categorías de usuarios, dependiendo de la organización de la empresa. Sin embargo podemos decir que las dos primeras siempre podrán ser identificadas independientemente de ello. Por otra parte los resultados o reportes obtenidos por los sistemas contables pueden prepararse para su uso exclusivo dentro de la empresa o para su suministro a terceros (sin perjuicio de ser también empleados internamente). De esta manera, la cantidad de posibles usuarios de la información contenida en dichos reportes, principalmente en los Estados Contables, puede variar. Como ejemplos de ellos podemos citar a: - propietarios prestamistas proveedores inversores potenciales empleados gerentes directores clientes autoridades impositivas organismos de control estatal analistas financieros, etc. Dada esta diversidad de usuarios con objetivos particulares y con intereses variables en cuanto a la información emitida, es necesario establecer algún tipo de limitación en cuanto a la cantidad de la misma a incluir en los reportes. De todas formas, en todo este proceso de comunicación, sea interna o externa, los informes contables requieren, para ser útiles a cada usuario potencial, las siguientes características cualitativas: a)- comprensibilidad: deben ser fácilmente comprensibles para cualquier tercero interesado en la empresa que posea los conocimientos básicos de contabilidad y que esté dispuesto a estudiar la información con razonable diligencia. Agosto 2005 58 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía b)- relevancia: la información debe ser relevante con respecto a las necesidades de los usuarios en la toma de decisiones. Se entiende relevante cuando influye sobre las decisiones económicas de los usuarios al ayudarlos a evaluar acontecimientos pasados, presentes o futuros. C- confiabilidad: los Estados contables deben ser y son confiables si cumplen las siguientes características: 9 presentación fiel de las transacciones del ente y eventuales riesgos al respecto 9 reflejar la sustancia económica antes que la formalidad 9 neutralidad e imparcialidad incluyendo solo realidades de la empresa, excluyendo expectativas particulares 9 prudencia y cautela al emitir los juicios y efectuar las estimaciones cuando no hay condiciones de certidumbre, de modo tal que los activos o los ingresos no hayan sido sobre valorados y los pasivos o egresos no hayan sido subvalorados 9 integridad en cuanto se incluyan todas las operaciones materiales y relevantes del ente en los estados contables d)- comparabilidad: de modo que los usuarios puedan efectuar comparaciones válidas de los estados contables de una empresa para poder identificar tendencias en su situación patrimonial y en sus resultados de gestión. Esta característica implica que exista consistencia en los criterios utilizados o la necesidad de identificar las políticas y sus cambios. 9.6 INCIDENCIA DE LAS NORMAS CONTABLES Según el Art. 1 del decreto 105/991 podemos entender por normas contables “todos aquellos criterios técnicos previamente establecidos y conocidos por los usuarios, que se utilizan como guía de las acciones que fundamentan la preparación y presentación de la información contable (Estados contables) y que tienen como finalidad exponer en forma adecuada la situación patrimonial, económica y financiera de un ente”. (Libro Temas de Derecho Societario Coordinado por Alicia Ferrer, Aspectos económicos y contables de la Ley 16060, por Cr. Federico Heuer) Estas normas pueden variar según el emisor: a)- Legales: establecidas por el derecho positivo. b)- Profesionales: emanadas de un organismo profesional competente (Pronunciamientos del Colegio de Contadores, Economistas y Administradores del Uruguay, NICs) c)-Institucionales: válidas en el marco de una determinada institución (normas banco centralistas, privadas, etc.) Al diseñar o adquirir un sistema contable computarizado deben considerarse aquellas normas contables que refieran tanto a la forma como al contenido de los informes emitidos por el mismo. Con respecto a los datos de entrada, en el marco legal no surge ningún aspecto relacionado con el respaldo documental de los hechos económicos que luego se ven 59 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía reflejados en los Estados Contables y otros informes trascendentes para evaluar las características de confiabilidad y relevancia de los informes emitidos. Sin embargo, existe cierta reglamentación, como la emitida por la Dirección General Impositiva donde se establecen los requerimientos mínimos exigidos para la documentación respaldante de las operaciones comerciales. En cuanto al procesamiento de la información, las tareas del mismo deben ser diseñadas de modo de permitir el cumplimiento de las normas referidas a los informes contables a emitir, como por ejemplo el decreto 103/991 que refiere a la presentación de Estados Contables Uniformes. Por otra parte, los sistemas empleados también deberían facilitar la aplicación de normas legales o profesionales de valuación de activos y pasivos. Agosto 2005 60 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía 10 SOFTWARE LIBRE 4 En la informática de los años sesenta y setenta se disponía libremente de las herramientas necesarias y del código fuente de la gran mayoría de los programas. La colaboración formaba parte de los hábitos de la comunidad científica y además, ante la diversidad de plataformas, era necesario disponer del código cuando se adquiría el programa para poder adaptarlo al hardware de cada cual. Ni siquiera se hablaba de “software libre”, pues todo el que quería programar se beneficiaba de ello y veía lógico que los demás se pudiesen beneficiar a su vez. Los programadores copiaban, intercambiaban sus fuentes, podían estudiarlas, evaluarlas, adaptarlas a sus necesidades y a su hardware, reutilizaban una parte del código para hacer nuevos programas, etc. Pero, a principios de los años ochenta, ese modelo entra en crisis, y rápidamente comienza a emerger un modelo privatizador y mercantilista. Los computadores, hasta entonces escasos, caros y poco potentes, se hacen accesibles, cada vez más baratos y potentes y aparece un nuevo negocio, el de los productores de software. Los programas se empezaron a vender como productos comerciales independientes de las máquinas y sólo con el código binario, para ocultar las técnicas de programación a la competencia. La nueva industria del software comienza a apoyarse en la legislación sobre propiedad intelectual. El sistema operativo UNIX se fragmenta en diversas versiones privatizadas y progresivamente incompatibles entre sí, que los programadores no pueden modificar. Lo que era práctica habitual, se convirtió en un delito: el que compartía el código y cooperaba con otras personas pasó a ser considerado un “pirata”. Al tiempo que los sistemas van haciéndose incompatibles entre sí, la comunidad de investigadores se va desmembrando poco a poco. Muchos se integraron a empresas firmando contratos en los que se comprometían a no compartir con nadie de fuera el código fuente. Por su parte, los laboratorios de investigación comenzaron a hacer lo mismo y obligaban a sus empleados a suscribir el mismo tipo de cláusulas. Para cerrar el círculo, los compiladores, los depuradores, los editores y demás herramientas imprescindibles para programar eran propietarios y se vendían a precios respetables: se trataba de que la programación sólo estuviese en manos de la naciente industria del software. Hubo programadores que no aceptaron esta nueva situación y continuaron con sus prácticas, pero parecía solo una cuestión de tiempo que la industria del software propietario arrinconara y dejara definitivamente fuera de la ley la cultura cooperativa y confiada de las primeras comunidades. A principios de los años ochenta, algunos de esos programadores que habían conocido la vieja cultura de los años setenta, no se plegaron a los designios privatizadores de la industria del software; proponiéndose la tarea de construir un sistema operativo libre completo. 10.1 Reseña Histórica Hasta finales de los años sesenta, el software era libre. El código fuente de los programas se distribuía sin trabas entre los compradores de computadores como parte 4 Extraído del trabajo monográfico “Software Libre, utilización y comparación con Software Propietario”, Págs. 11-30, Alejandra Hernández, Karina Tejera, Julio 2004, Facultad de Ciencias Económicas y de Administración 61 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía del servicio que recibían para ser utilizado libremente. A principios de los años setenta, las empresas productoras de software descubrieron la ventaja de registrar su producción y venderla; pero para que esta venta resultase eficaz, era menester controlar la propiedad del software, ya que siendo propietarios de su código fuente podrían de restringir su divulgación generando dependencia de los usuarios. En los comienzos de la década de 1980, Richard M. Stallman formaba parte del laboratorio de Inteligencia Artificial del Instituto de Tecnología de Massachussets (MIT). Stallman no compartía la idea de mantener el código fuente en secreto, ya que si éste se comparte, entonces los demás programadores pueden aprender y a su vez colaborar aportando ideas al conjunto. Es entonces en 1984 que Stallman decide apartarse del MIT y fundar la Free Software Foundation (FSF), organización patrocinadora del proyecto GNU, que implica revelar los códigos fuente y hacerlos disponibles para todos. 10.2 Proyecto GNU En 1984, Richard Stallman crea el Manifiesto GNU, que surge como reacción contra la tendencia a mantener el código fuente de los programas en secreto. GNU es un acrónimo recursivo que significa “GNU is Not Unix” (GNU No es Unix). Este proyecto busca crear un Sistema Operativo completo que haría todo lo que hacía el Sistema Operativo Unix con la diferencia de no tener costo alguno. Unix es un sistema operativo creado en laboratorios de AT&T y Bell por Ken Thompson y Dennis Ritchie. El sistema estaba diseñado para soportar a múltiples usuarios en una variedad de plataformas de hardware. En un sentido más amplio, comprende el núcleo del sistema operativo más un conjunto de programas que permiten compilar lenguajes de programación, editar textos, interpretar comandos, manejar archivos y discos, acceder a otras máquinas, establecer comunicaciones telefónicas, enviar correos electrónicos, etc. El Proyecto GNU da a los usuarios la posibilidad de acceder al código fuente del sistema operativo, otorgando además la libertad de utilizar el software que necesiten, realizarle las modificaciones que deseen y compartir estos cambios en la magnitud que prefieran. Puesto que el objetivo principal de la FSF es promocionar y difundir el software libre, una de las primeras tareas que tuvo que afrontar fue asegurarse de que el software GNU creado con este fin fuese siempre libre. Para conseguir este propósito, la FSF desarrolló la Licencia Pública General GNU (GPL en adelante). La GPL es la contrapartida a las licencias de los programas comerciales. La única obligación que impone la GPL es que si el usuario distribuye el programa a otra persona debe dar a ésta los mismos derechos que tenía el usuario original. Es decir, no se puede impedir que el software que es libre siga siendo libre para siempre. Otro aspecto importante de la GPL es la renuncia de garantía. Para proteger los intereses de los autores de software que ponen sus programas bajo la GPL, se establece que no existe ninguna garantía sobre el programa, y que el usuario es el único responsable de todas las consecuencias que el uso del programa pudiera acarrear. Así también se Agosto 2005 62 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía asegura que si alguien modifica el programa, la reputación del autor original permanece intacta. No obstante, usuarios o compañías podrían optar por ofrecer garantía sobre un programa GNU a los usuarios a cambio de un precio. Ésta es una de las maneras de las que las empresas comerciales pueden seguir existiendo y ganando dinero a partir del software libre. Puesto que libre no es lo mismo que gratuito, las empresas tienen derecho a vender el software, y a ofrecer garantías o soporte técnico a cambio de un precio. Naturalmente, no pueden eliminar al usuario sus derechos a intercambiar y modificar el programa. La licencia establece que si se utilizan partes de un programa GPL en otro programa, entonces el programa resultante debe estar también protegido por la GPL (para evitar que el software deje de ser libre). La FSF es la creadora de muchas de las utilidades que se usan ampliamente en los sistemas Linux. Puesto que un sistema operativo es mucho más que un núcleo, conteniendo un amplio abanico de utilidades y programas, la FSF solicita que los sistemas Linux sean llamados propiamente GNU/Linux, viniendo a significar que se trata de herramientas GNU y un núcleo Linux. A pesar de que esta solicitud pudiera estar justificada, apenas ha calado en la comunidad, y estos sistemas siguen siendo conocidos únicamente como Linux. GNU no es el único proyecto de software libre. A lo largo del tiempo han ido surgiendo otras iniciativas que también tratan de difundir el modelo de software libre. Cada una de ellas ha desarrollado una licencia ligeramente diferente bajo la que colocar sus programas. 10.3 BSD (Berkeley Software Distribution) El movimiento del software libre también le debe mucho a la Universidad de Berkeley, California. El grupo de profesores, investigadores licenciados y estudiantes, había desarrollado una versión de UNIX conocida como BSD (Berkeley Software Distribution). AT&T compartía su versión de UNIX con Berkeley, y los programadores de Berkeley arreglaban, ampliaban y mejoraban el software. Estas extensiones formaban el núcleo del BSD. Su trabajo era en parte experimental y en parte práctico, pero los resultados fueron muy bien acogidos. El equipo construyó su versión sobre un código de AT&T; cientos o incluso miles de personas que contribuyeron con el proyecto publicaron su código, pero AT&T no lo hizo. De este modo AT&T controlaba a todo el que quisiera usar BSD, y la empresa no pensaba ni remotamente unirse al movimiento de software libre. El equipo de Berkeley empezó a organizar a la gente para escribir un código fuente que pudiera reemplazar aquellos fragmentos. En junio de 1991, el grupo produjo el Network Release 2, una versión que incluía casi por entero una versión operativa del UNIX. AT&T consideró que el código libre de Berkeley significaba una dura competencia, por lo que le inició un pleito que mantuvo ligados a Berkeley y el proyecto BSD durante varios años. En ese tiempo empezaron a generarse otros proyectos de software libre. Se generaron también varias versiones libres del UNIX BSD bien aceptadas y apoyadas por 63 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía la comunidad del software de código libre. OpenBSD, NetBSD y FreeBSD son tres de ellas, tal vez las más populares, las cuales existen aún hoy. La licencia BSD establece que cualquiera puede realizar cualquier acción con el programa, incluido copiarlo (en formato fuente o binario) y modificarlo. Además, en el caso de que alguien lo modifique, la obra resultante modificada no tiene por qué ser distribuida bajo una licencia libre, sino que puede ser incluida en programas comerciales. Esta última posibilidad es la que hace que mucha gente no utilice esta licencia, puesto que permite a casas comerciales de software aprovecharse del trabajo de otros y utilizarlo exclusivamente en su propio beneficio. Es posible usar el código para cualquier cosa y con cualquier fin siempre y cuando se reconozca al autor del código original. Características más relevantes de ambas licencias: GPL (General Purpose License) Desarrollado por la FSF (Free Software Foundation) Al modificarlo, copiarlo o distribuirlo no se puede impedir que el software que es libre siga siéndolo. No existe obligación por parte del autor de garantizar el programa BSD (Berkeley Software Distribution) Desarrollada por la Universidad de Berkeley Al modificarlo, copiarlo o distribuirlo el software que es libre puede dejar de serlo Debe reconocerse el autor del código original 10.4 OTRAS LICENCIAS LIBRES La licencia Artística permite a los usuarios la distribución y modificación del software, mientras que reserva para el autor una especie de “control artístico” sobre su obra. Es el autor original (el artista) el que decide qué dirección debe tomar el desarrollo del programa. En 1998, se introdujo un nuevo término para referirse al software libre, principalmente debido a la confusión que introduce el término inglés “free”, que significa tanto “libre” como “gratuito”. Este término es OpenSource. El software OpenSource es aquel cuyas fuentes están disponibles para el público. En la actualidad el OpenSource es utilizado para definir un movimiento nuevo de software, diferente al movimiento del software libre, aunque no completamente incompatible con éste. Agosto 2005 64 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía Algunas casas de software han desarrollado nuevas licencias OpenSource para sus programas. Entre éstas se cuentan: □ La QPL, desarrollada por Troll Tech para su librería Qt. Esta licencia permite programar bajo cualquier licencia libre (artística, LGPL, MIT, BSD, QPL, etc.) □ La NPL, desarrollada por Netscape Communications para su proyecto Mozilla. Con esta licencia Netscape se reserva el derecho a incorporar los desarrollos de terceros en su software, sin estar obligada a redistribuir el código fuente de aquellos. □ La SCSL (Sun Community Software License), bajo la que Sun Microsystems ofrece algunos de sus productos, como StarOffice o Solaris 8. Acogiéndose a esta licencia, es posible efectuar modificaciones y mejoras en el código fuente sin necesidad de informar ni facilitar dichos cambios a Sun. De igual forma, los cambios pueden ser incluidos en productos comerciales sin cargo alguno. Si bien existen muchas más licencias libres, detallamos las anteriores de forma de introducir al lector sobre las peculiaridades existentes en ellas. Consideramos conveniente contrastar las características principales de las licencias más utilizadas en las filosofías de software libre y software propietario, según el estudio realizado por la consultora australiana Melbourne Cybersource a principios del 2003. En dicho estudio se buscaba determinar las diferencias entre la licencia utilizada por el sistema operativo de Microsoft Windows XP (EULA) y la licencia utilizada por el software de código abierto, entre los que se incluye Linux (GNU GPL). 65 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía Licencia EULA Licencia GNU GPL • Se prohíbe la copia. • • Puede ser empleado en un único ordenador con un máximo de 2 procesadores. Permite la copia, modificación y redistribución del software. • Proporciona garantía de los derechos del usuario a la copia, modificación y redistribución del software. • Como no tiene costo, tampoco ofrece garantías. • No puede ser empleado como webserver o fileserver. • Registro necesario a los 30 días. • Puede dejar de funcionar si se efectúan cambios en el hardware. • • Las actualizaciones del sistema pueden modificar la licencia, si la compañía lo desea. Puede ser vendido y se puede cobrar por los servicios sobre el software. • Solo puede ser transferida una vez a otro usuario. Cualquier patente sobre el mismo debe ser licenciada para el beneficio de todos. • Impone limitación sobre la ingeniería inversa. El software modificado no debe tener costo por la licencia. • Tiene que incluir el código fuente. • Los cambios en la licencia deben mantener ciertos términos generales • • • Da a Microsoft derecho para en cualquier momento recoger información del sistema y su uso, y también para entregar dicha información a terceros. • La garantía es por los primeros 90 días. • Actualizaciones y parches sin garantía. Agosto 2005 66 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía Stallman escribió lo siguiente: “Considero una regla de oro que si a mí me gusta un programa, debo compartirlo con otras personas a quienes también les guste. Los vendedores de software quieren dividir a los usuarios y conquistarles, haciendo que cada usuario acepte el hecho de no compartir nada con los demás. Yo me niego a romper la solidaridad con otros usuarios de esa forma. Por tanto, para poder seguir usando los ordenadores sin deshonor, he decidido recopilar un cuerpo suficiente de software libre, de modo que pueda arreglármelas sin usar ningún software que no sea libre” ¿Qué es Software Libre? Por Software Libre se entiende aquel que se distribuye con su código fuente disponible y por lo tanto es posible realizar modificaciones si así se desea. El código fuente es publicado con el fin de: - Obtener criticas o comentarios sobre posibles mejoras por parte de los usuarios para mejorar el producto - Recibir correcciones efectuadas por programadores terceros a problemas detectados en el software para poder integrarlos inmediatamente a una eventual versión mejorada - Ganar prestigio y eventualmente si el software se torna altamente popular y de interés para empresas, lucrar en base a honorarios personales por horas de consultoría, asesoramiento o capacitación. El Software Libre es un tipo particular de software que le permite al usuario el ejercicio de cuatro libertades básicas codificadas por Stallman: - Libertad 0 – Libertad de ejecutar el programa para cualquier finalidad - Libertad 1 – Libertad de estudiar cómo funciona el programa y adaptarlo a sus propias necesidades - Libertad 2 – Libertad de redistribuir copias para ayudar al vecino - Libertad 3 – Libertad de mejorar el programa y publicar las propias mejoras para que se beneficie la comunidad. LIBERTAD 0 – “Libertad de ejecutar el programa para cualquier finalidad” El ejercicio de esta libertad implica la posibilidad de utilizarlo con cualquier fin; ya sea educativo, cultural, comercial, político, social. Esta libertad deriva de que existen ciertas licencias que restringen el uso del software a determinados propósitos, o que prohíben su uso para determinadas actividades. Significa la libertad para cualquier persona u organización de utilizarlo en cualquier tipo de sistema informático, para cualquier clase de trabajo, y sin tener la obligación de comunicárselo al desarrollador o a alguna otra entidad específica. LIBERTAD 1 – “Libertad de estudiar cómo funciona el programa y adaptarlo a sus propias 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 cómo realiza determinada tarea, descubrir que otras posibilidades tiene, qué es lo que le falta para hacer algo, etc. El adaptar el programa a mis necesidades implica poder suprimirle partes que no me interesen, agregarle partes que considere importantes, copiarle una parte que realiza una tarea y adicionarla a otro programa, etc. 67 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía LIBERTAD 2 – “Libertad de redistribuir copias para ayudar al vecino” Quiere decir que soy libre de redistribuir el programa, ya sea gratis o con algún costo; ya sea por e-mail, FTP, o en CD; a una o varias personas, sin importar la distancia a la que se encuentre. La libertad de distribuir copias debe incluir tanto las formas binarias o ejecutables del programa, como su código fuente, sean versiones modificadas o sin modificar. LIBERTAD 3 – “Libertad de mejorar el programa y publicar las propias mejoras para que se beneficie la comunidad” Tener la libertad de hacer mejor el programa, implica que se pueden hacer menores los requerimientos de hardware para funcionar, que el programa tenga mayores prestaciones, que ocupe menos espacio, que tenga menos errores, etc. El poder liberar las mejoras al público otorga la libertad de poder redistribuir ese programa mejorado, o simplemente proponer la mejora en algún lugar público. Para que estas libertades tengan sentido, debe existir acceso al código fuente del programa; por lo tanto la posibilidad de acceder al código fuente es una condición necesaria para el software libre. 10.5 Características del Software Libre • El software libre es siempre “opensource”, es decir de código abierto, ya que ello es una condición imprescindible para ejercer las libertades de estudiarlo, modificarlo, mejorarlo y adaptarlo Para cumplir con la definición de opensource debe cumplir las siguientes condiciones: ▫ Libre Redistribución. No debe restringir a nadie vender o entregar el software como un componente de software que contenga programas de diferentes fuentes ▫ Código fuente. El programa debe incluir el código fuente y se debe permitir su distribución tanto como código fuente como compilado. Cuando de algún modo no se distribuye el código fuente junto con el producto, deberá proveerse un medio conocido para obtener el código fuente sin cargo a través de Internet ▫ Trabajos Derivados. Debe permitir modificaciones y trabajos derivados y debe permitir que éstos se distribuyan bajo las mismas condiciones de la licencia del software original ▫ Integridad del código fuente del autor. La licencia puede restringir la distribución del código fuente modificado sólo si se permite la distribución de “patch files”5 con el código fuente con el propósito de modificar el programa en tiempo de construcción. Debe permitir la distribución del software construido en base al código fuente modificado ▫ No discriminar personas o grupos ▫ No discriminar campos de aplicación ▫ Distribución de la licencia. Los derechos concedidos deben ser aplicados a todas las personas a quienes se redistribuya el programa sin necesidad de obtener una licencia adicional ▫ La licencia no debe ser específica a un producto ▫ La licencia no debe contaminar otro software 5 - Se puede traducir como archivos de parche; se trata de archivos puestos a disposición de los usuarios, los cuales corrigen errores u omisiones detectadas en los programas vendidos. Son archivos que contienen modificaciones a programas anteriores, con la intención de solucionar algún tipo de error que produce que los programas funcionen mal o no funcionen Agosto 2005 68 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía • Se encuentra protegido por licencias de copyleft, la cual registra los derechos del software y luego otorga a los usuarios derechos liberales para hacer innumerables copias mientras no dañen los derechos de otras personas a usar el software. Se utiliza el término copyleft como sinónimo de la GNU GPL que significa General Purpose License. Esta licencia otorga al usuario la libertad de leer y modificar el código fuente de un paquete protegido con GPL, pero accediendo éste a distribuir cualquier cambio o mejora si distribuye el software • El software libre podrá ser de costo cero o mayor a cero ▫ Costo Cero: sin ser un requerimiento, la mayoría del software se encuentra disponible gratuitamente, existiendo la posibilidad de acceder a él sin incurrir en costo alguno ▫ Costo Mayor a Cero: es posible adquirir el software abonando un costo La naturaleza gratuita del software, pronto condujo a problemas económicos, ya que el proyecto GNU costó su tiempo y al principio no generaba verdaderas ganancias. Por esta razón, se vislumbró la posibilidad de vender copias de software o incluso servicios, mientras no se ocultase el código fuente ni se restringiese su libertad de uso. La Free Software Foundation empezó a vender manuales impresos, cintas y luego CD-ROM con el software. 10.6 ¿Qué no es Software Libre? De acuerdo a las características de software libre mencionadas anteriormente, pueden generarse confusiones con otro tipo de software, por lo que es importante puntualizar qué no es software libre. Gratis - Software Gratis no implica Software Libre. Existe una infinidad de programas que se pueden obtener de forma gratuita, ya sea descargándolos de Internet, obteniéndose por medio de promociones, etc., pero no proveen acceso al código fuente, lo que los excluye de la definición de software libre. Estos son los denominados Freeware Acceso al código fuente - Esto quiere decir que si bien es posible acceder al código fuente no implica que se obtengan las libertades inherentes al software libre. De dominio público - El software de dominio público es aquel que no cuenta con licencias de uso. De esta forma cualquiera puede adueñarse de él. El software libre siempre está protegido por la licencia de Copyleft. 69 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía 10.7 COMPARACIÓN CON SOFTWARE PROPIETARIO Software propietario es aquel que no reúna la totalidad de los requisitos señalados para el software libre. Se define como software propietario, todo producto de software que imponga al usuario restricciones legales en su derecho de uso del producto, o no permita el acceso al código fuente del mismo. Estas restricciones se traducen en la limitación, por parte del usuario, de usar e instalar el producto en más de un equipo (licencia de uso), o de emplear el producto todo el tiempo que así lo desee (caducidad de licencia). Asimismo puede darse la situación de que el usuario no sólo no tenga acceso al código fuente, sino que se vea legalmente impedido de hacerlo, de acuerdo a lo que establezca la licencia correspondiente. Ventajas de Software libre - Tiende a ser muy eficiente, robusto y diverso, debido a que mucha gente puede acceder a él y realizarle modificaciones y correcciones adaptándolo para colmar diversas necesidades. Al brindarle a los usuarios la oportunidad de estudiarlo y modificarlo, cualquier persona con los conocimientos técnicos suficientes puede aumentar las capacidades del software y adaptarlo a sus necesidades particulares. Además, en el caso de errores los mismos usuarios pueden analizar sus causas y solucionarlos. En el espíritu tradicional en el que se desarrolla el software libre, los usuarios suelen poner a la disposición de los demás sus mejoras y correcciones, lo que acelera su evolución. Por el contrario, cuando se presentan errores en el software propietario, los usuarios son dejados a merced de los proveedores, sin tener ningún mecanismo directo para solucionarlos. En este sentido, una gran cantidad de las licencias del software propietario son muy claras en que el software es licenciado sin ofrecer ninguna clase de garantía al consumidor que paga por adquirir el software, de modo tal que el proveedor no está obligado a solucionar ninguna clase de errores, sin embargo en algunos casos los proveedores de software propietario dan soporte a los usuarios y les ayudan a resolver los problemas. Aunque en las licencias de software libre tampoco suele ofrecerse ninguna garantía, se le permite al usuario manipular el software de la manera que desee para que tenga alternativas aún en el caso en que el proveedor no esté interesado en ayudarle. El usuario puede contratar a cualquier compañía para que le solucione sus problemas. La consecuencia de esto es que, en términos generales, el software libre es muy robusto y, en comparación con el propietario, suele tener menos errores de programación que lo vuelvan vulnerable a ataques de seguridad, virus y otros problemas que afectan constantemente a la mayoría de programas propietarios. Naturalmente también hay muchos programas de software libre de muy mala calidad. Sin embargo, es fácil reconocer proyectos de software libre de gran magnitud y de increíble calidad, que en los últimos años han comenzado a desplazar programas propietarios. - Reutilización del conocimiento. En vez de empezar siempre desde cero se puede empezar un proyecto desde un fundamento establecido - Crear aplicaciones de bajo costo - Importantes ahorros en la adquisición de licencias - Posibilidad de estar en control del software, implica poder dominar los posibles problemas y solucionarlos Agosto 2005 70 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía - Es de libre distribución Se rompe el círculo de dependencia tecnológica sin caer en violaciones de leyes vigentes con el uso del software pirata. Desventajas de Software libre - La curva de aprendizaje es mayor debido a que se encuentra más generalizado el uso de software propietario - El software libre no tiene garantía proveniente del autor - Se necesitan dedicar recursos a la reparación de errores - Se requieren conocimientos previos acerca del funcionamiento del sistema operativo, para lograr un funcionamiento adecuado del hardware. “Si uno desea comenzar a utilizar software libre es lógico y previsible que surjan problemas como en todo proceso de migración, por lo cual es muy importante contar con un buen soporte técnico, mesa de ayuda o algún grupo de personas comprometidas que puedan ayudar a salvar dichas complicaciones. El software libre sin una importante política de soporte detrás sólo sirve para aquellos que poseen conocimientos avanzados en informática. - Existen muchos proyectos pequeños que carecen de buen soporte - Se deben chequear constantemente las publicaciones sobre correcciones al software - La diversidad de distribución, licencias de uso, herramientas con un mismo fin, etc., puede crear confusión en cierto número de personas Ventajas de Software propietario - Generalmente el software propietario se publica luego de haber sido sometido a sucesivas pruebas de control de calidad, lo que lo hace muy robusto - El software es realizado por programadores con mucha experiencia - Existe software propietario diseñado para aplicaciones muy específicas - Es de amplia difusión, lo que motiva la existencia de grandes planes de capacitación. También es posible la aseveración recíproca. - Garantías del proveedor Desventajas de Software propietario - No es posible acceder al código fuente, lo que hace imposible encontrar la causa de un resultado erróneo - Es imposible realizar modificaciones por uno mismo, sino que hay que esperar a que la compañía fabricante libere la actualización, y en algunos casos se debe abonar una suma extra para obtener ésta - Es ilegal hacer copias del software sin antes haber contratado las licencias necesarias - Se genera la dependencia de un proveedor - Las empresas productoras de programas no se responsabilizan por los defectos que éstos puedan contener, ni garantizan su aplicabilidad para ningún fin determinado En base a las ventajas y desventajas analizadas precedentemente se observa que no es posible obtener una conclusión contundente ya que existen diversas opiniones que sostienen a su vez diversas posturas, cada una de ellas tienen opiniones similares para productos diferentes (por ejemplo, ambas filosofías remarcan como característica la robustez de su producto), lo que no permite tomar una posición definitiva. 71 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía Si bien ambas filosofías presentan como una de sus cualidades la robustez de sus programas, es discutible cual lleva la delantera en este ítem, ya que si bien el software propietario se publica luego de varias pruebas de control y es desarrollado por programadores muy capacitados, lo que parecería en principio un punto a su favor, el software libre al ser desarrollado por una importante comunidad es capaz de reunir entre sus colaboradores una amplia gama de conocimientos, experiencia, intereses, cultura, etc. logrando así un producto capaz de contemplar los más diversos requerimientos. El hecho de que el software libre nos permita acceder y modificar el código fuente, parece representar una importante ventaja frente al software propietario debido a que en ocasión de encontrar errores o requerir adaptaciones, no sería necesario esperar a que el desarrollador libere tales mejoras, ya que el programa podría ser modificado por uno mismo. Aunque esto puede traer aparejado el inconveniente de tener que destinar recursos (personal, tiempo y/o dinero) a la reparación de fallas. Si bien el acceso al código fuente es una característica importante del software libre, para el usuario medio, cuyos requerimientos de software se ven satisfechos con herramientas básicas, esta característica suele ser prácticamente irrelevante. Es necesario destacar, dada la realidad económica que atraviesa la región, que una característica saliente del software libre sobre el software propietario, es el ahorro monetario que se puede obtener, dada la posibilidad de crear aplicaciones de bajo costo (en virtud de la capacidad de reutilización del conocimiento), así como también gracias a la disminución de la inversión necesaria para adquisición de licencias; pero hay que tener especial cuidado con esta afirmación ya que el mero ahorro en licencias no significa necesariamente un ahorro en la inversión, ya que si bien estos importes disminuyen existen otros costos que podrían incrementarse, tales como costo de soporte, implantación, capacitación, etc. No obstante las ventajas y desventajas descriptas anteriormente, no es posible aseverar que uno u otro software sea más conveniente, ya que la adopción del mismo dependerá de cada caso en particular; para los cuales deberán considerarse distintos aspectos, tales como: los conocimientos informáticos de los usuarios, las necesidades específicas de software que cada uno tenga, la capacidad de inversión con que cuenten, políticas internas de la empresa, etc. 10.8 Comparación LINUX vs. WINDOWS Si bien software libre y software propietario son filosofías que abarcan gran cantidad de programas y desarrollos, podríamos nombrar los sistemas operativos WINDOWS y LINUX como los íconos de cada una de ellas. WINDOWS es un sistema operativo diseñado por la empresa Microsoft, y que según el estudio realizado por C.U.T.I., es utilizado por el 90 % de los hogares usuarios de informática. Windows significó en su momento una revolución, ya que su entorno de símbolos y dibujos facilitó que millones de personas sin especial entrenamiento informático pudieran usar un ordenador. Agosto 2005 72 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía LINUX se trata de un sistema operativo desarrollado de manera cooperativa y no mercantil por centenares de personas que han apostado al software libre y gratuito. Cualquier persona puede usar estos programas de manera gratuita sin pagar licencias a nadie. Considerando que al momento de decidir sobre la implantación del sistema operativo necesario para el funcionamiento del ordenador, nos enfrentamos ante estos dos productos como estandartes de cada filosofía, es importante realizar un comparativo sobre distintas características del producto de forma de evaluar la conveniencia de cada uno, para lo cual nos hemos basado en las versiones Windows XP – Profesional (por ser, de acuerdo a nuestro relevamiento, el más utilizado en el país a nivel empresarial) y GNU/Linux Redhat (es la más utilizada a nivel mundial, según estudio realizado en el año 2003, por la consultora Andago. Además, gran parte de las restantes distribuciones se basan en ésta o en alguno de sus componentes). Para realizar esta comparación recurrimos a distintas publicaciones sobre el tema, las cuales basadas en experiencias en la utilización de ambos sistemas coinciden en marcar características para cada uno de ellos. INSTALACIÓN – Una parte importante a considerar, de un sistema operativo es su instalación. Si ésta falla o es dificultosa, las consecuencias podrían ser graves, dado que si el sistema operativo no estuviese correctamente instalado, todo lo demás podría fallar (el software, los diferentes dispositivos, etc.). Windows se ha caracterizado por contar con un proceso de instalación simple que no presenta complicaciones para un usuario medio; basta con responder unas simples preguntas y el sistema detecta automáticamente todo el hardware instalado y luego de unos minutos se inicia el sistema operativo. Si bien la instalación de Linux puede resultar algo más complicada para un usuario medio debido a que requiere más especificaciones sobre el hardware y las opciones que se desean obtener; este sistema operativo es capaz de satisfacer las necesidades de todo tipo de usuarios ya que permiten personalizar el producto; cabe reconocer también que desde hace algún tiempo la instalación de dispositivos bajo Linux está empezando a ser muy fácil. Si bien Windows siempre pudo considerarse el sistema operativo de más fácil instalación, las últimas distribuciones de Linux hacen que la instalación sea más simple. INTERFAZ Y FACILIDAD DE USO – En los tiempos que corren es cada vez más común que los ordenadores sean utilizados por personas sin conocimientos específicos, por lo que la facilidad en su utilización sea cada vez más importante. En este sentido Linux no fue concebido como un sistema fácil de usar, sino como un sistema práctico para entornos de redes, lo cual si bien otorga innumerables posibilidades de configuración y adaptación para cada necesidad; en general no es sencilla su utilización para el usuario medio. No obstante ello, las distintas versiones se han ido adaptando a esta necesidad y lentamente se van obteniendo interfaces más amigables que van simplificando la utilización del mismo. Windows por su parte, con su interfaz de ventanas es la más difundida y práctica de usar. Su manejo puede llegar a ser altamente intuitivo y es esta característica la que otorga al sistema sencillez para el usuario. RENDIMIENTO Y ESTABILIDAD – Un aspecto importante de Linux es que consigue buenos rendimientos con máquinas menos potentes que las necesarias para utilizar 73 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía Windows, dado que la utilización de recursos de Linux es mucho menor que en las distintas versiones de Windows. En lo que a estabilidad se refiere, Linux tiene también una clara ventaja sobre Windows. La GUI (interfaz gráfica de usuario) no forma parte del núcleo de Linux y sí del de Windows, lo cual favorece la estabilidad del sistema operativo ya que en caso de bloqueo de este componente, alcanza con eliminar el servidor y el problema estaría resuelto. Cabe destacar por otra parte, que el hecho de que la GUI se ubique en el núcleo aporta ventajas de velocidad. Si bien Linux es más estable, especialmente en ordenadores de menor capacidad o potencia, Windows en sus últimas versiones ha obtenido importantes avances con relación a este tema. PRECIO Y SOPORTE TÉCNICO – Linux es un sistema operativo de libre distribución mientras que Windows es un producto comercial. Esto quiere decir que es posible instalar un sistema operativo Linux sin necesidad de pagar nada si así se desea, también es posible adquirir diferentes distribuciones del mismo en forma comercial, pero los precios que se deben pagar por ellas son mucho menores que los precios requeridos para adquirir cualquiera de los productos Windows. También es importante recordar que Windows requiere del pago de una licencia adicional para cada uno de aquellos equipos donde éste se vaya instalar, mientras que Linux no requiere pagos extras en este caso. No obstante lo anterior, cabe destacar que el precio pagado por el producto no debe ser el único costo a considerar, ya que deberemos también tener en cuenta costos accesorios, como aquellos en los que se incurre por soporte técnico, capacitación, etc. En estos casos podríamos decir que los costos de Linux son mayores que los de Windows, en virtud de que dado que este último sistema operativo es el más utilizado y popular en el mercado, al estar los usuarios más familiarizados con éste que con aquel, la capacitación en Linux siempre deberá ser más profunda que para Windows, así como seguramente será más sencillo encontrar quien sepa solucionar problemas en Windows que en Linux. DISPONIBILIDAD Y COMPATIBILIDAD – Actualmente podríamos decir que para cada aplicación de Windows existe una equivalente para Linux; aunque quedan aún terrenos en los cuales éste no puede competir, al menos por el momento, con productos de Windows perfectamente desarrollados y afianzados en el mercado gracias a su alta calidad. Por otra parte, en lo que se refiere a compatibilidad con dispositivos, el sistema operativo de Windows soporta un número de dispositivos muy superior al de Linux. Además de que gran parte del hardware es desarrollado específicamente para interactuar con el sistema operativo Windows, debido en gran parte a que Microsoft (desarrollador de Windows), en una importante campaña de protección para su software, se encuentra constantemente realizando acuerdos con empresas productoras de hardware para que éste sea desarrollado con determinadas características incompatibles con otro sistema operativo. Comparación de las aplicaciones de uso más generalizado: APLICACIÓN PARA WINDOWS EQUIVALENTE EN LINUX Microsoft Office StarOffice 6.0, OpenOffice, Koffice Microsoft Word StarOffice Writer, OpenOffice, Write Pro Microsoft Excel StarOffice Calc, OpenOffice, GNUmeric Microsoft Power Point StarOffice Impress, OpenOffice, Presenter Pro Agosto 2005 74 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía Microsoft Outlook Microsoft Internet Explorer Explorador de Windows Adobe Photoshop Adobe Illustrator Intuit Quicken Microsoft Frontpage Microsoft Visio AOL Instant Messenger ICQ Real Player Nero CD Burning Rom KaZaA Adobe Acrobat Reader MusicMatch Jukebox Winamp Instalación Interfaz y facilidad de uso Rendimiento Estabilidad Precio Soporte técnico Disponibilidad Compatibilidad Netscape Mail, Evolution, Kmail Netscape Browser, Mozilla Browser, Galeon Konqueror, Nautilus GIMP, Photogenics Sketch Illustrate GNUCash HTML Editor, Bluefish, Quanta+ Chart Pro, FlowChart Pro Netscape AIM, AOL AIM, GAIM Licq, kicq, GNOMEIcu, MICQ Real Player K3D CD Burner Limewire, Mutella Adobe Acrobat Reader G-Rip XMMS Windows XP Linux Redhat Más simple Mayor practicidad Menor rendimiento Menor estabilidad Mayor precio Mayor oferta Mayor Nº de aplicaciones Mayor compatibilidad Menos simple Menor practicidad Mayor rendimiento Mayor estabilidad Menor precio Menor oferta Menor Nº de aplicaciones Menor compatibilidad 11 Sistemas expertos e inteligencia artificial Puede considerarse a la inteligencia artificial (lA) como el campo principal de los sistemas expertos. La idea central de la inteligencia artificial es llegar a desarrollar máquinas que cuenten con un desempeño inteligente. Dos áreas de investigación de la inteligencia artificial son la comprensión del lenguaje natural y la habilidad para interiorizarse racionalmente en los problemas hasta alcanzar su conclusión lógica. Los sistemas expertos utilizan los enfoques del razonamiento de la inteligencia artificial para resolver aquellos problemas que el sector de los negocios (u otros usuarios) le proponen. Los sistemas expertos son en sí, un tipo muy especial de sistemas de información, que tienen un uso práctico en los negocios debido a la reciente y amplia disponibilidad de hardware y de software, como las microcomputadoras y los ambientes de sistemas expertos. Un sistema experto (también llamado sistema basado en el conocimiento) captura; y en efecto utiliza, el conocimiento de un experto, para la solución de un problema particular de la organización. Percátese de que, a diferencia del sistema de apoyo para la toma de decisiones, que finalmente deja al responsable que tome las 75 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía decisiones, un sistema experto selecciona la mejor solución al problema o al tipo específico de problemas. Los elementos básicos de un sistema experto son: la base de conocimientos y una máquina de inferencia que liga al usuario con el sistema; procesando sus solicitudes mediante lenguajes como el del PROLOG o el LISP y la interfaz con el usuario. Los llamados ingenieros del conocimiento captan el conocimiento de los expertos en un área específica, construyen un sistema computarizado para contener tales conocimientos. y finalmente, lo implantan. Es muy probable que el trabajo futuro de numerosos analistas de sistemas se oriente hacia la construcción e implantación de sistemas expertos. 11.1 Tendencias y futuro El cambio en el software es continuo y cada vez más acelerado. Es muy difícil hacer predicciones ya que un programa que hoy se considera muy bueno, mañana es desechado y reemplazado por otro. A esto hay que sumarle estrategias comerciales, compras de empresas por otras, fusiones entre empresas que son competencia, Etc. Lo que sí es seguro es que el cambio es permanente y no se puede decir que algún producto permanecerá por muchos años, incluso ya se esta mencionando que probablemente no haya sucesor de Windows 98, sino que seguramente, sea reemplazado por una versión de Windows NT. Sin embargo es posible hacer ciertas consideraciones: • Seguirán coexistiendo diferentes sistemas operativos y diferentes lenguajes de programación, por muchos más años de lo deseable. Esto es, Windows es más potente y agradable de emplear que DOS pero ambos seguirán coexistiendo. En aquellas empresas que no pueden cambiar su equipamiento y que ya tienen implementados Sistemas que resuelven sus requerimientos de información, seguirán utilizando con equipos y programas que ya han sido superados. • El software seguirá evolucionando a grandes pasos, siendo mayor la variedad y creándose incompatibilidades entre productos y “agujeros” como los hay hoy, que NO son cubiertos. Existen programas muy buenos para DOS, pero las versiones para Windows no tienen tantas facilidades, requieren más equipamiento o son difíciles de utilizar. Es muy común que un usuario acostumbrado a utilizar determinado software, sienta rechazo a actualizarse por versiones más nuevas. Esto implicaría tener que aprender a utilizar el nuevo programa (con el tiempo y esfuerzo involucrados), y además puede ocurrir que el nuevo programa no tome directamente los datos que ya se tienen, siendo necesario hacer una conversión. Muchas veces el usuario siente que el cambio le implica un costo importante así como una pérdida de tiempo, para no lograr diferencias importantes en su procesamiento de datos. • El software seguirá la tendencia del FatWare: cada vez más grande, cada vez necesitará más computadora. A medida que se tiene software más complejo y más “inteligente”, los requerimientos de hardware son mayores. Esto es un circulo vicioso que nunca termina. Agosto 2005 76 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía • Aumentará el uso de multimedia. Ya no sólo se manejaran datos como texto y números sino que se incluirán imágenes, sonidos y vídeo. Se manejen imágenes y sonido en sistemas de gestión financiera. Donde el desafío es el manejo en buen tiempo de respuesta de grandes volúmenes de archivos que serán vídeo, sonido, fotos, y masas de datos que serán procesados al momento para elaborar sofisticadas estadísticas, para disponer de información actualizada. • El crecimiento de Internet parece no tener límite. A pesar de predicciones que indicaban una disminución en el ritmo de crecimiento, incluso se indicaba que las líneas de comunicaciones se iban a saturar. A pesar de que si ha habido problemas, el aumento de la cantidad de usuarios y de servidores en Internet sigue creciendo abarcando cada vez a mas empresas. Esto último implica desde que Internet está integrado al uso común, a que Todo es dinámico, y global. 77 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía Agosto 2005 78 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía Anexo 1 Información sobre las distribuciones más importantes de Linux A continuación se enumeran algunas de las distribuciones más conocidas, comentando sus características DISTRIBUCIÓN REDHAT http://fedora.redhat.com, http://www.redhat.com Esta es una distribución que tiene muy buena calidad, contenidos y soporte a los usuarios por parte de la empresa que la distribuye. Fácil de instalar, es la distribución más usada en el mundo. Se suele recomendar para usuarios noveles. Su gestor de paquetes RPM6 se ha convertido en un estándar en el mundo Linux. Incluye multitud de herramientas gráficas de configuración. Esto asegura un máximo de portabilidad entre máquinas que corran Redhat Linux independientemente de la arquitectura del hardware donde estén corriendo. La última versión gratuita que generara Redhat fue la versión 9 que se conoció en abril de 2003 ya que Redhat ha discontinuado la elaboración de distribuciones a partir de julio del mismo año. El proyecto Fedora, es la continuación del proyecto de Redhat, mantenido por la comunidad Linux que se desarrollará por voluntarios aunque bajo la tutela de la gente de Redhat. Esta distribución sólo contiene OpenSource. Actualmente se pueden obtener gratuitamente las distintas versiones de Linux Redhat descargándolas desde el sitio web de la compañía; de la misma forma se obtienen desde la red las nuevas versiones de este producto, a cargo del llamado proyecto Fedora. Actualmente Redhat ha lanzado al mercado su nuevo sistema operativo Redhat Enterprise Linux, el cual se puede adquirir desde U$S 179.- en la WEB. DISTRIBUCIÓN DEBIAN http://www.debian.org Otra distribución con muy buena calidad. La organización destaca que el proceso de instalación es quizás un poco más complicado que la anterior, pero sin mayores problemas. Es la que mayor cantidad de software contiene. Realizada enteramente por voluntarios y basada exclusivamente en software libre. Debian GNU/Linux utiliza un núcleo de Linux e incluye cientos de paquetes de software, incluyendo todo el software GNU. Cada paquete es una unidad independiente y modular, que no está asociada a ninguna versión específica del sistema o de la distribución. Cualquiera puede crear su propio paquete y subirlo para hacerlo disponible con la distribución o crear su propia distribución con los paquetes de su interés. 6 - RPM es un sistema de administración de paquetes pensado básicamente para Linux. Un sistema de administración de paquetes (gestor de paquetes) es un sistema capaz de instalar, actualizar, desinstalar, y verificar programas utilizando un único comando cuidando los detalles complejos de los procesos de forma automática. 79 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía Debian GNU/Linux es distribuida libremente por Internet. Puede descargarse completamente desde cualquiera de las réplicas de la misma. También es posible adquirir un conjunto de CDs con la distribución, existiendo muchos de los vendedores que ofrecen la distribución por menos de U$S 5.- más gastos de envío. DISTRIBUCIÓN S.u.S.E http://www.suse.com La distribución más usada en Europa. El sistema de paquetes está basado en el de Redhat. Se preocupa especialmente por la seguridad del sistema. El proceso de instalación es muy cómodo y potente. S.u.S.E. Linux contiene Linux en 5 CD-ROMs. S.u.S.E. Linux incluye también un manual de referencia de 390 páginas. Es una distribución alemana, que dispone de un sistema de instalación en inglés y alemán. Viene con el código fuente completo y emuladores para DOS, Atari ST, Amiga, C64, C128, VIC20, PET, ZX Spectrum. Uno de los CD que acompañan la distribución es un “livefilesystem” que permite correr Linux directamente desde el CD o parte de todo el sistema Linux. Las distintas versiones de S.u.S.E. Linux pueden obtenerse gratuitamente a través del sitio web de la empresa, si bien la última versión del producto se adquiere a diferentes precios según la versión: □ S.u.S.E. Linux Profesional 9.0 – U$S 112.- (€ 89,95) □ S.u.S.E. Linux Profesional 9.0 64bit Versión p/AMD64 – U$S 150.- (€ 119,95) □ S.u.S.E. Linux Profesional 9.0 Student Version – U$S 75.- (€ 59,95) DISTRIBUCIÓN CALDERA http://www.caldera.com Especializada en el mundo empresarial. Es una distribución de muy buena calidad. Caldera fue la primera compañía que lanzó una distribución de calidad profesional buscando el mercado de las empresas nada menos que en 1994. La línea de productos OpenLinux de Caldera consiste un sistema multitarea, multiusuario. OpenLinux es una distribución de Caldera que se obtiene con utilitarios, interfases gráficas, sistema de instalación, aplicaciones de terceros y mucho más. OpenLinux es ideal para pequeñas, medianas y grandes compañías que desean un retorno optimizado de sus inversiones en sistemas informáticos y computadoras. Existen varias versiones disponibles. DISTRIBUCIÓN SLACKWARE http://www.slackware.com Esta distribución es de las primeras que existió. Es raro encontrar usuarios de los que empezaron en el mundo Linux hace tiempo, que no hayan tenido esta distribución instalada en su ordenador en algún momento. Hoy ha quedado un poco obsoleta por no haberse sabido adaptar a los cambios en el mundo Linux. Slackware Linux es compatible con la mayoría del hardware para PC que actualmente existe, soporta manejadores de CDROM, tarjetas de red y mouses. Agosto 2005 80 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía Las últimas versiones de Slackware Linux pueden adquirirse desde U$S 39,95 o también descargarse completamente desde los distintos sitios de la red que se especifican en la página principal de la organización. DISTRIBUCIÓN LINUX-MANDRAKE http://www.linux-mandrake.com Distribución basada en Redhat con optimizaciones y paquetes añadidos. Esta distribución viene con KDE7 totalmente integrado en el sistema. Fácil de instalar y configurar. El manejador de escritorio KDE es ampliamente considerado como el mejor manejador de escritorio para Linux. Dentro de Linux Mandrake, KDE está completamente integrado dentro de una base mejorada de Redhat. KDE es el manejador de escritorio por defecto. No es necesario configurar KDE, ya que al instalar Mandrake se configura automáticamente. Sin embargo, existe la opción de cambiar a otra interfaz gráfica (GnuStep, Gnome...) en las nuevas versiones. Este producto puede obtenerse gratuitamente desde el sitio web de Mandrake, pero también es posible adquirir las distribuciones de Mandrake Linux a U$S 86.- para la versión Mandrake Linux PowerPack Edition 9.1 o también U$S 249.- para la versión Mandrake Linux Prosuite Edition 9.1. Además de obtener los CDs de instalación, se recibe un manual para poder llevar a cabo la instalación de forma exitosa. DISTRIBUCIÓN GENTOO http://www.gentoo.org Esta distribución es una de las únicas que últimamente han incorporado un concepto totalmente nuevo en Linux: se puede compilar / optimizar el sistema completamente desde cero. Las ganancias en velocidad pueden llegar a ser grandes, aunque no es recomendable adentrarse en esta distribución sin una buena conexión a Internet, un ordenador medianamente potente y cierta experiencia en sistemas Unix. En el sitio web de Gentoo se ofrecen versiones de Gentoo Linux para la venta. Las compras realizadas en esta tienda virtual se vuelcan directamente al futuro desarrollo de Gentoo Linux; por esta razón los precios que se cobran por los productos son casi simbólicos, ya que se puede adquirir la versión Gentoo Linux 2004.0 para AMD64 por tan sólo U$S 8.- También es posible descargar las versiones gratuitamente desde el mismo sitio. DISTRIBUCIÓN MKLINUX http://www.mklinux.org MkLinux es una distribución de Linux para los Macintosh, PowerComputing, PowerMac. MkLinux es un proyecto comenzado por el instituto de investigación de 7 - KDE es un entorno de gráfico contemplado para estaciones de trabajo Unix y Linux. Provee al usuario iconos, barras de herramientas, aplicaciones e integraciones entre aplicaciones con habilidades como “arrastrar y soltar”que hacen a un manejo amigable del sistema operativo 81 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía OSF (ahora Silicomp RI) y computadora de Apple para trasladar Linux hacia una variedad de plataformas de Macintosh que funcionan encima de la puesta en práctica del instituto de investigación de OSF del microkernel de Mach. DISTRIBUCIÓN HISPAFUENTES LINUX http://www.hispafuentes.com Hispafuentes es una distribución producida con la ayuda de la Comunidad Hispana de Linuxeros. La versión que HispaFuentes produce está basada en la versión Deluxe de la distribución Redhat, traducida al español y con alguna serie de variantes y mejoras, pero 100% compatible con la distribución de RedHat. Entre los alicientes de la última versión se encuentra la versión traducida al español de los tres manuales originales de Redhat Linux. Es posible adquirir la última versión de Hispafuentes Linux al precio de U$S 27.- DISTRIBUCIÓN CONECTIVA Linux http://www.conectiva.com.br Conectiva es una distribución brasileña, traducida al español, que especialmente tiene fuerza en el mercado Sudamericano. Facilidad de instalación y multitud de software adicional. Conectiva Linux es la distribución Linux líder en América Latina gracias a su especial soporte al hardware más común en esta región, sus 2 manuales impresos en castellano de 200 páginas cada uno, los 6 CD-ROMs con los mejores paquetes de software libres y comerciales, y lo más importante, 90 días de soporte técnico local en su idioma. Conectiva Linux puede descargarse gratuitamente desde el sitio de la organización, o a través de los distintos servidores espejos de la distribución aunque también se puede adquirir el paquete de CDs de la versión al precio U$S 43.DISTRIBUCIÓN ESWARE http://www.esware.com ESware es una distribución, basada en Redhat, creada por una empresa española. Es una distribución pensada especialmente para los hispano-parlantes. Tiene traducida al castellano, la instalación, todos los mensajes de consola, KDE en castellano así como numerosos programas y la documentación. ESware 365, la última versión de ESware, se vende a U$S 45.- aunque por U$S 25.adicionales se pueden adquirir los manuales impresos que incluye el manual de referencia rápida, el manual básico, el manual de redes y el manual de servidores. Agosto 2005 82 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía Anexo 2 PRINCIPALES CARACTERÍSTICAS DE LAS DISTRIBUCIONES DE LINUX Redhat Debian S.u.S.E Buena calidad y soporte Fácil de instalar Buena documentación (en inglés) Buen seguimiento de fallos y correcciones de los mismos Es la más extendida Costo: U$S 179.- Muy buena calidad Se requieren conocimientos avanzados para su correcta instalación Buena documentación (en inglés) Buen seguimiento de fallos y correcciones de los mismos Gratuita Buena calidad Fácil de instalar Buena documentación (gran parte en castellano) Buen seguimiento de fallos y correcciones de los mismos Es la más utilizada en Europa Costo: Desde U$S 75.- Caldera Slackware Mandrake Buena calidad Fácil de instalar Buena documentación (en inglés) Buen seguimiento de fallos y correcciones de los mismos Especializada en el mundo empresarial Gratuita Es complicada de configurar Compatible con la mayoría del Hardware para PC Buena documentación (en inglés) Es de las primeras que existió, y durante un tiempo fue la más utilizada Costo: desde U$S 39,95 Buena calidad Fácil de instalar y configurar Basada en Redhat Costo: desde U$S 86.- Gentoo MkLinux Hispafuentes 83 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía No es sencilla su instalación Tiene mayores requerimientos tanto a nivel de equipo como de conexión a Internet Costo: U$S 8.- Producto Redhat Debian S.u.S.E. Caldera Slackware Mandrake Agosto 2005 Se utiliza para Macintosh, PowerComputing y PowerMac Gratuita Uso Recomendado y nivel de conocimiento requerido Usuarios noveles. Básicamente para pequeñas redes, estudiantes universitarios, programadores y centros de información de tamaño mediano. Enfocada primordialmente a desarrolladores, programadores, administradores de red, y centros de cómputo de alto desempeño. Uso recomendado a nivel empresarial. Especializada en el mundo empresarial. Es la distribución idónea para montar un servidor Pensado para usuarios medio-avanzados, desarrolladores y programadores Está pensada para Requerimientos de hardware Soporta la mayoría de hardware actual Buena calidad Fácil de instalar y configurar Buena documentación (en español) Basada en Redhat Deluxe Costo: U$S 27.- Documentación Costo Buena U$S documentación (en 179.inglés) Buena Gratuita documentación (en inglés) Soporta la mayoría de hardware actual Soporta la mayoría de hardware actual Compatible con la mayoría del hardware para PC. Puede ejecutarse en ordenadores antiguos, con requerimientos de sistema mínimos Buena Desde documentación U$S 75.(gran parte en castellano) Buena Gratuita documentación (en inglés) Buena U$S documentación (en 39,95 inglés) Desde 84 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía usuarios del hogar, oficina, y escuelas Gentoo U$S 86.Mayores requerimientos tanto a nivel de equipo como de conexión a Internet Se utiliza en Macintosh, PowerComputin g y PowerMac. MkLinux Hispafuentes Conectiva ESWare Pensada especialmente Soporta la para hispano-parlantes mayoría de hardware actual U$S 8.- Gratuita Buena U$S 27.documentación (en español) Buena U$S 43.documentación (en castellano) En castellano U$S 45.- Anexo 3 OTROS SISTEMAS OPERATIVOS LIBRES Si bien Linux es el sistema operativo libre más famoso, por ser el más utilizado y aquel en el que participa el mayor número de usuarios, existen otros sistemas operativos libres que es necesario tener en cuenta, como por ejemplo FreeBSD y OpenBSD. FreeBSD http://www.freebsd.org Es la versión más popular de BSD. El equipo de desarrollo, dirigido por Jordan Hubbard, trabaja para proporcionar una herramienta fácil de usar para ordenadores poco potentes. El equipo del FreeBSD se ocupaba de hacer que su producto funcionase bien con el Intel 386. Añadieron muchas capas de herramientas de instalación para facilitar el uso del producto al usuario medio, y ahora se trata de la versión más popular de código BSD que existe. El objetivo principal del proyecto FreeBSD es ofrecer un sistema operativo completo que pueda ser usado y distribuido libremente sin ningún tipo de obligación ni atadura, por parte de cualquier persona, entidad o empresa consiguiendo así el máximo número de usuarios y produciendo el mayor beneficio posible a toda la comunidad. Ni el proyecto ni los desarrolladores obligan a que los posibles cambios realizados en el código por parte de terceros sean devueltos al proyecto. En ningún caso, el objetivo del proyecto FreeBSD es económico. FreeBSD se encuentra protegido por la licencia BSD. A diferencia de la licencia GPL de la Free Software Foundation, los términos básicos de la licencia BSD en FreeBSD 85 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía son muy sencillos: “Es posible usar el código para cualquier cosa y con cualquier fin siempre y cuando se reconozca al autor del código original”. Básicamente, esto quiere decir que con la licencia BSD no es necesario redistribuir el código fuente de una aplicación si se realizan modificaciones sobre la misma, con la única condición de reconocer al autor del código original. Este punto de la licencia suele ser el más conflictivo entre los defensores de Linux y los defensores de los sistemas *BSD. FreeBSD es un sistema operativo totalmente libre, es decir, se dispone de todo el código fuente del kernel (módulo principal del sistema), lo que permite poder realizar cualquier tipo de modificación o desarrollo sobre él, compilarlo, y comprobar los resultados. Una de las grandes ventajas de FreeBSD es que existe una sola distribución coordinada por un grupo de trabajo dedicado a ello, haciendo el sistema más homogéneo, controlado y estándar. Esto no quiere decir que sea un sistema cerrado, ya que los grupos son totalmente abiertos, aceptándose la colaboración de todo el mundo. Además de las versiones mencionadas existe una rama en continuo desarrollo llamada current sobre la que se realizan todas las modificaciones y actualizaciones para la próxima versión. Existe la posibilidad de mantener la máquina totalmente actualizada en la rama current mediante un sistema de actualización online. Características principales La organización FreeBSD a través de su sitio web destaca las siguientes características como las principales fortalezas de su producto. Altas prestaciones FreeBSD ofrece altas prestaciones en comunicaciones de red, rendimiento, seguridad y compatibilidad, todavía inexistentes en otros sistemas operativos, incluyendo los comerciales de mayor renombre. Potentes Soluciones Internet FreeBSD es el servidor ideal para servicios de Internet o Intranet. Proporciona unos servicios de red robustos, incluso en situaciones de alta carga, haciendo un uso eficaz de la memoria para mantener buenos tiempos de repuesta con cientos o miles de procesos simultáneos de usuarios. Fácil de instalar Se puede instalar FreeBSD desde una gran variedad de soportes, incluyendo CD-ROM, DVD-ROM, disquetes, cintas magnéticas, una partición MS-DOS, o si se dispone de conexión de red, se puede instalar directamente desde la red. Todo lo necesario son dos discos de 1.44MB de arranque y las instrucciones que se pueden encontrar en el sitio web de FreeBSD. FreeBSD es libre y gratuito, está disponible completamente gratis incluyendo el código fuente. OpenBSD http://www.openbsd.org OpenBSD es un sistema operativo libre de tipo UNIX, multiusuario, disponible para múltiples plataformas. OpenBSD se inició en los años '80s, como un proyecto patrocinado por la Universidad de California en Berkeley. Desde entonces, el código fuente ha sido expuesto al análisis crítico de cientos de programadores. Se destaca sobre otros por su enfoque orientado hacia la escritura correcta de software (libre de errores), la auditoría continua y la criptografía integrada. En consecuencia, OpenBSD es un sistema estable, de desempeño eficiente y uno de los más seguros. Agosto 2005 86 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía El proceso de instalación es considerado muy sencillo y rápido. Una vez instalado, se cuenta con una muy buena guía para la configuración del sistema, ya que su manual fue redactado por especialistas en el tema. OpenBSD implementa sólo estándares abiertos; es de copia, distribución y modificación libre. La tecnología desarrollada no está supeditada a interés alguno, que vuelva obsoleto el software pasado un lapso considerable de tiempo. OpenBSD puede obtenerse gratuitamente en Internet o bien mediante la compra de discos compactos a un precio de recuperación muy bajo. En resumen, OpenBSD ofrece desde su sitio oficial, las siguientes ventajas: • Privacidad e integridad de su información y transmisiones de datos • Libre uso de la tecnología incluida, sin restricciones, para cualquier propósito. • Documentación detallada y comprensible, con ejemplos y recomendaciones • Seguridad en su inversión • Eficiencia en su desempeño • Bajo costo OpenBSD es desarrollado por voluntarios. Las organizaciones e individuos donan y así aseguran que OpenBSD continuará existiendo, y permanecerá libre para que todos lo puedan usar y re-usar cuando crean conveniente. LINDOWS http://www.lindows.com Dos conceptos históricamente antagónicos se unieron en un nuevo sistema operativo: Lindows. El mismo día que la multinacional Microsoft puso a la venta la versión de su sistema operativo, Windows XP, una compañía estadounidense anunció la reciente aparición de una nueva plataforma informática que unía dos conceptos que siempre habían sido opuestos: Linux y Windows. Con el nombre de LindowsOS, este original sistema operativo es una iniciativa del antiguo propietario de MP3.com., Michael Robertson. Una gran ventaja de LindowsOS es la capacidad de poder operar programas de Microsoft sin tener que pagar por alguna versión del sistema operativo de Microsoft. Una copia de LindowsOS, a diferencia del nuevo Windows XP, podría ser instalada en más de un ordenador, señaló Robertson. La oferta de Lindows.com está basada en el sistema Linux, que ha ganado popularidad ya que puede ser copiado y modificado libremente mientras funciona en las mismas computadoras que utilizan Windows. La versión Lindows 4.0 contiene una suite ofimática completa, con un procesador de textos, una hoja de cálculo y una aplicación para realizar presentaciones de diapositivas, muy similar a Microsoft PowerPoint. Dicha versión viene con los conectores de hardware necesarios, además de soporte multimedia. El CD de Lindows 4.0 se puede comprar por U$S 30.-, e incluye el cupón para poder conseguir el software completo Lindows Plus (Lindows +) a un precio de U$S 50.- Con Lindows Plus se obtiene acceso a cientos de juegos, gráficos, programas personales, financieros, o de retoque fotográfico. Existe en el mercado actual una versión de Lindows en Español, el cual es un sistema operativo económico que contiene la fuerza, estabilidad y bajo costo de Linux, con 87 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía facilidad de uso. Así como la versión de LindowsOS en inglés, LindowsEspañol es amigable debido a la presencia de gráficas intuitivas e instalación de sólo 10 minutos. Se puede utilizar Lindows para: − Navegar en Internet, Chequear el Correo Electrónico y Mandar Mensajes Instantáneos. − Trabajo de Oficina y Escolar. El conjunto de Oficina (Office Suite) es compatible con Microsoft Office, el programa compatible con Microsoft Word permite el procesamiento de palabras completo con chequeo de errores ortográficos y diccionario de sinónimos. El programa compatible con Microsoft Excel permite utilizar fórmulas, calcular gastos y presupuestos de ventas, El programa compatible con Microsoft PowerPoint, permite hacer presentaciones de productos y trae incluido una colección de gráficas. − Juegos y Multimedia Lindows OS se convierte en Linspire El presidente ejecutivo de Lindows.com, Michael Robertson, dijo que se retirará el nombre de “Lindows” de los productos de software de su compañía, que compite con el Windows de Microsoft, debido a las demandas presentadas contra su empresa por la empresa de Bill Gates. Microsoft demandó a Lindows hace dos años aduciendo que su nombre se asemeja demasiado al de su producto Windows. Lindows, por su parte, desestimaba tal planteamiento señalando que Windows no puede ser una marca registrada debido a que la palabra ha sido ampliamente incorporada en la informática general. Como resultado del rumbo que últimamente estaba tomando la causa en su contra, Lindows optó finalmente por cambiar el nombre de su sistema operativo, que desde ahora pasa a llamarse “Linspire”. Lindows ha señalado que el cambio de nombre pretende acabar con los ataques legales a nivel internacional del fabricante de Windows, Microsoft, que demandó a Lindows por violación del nombre de marca en varios países ante la similitud de los nombres de ambos sistemas operativos. El nombre corporativo Lindows.com se mantendrá, junto con su sitio de Internet corporativo, y mientras lucha con Microsoft en los tribunales, el producto Lindows seguirá vendiéndose bajo ese nombre en Estados Unidos. Linspire Office se obtiene a un costo de U$S 174.- y contiene: - Word Processing – compatible con Microsoft Word - Graphics – Spreadsheet – compatible Microsoft Excel. - Presentations – compatible con Microsoft PowerPoint Linspire 4.5 vale U$S 89.- Agosto 2005 88 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía Linspire Plus (incluye Linspire 4.5) vale U$S 99.Nuestra inquietud en el presente apartado es la de acercar al lector el conocimiento sobre la existencia de otros sistemas operativos libres, además del popular Linux. A modo de resumen queremos destacar las principales características que los definen. FreeBSD • Es libre y gratuito • Protegido por la licencia BSD • Existe una única distribución • Cuenta con un sistema de actualización online • El objetivo principal de la empresa es obtener un producto que brindara altas prestaciones en comunicaciones de red, rendimiento, seguridad y compatibilidad OpenBSD Sistema operativo libre de tipo UNIX Bajo costo No se encuentra bajo ninguna licencia restrictiva Cuenta con documentación detallada Enfatiza la escritura de un software libre de errores, auditoría continua y criptografía integrada Lindows Es libre y comercial Protegido por licencia GPL Contiene una suite ofimática completa Cuenta con soporte multimedia Ofrece la capacidad de operar programas de Microsoft sin tener que pagar por alguna versión del sistema operativo de Microsoft 89 Introducción a la computación, Computación aplicada a Contabilidad, Administración y Economía Agosto 2005 90