RESUMEN DEL TEXTO:
“CÓMO ADQUIRIR SU PROGRAMA INFORMÁTICO” (SELECCIÓN DE PROGRAMAS)
DE FRANCISCO CAÑAMAQUE GIMENEZ
PROFESOR: EDUARDO IUNGMAN
4 to año 1ra división
AÑO: 1999.
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTA REGIONAL SANTA FE MATERIA.ADMINISTRACION DE RECURSOS
Capítulo I LA PROGRAMACIÓN O EL SOFTWARE 1-Introducción: Para cualquier empresa que adopte nuevas técnicas de trabajo para mejorar su gestión y disponer de mayor y más ágil información para la toma de decisiones, la informática es un instrumento de trabajo que soluciona esos problemas. La estructura de una empresa es un conjunto complejo por las relaciones e interdependencias de las informaciones, circuitos, decisiones, y la problemática del tratamiento de grandes cantidades de datos. La mecanización integrada es la racionalización y automatización de esa estructura y para la construcción se establece primero un plan general (Plan Informático). Lanzarse en la mecanización sin haber establecido el plan origina situaciones en las que habiendo voluntad de comenzar el proceso de informatización, se ha conseguido poco y se ha dado un mal uso de la informática. Un ejemplo: La empresa decide informatizarse y lo primero que hace es adquirir un ordenador, valorando solo el coste y la publicidad. Una vez instalado el ordenador, aparecen problemas: Los programas no funcionan bien y/o no están totalmente desarrollados. No hay personal adecuado para la puesta en marcha del equipo. Las necesidades de información que cubren los programas no son las más adecuadas. Los programas que brindan información deben desarrollarse en función de las necesidades de los distintos recursos y no adaptar las gestiones a lo que limita el sistema ofertado. Se tiene una dependencia total de la casa suministradora (los programas han sido desarrollados por ella y la empresa puede no tener personal informático), cualquier modificación que se quiera hacer, deberá ser hecha por la casa suministradora. Empiezan a aparecer costos extras y muchas veces la modificación no es factible. El equipo no dispone de soportes para el intercambio de información con destino a cualquier ministerio, clientes, proveedores, etc. El service está centralizado en la Capital, cuentan con un técnico destacado en la zona para el mantenimiento de todo tipo de equipos, lo cual acarrea elevados tiempos de respuesta ante averías del equipo. La capacitación ofrecida es insuficiente e inadecuada. El ordenador tiene pocas posibilidades de ampliación (conexión de más terminales, aumento de la capacidad de almacenamiento, mayor velocidad de impresión). Aparecen nuevas necesidades de informatización que llevan a la contratación de otro equipo, lo que implica la contratación de nuevos programas. En la elección del ordenador se ha de tener muy en cuenta el software. Ésta es la parte cambiante y activa, encargada de decirle al ordenador qué es lo que se quiere hacer, gestionar los datos almacenados en los periféricos, planificar y controlar el uso de la información, etc. Estas funciones son realizadas por medio de programas, codificados en lenguajes de programación, cuya eficiencia depende del tipo de aplicación en cuestión. El desarrollo de cualquier sistema informático, supone la codificación de un conjunto de programas, cuyos costes económicos son del orden del 80% de los costos informáticos totales. Para obtener una reducción de costes, se puede recurrir a la adquisición de paquetes de programas de los que se comercializan en el mercado. Estos sólo corren en el ordenador y bajo el sistema operativo con el que han sido desarrollados, algo que tener en cuenta al elegir ordenador. Las casas suministradoras de ordenadores de tipo mediano y grande suelen ofrecer un servicio de desarrollo “a medida” de aplicaciones. Es una solución bastante cara para equipos de pequeño porte. Los tipos de paquetes de programa que se comercializan en el mercado: Programas de software de base Programas de tipo general Programas específicos de un determinado sector. 4° año
Año: 2000
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTA REGIONAL SANTA FE MATERIA.ADMINISTRACION DE RECURSOS
Una tercera opción para el desarrollo de sistemas informáticos es contratar el desarrollo de los programas, con una empresa (opción dirigida a equipos medianas o grandes por su coste). La cuarta opción es el desarrollo propio. 2- sistema de información: Sistema de información es cualquier sistema usado para suministrar información (incluido su tratamiento), con independencia del uso que se haga de la misma. El desarrollo de los sistemas de información de una empresa depende de la composición de la misma y del nivel de decisión. La primera viene determinada por los distintos departamentos o áreas que son necesarias para el buen funcionamiento de la empresa y el nivel de decisión viene impuesto por la estructura jerárquica que exista en la empresa, los tres niveles de decisión que existen son: Nivel estratégico: está íntimamente ligado con la alta dirección de la empresa. Se caracteriza porque sus consecuencias son duraderas y difíciles de invertir. Las decisiones que se tomen van a caracterizar la política que se establezca, por largo plazo. Nivel táctico: es el característico de los mandos intermedios. Las decisiones de este nivel se caracterizan porque generan efectos a más corto plazo, cuyo impacto es menor, en la empresa. Nivel operacional: es el relativo al control operacional y su misión es alcanzar los objetivos de funcionamiento que previamente se hayan establecido. La información que se necesita para la toma de decisiones depende del nivel al que pertenezca la decisión en cuestión. La unión de todos los componentes de la organización y de sus niveles de decisión recibe el nombre de Sistema de Información Gerencial. La elaboración de un sistema de información gerencial es una tarea muy difícil para una empresa que está implementando su primer sistema de información, ya que el objetivo que se haya fijado a largo plazo, contempla a la empresa, como un único sistema o como un grupo de sistemas interrelacionados; también exige que los subsistemas estén bien definidos y aislados del sistema total, aunque no hay que olvidar que deben ser compatibles con el sistema general y con sus objetivos. Los criterios para lograr el aislamiento de los subsistemas dependerán de las necesidades de la empresa y para definirlos hay tres caminos: Subsistemas horizontales: Orientados a un determinado nivel de decisión. Subsistemas verticales: Orientados a un determinado componente de la empresa. Subsistemas mixtos: Son una combinación de los otros dos, pueden abarcar uno o más niveles de decisión, y una o más áreas funcionales de la empresa. 3- Sistema Informático: Conceptos y Desarrollo del mismo: Sistema informático: encargado del almacenamiento, tratamiento y recuperación, en un equipo de proceso de datos, de la información necesaria para el funcionamiento del sistema de información. Todo sistema informático debe ser elaborado para que pueda ser usado por el sistema de información. Distinguir entre el sistema de información y el sistema informático resulta muy difícil por las múltiples relaciones y conexiones entre ambos. El desarrollo de un sistema informático requiere un estudio minucioso y detallado de los objetivos que se quieren alcanzar y de los medios disponibles. En el estudio se analizan globalmente las aplicaciones del sistema (aplicación: todo conjunto de programas que tiene una entidad propia o fin común). Se trata de hallar la solución más eficaz y adecuada a los medios informáticos con los que se cuenta, los resultados siempre podrán ser fijados de antemano y evitarse las improvisaciones. Hay que establecer claramente cuales son los objetivos, y tener en cuenta que las exigencias que se le imponen a un sistema informático pueden variar y también los objetivos de la empresa. Por lo tanto es importante que sea concebido y desarrollado para afrontar transformaciones de las necesidades de información. Hay que fijar desde el principio esas necesidades para que una modificación sea una extensión y no un cambio. 4° año
Año: 2000
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTA REGIONAL SANTA FE MATERIA.ADMINISTRACION DE RECURSOS
El estudio previo debe constar de: Identificación de las áreas a las que afectaría la informatización. Establecimiento de necesidades de información y definición de objetivos por parte de los directivos. Estudio estimativo de ventajas y costes.
Capítulo II SISTEMAS OPERATIVOS 1- Introducción: Las primeras etapas de la informática se caracterizaron por el alto costo de los equipos y su infrautilización; las enormes posibilidades de la UCP no eran correctamente usadas debido a la lentitud de los dispositivos periféricos, lo que contrastaba con la elevada capacidad de proceso de la unidad central. Las primeras dos generaciones de ordenadores trabajaban en monoprogramación y la persona encargada de la operación era el programador, que introducía sus programas para ensamblarlos; durante esta fase se producían errores, que debía localizar y subsanar y todas estas tareas las realizaba por medio de la consola del operador, por lo cual el ordenador estaba prácticamente inactivo durante todo el proceso. Con el programa listo para ejecutar, cargaba los datos para el proceso y esperaba los resultados de la impresora del sistema. Era un proceso en que la lentitud del ser humano y de los soportes de almacenamiento, influía en el rendimiento de la UCP. La aparición del tratamiento por lotes (batch), eliminó los tiempos muertos del sistema producidos por la lentitud humana; varios trabajos eran introducidos a la vez, gracias a un programa residente en memoria, que se encargaba de leer el lote de trabajos (generalmente en tarjetas perforadas) y almacenarlos en otro soporte (disco magnético), formando una cola de trabajo; también iba liberando los trabajos desde la cola, en función de las prioridades de ejecución e introducía los programas en memoria para ser ejecutados. Se obtiene así un mayor rendimiento del ordenador, pero seguía siendo infrautilizado ya que no resolvía el otro problema: la lentitud de los periféricos en relación con la velocidad de ejecución de la UCP. Esta necesita que los datos con los que tiene que trabajar estén en memoria para procesarlos, y mientras éstos se transfieren a la misma, desde los dispositivos periféricos, tiene que esperar, con lo cual hay tiempos de inactividad de la UCP muy altos. Una solución para esta situación era tener cargados en memoria principal más de un programa. Aparecen los conceptos de solapamiento de procesos y de multiprogramación, con lo que aumenta el aprovechamiento de la UCP y de los canales de transferencia. Subsisten algunos problemas: Cómo lograr que un programa que pasa a situación de espera, ceda el control de la unidad central de proceso para que otro programa cargado en memoria la utilice. Existen programas que requieren pocas operaciones de I/O y gran necesidad de la UCP, y otras poco proceso y muchas operaciones de I/O. En entorno de multiprogramación deberá disponerse de algún mecanismo capaz de decidir en cualquier momento a que programa le debe ceder el control. Si no en el caso de mas de un programa en memoria con distintas necesidades, el beneficio de la multiprogramación se reduce al máximo; si un programa obtiene el control de la unidad central de proceso, puede estar muchísimo tiempo sin liberarla, por lo que otro programa, pese a tener en memoria los datos necesarios para su proceso, al no poder obtener el control de la unidad central, no podrá ejecutarse. También se obtendrá un bajo rendimiento de los canales, ya que hasta que no sean tratados los datos que residen en memoria, no podrán ser traídos nuevos datos. Esta es una situación de multiprogramación pero al ser monopolizado el uso del ordenador, por un programa, trabaja como monoprogramación. Estos factores unidos a muchos otros dan origen a los Sistemas Operativos. 4° año
Año: 2000
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTA REGIONAL SANTA FE MATERIA.ADMINISTRACION DE RECURSOS
2- ¿Qué es un Sistema Operativo?: El Sistema Operativo es el conjunto de programas encargado de la administración óptima de los recursos de un ordenador. Los recursos son: Memoria Central Dispositivos Periféricos y Canales Tiempo de uso de la unidad central de proceso Planificación, control y operación de trabajos En un principio los sistemas operativos eran muy simples, a partir de la tercera generación, con la aparición del tratamiento por lotes, la multiprogramación y otras técnicas (memoria virtual, multiproceso, teleproceso, tiempo compartido, etc.) experimentan un enorme desarrollo. Esto originó un cambio de la política comercial de las compañías suministradoras de equipos que empezaron a facturar elevados costos por el sistema operativo, que era entregado, antes, gratuitamente con la compra del equipo. Los factores de esta transformación son el descenso en los precios de las máquinas por el avance de la electrónica y los elevados costes de desarrollo y mantenimiento de los sistemas operativos. 3- Funciones de un Sistema Operativo: Las funciones que realiza dependen de la marca y el modelo del ordenador. Pero hay funciones básicas y generales: Asignación de memoria, unidad central de proceso y otros recursos a los programas que están en ejecución. Planificación y control de las operaciones de I/O. Gestión y recuperación de errores. Planificación, carga, iniciación, ejecución y supervisión de los trabajos. Establecer una vía de comunicación con el operador y el programador por medio de la consola del ordenador y de los terminales. Traducción y supervisión de las compilaciones y ensamblajes. La estructura de un sistema operativo consta de dos partes: Programas de Control: gestiona el conjunto del sistema. Programas de Proceso: encargados de facilitar los medios para la obtención de una programación y operación más efectiva. Las tareas que realiza un sistema operativo se agrupan en: Gestión del sistema, que se encarga del control operativo del sistema y da la interfase entre el equipo y el resto de los programas y rutinas. Gestión de trabajos, que controla la ejecución de los trabajos y la planificación de las colas según prioridades. También se ocupa del encadenamiento y la carga de los trabajos. Gestión de datos, cuya función es suministrar la interfase entre los programas y los dispositivos periféricos. Servicios al usuario, que son el conjunto de programas, rutinas, traductores, utilitarios, etc., con los que se simplifica la tarea del programador. El conjunto de programas y rutinas que están permanentemente en memoria se llama residente o núcleo. El resto está almacenado en los dispositivos periféricos y son cargados en memoria cuando son necesarios. 4- Programas de Control:
4° año
Año: 2000
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTA REGIONAL SANTA FE MATERIA.ADMINISTRACION DE RECURSOS
1- Programas encargados de la gestión del sistema. Son el eje del sistema operativo, encargados de la coordinación y planificación de los recursos del sistema, reciben el nombre de supervisor y se encuentran cargados permanentemente en memoria principal. Su principal función es la planificación, control y ejecución de los programas del sistema operativo y de los desarrollados para distintas aplicaciones. Los programas que se ejecutan en el ordenador y precisan interaccionarse con el supervisor, son los programas problema, el supervisor planifica su ejecución tanto si son del sistema o si son programas de aplicación. El supervisor contiene un conjunto de rutinas comunes de I/O y por ende no es necesario la codificación de esas rutinas en los programas, con lo que se reduce el tiempo de escritura; también es tarea del supervisor la planificación, control y ejecución de las funciones de I/O de los programas problema. Los estados en los que se puede hallar la UCP son: Estado problema, cuando está ejecutando instrucciones de un programa problema. Estado supervisor, cuando ejecuta instrucciones del supervisor. Parada, porque no hay trabajos para ejecutar. Espera, porque está pendiente del resultado de alguna operación de I/O. El paso de estado problema a estado supervisor es fundamental para el funcionamiento de cualquier sistema operativo y se lleva a cabo por medio de una interrupción, que lleva una señal de alarma para obtener la atención de la UCP, acerca de la existencia de una condición excepcional. Si la UCP está en estado problema y una operación de I/O necesita su atención, se genera una interrupción que le avisa de la necesidad de atender esa operación, la UCP deja el trabajo que esté haciendo, pasa a estado supervisor y ejecuta las instrucciones necesarias para la planificación de la operación de I/O. El continuo paso de estado problema a estado supervisor y viceversa, permite la multiprogramación: el supervisor cede alternativamente el control a cada programa cargado en memoria. El supervisor proporciona un servicio de tiempo a la UCP. Se asignan períodos de tiempo de uso de la UCP, a los programas en ejecución; una vez terminado el tiempo asignado, el control es cedido a otro.
2- Programas encargados de la gestión de trabajos. Su misión es la planificación y control de tratamiento por lotes, el encadenamiento automático de los trabajos a procesar. Es un conjunto de programas encargados de la lectura, interpretación, iniciación y terminación de los trabajos. Estos son leídos, interpretados y almacenados en la cola de trabajos pendientes de ejecución, bajo control del programa de control de gestión de trabajos. Desde dicha cola los irá planificando para ejecutar en función de prioridades. Una vez liberados de la cola, el programa se encarga de la asignación de los dispositivos periféricos para la ejecución y se comunica al supervisor que debe procesarlos. Por medio del lenguaje de control de trabajos, el usuario comunica al programa los trabajos a planificar para ejecución y los recursos que debe asignarles para su proceso. 3- Programas encargados de la gestión de datos. Funciones: Mover o transferir datos entre la memoria principal y los dispositivos periféricos. Planificar y programar el funcionamiento de los canales. Identificar los datos por volumen y archivos. Resolver las condiciones de error que aparezcan durante la transferencia de datos. 5.- PROGRAMAS DE PROCESO Realizan trabajos que suelen ejecutarse frecuentemente en cualquier instalación de procesos de datos. Incluye: 1)- Traductores de lenguaje o compiladores. El ordenador sólo puede ejecutar programas escritos en lenguaje de máquina y no puede procesar directamente programas que hayan sido escritos en otros lenguajes. Por tanto surge la necesidad de traducir las instrucciones simbólicas de estos lenguajes a instrucciones en lenguaje de máquina. Los programas encargados de esta traducción se 4° año
Año: 2000
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTA REGIONAL SANTA FE MATERIA.ADMINISTRACION DE RECURSOS
denominan traductores de lenguaje o compiladores. El programa fuente es sometido a un proceso de compilación, del que se obtiene el programa objeto y uno o más listados informativos. El programa objeto está ya escrito en lenguaje máquina y puede residir en cualquier tipo de soporte; los listados incluyen una relación de los errores que haya habido durante la compilación. La programación, tal como está concebida en la actualidad, tiende a desaparecer en los próximos años. Actualmente existen lenguajes interactivos dirigidos al usuario final, el cual de forma conversacional sin necesidad de codificar programa alguno puede obtener la información que necesite. Existen también paquetes generadores de programas. 2)- Programas de servicio: a)- Montador de enlace. El módulo o programa objeto obtenido como resultado del proceso de compilación está compuesto de instrucciones de máquina. Sin embargo, el programador siempre quiere hacer uso de una serie de posibilidades adicionales que le proporciona el sistema operativo. Para ello, dicho módulo deberá ser sometido a un nuevo proceso llamado linkedición, del cual se obtendrá el módulo en formato ejecutable. El programador, generalmente, no codifica todas las instrucciones de que consta el programa, sino que suele utilizar un conjunto de rutinas o subprogramas que ya están codificados. Si quiere utilizar dichas rutinas, deberá incluirlas en su programa y por tanto tendrá que formar un módulo ejecutable que será el que se cargue en memoria y que constará del programa y de estas rutinas. El programa deberá utilizar una serie de instrucciones de bifurcación a estas subrutinas, y existe un programa de servicio llamado montador de enlace, cuya misión es leer los distintos módulos objeto, montarlos y formar con todos ellos un único programa ejecutable. b)- Bibliotecario. Los distintos componentes o rutinas de un sistema operativo se encuentran almacenados en unos ficheros especiales en disco magnético, que reciben el nombre de librerías o bibliotecas. El módulo cargable obtenido por el proceso de linkedición debe ser almacenado por unas de estas librerías para su posterior ejecución. Para esto existe un programa llamado bibliotecario cuya misión es la organización y mantenimiento de las bibliotecas del sistema (inclusión de programas de bibliotecas, eliminación, cambios de nombres, etc. ). c)- Programas de utilidad. Son el conjunto de programas de servicios encargados del mantenimiento de datos del sistema y del usuario. En función de su finalidad se dividen en tres grupos: 1)- Programas de utilidad del sistema. Su misión es mantener los datos y la información del sistema. 2)- Programas de utilidad de conjuntos de datos. Son los encargados del tratamiento de los distintos tipos de ficheros desde un nivel de registro lógico hasta el conjunto de datos completo. 3)- Programas de utilidad independientes. Operan independientemente del sistema operativo. 6. - MEMORIA VIRTUAL Si se observa la estructura de cualquier programa, se puede ver que existen partes que únicamente se ejecutan al principio, o al final, o cuando se produce una situación de error, etc.. Sin embargo se encuentran todo el tiempo cargadas en memoria. Si un programa se divide en segmentos y se dispone de algún procedimiento que permita que durante la ejecución del mismo únicamente se carguen en memoria principal los segmentos o partes del programa que se necesiten en ese momento, se obtendrá un considerable ahorro en la utilización de la misma. Esto es la base de la técnica del solapamiento que fue la precursora de la memoria virtual. Por medio de esta técnica, cualquier programa es dividido en un segmento raíz o principal, que residirá permanente en memoria, y uno o varios segmentos que son llamados desde el principal cuando sean requeridos. En un momento dado en memoria principal únicamente estarán cargados el segmento raíz y el segmento que corresponda. Esta tarea de dividir el programa en partes era realizada en un principio por los programadores y posteriormente fue asumida por la propia máquina, la cual la realizaba automáticamente cuando se introdujo el concepto de memoria virtual. Esta técnica de memoria virtual permite que la memoria total ocupada por los distintos programas que se encuentran en estado de ejecución en un entorno de multiprogramación, exceda de la memoria real 4° año
Año: 2000
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTA REGIONAL SANTA FE MATERIA.ADMINISTRACION DE RECURSOS
del ordenador. La memoria virtual consiste en dividir tanto la memoria real, como la memoria externa paginable (almacenamiento externo en donde se encuentran los distintos programas que se desean ejecutar simultáneamente) en porciones fijas (de 2 a 4 K) llamadas páginas. En un instante dado solamente residirán en memoria real aquellas páginas que sean necesarias para la operatividad de los programas que se encuentren en estado de ejecución. Este mecanismo de E/S de páginas de memoria principal es llevado a cabo por el sistema operativo, quien se ocupa de verificar que páginas son las que están activas con más frecuencia, y procura que estas permanezcan residentes en memoria. Por medio de ella se consigue un mayor rendimiento del equipo que trabaja como si tuviera una capacidad de memoria principal o real mucho mayor de la que realmente tiene. Conviene señalar que no es conveniente que la relación memoria virtual/memoria real sea alta, puesto que el ordenador dedicaría la mayor parte de sus recursos a atender las tareas de paginación y no quedaría apenas tiempo de unidad central de proceso para la ejecución de los programas. 7.- MULTIPROCESO Es una técnica cuyas finalidades son: Obtención del máximo rendimiento del equipo Disminución de los tiempos de ejecución de los trabajos Consta de un ordenador con varios procesadores, o varios ordenadores conectados, de forma que distintas partes de un mismo programa se realizarán al mismo tiempo, cada una de ellas en un procesador distinto, con lo que el tiempo de ejecución se reduce considerablemente. Una de las ventajas que podemos citar es la seguridad ante averías de los equipos ya que si falla uno de los equipos 8.- ESTADO ACTUAL Y TENDENCIAS FUTURAS Los costos del hardware están experimentando un descenso de tipo exponencial, cosa que no ocurre con los del software; que representan el costo principal en cualquier desarrollo de un sistema informático (aproximadamente el 80% del costo de desarrollo). Los futuros desarrollos en el área del software de base y de utilidad estarán orientados hacia la consecución de un aumento de la productividad del programador. Para esto es necesario que los mismos dispongan de técnicas y sistemas que les permitan mejorar la cantidad y calidad del software que desarrollen. Los esfuerzos van a ser dirigidos: Mayor uso de lenguaje de alto nivel Desarrollo de herramientas software Cabe decir que en los programas escritos en lenguaje de alto nivel se produce un menor número de errores, y se requiere menos tiempo para su codificación y puesta a punto. En los lenguajes de alto nivel que se usan actualmente uno de los principales problemas que se presentan es que no admiten herramientas que estén integradas en el propio lenguaje. Así, para corregir un error en un programa que ha sido codificado en uno de estos lenguajes, a veces es necesario acudir al conjunto de instrucciones máquina que ha generado el compilador, y la puesta a punto del mismo se demora. Estas herramientas integradas en el propio lenguaje deben ser capaces de suministrar al programador, la información que precise para la corrección de un error. La productividad sería aún mayor si se utilizaran lenguajes de mas alto nivel que los que actualmente existen. Con esto no se quiere decir que en un futuro van a desaparecer este tipo de lenguajes, sino que ya están apareciendo nuevos lenguajes de alto nivel como RAMIS, SQL, MAPPER, etc., que permiten que una persona no experta en programación pueda formular consultas y generar informes de una forma sencilla. En cuanto a las herramientas de desarrollo de software el estado de las mismas es insuficiente. No obstante, existen una serie de herramientas que pueden ser calificadas como eficaces y sofisticadas (UNIX, LISP Y MULTICS incluyen un buen número de ellas). El principal problema que existe con estas herramientas es que únicamente resultan eficaces en pocas situaciones ya que: no soportan la actividad de desarrollo de programas, aunque ayudan enormemente en la codificación de los mismos. no soportan metodología alguna de desarrollo de sistemas no se pueden utilizar en entornos operativos distintos Los nuevos desarrollos que se llevan a cabo consisten fundamentalmente en la integración de una serie de herramientas software en un entorno operativo que permita: 4° año
Año: 2000
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTA REGIONAL SANTA FE MATERIA.ADMINISTRACION DE RECURSOS
a)- Uniformidad. Con ello se trata de que cada herramienta realice una determinada función b)- Facilidad de uso. Este tipo de herramientas podrán ser utilizadas por personal no informático. c)- Compatibilidad. Cada una de las herramientas podrá ser utilizada conjuntamente con otras. d)- Adaptabilidad. Deben ser las herramientas las que se adapten a las necesidades específicas de los usuarios. En relación con las tendencias a medio plazo los japoneses han publicado acerca de lo que serán los ordenadores de la quinta generación. Los requisitos funcionales que caracterizan a dichos ordenadores son: 1.- Mayor inteligencia y facilidad de uso de las máquinas, que se conseguirá por medio de: Introducción de sofisticados sistemas de E/S (voz, imagen, etc.) Implantación del lenguaje natural, hablado como escrito Capacidad para el aprovechamiento del saber almacenado Capacidad para deducir, asociar y aprender 2.- Mayor facilidad para la producción de software. Se dispondrá de un conjunto de herramientas que permitan: Generar automáticamente programas a partir de especificaciones introducidas en la máquina Utilizar un lenguaje de programación de muy alto nivel que incluso pueda operar con periféricos inteligentes. 3.- Aumento general de las prestaciones y características de los ordenadores. Para alcanzar estos objetivos, estas máquinas deberán tener las siguientes facilidades: Interconexión inteligente para el tratamiento de datos en las distintas formas (voz, imágenes y lenguaje natural) Comprensión de la descripción de un problema y de sus especificaciones Posibilidad de síntesis de las respuestas en función del periférico de salida al que van dirigidas Síntesis de los diversos procedimientos de elaboración Optimización de los diversos recursos, principalmente hardware Se establecen tres niveles en un entorno operativo de este tipo de máquina: Conexión (interfase) con el usuario Software de la máquina Hardware El primero de ellos permitirá la entrada / salida de instrucciones en lenguaje natural (hablado o escrito). Las funciones del segundo nivel serán: -
4° año
Compresión del problema plateado por el usuario, por medio de la base de conocimientos existente para el problema en cuestión. Síntesis y optimización del correspondiente programa.
Año: 2000
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTA REGIONAL SANTA FE MATERIA.ADMINISTRACION DE RECURSOS
De esta forma, el programa generado pasaría al tercer nivel para su ejecución. Los elementos que constituirán el software se pueden clasificar en: 1. Software de base. Constituirá el núcleo del sistema y sus funciones serán: Gestión de la base de conocimientos. Solución de problemas. Análisis y síntesis de la entrada o salida. 2. Software de utilidad. Estará dotado de herramientas que permitan: Garantizar al máximo la fiabilidad del sistema. Facilitar la posibilidad de intercambio del software y de las distintas bases de datos de conocimiento entre varias máquinas. El mantenimiento y la reparación de la máquina por el usuario para prevenir o detectar posibles averías. 3. Software de tipo organizativo. Suministra las herramientas necesarias para la preparación de los contenidos de las bases de datos de conocimientos. 4. Bases de datos de conocimientos fundamentales. En ella residirán los conocimientos para: El funcionamiento del sistema. La comprensión del lenguaje natural. La aplicaciones específicas del usuario. 5. Software aplicativo de base. Funciones: Respuesta automática de preguntas. Compresión de dibujos, imágenes, voz, etc. Traducción automática. Resulta muy difícil conocer el impacto que pueden ocasionar estas nuevas tecnologías. No obstante, parece bastante razonable prever que, a causa de la enorme difusión de miniordenadores y microordenadores, cada usuario de los mismos se convertirá en un potencial analista - programador. Consecuentemente, las funciones de los profesionales de la informática van a experimentar un profundo cambio, ya que deberán convertirse en expertos de estructuras lógicas para la generación de sistemas informáticos. TIPOS DE SOFTWARE. 1. INTRODUCCION. Para obtener un buen rendimiento y un perfecto funcionamiento de un sistema informático es necesario que cada uno de los componentes que lo forman (sw y hw) tengan una serie de características y prestaciones adecuadas. Se distinguen tres categorías o tipos de software: Software del sistema. Software de utilidad. Software de aplicación. De forma que estos tres componentes junto con el hardware permiten obtener un correcto funcionamiento del sistema. El software de aplicación debe estar basado en el correspondiente software del sistema y de utilidad. El software de utilidad deberá ser desarrollado en función de las prestaciones que ofrezca el software del sistema y el hardware correspondiente, y el software del sistema deberá haber sido diseñado en base a las características del hardware para el que ha sido desarrollado. El conjunto del software de utilidad y del software del sistema suele llamarse software de base.
2. SOFTWARE DEL SISTEMA. 4° año
Año: 2000
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTA REGIONAL SANTA FE MATERIA.ADMINISTRACION DE RECURSOS
Está constituido por los programas de control del sistema operativo y los compiladores. La funciones que realiza este tipo de software son: a) Operar el hardware por medio del sistema operativo básico. b) Mejorar las posibilidades operativas del sistema hardware, permitiendo el flujo de los datos entre los distintos componentes que constituyen la configuración del equipo del proceso de datos. c) Aumentar la eficiencias del sistema por medio de herramientas de medida de rendimiento. Los componentes de este tipo de software son: Programas de control del sistema operativo. Compiladores. Medidores de rendimientos. Sistemas de comunicaciones / monitores de teleproceso. Sistemas de gestión de recursos. Los principales compiladores que existen son: 1. FORTRAN: Permite representar modelos matemáticos con mayor facilidad que cualquier otro lenguaje. 2. COBOL: Es el primer lenguaje de gestión de alto nivel, fácil de aprender y manejar. 3. BASIC: Su aplicación al campo de la enseñanza fue un éxito total. Su característica pricipal es la facilidad de aprendizaje. 4. PASCAL: Es de tipo estructurado, es decir, el programa se codifica en bloques que se llaman uno a otro. Cada bloque tiene un único punto de entrada y uno de salida. Este lenguaje facilita la tarea de documentación de los programas. 5. RPG II: Es un lenguaje utilizado en aplicaciones de gestión por su gran facilidad de codificación y que es muy difícil su aplicación a otros entornos operativos. 6. PL1: Lenguaje a caballo entre el COBOL y el FORTRAN (científico) introducido por IBM. Es utilizado en los grandes ordenadores. 7. FORTH: Dispone de herramientas para que cada programa construya las suyas. Sus principales ventajas son su gran flexibilidad y versatibilidad y sus aplicaciones están exclusivamente en el campo profesional. 8. ADA: El objetivo principal de este lenguaje es la homogeneidad. Su característica mas importante es el "paquete", un bloque o módulo de programa que realiza una determinada tarea. De esta forma, el programador sólo codifica una serie de porciones especializadas del programa, y el resto del mismo, es decir, la mayor parte del programa lo obtiene por medio de combinaciones de los paquetes adecuados. Los medidores de rendimiento son herramientas que recogen información, tanto instantánea como estadísticamente, con el fin de detectar los posibles "cuellos de botella" de cualquier instalación. Generan una serie de informes de utilización de los diversos recursos del sistema, a partir de muestras que toman a intervalos regulares de tiempo. La función de los sistemas de gestión de recursos está dirigida a la consecución del óptimo empleo de los recursos del sistema y la distribución de los mismos entre los distintos usuarios. Suelen controlar tres recursos fundamentales: Tiempo de unidad central de proceso. Tiempo de canal. Utilización de la memoria principal.
3. SOFTWARE DE UTILIDAD. Su función es la organización, tratamiento y gestión de los datos por medio de herramientas tales como los gestores de ficheros, programas de clasificación / función, etc. Son los responsables de incrementar la productividad del programador de aplicaciones, proporcionándole una serie de rutinas ya codificadas que ejecutan funciones muy típicas, como por ejemplo, ayudas para la creación de formatos de pantallas, generadores de transacciones, etc. Para algunos productos suele ser bastante problemático determinar si pertenecen a esta categoría de software o realmente pertenecen al software del sistema. La diferencia fundamental es de tipo funcional, puesto que el software del sistema está relacionado de alguna manera con el hardware y el personal de 4° año
Año: 2000
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTA REGIONAL SANTA FE MATERIA.ADMINISTRACION DE RECURSOS
sistema, mientras que el software de utilidad está mucho más orientado hacia el personal de aplicaciones (analistas, programadores de aplicaciones, e incluso usuarios finales). Forma parte de este tipo de software: Las herramientas de diseño de programa, editores, generadores de datos, etc. Los programas de mantenimientos, gestión y seguridad, como por ejemplo los bibliotecarios, los programas de copia / restauración de ficheros, etc, Los programas de clasificación / intercalación. Los gestores de datos, como gestores de bases de datos, diccionarios de datos, etc. Los generadores de programas, transacciones e informes. Los lenguajes tipo "consulta". Los programas de contabilidad de trabajos. Las ayudas para la creación de formatos de pantalla.
4. SOFTWARE DE APLICACIÓN. El conjunto de programas encargados de la informatización, propiamente dicha, de los procesos generales de cualquier empresa (contabilidad, facturación, nómina, etc). Es decir, proporcionan soluciones a los problemas específicos que se presentan en una determinada empresa. Tres son los posibles caminos a seguir: Adquisición de un paquete de programas de los existentes en el mercado. Desarrollo propio. Contratar con una firma especializada, de desarrollo del mismo. FUENTES DE ADQUISICION DEL SOFTWARE. 1. INTRODUCCION. La implantación de cualquier sistema informático, requiere la utilización del software necesario para alcanzar los objetivos que se hayan marcado durante la fase de elaboración del Plan Informático. Básicamente se tienen dos opciones: 1) Utilizar un conjunto de programas o paquetes de los existentes en el mercado. 2) Desarrollar el correspondiente software, utilizando personal propio, o bien contratando a una empresa especializada. A lo largo de la última década los grandes avances que ha experimentado la microelectrónica, han reducido drásticamente los costes de los equipos de procesos de datos, por lo que se ha producido un aumento considerable de usuarios de dichos equipos. En cambio, no se puede decir lo mismo en relación con el software, y en los costes por este concepto, se han ido incrementando considerablemente como consecuencia de dos factores: a) falta de personal informático con experiencia. b) Cambio drástico de la política de comercialización de productos por parte de los fabricantes o suministradores de hardware, al ver mermados sus ingresos por este concepto. Las firmas ofrecen al mercado dos tipos de productos: Software a medida. Software empaquetado o paquetes de programas. El primero de ellos es equivalente a la ayuda de ingeniería de sistemas que ofrecían los fabricantes o suministradores de hardware. En relación con el segundo tipo de productos, se puede decir que ha sido el que ha experimentado un mayor crecimiento, como consecuencia de su menor coste.
4° año
Año: 2000
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTA REGIONAL SANTA FE MATERIA.ADMINISTRACION DE RECURSOS
En sus comienzo, los productos que ofrecían las firmas suministradoras de software empaquetados, no podían ser realmente considerados como paquetes, fundamentalmente debido a: La mayor parte de los mismos eran desarrollos de software a medida, para un determinado cliente, y eran ofrecidos a otros clientes para obtener una mayor rentabilidad de los mismos. Al tratarse de programas desarrollados para fines específicos, no podían cubrir la necesidades de un amplio número de clientes. Estos problemas, se platearon fundamentalmente a nivel de software de aplicación. En cambio, los primeros paquetes de software del sistema y de utilidad que empezaron a comercializar estas empresas, tuvieron una gran aceptación en el mercado, en especial las herramientas de desarrollos de programas y los gestores de recursos del sistema. Las causas de este éxito alcanzado han sido varias: Su utilización, lleva consigo una reducción de los recursos de tipo humano. Su coste económico es muy inferior y su implantación suele ser bastante rápida. El mantenimiento de los paquetes es proporcionado por el suministrador del mismo. Las adaptaciones e incluso, en algunos casos los nuevos desarrollos del producto, como consecuencia de los nuevos anuncios de los suministradores de hardware, están planamente garantizados y generalmente suelen ser muy rápidos. Inconvenientes: Los centros de soportes y mantenimientos de estas compañías, suelen estar centralizados en una determinada ciudad y no disponen de una red de distribución a nivel nacional como la que poseen los suministradores de hardware. Ello ocasiona elevados tiempos de respuesta para la corrección de las anomalías que se presentan. 2- Software de los suministradores de Hardware En general, se puede decir que en los comienzos de la informática, el campo de acción de los fabricantes de hardware fue el software del sistema y el de utilidad, mientras que el de aplicación ha estado en manos de las pocas firmas especializadas en software. Sin embargo a partir de 1969 empezó a surgir gran cantidad de firmas que producían o distribuían software de los tres tipos. Pese a ello, el software de base sigue siendo prácticamente patrimonio exclusivo de los suministradores de hardware. La mayor parte de los fabricantes de equipos informáticos, quieren seguir monopolizando este sector del software, ya que los ingresos que obtienen por este concepto siguen una línea ascendente y compensan en gran parte los cada vez más mermados ingresos por hardware. Para poder seguir dominado el mercado, algunos fabricantes de equipos han recurrido a la implantación de protecciones de todo tipo, incluso han llegado a implementar ciertas rutinas por medio de microprogramación ("firmware"). Recientemente se han producido cambios sustanciales en la política de comercialización del software de base por parte e la mayoría de los fabricantes de hardware. La idea partió de IBM, y se trata de un cargo adicional al de utilización o licencia de uso, llamado soporte local de programas. Dicho servicio, comprende él poder solicitar asistencia telefónica en materia de software a los Centros de Asistencia Software o al Servicio Central. Asimismo, incluye la asistencia técnica en la propia instalación, en caso
4° año
Año: 2000
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTA REGIONAL SANTA FE MATERIA.ADMINISTRACION DE RECURSOS
de que la anomalía detectada en el funcionamiento del programa no pudiera ser solucionada telefónicamente.
3- Software de los fabricantes de Software. Su origen se debe a la política de "unbundling" del software que adoptó IBM en el año 1969, al facturar el mismo separadamente del hardware. Es a partir de la segunda mitad de la década de los años setenta cuando empiezan a aparecer estas firmas en el mercado español. Por ello, los usuarios informáticos españoles que prefieran adquirir el software de fuentes distintas a las de los suministradores de hardware tienen las siguientes opciones: A) Suministradores Estadounidenses: la entrada de la mayor parte de ellos, fue mediante el establecimiento de acuerdos con firmas nacionales de software, aunque posteriormente algunos abrieron sus propias delegaciones. Ha sido en los comienzos de la década de los ochenta cuando estas firmas han experimentado un espectacular crecimiento, fundamentalmente como consecuencia de: la gran aceptación que tuvieron los minis y micros, y La necesidad de disponer de herramientas de desarrollo de software tales como generadores de informes lenguajes tipo consulta ("query"), bases de datos relacionales, etc., productos que en algunos casos no eran ofrecidos por el suministrador de hardware. En relación con el software de aplicación, los grandes cambios existentes en materia de legislación entre EEUU y España, son la causa principal por la que este tipo de suministradores no comercializan productos de tipo aplicativo (contabilidad, facturación, nóminas, etc.) Suministradores Europeos: Hay muy pocas firmas europeas que tengan proyectos a nivel internacional; Algunas companías principalmente francesas, tienen una importante participación en el capital social de importantes centro de cálculos españoles, por lo que asimismo, suelen ofrecer servicios de tiempo compartido ("time sharing"), consultas a bases de datos, sistemas llave en mano, etc., que no son ofrecidos por los suministradores estadounidenses. C) Suministradores nacionales que comercializan productos de firmas estadounidense y europeas: Fundamentalmente son dos las causas que explican la existencia de este tipo de empresas: El mercado español no es lo suficientemente amplio como para poder llevar a cabo desarrollos de aplicaciones. A los suministradores europeos y estadounidenses les resulta más económico y tiene un menor riesgo si en vez de establecerse ellos directamente, llegan a un acuerdo con alguna firma española para comercializar sus productos. La adquisición de productos de software procedentes de este tipo de suministradores puede presentar problemas de mantenimiento. Consecuentemente, la resolución de este tipo de problemas suele alargarse bastante en el tiempo, y este aspecto debe tenerse muy en cuenta en el momento de seleccionar el producto, especialmente si se trata de un programa cuyo funcionamiento sea esencial, como por ej. Puede ser el caso de un monitor de teleproceso. Otro aspecto a considerar es la documentación y las ayudas de explotación. En general ninguna de las cosas suele estar traducidas al castellano. D) Suministradores nacionales: Distinguiremos los siguientes tipos: 01) OEM ("Original Equipement Manufacturer´s") o fabricantes de equipos originales. OEM no significa nada sino que se dedica a la adaptación o transformación de equipos de otros fabricantes. Su existencia en el mercado tiene su explicación en el B)
4° año
Año: 2000
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTA REGIONAL SANTA FE MATERIA.ADMINISTRACION DE RECURSOS
hecho de que todo ordenador es una herramienta de tipo universal, sus aplicaciones son muy variadas y dicha implementación generalmente, suele llevar consigo una cierta adaptación al entorno operativo en el que se vaya a trabajar. Dicha adaptación (hardware o software), es la labor principal del OEM. Las principales ventajas que ofrecen este tipo de suministradores son: 1- no están ligados a una única marca, de ahí que puedan elegir los elementos más adecuados, 2- suelen ser firmas constituidas por profesionales altamente cualificados en el aspecto técnico y no puramente comerciales y 3- al responsabilizarse de toda la operación (hardware y software) existe un único interlocutor. 02) Firmas distribuidoras y comercializadoras: Los lemas "la informática es negocio" y "hay que apostar al futuro" han sido el origen de la rápida aparición en el mercado de este tipo de firmas. Suelen trabajar a nivel de equipos pequeños y aplican modernas técnicas de márketing. Su nivel de conocimientos técnicos suele ser muy bajo, estas firmas ni desarrollan software propio, ni se responsabilizan de las adaptaciones que sean necesarias hacer en los paquetes de programa que comercializan. 03) Firmas de consulting y asesoría informática. Sus servicios cubren todo el espectro informático, desde la elección del ordenador hasta el desarrollo e implantación de cualquier sistema, pasando por la elaboración del Plan Informático, selección del personal (analistas, programadores, etc. Los costos económicos suelen ser muy altos y únicamente esta justificado este tipo de solución en el caso de instalaciones de un cierto nivel. 04) Casas de software (“software houses”). Se dedican exclusivamente al desarrollo de análisis y programación, y generalmente suelen ser grupos pequeños de técnicos informáticos. Aunque suelen trabajar habitualmente con unas determinadas marcas de equipos, no tiene compromisos de exclusividad, y por lo tanto desarrollan software de aplicación para todo tipo de equipos.
4- SISTEMAS LLAVE EN MANO Esta modalidad va dirigida hacia la pequeña y mediana empresa y el producto característico de la misma es una solución informática total, o sea suministran: Hardware Software de base, y Software de aplicación. Conviene hacer las siguientes observaciones a) Muchos fabricantes de hardware ofrecen únicamente el equipo y recomiendan una determinada firma para el software de aplicación. No se trata de una solución llave en mano puesto que el suministrador de hardware, raramente asumirá la responsabilidad del trabajo de esta firma. De esta forma, desaparece la principal ventaja que presenta esta modalidad, ya que no existe un único responsable del proyecto. b) El software de aplicación que se ofertaba en estas soluciones era a “medida” y debido a: costos crecientes de personal disminución de los costos de los equipos intento de ofrecer soluciones al menor costo
4° año
Año: 2000
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTA REGIONAL SANTA FE MATERIA.ADMINISTRACION DE RECURSOS
Ha ocasionado que hayan recurrido a paquetes de aplicación del tipo standard. Consecuentemente, el coste económico del producto se ha reducido considerablemente, y por lo tanto la demanda ha experimentado un notable crecimiento. 5- Desarrollo Propio Suele ser el procedimiento habitual de las grandes instalaciones y de la mayoría de las medianas. Esta modalidad presenta la ventaja de que el control que se tiene del sistema informático es total, pero exige que se disponga del personal adecuado para la realización del mismo, para conseguir que: se cumplan los plazos previstos y los presupuestos asignados a la instalación del sistema las aplicaciones resultantes sean fiables y de alta calidad se satisfagan las necesidades de todos los usuarios se obtenga un mayor rendimiento del personal informático la utilización de los recursos físicos (máquinas herramientas de desarrollo de aplicaciones, etc.) sea óptima, y el mantenimiento posterior de aplicación informática sea adecuado, se necesita disponer de una organización interna que: defina funciones y responsabilidades permita llevar a cabo un adecuado control y desarrollo de los proyectos mediante la implantación de una serie de métodos y técnicas de trabajo, y Se pueda establecer una normativa de utilización de los recursos informáticos. Para alcanzar los objetivos anteriormente expuestos, se debe utilizar una metodología adecuada. Se deben establecer un conjunto de normas, guías y reglas, así como el correspondiente sistema de documentación que permita representar el trabajo realizado en una forma sistemática. Una metodología de desarrollo de un sistema informático, debe permitir la descomposición de cada una de las etapas del mismo, en la correspondiente serie de tareas que deben ser realizadas, e indicar como pueden ser llevadas a cabo de una forma sistemática. Establecer una metodología de desarrollo es una tarea muy laboriosa debido a la complejidad y gran número de tareas en que puede descomponerse cualquier proyecto informático. Los criterios a seguir para la elección de la metodología adecuada, de entre las existentes en el mercado, son de tres tipos: criterios de organización, criterios de implantación, y Costos económicos. 6. CARACTERISTICAS GENERALES DE LOS PAQUETES DE PROGRAMAS a) Paquetes paramétricos. Permite que ciertos elementos de los programas sean introducidos externamente por medio de parámetros, sin tener que hacer modificaciones de los mismos. Dichos parámetros pueden ser definidos en la fase de instalación o durante la ejecución del mismo. b) Paquetes con “user exits” (salidas de usuarios). Subrutinas propias son adicionadas al paquete y pueden ser llamadas desde cualquier programa del mismo. Si el paquete ha sido desarrollado de forma que permita la inclusión de estas “exits” en una serie de puntos estratégicos, la aplicación del mismo puede ser muy amplia. c) Paquetes modulares. El usuario puede elegir de un conjunto de módulos, aquellos que le interesen. Es quizás la modalidad más utilizada por los suministradores de sistemas de gestión de base de datos, los cuales ofrecen productos formados por el sistema de base de datos, un diccionario de
4° año
Año: 2000
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTA REGIONAL SANTA FE MATERIA.ADMINISTRACION DE RECURSOS
datos, un generador de informes, un lenguaje conversacional o de consulta, e incluso un monitor de teleproceso. d) Paquetes adaptados. Es la alternativa a la programación “a medida”, pero con unos costes económicos muy inferiores. Esta técnica consiste en modificar los programas que componen el paquete, con el fin de adecuarlos a las necesidades específicas de un determinado usuario. Estas necesidades de adaptación de los paquetes dependen de una serie de factores. A nivel de software de aplicación se requiere, hacer modificaciones o adiciones de programas, mientras que a nivel de software del sistema y de utilidad, las necesidades de adaptación son prácticamente nulas, puesto que tan solo puede ser necesario aplicarlas en el caso de grandes instalaciones informáticas que utilicen equipos o técnicas muy especializados. 7. POLITICAS DE DESARROLLO DE NUEVOS PRODUCTOS a) Desarrollo interno. Para ello se requiere una fuerte inversión y disponer de personal cualificado. Los altos costes económicos y la escasez de la mano de obra necesaria, han sido las causas de que el desarrollo de paquetes de programas resulte poco viable. La única excepción, se presenta a nivel de software de aplicación para equipos pequeños, sector para el que aparecen productos nuevos, aunque realmente muchos de ellos no puedan ser considerados como auténticos paquetes, puesto que se trata de desarrollos “a medida” que han sido elaborados para un determinado clientes y que posteriormente son comercializados con el fin de obtener mayores beneficios. b) Adquisición de productos. Es el procedimiento más habitual. Generalmente, estas adquisiciones suelen proceder de desarrollos de sistemas hechos por empresas de consultorías informáticas y que posteriormente son adquiridos y modificados por firmas de software empaquetado. Esta política, aunque a menor escala, se presenta también a nivel de software de base para equipos medianos y grandes, e incluso se ha llegado hasta la compra de la compañía que desarrolló el producto. 8. POLITICAS COMERCIALES DE DISTRIBUCIÓN Y MANTENIMIENTO a) Venta del producto. El usuario adquiere la licencia de uso del paquete durante un determinado período de tiempo. Dicho período de tiempo varía enormemente en función del nivel del equipo y del tipo de software. Así, a nivel de equipos pequeños, la licencia de uso suele ser indefinida, mientras que para equipos medianos y grandes suele estar comprendida entre un año y 20 ó 30 años, período de tiempo para que el paquete quede totalmente obsoleto. b) Alquiler del producto. A nivel de equipos medianos y grandes y supone el pago de una cantidad fija mensual o anual por la licencia de uso del paquete. La adquisición de un paquete de programas, debe llevar implícito el correspondiente mantenimiento del mismo. Dicho ,mantenimiento cubre dos facetas: a) Determinación y corrección de los problemas técnicos que presente el producto como consecuencia de un mal funcionamiento del mismo. b) Mejoras que pueda experimentar el producto como pueden ser: nuevos desarrollos del mismo, adiciones de nuevos componentes, etc. Este servicio supone un pago anual que generalmente suele estar comprendido entre el 10% y el 15% del precio del mismo. CAPITULO V CRITERIOS GENERALES DE SELECCIÓN DEL SOFTWARE 1. INTRODUCCIÓN 4° año
Año: 2000
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTA REGIONAL SANTA FE MATERIA.ADMINISTRACION DE RECURSOS
En el transcurso de los casi 30 años de existencia de la informática, se ha desarrollado una gran cantidad de software, especialmente de tipo aplicativo. Entre ellos, los más populares son los relativos a nóminas, contabilidad, gestión de stocks, análisis de ventas y los paquetes de tipo estadístico – financiero. Fundamentalmente, tres son las opciones posibles de implantación de los programas necesarios para llevar a cabo la mecanización de cualquier sistema: - seleccionar un paquete de programas de entre los que se comercializan en el mercado, - contratar con una firma especializada el desarrollo de los mismos, y - desarrollar con personal propio la correspondiente aplicación. Un factor que también se puede considerar como clave para comprender dicho crecimiento, es la gran cantidad de equipos pequeños que actualmente existen en el mercado. La utilización de paquetes de programas no se ha limitado a nivel de software de aplicación, sino que se ha extendido a otras áreas, tales como gestores de bases de datos, paquetes generadores de programas, etc. Lógicamente, cuanto más común sea el área de aplicación que se pretende informatizar, mayor será el número de productos disponibles en el mercado, y consecuentemente mayor será la probabilidad de encontrar uno que sea adecuado a las necesidades que se hayan planteado. La selección del mismo será más difícil y requerirá la elaboración de un estudio técnico – económico detallado. No obstante, puede ocurrir que para el sistema que se pretende mecanizar: - no exista paquetes en el mercado, o - el paquetes existente ruede en un hardware distinto del que se posee, En relación con la utilidad de servicios externos para el desarrollo de los programas, cada vez más utilizados pese a su coste, conviene señalar que ofrecen las siguientes ventajas: - acorta el tiempo de desarrollo e implantación de los sistemas, y - permite que los recursos propios puedan ser dedicados a la mejora de la producción del software. 2. PAQUETES DE SOFTWARE La contratación de un sistema informático, tanto si se trata de una nueva implantación como si es una ampliación de alguno ya existente, es una tarea compleja. De entre las diversas causas que contribuyen a la complejidad de la misma, podemos citar: - la agresividad y “voracidad” competitiva de las casas suministradoras, - la enorme variedad de suministradores de equipos, modelos, programas, etc, y - la complejidad existente en el mercado informático. Para evitar, estas dificultades, es absolutamente necesario disponer de herramientas que ayuden a la selección del producto, y que al mismo tiempo sirvan para eliminar aspectos tan subjetivos, y en muchos casos habituales, como pueden ser el nombre de la marca que es más conocida, el producto más barato, o la referencia del sistema que nos da una firma con la que tenemos establecidos cordiales y amistosas relaciones. Un proceso de selección de un paquetes de programas es un problema de decisión entre varias alternativas. Este tipo de problemas son objeto de estudio en una parte de la informática que se conoce como la Ingeniería del Software. En ella, se desarrollan una serie de técnicas de medida de la eficiencia de los productos, entre las que podemos citar: 4° año
Año: 2000
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTA REGIONAL SANTA FE MATERIA.ADMINISTRACION DE RECURSOS
- la utilización de modelos o prototipos, - la técnica de simulación, y - los análisis estadísticos. Sin embargo, en este apartado se va a describir una metodología mucho más sencilla y útil. Está basada en una técnica de análisis de la decisión multiobjeto que popularmente conocida con el nombre de factor de mérito. Se combinan todos los criterios de evaluación que hayamos establecido, con el fin de obtener un único criterio de decisión que sirva para elegir el producto más adecuado. La utilización de esta metodología se realiza en varias fases: FASE 1. Definición de los criterios de evaluación. Consiste en establecer los criterios de selección en función de las características técnicas de tipo jerárquico y componentes del paquete de programas a evaluar. Presentan una estructura de tipo jerárquico. A su vez , cada criterio puede estar compuesto de una serie de subcriterios y así sucesivamente. Con ello se consigue descomponer el sistema en un conjunto de criterios que se pueden analizar individualmente. a)
Los criterios generales que se utilizan para la evaluación de los paquetes de programas son: Técnica que ha sido utilizada para el desarrollo del producto. Conocer la estructura y flexibilidad.
b)
Operatividad del producto. Conocer: los flujos y tratamientos que experimenta la información a lo largo del sistema. los controles que se hayan establecidos en relación con la integridad y validación de los datos. El rendimiento del sistema.
c)
Utilidad del producto. Es el relativo al análisis, calidad y validez de los productos de salida que se obtienen como resultado de la utilización del mismo.
d)
Posibilidad de adaptación del producto. Efectuar cambios en el paquete de programas con el fin de adecuarlo a unas necesidades específicas.
e)
Facilidad para la implementación de modificaciones. Se trata de evaluar los costes que suponen la implementación de las mismas, y se hace un estudio crítico de la utilidad del producto modificado.
f)
Mantenimiento del producto. Conocer el mantenimiento de los programas que ofrece la casa suministradora.
g)
Garantía de futuros desarrollos. Las revisiones que a lo largo del ciclo de vida del paquete de programas pueda introducir el fabricante del mismo.
h)
Instalaciones en donde está funcionando el paquete. La puesta en explotación de un paquete puede servir como prueba fehaciente que el mismo funciona. Este tipo de criterios se pueden representar por medio de estructura de tipo arborescente.
FASE 2. Asignación de factores de mérito a cada uno de los criterios.
4° año
Año: 2000
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTA REGIONAL SANTA FE MATERIA.ADMINISTRACION DE RECURSOS
Se trata de asignar un factor de mérito a cada uno de los criterios de evaluación del producto. Dicho factor debe asociarse con el criterio, en función de la importancia que tenga el mismo en la elección del paquete. Requiere que sea realizada por personal especializado. Resulta difícil establecer normas generales debido a una serie de causas, entre las que se pueden citar:
tipo de software. La importancia de los criterios de evaluación depende del tipo de programas que se esté evaluando.
Personal informático con el que cuenta la empresa.
Características del equipo de proceso de datos de que dispone.
El establecimiento de estos factores de méritos suele hacerse en tanto por ciento, de forma que se cumplen las siguientes reglas:
la suma de los factores de mérito de todos los criterios es cien.
la suma de los factores de mérito de todos los subcriterios que componen un determinado criterio es también cien. FASE 3. Proceso de evaluación. El primer dato a obtener en esta fase es el factor de calidad asociado a cada uno de los criterios. Distinguiremos dos casos: a)
Criterio simple: no admite descomposición alguna.
b)
Criterio común: está compuesto de varios subcriterios.
El resultado que se obtiene de este proceso es la puntuación final asignada al producto... cuanto más alta es la puntuación, mayor será la calidad o la eficiencia del sistema. Si se quiere afinar más en el proceso de evaluación del paquete, sería calcular las derivaciones de cada criterio que se producen entre los distintos productos que se están evaluando. El proceso de cálculo de dichas desviaciones se realiza de la siguiente manera: 1.
se busca el máximo factor de calidad entre las alternativas en curso de evaluación.
2.
Se hallan las diferencias que existen entre este valor máximo y el que tenga el correspondiente producto.
3.
Se estudian estas derivaciones.
Este proceso de cálculo de desviaciones conviene únicamente aplicarlo en los siguientes casos: Cuando las valoraciones que se obtengan de las distintas alternativas sean muy parecidas, o Cuando los factores de calidad que se obtengan sean bastantes dispares. El proceso de evaluación que se ha expuesto ha reducido el conjunto de criterios a uno solo, que se llamo calidad o eficiencia del producto.
4° año
Año: 2000
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTA REGIONAL SANTA FE MATERIA.ADMINISTRACION DE RECURSOS
Hasta el momento no se ha tenido en cuenta en la metodología el factor económico. Sin embargo resulta difícil establecer criterios claros acerca de la relación calidad/precio o coste/eficiencia. El proceso de evaluación será una evaluación técnica-económica en la que tendremos que analizar si la componente económica está plenamente justificada en base a las presentaciones técnicas que ofrece el producto. En relación con el método que se ha expuesto, se pueden hacer la siguientes observaciones: a) Los resultados finales que se obtienen son muy sensibles a las valoraciones que se hayan asignado. b) Es de fácil aplicación, sistemática y automatizable. c) La aplicación de la suma ponderada es una estructura clara y objetiva que permite evaluar el paquete, analizar y discutir los pasos y valoraciones más influyentes. Por otra parte, muy pocas veces los programas existentes en el mercado, cubren la totalidad de las necesidades del usuario. Cuando se pretende informatizar cualquier departamento de una empresa, nunca se debe cambiar la estructura organizativa del mismo. Debe ser la informática una herramienta de ayuda departamental, deberá adaptarse a la organización del mismo y no en sentido contrario. Estos cambios estructurales suelen aparecer cuando se pretenden implantar paquetes de programas que han sido desarrollados para departamentos son una organización distinta. Dichos paquetes deberán ser modificados antes de su implantación. Los paquetes de programas suelen tener una serie de peculiaridades e incluso de limitaciones. Conviene tener que la utilización de estos paquetes presenta una serie de ventajas e inconvenientes, que varían enormemente, hasta el extremo de que en algunos casos, es una ventaja y en otros, se convierte en un inconveniente. Podemos citar: a) Bajo tiempo para la puesta del sistemas en estado operativo. b) Se necesita invertir un tiempo para la búsqueda del paquete conveniente y puede ocurrir que no se encuentre el producto adecuado. c) El paquete de programas cubre únicamente parte de las necesidades. d) Existen dificultades de adaptación del paquete a unas necesidades específicas. e) El suministrador no ofrece un adecuado servicio de mantenimiento. f) La documentación que se ofrece es insuficiente o poco clara. Las consecuencias que pueden ocasionar estos factores pueden ser: 1- Pérdida de tiempo si durante el proceso de búsqueda y evaluación no se encuentra el producto adecuado. 2- Los costos requeridos para la adaptación del paquete a nuestras necesidades pueden ser muy altos. 3- El mantenimiento del producto puede ser problemático, bien porque no se disponga de personal informático, o bien porque resulta caro. 4- El producto puede tener un ciclo de vida corto. 3 - SOFTWARE A MEDIDA Para la adquisición de un determinado paquete de programas debe tenerse en cuenta el costo económico del mismo. Dicho deberá ser el resultado de la suma del precio de adquisición del producto mas el costo de las modificaciones que sean precisas. La decisión de compra de un paquete de programas deberá basarse en el citado costo, en relación con los riesgos que pueda ocasionar la correcta o incorrecta implantación de paquete.
4° año
Año: 2000
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTA REGIONAL SANTA FE MATERIA.ADMINISTRACION DE RECURSOS
Así como los costos de adquisición son perfectamente conocidos, no se puede decir lo mismo de los costos de adaptación. La adaptación exige que se tenga una relación muy clara de las mismas, y que éstas estén referidas al paquete concreto que se está evaluando. Puede ocurrir, que una vez analizados y evaluados un conjunto de paquetes, no interese la adquisición de ninguno de ellos, por motivos económicos, o porque no exista el producto adecuado. Se tienen dos alternativas: 1- Contratar el desarrollo del sistema informático con una empresa externa, o 2- Desarrollo propio Empresas externas. a) Fabricantes de hardware. Proporcionan todos los elementos necesarios para la implantación de un sistema informático, es decir, hardware, software de base, software de utilidad y de desarrollo de aplicaciones a medida. b) Firmas distribuidoras de fabricantes de hardware. Se les suele llamar OEM´s ( Original Equipment Manufacturer´s) c) Cetros de cálculos. La mayoría de ellos suelen ofrecer el producto total d) Firmas colaboradoras de fabricantes de hardware. Es la solución que suelen adoptar la mayor parte de fabricantes de hardware. 4 - DESARROLLO PROPIO Es, justamente con el desarrollo a medida, la modalidad que presenta mayor costo económico. Parece lógico que la Dirección de cualquier empresa, desee conocer el costo de obtención de información mediante la correspondiente solución informática. Los criterios que deben ser tenidos en cuenta para la selección de una metodología adecuada, de entre la existentes en el mercado, se pueden dividir en tres categorías: 1
Criterios de organización. A este nivel deben contemplarse los siguientes aspectos: a) Estructura y flexibilidad que se obtiene como resultado de la implementación de la misma. b) Nivel de documentación del producto. c) Facilidad de manejo. d) Guías orientativas para el cálculo estimativo de costos.
2
Criterios de implantación. Deben estar basados en: a) Tiempo necesario para su puesta en estado operativo. b) Plan de información ofrecido por el suministrador. c) Mantenimiento ofrecido. d) Posibilidades de adaptación. e) Referencias de instalaciones que tienen en funcionamiento dicha metodología.
3
Costo económico. Factor que lógicamente debe ser tenido en cuenta, aunque debe ser el decisorio, debe evaluarse la relación costo/beneficio.
El procedimiento a seguir para la evaluación de todos estos factores, es similar al que se expuso para los paquetes de programas. Por último decir que las metodología existentes en el mercado, fundamentalmente son de dos tipos:
4° año
Año: 2000
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTA REGIONAL SANTA FE MATERIA.ADMINISTRACION DE RECURSOS
a) Herramientas metodológicas. Llamadas así porque se utilizan en tareas muy concretas y para la realización de trabajos específicos. b) Metodologías de uso general. Son aquellas que son utilizadas en todas las faces de desarrollo de un sistemas informático.
4° año
Año: 2000