Mostrando entradas con la etiqueta Sistemas computacionales. Mostrar todas las entradas
Mostrando entradas con la etiqueta Sistemas computacionales. Mostrar todas las entradas

miércoles, 12 de septiembre de 2012

Introducción sistemas

Tipos de sistema

Los sistemas informáticos se desarrollan con distintos propósito, según las necesidades de la empresa. Los sistemas de procesamiento de transacciones funcionan al nivel operativo de la empresa, los sistemas de automatización de oficina y los sistemas de trabajo del conocimiento apoyan el trabajo al nivel del conocimiento. Los sistemas de información gerencial y los sistemas de apoyo a las decisiones se encuentran entre los sistemas de alto nivel. Los sistemas expertos aplican los conocimientos de los encargados de la toma de decisiones para solucionar problemas estructurados específicos. Los sistemas de apoyo a ejecutivos se encuentran en el nivel estratégico de la organización. Los sistemas de apoyo a la toma de decisiones en grupo y los sistemas de trabajo corporativo apoyados por computadora, auxilian a la toma de decisiones semiestructuradas o no estructuradas a nivel de grupo.

Sistemas de procesamiento de transacciones(TPS)

Estos sistemas eliminan el sobre-trabajo que generan ciertos procesos como el generado por hacer la nómina y los inventarios. Es cierto que los usuarios deben capturar información pero ya no es necesario hacer trabajo manual en cuanto a los cálculos requeridos para ellos.
Estos sistemas son de una gran importancia ya que los administradores del negocio requieren de información actualizada continuamente para poder planear su trabajo de día a día.

Sistemas de automatización de oficina(OAS) y sistemas de trabajo de conocimiento(KWS)

Los sistemas de automatización de oficina están conformados por los procesadores de texto, hojas de cálculo, calendarios electrónicos, gestión de correo electrónico, videoconferencia y otros similares. Estos apoyan a los trabajadores de datos que por lo general no general conocimiento nuevo, por el contrario utilizan los datos para analizarlos y modificarlos antes de ser compartidos.
Los sistemas de trabajo del conocimiento sirven de apoyo a los trabajadores como científicos ingenieros o médicos para su trabajo en la creación de nuevo conocimiento

Sistemas de información gerencial(MIS)

Estos sistemas no reemplazan a los sistemas de procesamiento de transacciones; por el contrario los utilizan, o al menos la información que estos segundos generan. Estos sistemas requieren que usuarios, software y hardware trabajen en conjunto por lo que ayudan a la toma de decisiones y el análisis. Utilizan una base de datos unificada para varios de los procesos empresariales y es por ello su utilidad en procesos de decisión.

Sistemas de apoyo a la toma de decisiones(DSS)

Estos sistemas y los sistemas de información gerencial comparte una misma base de datos solo que estos difieren de los MIS en que apoyan a la toma de decisiones durante todo el proceso de esta, aunque la decisión final depende de un usuario no del sistema. En ocasiones se hace referencia a ellos como sistemas que se enfocan en la inteligencia de negocios.

Sistemas expertos e inteligencia artificial(AI)

Los sistemas AI han sido desarrollados con el motivo de hacer máquinas con comportamiento inteligente en dos vertientes: el reconocimiento del lenguaje y la resolución de problemas hasta su solución lógica. Los sistemas expertos utilizan la lógica de los AI para la resolución de problemas planteados por los usuarios de negocios y otras áreas.
Los componentes básicos de los sistemas expertos son las bases del conocimiento, un motor de eficiencia que conecte al usuario con el sistema mediante el empleo de consultas realizadas con lenguajes como el SQL y la interfaz de usuario.

Sistemas de apoyo a la toma de decisiones en grupo (GDSS) y sistemas de trabajo colaborativo apoyado por computadora.

Este tipo de sistemas, que se utilizan en salones especiales equipados con diversas configuraciones, faculta a los miembros del grupo a interactuar con apoyo electrónico y la asistencia de un facilitador especial. Los sistemas de apoyo a la toma de decisiones en grupo tienen el propósito de unir a un grupo en la búsqueda de la solución a un problema con la ayuda de diversas herramientas como los sondeos, los cuestionarios, la lluvia de ideas y la creación de escenarios. El software GDSS puede diseñarse con el fin de minimizar las conductas negativas de grupo comunes, como la falta de participación originada por el miedo a las represalias si se expresa un punto de vista impopular o contrario, el control por parte de miembros elocuentes del grupo y la toma de decisiones conformista.

Sistemas de apoyo a ejecutivos(ESS)

Cuando los ejecutivos recurren a la computadora, por lo general lo hacen en busca de métodos que los auxilien en la toma de decisiones de nivel estratégico. Los sistemas de apoyo a ejecutivos ayudan a estos últimos a organizar sus actividades relacionadas con el entorno externo mediante herramientas gráficas y de comunicaciones, que por lo general se encuentran en salas de juntas o en oficinas corporativas personales. A pesar de que los ESS dependen de la información producida por los TPS y los MIS, ayudan a los usuarios a resolver problemas de toma de decisiones no estructuradas, que no tienen una aplicación específica, mediante la creación de un entorno que contribuye a pensar en problemas estratégicos de una manera bien informada.

Roles de los analistas de sistemas

El analista de sistema evalúa de manera sistemática el funcionamiento de un negocio mediante el examen de la entrada, el procesamiento de datos y su consecuente producción de información. En general la indefinición de analistas de sistemas es bastante amplia pues debe tener la capacidad de trabajar con todo tipo de gente y contar con suficiente experiencia en computadoras. Los tres roles principales de un analista de sistemas son:

El rol como consultor de analista de sistemas

Con frecuencia, el analista de sistemas desempeña el rol de consultor para un negocio y, por tanto, podría ser contratado de manera específica para enfrentar los problemas de sistemas de información de una empresa. Este tipo de contratación suele ser una ventaja ya que un consultor externo tiene conocimientos frescos pues no esta encerrado en un solo lugar con los mismo problemas que lo llevan a las mismas soluciones. Por otro lado se puede considerar desventaja el no empaparse del todo con el sistema de la empresa.

El rol de experto en soporte técnico del analista de sistemas

Este rol del analista de sistemas no lo encierra a un proyecto en especial, si que recurre a su experiencia en software y hardware y al uso que se le da dentro del negocio. Generalmente esto no esta relacionado a la realización de un proyecto completo de sistemas si no pequeñas modificaciones.

El rol de agente de cambio del analista de sistemas

Este es rol mas completo del analista de sistemas ya que esta ligado a lo largo de la vida útil de un desarrollo de sistema. Es este rol que se considera como un catalizador para el cambio, cooperando y facilitándolo. Es este el rol mas importante del analista de sistema pues de su proceso de la información es que el sistema logra su función.
En su calidad de analista de sistemas desempeñando la función de agente de cambio, debe promover un cambio que involucre el uso de los sistemas de información. También es parte de su tarea enseñar a los usuarios el proceso del cambio, ya que las modificaciones a un sistema de información no sólo afectan a éste sino que provocan cambios en el resto de la organización.

Ciclo de vida de desarrollo de sistemas

Es difícil decir o hablar acerca del ciclo de vida de sistemas ya que los autores no se ponene de acuerdo a cerca de el. Kenneth E. Kendall sugiere el siguiente:

Identificación de problemas, oportunidades y objetivos

Esta es la primer fase del ciclo donde como su nombre dice; se identifican los problemas, oportunidades y objetivos. De esta depende el total de la vida del sistema ya que aquí es donde se identifican los problemas que se abordaran y cuales no son necesarios de tomar en cuanta o que; a corto o mediano plazo; seria una perdida de tiempo.
Es un hecho que buena parte de las veces que un cliente pide un proyecto software no sabe en realidad lo que quiere o lo que necesita, por ello es importante que el analista de sistema pueda definir estos aspectos con claridad.

Determinación de los requerimientos de información

Esta es una fase interactiva con los usuarios del sistema, ya que ellos son los que saben que y como se realizan las cosas. Para poder obtener la información el analista hace uso de cuestionarios, entrevistas, muestreos, revisión de datos escritos (si los hay) e incluso la formulación de algún prototipo.
Aquí el analista debe esforzarse por entender la información, ya que, el cliente va a esperar que el sistema haga lo que ya esta haciendo pero el analista debe ser capaz de mejorar los procesos, siempre tomando en cuenta el porque las cosas se hacen de esa forma en la empresa pero pensando en como pueden cambiar para bien.

Análisis de las necesidades del sistema

Aquí el analista utiliza técnicas como diagramas de flujo para gráficar las entradas, los procesos y las salidas de las funciones del negocio. Con todo esto se estudian las decisiones en el negocio.
Aquí es donde el analista prepara una propuesta de sistema con los cambios sugeridos. En ocaciones este es el último paso que se realiza, ya que dentro de la propuesta realizada se incluye un balance costo/beneficio de la implementación del nuevo sistema; y si esta no es positiva generalmente se decide no continuar.

Diseño del sistema recomendado

Toda vez que se decide seguir adelante, el analista toma toda la información antes recolectada, procesada, catalogada y comprendida para realizar el diseño lógico.
Se ocupa en hacer el diseño de la interfaz, ya que de esta es la que interactuará con el usuario y de su comportamiento depende gran parte del éxito del sistema. Esta fase incluye modelación de bases de datos, archivos y gran parte de los datos. No se debe olvidar del diseño de controles de respaldo de información del sistema.

Desarrollo y documentación del software

En esta fase el analista de sistemas trabaja de forma conjunta con programadores para la elaboración de código que se implemente en software nuevo o adaptación del mismo. Para esto se utilizan distintos diagramas e incluso pseudocódigo.
Por otro lado se trabaja con usuarios para la elaboración de la documentación como manuales de procedimiento.
Los programadores y los usuarios forman un parte fundamental del sistema en esta parte pero; la lógica y la forma de trabajar del sistema depende del analista.

Implementación y evaluación del sistema

En esta última fase del ciclo se programa la capacitación sobre el uso del sistema así como la conversión del sistema anterior al actual, cambio en los archivos (formatos), construcción de la base datos e instalación de equipos necesarios.
La evaluación del sistema se realiza durante cada fase del ciclo, aquí se evalua que los usuarios esten realmente utilizando el nuevo sistema.  

jueves, 7 de junio de 2012

Breve historia del sistema operativo

  Entender el sistema operativo es comprender el funcionamiento de toda la maquina, porque este es quien administra todas y cada una de las piezas de hardware y el software. En términos extremadamente simples; un sistema operativo es el gerente ejecutivo, es decir la parte que administra todo el software y el hardware. Siendo específicos controla todos los archivos, dispositivos, secciones de la memoria principal y cada segundo del tiempo de procesamiento; de igual forma controla quien puede utilizar el equipo y la forma en que eso sucede.

La base de la pirámide de la figura anterior muestra los cuatro administradores esenciales de un sistema operativo; los cuales son; la base de todos los sistemas operativos. Cada administrador trabaja de cerca con los demás sea cual sea el sistema operativo en cuestión.

Software del sistema operativo
Sin importar el tamaño o configuración del sistema, cada administrador de subsistema llevan acabo estas tareas:

  • Monitorizar continuamente sus recursos
  • Obligar al cumplimiento de las políticas que determinan quien obtiene que, cuando y cuanto
  • Asignarlos recursos cuando es necesario
  • Liberar el recurso -recuperarlo- cuando es conveniente

Una de las principales funciones del administrador de memoria es proteger el espacio en la memoria principal que ocupa el sistema operativo: no puede permitir que parte alguna de ese espacio sea alterada de manera accidental o propositiva. 

El administrador del procesador decide como asignar la unidad de procesamiento central (CPU) y controlar el estado de cada proceso.
Este administrador monitorea si se esta ejecutando un proceso o espera que termine la ejecución de un comando de lectura o escritura. Dado que maneja las transiciones de procesos de un estado a otro se puede comparar con un controlador de trafico. El administrador asigna el procesador y establece los registros y tablas necesarias; mas tarde, cuando la tarea a terminado o el tiempo de ejecución ha expirado lo recupera.

El administrador de dispositivos vigila todos los dispositivos, canales y unidades de control. Su tarea es escoger la manera mas eficiente de asignar los dispositivos del sistema (impresoras, terminales, unidades de disco, etc) con base en una política de programación escogida por los diseñadores del sistema. Este administrador asigna el dispositivo, lo inicializa y lo libera.

Sin embargo, no basta que cada uno de los administradores lleve acabo sus tareas individuales. También deben ser capaces de trabajar en conjunto con los otros administradores. Suponiendo que alguien escribe un comando para ejecutar un programa, el sistema debería realizar los siguientes pasos en secuencia

  1. El administrador de dispositivos recibe los impulsos eléctricos del teclado, los codifica para formar el comando y lo envía a la interfaz de comando del usuario, donde el administrador del procesador lo valida.
  2. Luego el administrador del procesador manda un mensaje de reconocimiento, para que aparezca en el monitor de vídeo, de manera que quien lo escribió sepa que se envío el comando
  3. Cuando el administrador del procesador recibe el comando, determina si hay que traer el programa correspondiente de donde este almacenado o si ya esta en la memoria, después de lo cual notifica al administrador apropiado
  4. Si el programa esta almacenado, el administrador de archivos debe calcular su localización exacta en el disco y pasar la información al administrador de dispositivos. Este lo recupera y envía el programa al administrador de la memoria el cual debe encontrar el espacio para el mismo y registrar su ubicación exacta en la memoria
  5. Una vez que el programa se halla en la memoria, el administrador de esta debe controlar su localización y progreso conforme lo ejecuta el administrador del procesador
  6. Cuando termina la ejecución del programa, este manda un mensaje de “terminado” de vuelta al administrador del procesador
  7. Por último el administrador del procesador manda el mensaje de “terminado” de vuelta al administrador de dispositivos, que lo muestra en el monitor para que el usuario lo vea

Aunque esta es una simplificación del proceso de un sistema operativo, sirve para identificar que ningún administrador puede trabajar solo, o por su parte.

Tipos de sistemas operativos

Los sistemas operativos de las computadoras grandes y pequeñas se ubican en cuatro clases, que se distinguen por su tiempo de respuesta y la forma en que se introducen los datos en el sistema:
  • Sistemas por lotes
  • Sistema interactivo
  • Sistema operativo multitarea
  • Sistema operativo en red
  • Sistema en tiempo real
  • Sistema mixto
  • Sistema operativo distribuido
  • Sistemas por lotes 
Estos existen desde las primeras computadoras, que se apoyaban en tarjetas perforadas o en citas para la entrada cuando se introducía una tarea mediante la agrupación de tarjetas en un paquete y se corría todo este a través de un lector como un grupo. Los sistemas por lotes de hoy no están limitados a tarjetas o cintas pero los trabajo todavía se procesan serie sin interacción del usuario.
La eficiencia del sistema se media por producción -esto es la cantidad de tareas completadas en una cantidad de tiempo, y el tiempo total se media en hora o a veces en días. Hoy en día no es común encontrar un sistema por lotes en funcionamiento.

Permiten la simulación de que el sistema y sus recursos son todos para cada usuarios. El usuario hace una petición a la computadora, esta la procesa tan pronto como le es posible, y la respuesta aparecerá en la terminal del usuario.
Los principales recursos del sistema, el procesador, la memoria, dispositivos de E/S, son continuamente utilizados entre los diversos usuarios, dando a cada usuario la ilusión de que tiene el sistema dedicado para sí mismo. Esto trae como consecuencia una gran carga de trabajo al Sistema Operativo, principalmente en la administración de memoria principal y secundaria.

Sistemas interactivos

También conocidos como sistemas de tiempo compartido; dan un tiempo de retorno mas rápido que los sistemas por lotes, pero son mas lentos que los sistemas en tiempo real. Se introdujeron opara satisfacer las demandas de los usuarios que necesitaban un tiempo de retorno mas rápido al hacer el retorno al eliminar los errores de sus programas. El sistema requería el desarrollo de software de tiempo compartido, lo que permitía a cada usuario interactuar directamente con el sistema de computo vía comandos introducidos a través de un terminal del tipo maquina de escribir.

El sistema proporciona una retroalimentación inmediata al usuario, y el tiempo de respuesta puede medirse en minutos o incluso en segundos, esto según la cantidad de usuarios activos.

Sistemas en tiempo real

Estos son los más rápidos de los cuatro y se utilizan en entornos de tiempo critico donde los datos se deben procesar con suma rapidez porque la salida afecta decisiones inmediatas. Los sistemas de tiempo real se utilizan para vuelos espaciales, controladores de trafico, aeronaves de alta velocidad, procesos industriales, equipo médico y conmutación telefónica entre otros. Un sistema en tiempo real debe ser 100% sensible el 100% de las veces. El tiempo de respuesta se mide en fracciones de segundo, aunque en la práctica no se logra a menudo.
Si bien en teoría es posible convertir un sistema operativo de tipo general en un sistema en tiempo real, en la práctica la carga general de los sistemas de tipo general es tan grande que no se logra desempeños en tiempo real. Por lo tanto la mayor parte de los trabajos en tiempo real requiere sistemas operativos diseñados para llenar necesidades en tiempo real.

Sistema operativo multitarea o multiprogramación

Se distinguen por sus habilidades para poder soportar la ejecución de dos o más trabajos activos (que se están ejecutado) al mismo tiempo. Esto trae como resultado que la Unidad Central de Procesamiento (UCP) siempre tenga alguna tarea que ejecutar, aprovechando al máximo su utilización.
Su objetivo es tener a varias tareas en la memoria principal, de manera que cada uno está usando el procesador, o un procesador distinto, es decir, involucra máquinas con más de una UCP.

Sistemas Operativos como UNIX, Windows 95, Windows 98, Windows NT, MAC-OS, OS/2, soportan la multitarea.

Las características de un Sistema Operativo de multiprogramación o multitarea son las siguientes:
  • Mejora productividad del sistema y utilización de recursos.
  • Multiplexa recursos entre varios programas.
  • Generalmente soportan múltiples usuarios (multiusuarios).
  • Proporcionan facilidades para mantener el entorno de usuarios inndividuales.
  • Requieren validación de usuario para seguridad y protección.
  • Proporcionan contabilidad del uso de los recursos por parte de los usuarios.
  • Multitarea sin soprte multiusuario se encuentra en algunos computadores personales o en sistemas de tiempo real.
  • Sistemas multiprocesadores son sistemas multitareas por definición ya que soportan la ejecución simultánea de múltiples tareas sobre diferentes procesadores
En general, los sistemas de multiprogramación se caracterizan por tener múltiples programas activos compitiendo por los recursos del sistema: procesador, memoria, dispositivos periféricos.

Sistemas operativos distribuidos

Permiten distribuir trabajos, tareas o procesos, entre un conjunto de procesadores. Puede ser que este conjunto de procesadores esté en un equipo o en diferentes, en este caso es trasparente para el usuario. Existen dos esquemas básicos de éstos. Un sistema fuertemente acoplado es a es aquel que comparte la memoria y un reloj global, cuyos tiempos de acceso son similares para todos los procesadores. En un sistema débilmente acoplado los procesadores no comparten ni memoria ni reloj, ya que cada uno cuenta con su memoria local.

Los sistemas distribuidos deben de ser muy confiables, ya que si un componente del sistema se compone otro componente debe de ser capaz de reemplazarlo.
Entre los diferentes Sistemas Operativos distribuidos que existen tenemos los siguientes: Sprite, Solaris-MC, Mach, Chorus, Spring, Amoeba, Taos, etc.

Caracteristicas de los Sistemas Operativos distribuidos:

Colección de sistemas autónomos capaces de comunicación y cooperación mediante interconexiones hardware y software .
Gobierna operación de un S.C. y proporciona abstracción de máquina virtual a los usuarios.

Objetivo clave es la transparencia.

Generalmente proporcionan medios para la compartición global de recursos.
Servicios añadidos: denominación global, sistemas de archivos distribuidos, facilidades para distribución de cálculos (a través de comunicación de procesos internodos, llamadas a procedimientos remotos, etc.).
Sistema operativo en red
Son aquellos sistemas que mantienen a dos o más computadoras unidas através de algún medio de comunicación (fisico o no), con el objetivo primordial de poder compartir los diferentes recursos y la información del sistema.
El primer Sistema Operativo de red estaba enfocado a equipos con un procesador Motorola 68000, pasando posteriormente a procesadores Intel como Novell Netware.

Los Sistemas Operativos de red mas ampliamente usados son: Novell Netware, Personal Netware, LAN Manager, Windows NT Server, UNIX, LANtastic.

Historia de los sistemas operativos

Los sistemas operativos han evolucionado con el paso de los años y desde la perspectiva histórica los sistemas operativos han estado íntimamente ligados con la arquitectura de las computadoras en las que se ejecutan. Por ello es necesario revisar las generaciones de las la computadora para ver que tipo de sistema operativo usaba.

La primera computadora digital verdadera fue la creada por Charles Babbage, quien aunque invirtió la mayor parte de su vida y su fortuna intentando construir su maquina analítica nunca logro que funcionara como debiera porque era mecánica por completo y la tecnología de su época no era capaz de construir los engranes y las ruedas necesarias con la suficiente precisión. A parte sobra decir que esta carecía de un sistema operativo.

Como nota histórica, Babbage se dio cuenta que necesitaría de software para su máquina analítica, así que contrato a una mujer llamada Ada Lovelace hija del afamado poeta ingles Byron, para serla primer programadora del mundo. El lenguaje de programación Ada® se llama así en su honor.

Primera generación: Tubos al vacío
Después de la infructuosa labor de Babbage, poco avanzo la construcción de computadoras deigitales antes de la segunda guerra mundial. A mediados de la década de 1940, Howard Aiken, en Harvard; Jhon Von Neumann, En el instituto de estudios avanzados de Princeton; Presper Eckert y William Mauchley, En la universidad de Pensilvania entre otros, lograron construir máquinas calculadoras. Las primeras empleaban relevadores mecánicos pero eran sumamente lentas, con tiempos de ciclos medios en segundos. Luego los relevadores fueron sustituidos por tubos la vacío; eran enormes; ocupaban recintos enteros y tenían decenas de miles de tubos al vacío, con todo eran millones de veces mas lentas que las computadoras personales mas económicas que se venden en la actualidad.

En esos tiempos, un solo grupo de personas diseñaba, construía, programaba, operaba y mantenia cada maquina. Toda la programación se hacia en lenguaje máquina absoluto, a menudo alambrando tableros de conexiones para controlar las funciones básicas de la máquina. No existían los lenguajes de programación. Nadie había oído hablar de los sistemas operativos. La forma de operación usual era que el programador reservaba un bloque de tiempo en una hoja pegada en la pared, bajaba al cuarto de la máquina, insertaba su tablero de conexiones e la computadora, y pasaba horas esperando a que ninguno de los tubos al vacío se quemara durante la ejecución de su programa. Casi todos los problemas eran cálculos numéricos simples como la preparación de tablas de senos, cosenos y tangentes así como logaritmos.


Para principios de la década de 1950, la rutina había mejorado un poco con la introducción de las tarjetas perforadas, Ahora era posible escribir programas y hacer que la máquina las leyera, en lugar de usar tableros de conexiones; por lo demás el procedimiento era lo mismo.

Segunda generación: Transistores y sistemas por lotes
La introducción del transistor a mediados de la década de 1950, altero el panorama de manera radical. Las computadoras se volvieron lo bastante fiables como para fabricarse y venderse a clientes comerciales con la expectativa de que seguirían funcionando el tiempo suficiente para efectuar algún trabajo útil. Por primera vez hubo una distinción entre programadores, operaqdores y personal de mantenimiento.

Estas máquinas eran llamadas mainframes o macrocomputadoras se alojaban en salas de computo especiales con aire acondicionado y las operaban grupos de operadores profesionales. Solo las grandes corporaciones y dependencias gubernamentales o universidades importantes podían pagar los millones de dolares que costaban. Para ejecutar un trabajo un programador escribía el programa en papel (en FORTRAN o en ensamblador) y luego lo perforaba en tarjetas. Seguido de esto llevaba el mazo de tarjetas al cuarto de entrada, lo entregaba a uno de los operadores y esperaba a que estuvieran listas las salidas.

Cuando la computadora terminaba un trabajo que estaba ejecutando, un operador tomaba las hojas de la impresora y las llevaba al cuarto de salida, donde el programador podía recogerlas. Luego tomaba uno de los mazos de tarjetas traídos del cuarto de entrada y lo colocaba en la lectora de la computadora. Si se necesitaba el compilador de FORTRAN, el operador tenia que traerlo de un archivero y colocarlo en la lectora. Se desperdiciaba mucho tiempo de computadora mientras los operadores iban de un lado a otro en el cuarto de máquinas.

En vista del elevado costo de los equipos, no es sorprendente que pronto se buscaran formas de reducir el espacio de tiempo. La solución por lo general fue el sistema por lotes. La idea básica era juntar una bandeja llena de trabajos en el cuarto de entrada y luego pasarlos a una cinta magnética, empleando una computadora pequeña y (relativamente) de bajo costo como la IBM 1401 , que era muy buena para leer tarjetas, copiar cintas e imprimir salidas, pero mala para los cálculos numéricos, otras maquinas mucho mas costosas como la IBM 7094, realizaban los cómputos propiamente dichos. Esta situación se muestra en la siguiente figura:

Después de cerca de cerca de una hora de reunir trabajos, la cinta se rebobinaba y se llevaba al cuarto de máquinas. Luego el operador cargaba un programa especial (el antecesor del sistema operativo actual) que leía el primer trabajo de la cinta y lo ejecutaba. Las salidas de grababan en una segunda cinta, en lugar de imprimirse. Una vez terminado el trabajo, el sistema operativo leía en forma automática el siguiente de la cinta y comenzaba a ejecutarlo. Una vez terminado todo el lote, el operador desmontaba todas las cintas de entrada y las de salidas, reemplazaba la cinta de entrada por otro lote y llevaba la cinta de salida a una 1401 para imprimir las salidas fuera de linea .

Tercera generación
A principio de la década de 1960, la mayoría de los fabricantes de computadoras tenían dos lineas de productos diferentes e incompatibles por completo. Por un lado estaban las computadoras científicas a gran escala como la 7094, orientadas a palabras, que se orientaba a cálculos numéricos en ciencia e ingeniería. Por otro lado estaban las computadoras comerciales como la 1401, orientadas a caracteres, que los bancos y las compañías de seguros utilizaban en forma amplia para ordenar e imprimir cintas.

El desarrollo y mantenimiento de dos lineas de productos totalmente distintas representaba costos muy altos. Además muchos clientes necesitaban al principio una maquina pequeña, pero mas adelante, al crecer, querian una de mayor tamaño que ejecutara todos sus antiguos programas, pero en menor tiempo.
IBM intento resolver ambos problemas de un solo golpe, introduciendo el Sistema/360. Este era una serie de maquinas de software compatible que iba desde el tamaño de la 1401, hasta otras mucho mas potentes que la 7094. Las máquinas solo diferían en el costo y desempeño. Puesto que todas las máquinas tenían la misma arquitectura y conjunto de instrucciones, los programas escritos para una máquina podían ejecutarse en todas las demás, al menos en teoría. 

Además la 360 se diseño para que pudiera manejar cómputos tanto científicos como comerciales. Así, una sola familia de máquinas podía satisfacer las necesidades de todos los clientes. En años posteriores, IBM produjo, sucesoras compatibles con la 360, empleando tecnologías mas modernas.

La 360 fue la primer computadora importante que utilizo circuitos integrados (a pequeña escala), por lo que ofrecía una notable ventaja en precio respecto a las máquinas de segunda generación, que se construían con transistores individuales. Su éxito fue inmediato y los principales fabricantes de computadoras adoptaron la idea de una sola linea de computadoras compatibles. Los descendientes de estas máquinas se siguen usando en centros de computo en algunos lugares al día de hoy, para administrar bases de datos enormes o como servidores de sitios web que deben procesar miles de solicitudes por segundo.

La mayor ventaja de la idea de “una familia” era al mismo tiempo su punto mas débil. La intención era que todo el software, incluido el sistema operativo OS/360, tenia que funcionar en todos los modelos. Tenia que hacerlo en todos los modelos, incluido los pequeños y los grandes utilizados para hacer cálculos meteorológicos y otros cálculos pesados. Debía ser buenos para sistemas con pocos periféricos, en entornos comerciales y científicos.

Era imposible que IBM, u otro fabricante escribiera software capaz de satisfacer todos esos requisitos opuestos. El resultado fue un sistema operativo enorme y extremadamente complejo. Cosiste en miles de lineas en lenguaje ensamblador escritas por miles de programadores, y contenía miles y miles de errores, por lo que se requería un flujo continuo de versiones en un intento por corregirlos. 

Cada versión nueva corregía algunos errores, pero introducía unos nuevos por lo que se penso que el número de errores se mantuvo con el tiempo.

A pesar de lo enorme de su tamaño y sus problemas, el OS/360 y los sistemas operativos producidos por otros fabricantes en realidad satisficieron de manera razonable la mayoría de sus clientes. Además popularizo técnicas que no se utilizaban en los sistemas operativos de segunda generación siento, tal vez la mas importante la de multiprogramación.

Una solución que se hallo fue dividir la memoria en varias partes, con un trabajo distinto en cada partición. Mientras que un trabajo estaba esperando a que terminara la E/S, otro podía utilizar la CPU. Si era posible tener varios trabajos al mismo tiempo en la memoria principal, la CPU podía mantenerse ocupada casi el 100% del tiempo. Tener varios trabajos en la memoria principal sin ocasionar problemas, requiere hardware especial que proteja cada trabajo de espionaje y acciones hostiles de otros.

Otra característica de los sistemas operativos de tercera generación era que podían leer trabajos de tarjetas y grabarlos en el disco tan pronto como se llevaban al cuarto de computadoras. Así, cada vez que se terminaba un trabajo podía cargarse otro desde el disco y ponerlo en la partición recién desocupada. 

A esta técnica se le llama spooling y también se utilizaba para la salida.

El deseo de obtener una respuesta mas rápida preparo el camino para los sistemas de tiempo compartido, una variante de la multiprogramación en la que cada usuario tiene una terminal en linea. En estos sistemas si 20 usuarios están trabajando y 17 de ellos están pensando o haciendo algo diferente a estar ocupando la máquina, la CPU puede asignarse por turnos a los tres trabajos que desean ser atendidos.

El primer sistema de tiempo compartido serio, CTSS se desarrollo en el MIT en una 7094 con modificadores especiales; sin embargo el tiempo compartido no se popularizo si no hasta que se generalizo el software de protección necesario durante la tercera generación.

Tiempo después, los fabricantes mas representativos de computadoras decidieron emprender el desarrollo de un servicio de computadora; una máquina que atendiera a miles de usuarios. A este sistema lo llamaron MULTICS y con el imaginaron una máquina enorme que podria dar potencia de computadora a todos los habitantes del área de Boston.

Al final MULTICS no tuvo el éxito comercial que se espero tuvo gran influencia en los sistemas subsecuentes. Uno de los científicos de computación de los laboratorios BELL que trabajó en el proyecto MULTICS escribió una versión austera de MULTICS para un solo usuario; esta labor dio pie mas adelante para el desarrollo de UNIX , que se popularizo en el mundo académico, en las dependencias gubernamentales y muchas compañías.

Este al no ser de código abierto pronto su desarrollo se torno al caos ya que varias organizaciones iniciaron su propia versión o clon de este sistema para poder utilizarlo. Principalmente surgieron dos versiones SystemV de AT&T, y BSD de la Universidad de California Berkeley. El IEEE creo entonces un estándar para UNIX llamado POSIX, reconocido por la mayoría de las versiones actuales.

En 1987 surge MINIX una alternativa compacta a UNIX creado con fines educativos. El desea de contar con una versión de producción libre (no meramente educativa) de MINIX, Linus Trolvads escribió LINUX (LINUX Is Not UNIX) escrito en base a MINIX y que incluso reconocía varios de sus recursos como el sistema de archivos.

Cuarta generación
Con el desarrollo de los circuitos integrados a gran escala que contienen miles de transistores en cada centímetro cuadrado de silicio, surgió la era de la computadora personal. Este adelanto logró hacer que cada persona fuese capaz de tener su propia computadora.

En 10974 cuando intel presento si 8080, la primer CPU de ocho bits de propósito general, quería un sistema operativo para ese procesador. Primero se escribió los controladores para el disco flexible de ocho pulgadas y lo conectaron al 8080 con lo que nace la primer PC con disco. Después se escribió el primer sistema basado en disco llamado CP/M.

A principio de la década de 1980 IBM se puso en contacto con Bill Gates para usar bajo licencia su interprete de BASIC y se le consulto si sabia de algún sistema operativo. Gates los dirigío a ponerse en contacto con Digital Research dueños de CP/M pero estos se reusaron reunir con IBM, por lo que este regresa con Bill Gates para preguntarle si podia ofrecerles un sistema operativo.
Gates se percato que un fabricante local de computadora tenia un sistema aceptable llamado DOS (Disk Operating System) y lo compro; se dice que por 50,000 USD; contrata a uno de los desarrolladores de DOS para hacer mejorías que requería IBM para ofrecer paquetes DOS/BASIC. A esto lo rebautiza como MS-DOS (Microsoft Disk Operating System) y Bill Gates con su naciente empresa ofrece el sistema a los grandes fabricantes para ser incluido en su hardware. Contrario a la estrategia de Digital Research quien pensaba distribuirlo con los usuario finales uno por uno.

La primera versión de MS-DOS era mas bien primitiva, las posteriores consiguieron hacer funciones avanzadas, muchas de ellas tomadas de UNIX.
En estos momento los sistemas operativos interactuaban con el usuario mediante linea de comandos pero esto cambio gracias a investigaciones hechas en la década de 1970 cuando se desarrollo la GUI o interfaz gráfica de usuario. Provista de ventanas, iconos y ratón. Estas interfaces fueron adoptadas por Xerox. En algún momento Steve Jobs; fundador de Aple Computer, visito las instalaciones de Xerox y observo el GUI que de inmediato adopto para su computador LISA, pero que por el costo al mercado tan alto fue un fracaso. El mismo GUI fue instalado en un Aple Macintosh que era varias veces mas económica que la LISA y que gracias a ser tan intuitiva pronto gano gran popularidad.

Microsoft avanzo en el desarrollo de su MS-DOS mediante Windows, el cual corría encima de MS-DOS por lo que era mas un Shell que un sistema completo. Entre 1985 a 1995 Windows no fue mas que un entorno gráfico hasta que salio Windows 95 que solo ejecutaba a MS-DOS para arrancar y ehjecutar programas viejos. Windows 98 fue una versión modificada del 95 y que aún contenía mucho código ensamblador de Intel 16bits.

Posterior a Windows 98, viene Windows NT, que después fue rebautizado como Windows 2000 pero que no pudo eliminar por completo a MS-DOS, y no funciono como se esperaba. Después sale Windows ME, Antecesor de Windows XP. Este último mucho mas popular y con mayor permanencia en el mercado de 2001 a 2011. En 2007 Microsoft lanza Windows Vista, y en 2009 Windows 7.

Otro contendiente principal es UNIX que domino en las otras computadoras que no utilizan Intel, asi como en las estaciones de trabajo, en especial las que utilizan chips de alto desempeño (RISC). Estas tienen, en general, la potencia de computo de una micro computadora, aunque se dediquen a un solo usuario, por lo que es lógico que estén equipadas con un sistema operativo para micro computadoras.

Un interesante desarrollo que comenzó a llevarse a cabo a mediados de la década de 1980 ha sido el crecimiento de las redes de computadoras con sistemas operativos en red y sistemas operativos distribuidos. En un sistema operativo en red, los usuarios están consientes de máquinas remotas y pueden conectarse con ellas para copiar archivos. Cada máquina ejecuta su propio sistema local y tiene su propio usuario.

Por el contrario un sistema distribuido es aquel que aparece como un sistema tradicional de un solo procesador, aunque este compuesto por varios. En este los usuarios no deben ser cocientes del lugar donde se ejecute su programa o del lugar donde se encuentran sus archivos, esto es manejado de forma automática por el sistema operativo.

Unix es un sistema operativo portable multitarea y multiusuario desarrollado a principios de 1969 por un grupo de empleados de BELL LABORATORYS de AT&T.Este sistema nació después de que su creador Ken Thompson programo un juego llamado Space travel, pero noto que correrlo en una computadora de General Electric resulto ser demasiado costoso (79 USD por partida) por lo que reescribió el juego en lenguaje ensamblador para una DEC PDP 7. Este hecho junto con su experiencia en MULTICS lo animo a escribir UNIX.

No es hasta 1970 que se tiene la primer referencia oficial de UNIX como sistema operativo cuando consiguen implementar la herramienta de procesamiento de texto e integrarlo a una máquina PDP 11-20. En 1970 se reescribe UNIX pero esta vez en lenguaje C por lo que pudo ser fácilmente modificado para implementarse en otras máquinas y así se volvió portable.

Hacia 1991, un estudiante de ciencias de la computación de la Universidad de Helsinki, llamado Linus Torvalds desarrolló un núcleo para computadoras con arquitectura x86 de Intel que emulaba muchas de las funcionalidades de UNIX y lo lanzó en forma de código abierto en 1991, bajo el nombre de Linux. En 1992, el Proyecto GNU comenzó a utilizar el núcleo Linux junto a sus programas.

De UNIX se desprenden varias familias de sistemas operativos aparte de la de LINUX, como BSD, AIX, XENIX y a su ves de estas familas se desprenden otras como en el caso de LINUX donde podemos encontrar la familia Red Hat, Slackware, DEBIAN entre otras. Todas con sus distintas distribuciones libres y comerciales.

El 24 de enero de 1984, Apple Computer Inc. (ahora Apple Inc.) introdujo la computadora personal Macintosh, con el modelo Macintosh 128K, el cual incluía el sistema operativo Mac OS, conocido en esa época como System Software (Software de sistema).

A la Macintosh a menudo se le atribuye la popularización de las interfaces gráficas de usuario. El Mac OS ha sido pre-instalado en casi todos los computadores Macintosh vendidos. El sistema operativo también se vende en forma separada en las tiendas de Apple y en línea. El Mac OS original estaba basado parcialmente en el Lisa OS, previamente comercializado por Apple para la computadora Lisa en 1983 y, como parte de un acuerdo que permitía a Xerox comprar acciones de Apple a un precio favorable, también usaba conceptos del Xerox PARC Xerox Alto, el cual Steve Jobs y otros miembros del equipo Macintosh habían visto.

En un principio Mac OX fue escrito y llamado como Mac Os Clasic de código propio de Aple Computer, pero es en la versión Mac Os X que se decidió en desarrollar basados basándose en Mac Os Clasic, NextSTEP y UNIX
Varios fabricantes de computadores a través de los años han hecho clones de Macintosh capaces de ejecutar Mac OS, en particular Power Computing, UMAX y Motorola. Estas máquinas ejecutaron varias versiones del sistema operativo clásico de Mac. En 1997 Steve Jobs cerró el programa de licencia clon al regresar a Apple.

En 2008 el fabricante estadounidense Psystar Corporation anunció un ordenador de bajo coste (499 USD) que ejecutaba Mac OS X 10.5 Leopard. Amenazados por las batallas legales, Psystar denominó a su sistema OpenMac y posteriormente Open Computer. Actualmente Apple sigue en litigio con esta compañía a la que pretende hacer pagar por daños y perjuicios, por cada clon vendido y por los costes de la batalla legal.

En 2009 el fabricante HyperMegaNet UG lanzó un ordenador "Macintosh Compatible" bajo la marca comercial PearC basándose en el hecho de que la Licencia de software no puede aceptarse al no poder ser leída antes de adquirir el producto puesto que se encuentra dentro de la caja en la que viene el ordenador por lo que la parte que apela a la no instalación de OS X en hardware que no sea Apple es nula a todos los efectos, al menos en Alemania.

Clasificación de los sistemas operativos

Según administración de tareas
  • Monotarea: Solamente permite ejecutar un proceso (aparte de los procesos del propio SO) en un momento dado. Una vez que empieza a ejecutar un proceso, continuará haciéndolo hasta su finalización y/o interrupción.
  • Multitarea: Es capaz de ejecutar varios procesos al mismo tiempo. Este tipo de SO. normalmente asigna los recursos disponibles (CPU, memoria, periféricos) de forma alternada a los procesos que los solicitan, de manera que el usuario percibe que todos funcionan a la vez, de forma concurrente.
Según su administración de usuarios
  • Monousuario: Si sólo permite ejecutar los programas de un usuario al mismo tiempo.
  • Multiusuario: Si permite que varios usuarios ejecuten simultáneamente sus programas, accediendo a la vez a los recursos de la computadora. Normalmente estos sistemas operativos utilizan métodos de protección de datos, de manera que un programa no pueda usar o cambiar los datos de otro usuario.
Según el manejo de recursos
  • Centralizado: Si permite usar los recursos de una sola computadora.
  • Distribuido: Si permite utilizar los recursos (memoria, CPU, disco, periféricos...) de más de una computadora al mismo tiempo.
Según el tipo de su núcleo
  • Los núcleos monolíticos facilitan abstracciones del hardware subyacente realmente potentes y variadas.
  • Los micronúcleos (en inglés microkernel) proporcionan un pequeño conjunto de abstracciones simples del hardware, y usan las aplicaciones llamadas servidores para ofrecer mayor funcionalidad.4
  • Los núcleos híbridos (micronúcleos modificados) son muy parecidos a los micronúcleos puros, excepto porque incluyen código adicional en el espacio de núcleo para que se ejecute más rápidamente.
  • Los exonúcleos no facilitan ninguna abstracción, pero permiten el uso de bibliotecas que proporcionan mayor funcionalidad gracias al acceso directo o casi directo al hardware.
Referencias
  • Mchoes,F.(2001).Sistemas operativos (Tercera edición) México. Thomson
  • Tanembaun A.(2003). Sistemas operativos modernos. México. Pearson Educación.
  • Sistema operativo. (2012, 15 de mayo). Wikipedia, La enciclopedia libre. Fecha de consulta: 00:32, mayo 18, 2012 desde http://es.wikipedia.org/w/index.php?title=Sistema_operativo&oldid=56185783.
  • Núcleo (informática). (2012, 11 de abril). Wikipedia, La enciclopedia libre. Fecha de consulta: 00:35, mayo 18, 2012 desde http://es.wikipedia.org/w/index.php?title=N%C3%BAcleo_(inform%C3%A1tica)&oldid=55299756.
  • Mac OS. (2012, 10 de mayo). Wikipedia, La enciclopedia libre. Fecha de consulta: 00:40, mayo 18, 2012 desde http://es.wikipedia.org/w/index.php?title=Mac_OS&oldid=56063564.

sábado, 21 de enero de 2012

Ciclos de desarrollo de los sistemas


El ciclo de desarrollo de los sistemas o ciclo de vida de los sistemas (SDLC: Systems Devetopment Life Cycle) es un enfoque por etapas de análisis y de diseño, que postula que el desarrollo de los sistemas mejora cuando existe un ciclo específico de actividades del analista y de los usuarios.

En general, los analistas no están de acuerdo respecto al número exacto de etapas que conforman el ciclo de desarrollo de los sistemas; sin embargo, se reconoce la importancia de su enfoque sistemático. Se dividirá el ciclo de vida en siete etapas, que aunque se presentan de manera discreta, nunca se llevan a cabo como un elemento Independiente. En lugar de ello. se realizan al mismo tiempo diversas actividades, y éstas llegan a repetirse. Por ello es de mayor utilidad suponer que e! ciclo de desarrollo de los sistemas transcurre en etapas (con actividades en acción que luego cesan poco a poco) y no como elementos separados.

Identificación de problemas, oportunidades y objetivos

 

En esta primera etapa del ciclo de desarrollo de los sistemas, el analista se involucra en la identificación de los problemas, de las oportunidades y de los objetivos. Esta fase es crucial para el éxito del resto del proyecto, pues nadie estará dispuesto a desperdiciar su tiempo dedicándolo al problema equivocado.
La primera etapa requiere que el analista observe de forma objetiva lo que ocurre en una empresa. Luego, en conjunto con los otros miembros de la organización hará notar los problemas. Muchas veces esto ya fue realizado previamente: y por ello. es que se llega a invitar al analista.

Las oportunidades son acuellas situaciones que el analista considera que pueden perfeccionarse mediante el uso de los sistemas de información computarizados. Al aprovechar las oportunidades, la empresa puede lograr una ventaja competitiva o llegar a establecer un estándar industrial.

La identificación de objetivos también es un componente importante de la primera fase. En un comienzo, el analista deberá descubrir lo que la empresa intenta realizar, y luego estará en posibilidad de determinar si el uso de los sistemas de información apoyaría a la empresa para alcanzar sus metas, el encaminarla a problemas u oportunidades específicas.

Determinación de los requerimientos de información

 

La siguiente etapa que aborda el analista, es la determinación de los requerimientos de información a partir de los usuarios particularmente involucrados. Para identificar los requerimientos de información dentro de ¡a empresa, pueden utilizarse diversos instrumentos, los cuales incluyen: el muestreo, el estudio de los datos y formas usadas por la organización, la entrevista, los cuestionarios: la observación de la conducta de quien toma las decisiones, asi como de su ambiente: y también el desarrollo de prototipos.
En esta etapa el analista hace todo lo posible por identificar qué información requiere el usuario para desempeñar sus tareas. Puede ver, cómo varios de los métodos para establecer las necesidades de información, lo obligan a relacionarse directamente con los usuarios. Esta etapa sirve para elaborar la imagen que el analista tiene de la organización y de sus objetivos. En ocasiones, se llegan a concluir sólo las primeras dos etapas del ciclo de desarrollo de los sistemas.

Análisis delas necesidades del sistema

 

La siguiente etapa que ejecuta el analista de sistemas consiste en analizar las necesidades propias del sistema. Una vez más, existen herramientas y técnicas especiales que facilitan al analista la realización de las determinaciones requeridas. Estas incluyen el uso de los diagramas de flujo de datos (DFD)que cuentan con una técnica estructurada para representar en forma gráfica la entrada de datos de la empresa, los procesos y la salida de la información. A partir del diagrama de flujo de datos se desarrolla un diccionario de datos que contiene todos los elementos que utiliza el sistema, así como sus especificaciones, si son alfanuméricos, descripción, clave primaria, entre otros.
Durante esta fase el analista de sistemas también analiza las decisiones estructuradas por realizar, que son decisiones donde las condiciones, condiciones alternativas, acciones y reglas de acción podrán determinarse. Existen tres métodos para el análisis de las decisiones estructuradas: el lenguaje estructurado (en nuestro caso el español), las tablas de decisión y los árboles de decisión.

No todas las decisiones en las empresas se encuentran estructuradas; no obstante, es importante que las comprenda el analista de sistemas. Las decisiones semi-estructuradas (decisiones que se toman bajo nesgo) con frecuencia se apoyan en los Sistemas de Toma de Decisiones. Cuando analiza las decisiones semi-estructuradas. el analista las examina de acuerdo con el grado de complejidad del problema y con el número de criterios considerados al llevar a cabo las decisiones.

El análisis de decisiones de criterio múltiple (aquellas decisiones donde numerosos factores tienen que equilibrarse) también es parte de esta etapa. Se disponen de muchas técnicas para e' análisis de decisiones de criterio múltiple; incluyendo entre otras, e! proceso de intercambio y la aplicación de métodos de ponderado.

A esta altura del ciclo de desarrollo del sistema, el analista prepara una propuesta del sistema que resume todo lo que ha encontrado, presenta un análisis costo / beneficio de las alternativas y plantea las recomendaciones (si es que existen) de lo que deberá realizarse. Si la dirección acepta alguna de las recomendaciones, el analista procederá de acuerdo con ella.

Diseño del sistema recomendado

 

En esta etapa del ciclo de desarrollo de los sistemas, el analista de sistemas usa la información que recolectó con anterioridad y elabora el diseño lógico del sistema de Información. El analista diseña procedimientos precisos de captura de datos, con el fin de que los datos que se introducen al sistema sean los correctos. Ei analista también diseña accesos efectivos al sistema de información, mediante el uso de las técnicas de diseño de formularios y de pantallas.

Una parte del diseño lógico del sistema de información es el diseño de la interfaz con el usuario. La interfaz conecta al usuario con el sistema, y evidentemente, es de suma importancia. Serían ejemplos de interfaces para el usuario: el uso del teclado para introducir preguntas o respuestas, el uso de menús en la pantalla, con las opciones que tiene el usuario, el uso de dispositivos como el ratón (mouse) y muchos otros.

La etapa del diseño también incluye e! diseño de los archivos o la base de datos que almacenará aquellos datos requeridos por quien toma las decisiones en la organización. Una base de datos bien organizada es fundamental para cualquier sistema de información. En esta etapa, el analista diseña la salida (en pantalla o impresa) hacia el usuario, de acuerdo con sus necesidades de información.

Desarrollo y documentación del software

 

En esta etapa del ciclo de desarrollo de los sistemas, el analista trabaja con los programadores para desarrollar todo el software original que sea necesario. Dentro de las técnicas estructuradas para el diseño y documentación de! software se tienen: el método HIPO, los diagramas de flujo Nassi-Schneiderman, ios diagramas Warnier-Orr y el pseudocódigo. Aquí es donde, el analista de sistemas transmite al programador los requerimientos de programación.

Durante esta fase, el analista también colabora con los usuarios para desarrollar la documentación indispensable del software, incluyendo los manuales de procedimientos. La documentación le dirá al usuario como operar el software, y así también, qué hacer en caso de presentarse algún problema.

Pruebas y mantenimiento del sistema

 

El sistema de información debe probarse antes de utilizarlo. El costo es menor si se detectan los problemas antes cié la entrega del sistema. El programador realiza algunas pruebas por su cuenta, otras se llevan a cabo en colaboración con el analista de sistemas. En un principio, se hace una serie de pruebas, con datos tipo, para identificar las posibles fallas del sistema: más adelante, se utilizarán los datos reales.

El mantenimiento del sistema y de su documentación empiezan justamente en esta etapa: y después, esta función se realizará de forma rutinaria a lo largo de toda la vida del sistema. Las actividades de mantenimiento integran una buena parte de la rutina del programador, que para las empresas llegan a implicar importantes sumas de dinero. Sin embargo, el costo del mantenimiento disminuye de manera importante cuando el analista aplica procedimientos sistemáticos en el desarrollo de los sistemas.

Implantación y evaluación del sistema

 

En esta última etapa del desarrollo del sistema, el analista ayuda a implantar el sistema de información. Esto incluye el adiestramiento que el usuario requerirá. Si bien, parte de esta capacitación la dan las casas comerciales, la supervisión del adiestramiento es una responsabilidad del analista de sistemas. Más aún, el analista necesita planear la suave transición que trae consigo un cambio de sistemas.

Aunque la evaluación del sistema se plantea como parte integrante de la última etapa del ciclo de desarrollo de los sistemas; realmente, la evaluación toma parte en cada una de las etapas. Uno de los criterios fundamentales que debe satisfacerse, es que ei futuro usuario utilice el sistema desarrollado.