1. Introducción al Análisis de Sistemas 1.1 Introducción Enseñar análisis y diseño de sistemas en un aula es todo un reto ya que la materia se imparte fuera del contexto de las Organizaciones donde, en general, aparecen los sistemas de información. Gran parte del análisis y diseño de sistemas depende de herramientas, experiencias y situaciones que son dificiles de recrear en un aula. El analista de sistemas “ En nuestra organización el análisis de sistemas significa computadoras y éstas a su vez, sistemas de información. Todos estos sistemas necesitan, principalmente software y es en este aspecto donde se encuentra nuestro punto débil pero estámos superando el problema. La venta de software en estos momentos es tan común que éste ya es considerado como un artículo de consumo. De todas maneras no debemos olvidar que con la diversidad de software existente, y dado que éste es la esencia de un sistema de información, podemos encontrar casi cualquier aplicación que necesitemos en forma de software preempaquetado o enlatado. Claro, estamos conscientes de que no cualquier paquete hará el trabajo y que además, tiene que reunir ciertos requerimientos. Cualquier sistema, en general, que no satisface nuestros criterios no recibe ninguna consideración adicional ”. "Con todo esto dígame, si los sistemas de información son en realidad únicamente software y procedimientos y si considera la enorme cantidad de paquetes ofrecidos por vendedores y distribuidores de equipo de cómputo, ¿necesitamos analistas de sistemas?." " Por varias razones creo que continuarán siendo necesarios. Es probable que las empresas pequeñas trabajen con software disponible en el mercado, pero las grandes organizaciones seguirán teniendo analistas para planear y desarrollar sus sistemas, aunque hagan uso de sotware elaborado por terceros." 1.2 Cambios generados por los SI Los Sistemas de Información están llevando a cabo los cambios en cuatro aspectos fundamentales: 1. trabajo más inteligente. 2. cambio global en el concepto de industria. 3. ideas e información toman mas importancia que el dinero. 4. las personas que trabajan con la información dominan la fuerza del trabajo. Trabajo mas inteligente Las computadoras y los sistemas de información ocupan ahora un sitio especial en las empresas donde facilitan la operación eficiente de oficinas de reservas de billetes de avión, banca electrónica, archivo clínico de hospitales, funciones de contabilidad y nómina. Pero las herramientas y la tecnología por si mismos no producen ninguna mejora. Es necesario combinarlos con perspicacia en las habilidades y recursos necesarios para obtener resultados. Estos elementos caracterizan la economía de la información, donde las nuevas ideas y tecnologías son los factores críticos del éxito. Fusión global de empresas Hace algún tiempo las funciones de la banca, bolsa, inversión bienes raíces, estaban bien definidas y claramente entendidas. En muchos casos, las fronteras que separaban estas actividades se encontraban establecidas por las leyes, pero los consumidores y las oficinas del gobierno, al darse cuenta que la transferencia real era de información (es decir información relacionada con dinero, acciones, pólizas o propiedades) comenzaron a presionar para retirar las barreras. En la actualidad, mediante el uso de sistemas de información diseñados de manera cuidadosa, los bancos manejan transacciones que involucran dinero, acciones, seguros y propiedades. Ideas e información En la era industrial lo más importante era el uso del capital, dinero y recursos tangibles, para generar nuevos productos. En el presente los recursos básicos son las ideas y el uso de la información. Usuarios: trabajadores de la información Hay que tener en cuenta también que en la actualidad la industria de la manufactura representa sólo el 28% de los sueldos, el resto se alojan en empresas de servicios y manejo de información. Los trabajadores de la información, son aquellos que se ganan la vida al crear, utilizar, procesar, administrar o intercambiar información, a estos trabajadores de la información se le denomina usuarios pues ellos utilizan la información y los sistemas de información. Es importante reconocer el alto grado de dependencia de la sociedad tiene de los sistemas de información, y de las personas que los operan, para soportar sus actividades cotidianas. Serían capaces los bancos, la bolsa de valores o las aerolíneas de operar sin sistemas de información? la respuesta es no. Los sistemas de información deben ser capaces, utilizables, confiables y, por encima de todo, servir como medios para alcanzar fines sin convertirse en un fin por sí mismos. Sin importar el uso, un sistema de información basado en computadora debe funcionar de manera apropiada, ser fácil de utilizar y adecuarse a la organización para la que fué diseñado. Si un sistema ayuda a las personas a trabajar con mayor eficiencia entonces éstas lo utilizarán, de lo contrario lo evitarán. 1.3 ¿Qué es el Análisis y diseño de sistemas? El análisis y diseño de sistemas se refiere al proceso de examinar la situación de una empresa con el propósito de mejorarla con métodos y procedimientos más adecuados. 1.3.1 Panorama de Análisis y Diseño de sistemas El desarrollo de sistemas puede considerarse, en general, formado por dos grandes componentes: el análisis de sistemas y el diseño de sistemas. El diseño de sistemas es el proceso de planificar, reemplazar o complementar un sistema organizacional existente. Pero antes de ello, es necesario comprender, en su totalidad, el viejo sistema y determinar la mejor forma en que se pueden, si es posible, utilizar las computadoras para hacer la operación más eficiente. El análisis de sistemas, es el proceso de clasificación e interpretación de hechos, diagnóstico de problemas y empleo de la información para recomendar mejoras al sistema. Este es el trabajo del analista de sistemas.. En otras palabras el analista debe comprender cómo trabaja el sistema actual y, de manera mas específica, cual es el flujo de información en todo el sistema. Sólo despues de haber reunido todos los hechos, el analista se encuentra en la posición de determinar cómo y dónde un sistema de información basado en computadora será benéfico para todos los usuarios del sistema. Esta acumulación de información, denominada estudio del sistema, es la que precede a todas las demás actividades del análisis. Una vez tomada la decisión, se diseña un plan para implantar la recomendación. El plan incluye todas las características de diseño del sistema, tales como las necesidades de captura de nuevos datos, especificaciones de archivo, procedimientos de operación y necesidades de equipo y personal. El diseño de sistemas es como los planos de un edificio: especifica todas las caracteristicas del producto terminado. Los diseños también indican qué trabajos serán efectuados por las personas y cuáles por la computadora. Los analistas de sistemas deciden qué salida utilizar y cómo generarla. Resumiendo, el análisis especifica qué es lo que el sistema debe hacer. El diseño establece cómo alcanzar el objetivo. Aun con toda la tecnología, son las personas las piezas más importante para que una organización trabaje. De esta manera, comunicarse y tratar con las personas es uno de los aspectos más importantes del analista de sistemas. Los términos análisis, diseño, e implementación se utilizan en este orden, porque en la práctica, esta es la secuencia que se sigue para saber qué hace un sistema y qué necesidades debe satisfacer, si existe, o sólo para conocer las necesidades si no existe, con el fin de obtener una descripción y un conjunto de requerimientos que deberá cumplir el nuevo sistema. Basándose en las conclusiones del análisis, el diseño propone el nuevo sistema, que puede construirse modificando el ya existente o construyendo uno nuevo. Una vez aprobado el diseño, se construye el sistema. 1.3.2 Importancia del análisis de sistemas El análisis de sistemas es una actividad importante que tiene lugar cuando se construye un nuevo sistema de información o cuando se modifica uno ya existente. Pero ¿por qué son las actividades especiales (análisis de sistemas) necesarias para construir un buen sistema de información?¿Por qué no se tratan éstas como una tarea más en la organización?. Para responder estas preguntas hay que considerar qué se necesita hacer para construir un sistema informático complejo. Básicamente, se necesita conseguir un conjunto de procedimientos válidos para asegurar que todo el personal de la organización tiene los datos necesarios para su trabajo. Para conseguir estos hay que hacer muchas cosas. Se debe elegir el equipo y diseñar los nuevos procedimientos. Se deben escribir los programas que soporten estos procedimientos en el equipo. Los sistemas generalmente están compuestos por muchas tareas relaciónadas. Cambiar una de éstas o incluir nuevas tareas pueden afectar a las ya existentes. Por eso es necesario emplear un tiempo considerable para comprender correctamente el sistema y sus problemas. Sólo después de un buen estudio del sistema es posible llegar a proponer los cambios que lo harán más útil y no producirán efectos imprevistos. El analista utiliza el conocimiento del sistema existente y sus problemas para diseñar y construir un sistema mejor. 1.3.2.1 ¿QUÉ HACE UN ANALISTA DE SISTEMAS? El analista de sistemas es la persona cuyo trabajo consiste en centralizar el desarrollo del sistema en su conjunto. Es decir, el trabajo que el analista efectúa es recopilar los datos necesarios del sistema actual y el desarrollo de planes para nuevos sistemas. Esta tarea no es fácil, ya que deben ser satisfechas las necesidades de muchas personas. Un analista debe pasar gran parte de su tiempo hablando con los usuarios y descubrir cómo utilizan el sistema, los problemas que tienen y lo que esperan de él. También debe comprender cómo trabaja el sistema mismo. Para ello, el analista mirará cosas tales como formularios utilizados, datos usados por el personal de la organización, contenido de los ficheros y salidas y entrada de datos en el ordenador. El análisis de sistemas es un trabajo difícil, pero bien remunerado. Se necesita buena capacidad analítica y de comunicación. Los analistas de sistemas deben estudiar el sistema y comprender las expectativas de los usuarios. Deben mantener una actitud abierta a nuevas ideas o interesarse por los usuarios del sistema existente y sus necesidades. Es tarea del analista de sistemas satisfacer las necesidades de todos estos usuarios dentro de las restricciones impuestas por la dirección. El analista debe poder trabajar en entornos muy ambiguos e inciertos. A menudo recibe informes conflictivos sobre lo que ocurre y lo que se necesita. Además, usuarios diferentes perciben distintos errores de sistema. El analista debe poder resolver esta clase de conflictos y producir un informe ajustado sobre la operatividad del sistema y sus problemas. A partir de la última decada, los analistas se han empezado a encontrar con más dificultades. Los primeros analistas trabajaban en sistemas relativamente simples, pues sólo hacían una labor o tenían una sola función. Ahora los sistemas tienden a ser más complejos, muchos de ellos utilizan datos provenientes de gran número de fuentes y la gran variedad de equipos existentes con los primeros sistemas. Por consiguiente, los analistas necesitan mejores herramientas para realizar sus trabajos analíticos. Uno de los objetivos principales de este libro es describir tales herramientas y sus utilización por el analista. 1.3.2.2 LO QUE NO ES EL ANÁLISIS DE SISTEMAS Como se comentó anteriormente el análisis de sistemas consiste en el estudio de sistemas organizacionales para determinar sus métodos actuales y evaluar su efectividad, pero resulta útil saber también lo que NO es el análisis de sistemas: NO es: El estudio de una empresa para buscar procesos ya existentes con el propósito de determinar cuáles deberían ser llevados a cabo por una computadora y cuáles por métodos manuales. La finalidad del análisis está en comprender los detalles de una situación y decidir si es deseable o factible una mejora. La selección del método, ya sea utilizando o no una computadora, es un aspecto secundario. NO es: Determinar la mejor forma de resolver un problema de sistemas de información. Sin importar cuál sea la organización, el analista trabaja en los problemas de ésta. Es un error hacer una distinción entre los problemas de la empresa y los de sistemas ya que éstos últimos no existirían sin los primeros. Cualquier sugerencia debe primero considerarse a la luz de si beneficiará o perjudicará a la organización. No se debe ir tras ideas técnicamente atractivas a menos que éstas mejoren el sistema de la organización. 1.3.2.3 CATEGORÍAS DEL ANALISTA DE SISTEMAS A continuación detallamos las categorías laborales más comunes asignadas a los analistas de sistemas: 1. Análisis de sistemas. La función mas importante en este caso es reunir información y determinar los requerimientos. 2. Análisis y diseño de sistemas. Además de llevar a cabo el estudio completo de los sistemas, el analista tiene la responsabilidad adicional de diseñar el nuevo sistema. 3. Análisis, diseño y programacion de sistemas. El analista conduce la investigación de sistemas, desarrolla las especificaciones de diseño y escribe el software necesario para implantar el diseño. Sin embargo, no hay que olvidar que es el tamaño de la organización el que, con bastante frecuencia, dicta la naturaleza del trabajo del analista. En empresas pequeñas, los analistas tienen más funciones que los que trabajan en grandes organizaciones; estos últimos son los que se especializan en un solo campo, por ejemplo diseño de sistemas. En muchas otras organizaciones la programación la llevan a cabo los programadores de aplicaciones, quienes se especializan en esta parte del proceso de desarrollo de sistemas. Muchos analistas comienzan como programadores y después, una vez que han ganado suficiente experiencia, se convierten en analistas de sistemas. 1.4 Conceptos de Sistemas Organizacionales Un sistema es un conjunto de componentes que interaccionan entre sí para lograr un objetivo común. Nuestra sociedad está rodeada de sistemas. Por ejemplo, cualquier persona experimenta sensaciones físicas gracias a un complejo sistema nervioso formado por el cerebro, la médula espinal, los nervios y las células sensoriales especializadas que se encuentran debajo de la piel; estos elementos funcionan en conjunto para hacer que el sujeto experimente sensaciones de frío, calor, comezón, etc. Las personas se comunican con el lenguaje, que es un sistema muy desarrollado formado por palabras y símbolos que tienen significado para el que habla y para quienes lo escuchan. Ejemplos de sistemas son: el sistema nervioso, el sistema del lenguaje, el sistema económico, el sistema legislativo. Una organización, es un sistema. Sus componentes trabajan juntos para crear utilidades que beneficien tanto a los empleados como a los accionistas de la compañía. Cada uno de estos componentes es a su vez un sistema. Todo sistema organizacional depende de una entidad abstracta denominada sistema de información. Es el medio por el cual los datos fluyen de una persona o departamento hacia otros y puede ser cualquier cosa, desde la comunicación interna entre los diferentes componentes de la organización y líneas telefónicas, hasta sistemas de cómputo que generan reportes para varios usuarios. Los sistemas de información proporcionan servicio a todos los demás sistemas de una organización y enlazan todos sus componentes en forma tal que éstos trabajen con eficiencia para alcanzar el mismo objetivo. 1.4.1 Características de los sistemas Para alcanzar sus objetivos, los sistemas interaccionan con su medio ambiente, el cuál está formado por todos los objetos que se encuentran fuera de las fronteras de los sistemas. Los sistemas que interactúan con su medio ambiente (reciben entradas y producen salidas), se denominan sistemas abiertos. En contraste aquellos que no interactúan con su medio ambiente que se conocen como sistemas cerrados. Todos los sistemas actuales son abiertos. Los sistemas cerrados existen sólo como un concepto. Todos los sistemas tienen niveles aceptables de desempeño, denominados estándares y contra los que se comparan los niveles de desempeño actuales. Los sistemas emplean un modelo de control básico consistente en: 1. Un estándar para lograr un desempeño aceptable. 2. Un método para medir el desempeño actual. 3. Un medio para comparar el desempeño actual contra el estándar. 4. Un método de retroalimentación. Los sistemas que pueden ajustar sus actividades para mantener niveles aceptables continúan funcionando. Aquellos que no lo hacen, tarde o temprano dejan de trabajar. El concepto de interacción con el medio ambiente, que es lo que caracteriza a los sistemas abiertos, es esencial para el control. Recibir y evaluar la retroalimentación, permite al sistema determinar qué bien está operando. Si una empresa, por ejemplo, produce como salidas productos o servicios con un precio elevado pero de baja calidad, entonces es probable que las personas dejen de adquirirlos. En este caso, las figuras o gráficas de ventas bajas son la retroalimentación que indica a la gerencia que es necesario efectuar ajustes, tanto en la calidad de sus productos como la forma en la que éstos se fabrican, para mejorar el desempeño, volver al camino y recobrar las esperanzas. Los componentes que forman un sistema pueden ser a su vez sistemas más pequeños; es decir, los sistemas pueden estar formados por varios niveles de sistemas o subsistemas. El cuerpo humano, por ejemplo, contiene subsistemas tales como los sistemas respiratorio y circulatorio. Un automóvil tiene sistemas de combustión, eléctricos y de control de emisiones. En general, es común tener varios niveles de sistemas interactuando entre sí. 1.4.2 Sistemas organizacionales Las organizaciones están formadas por muchos sistemas, cada uno con las características propias de sistema general. 1.4.3 Sistemas de información organizacionales Las finalidades de los sistemas de información, como las de cualquier otro sistema dentro de una organización, son procesar entradas, mantener archivos de datos relacionados con la organización y producir información, reportes y otras salidas. Los sistemas de información están formados por subsistemas que incluyen hardware, software, medios de almacenamiento de datos para archivos y bases de datos. El conjunto particular de subsistemas utilizados - equipo específico, programas, archivos y procedimientos - es lo que se denomina una aplicación de sistemas de información. De esta forma, los sistemas de información pueden tener aplicaciones en ventas, contabilidad o compras. Dado que los sistemas de información dan soporte a los demás sistemas de la organización, los analistas tienen primero que estudiar el sistema organizacional como un todo para entonces detallar sus sistemas de información. Los analistas tienen la responsabilidad de identificar las características importantes y necesarias que deben tener los nuevos sistemas. El analista especifíca la forma en que va a operar el sistema y sus subsistemas, las entradas requeridas, las salidas que se deben producir y los trabajos que se efectuarán tanto por las computadoras como en forma manual. Los analistas también participan en el control de los sistemas básicamente en dos facetas; describen estándares y métodos para evaluar el desempeño en relación con los demás estándares para los sistemas de información que diseñan. Al mismo tiempo, los sistemas que especifican proporcionan información a los directivos y usuarios que permite a éstos determinar si los sistemas que administran, operan correctamente. Incorporar mecanismos de retroalimentación es un paso esencial en el diseño ya que su inclusión permite sostener las actividades de ambos sistemas. Ninguno de los sistemas perdurará si falta un control adecuado. 1.4.4 Componentes del sistema de información Los sistemas de información tienen muchas cosas en común. La mayoría de ellos están formados por personas, equipos y procedimientos. Las personas, por supuesto, son un componente esencial de cualquier sistema de información, daddo que producen y utilizan la información en sus actividades diarias para decidir lo que se debe hacer. Las decisiones pueden ser rutinarias, como la que toma un cajero de banco al usar el ordenador para comprobar el saldo de una cuenta antes de permitir la retirada de fondos, o mas complejas, por ejemplo, qué incluir en una catálogo o qué proveedor elegir para un conjunto de elementos y precios. Los sistemas de información deben soportar todas estas clases de actividades al usuario. Para ello deben establecer procedimientos que aseguren que los datos correctos llegan a las personas adecuadas en el tiempo adecuado. Estos procedimientos determinan lo que se debe hacer con los datos, cómo entran y pasan a través del sistema. Por ejemplo ¿que haremos cuando llegue el pedido de un cliente?. Debe haber un procedimiento que nos diga que hacer con ese pedido. Este proceso nos dirá a quién enviar el pedido y lo que debe hacer esa persona con él. Para finalizar, está el equipo que se utiliza para circular en la organización y procesarlos. El equipo unidades de disco, dispositivos de entrada, interfaces dispositivo de comunicación que pueda enviar datos estación remota o enviar datos entre dos ordenadores. almacenar los datos, hacerlos incluye los ordenadores, sus para los usuarios y cualquier a los ordenadores desde una 1.5 Estrategias para el desarrollo del sistemas Existen varios enfoques al desarrollo de sistemas de información basados en computadora: ♦ Método del Ciclo de Vida para el Desarrollo de Sistemas. ♦ Método del desarrollo del Análisis Estruturado. ♦ Método del Prototipo de Sistemas. 1.5.1 Ciclo de Vida Clásico del Desarrollo de Sistemas de Información El desarrollo de sistemas, proceso formado por las etapas de Análisis y diseño, comienza cuando se detecta que un sistema de la empresa necesita mejoras. El método del ciclo de vida para el desarrollo de S.I. (SDLC), es el conjunto de actividades que los analistas, diseñadores y usuarios realizan para desarrollar e implantar un sistema de información. Las actividades son inseparables, y quizá sea difícil determinar el orden de los pasos que se siguen para efectuarlas. Las diversas partes del proyecto pueden encontrarse al mismo tiempo en distintas fases del desarrollo. El método del ciclo de vida para desarrollo de sistemas consta de las siguientes actividades: 1. Investigación Preliminar. 2. Determinación de los requerimientos del sistema. 3. Diseño del sistema. 4. Desarrollo de software. 5. Prueba de los sistemas. 6. Implantación y Evaluación. Vamos a desarrollar cada una de estas actividades: 1.5.1.1 INVESTIGACIÓN PRELIMINAR Esta etapa comienza cuando se formula la solicitud para recibir ayuda de un sistema de información por parte del gerente de una empresa. Esta actividad se divide a su vez en tres partes: A. Aclaración de la solicitud Muchas solicitudes que provienen de empleados y usuarios no están formuladas de manera clara. Por consiguiente, antes de considerar cualquier investigación de sistemas, la solicitud de proyecto debe examinarse para determinar con precisión lo que el solicitante desea. Antes de seguir adelante la solicitud del proyecto debe estar claramente planteada. B. Estudio de Factibilidad El estudio de factibilidad lo lleva a cabo un equipo de personas (una o dos) que están familiarizados con técnicas de sistemas de información, normalmente es gente experta en los procesos de Análisis y Diseño de Sistemas. Hay tres aspectos relacionados: ◊ Factibilidad operacional Las preguntas formuladas para este apartado serán ¿trabajará el sistema cuando esté terminado e instalado?, ¿Existen barreras importantes para la implantación?. ¿Existe apoyo por parte de los usuarios?¿y la administración?. ¿Los métodos que actualmente se emplean en la Organización son aceptados por los usuarios?.?¿Han participado los usuarios en la planeación y desarrollo del proyecto?. ◊ Factibilidad técnica Los aspectos técnicos a considerar, son: ♦ ¿Existe o se puede adquirir la tecnología precisa para realizar el proyecto?. ♦ ¿El equipo propuesto tiene la capacidad técnica para soportar todos los datos del sistema?. ♦ ¿Puede crecer con facilidad el sistema?. ♦ Existen garantías técnicas de exactitud, confiabilidad, facilidad de acceso y seguridad de los datos?. ◊ Factibilidad financiera y económica Los aspectos financieros y económicos a considerar, son: ♦ El costo de llevar a cabo la investigación completo de sistemas. ♦ El costo del hardware y software para la aplicación que se está considerando. ♦ Beneficios en la forma de reducción de costos o de menores errores costosos ♦ El costo, si el proyecto no se lleva a cabo. ♦ ¿Existen garantías técnicas de exactitud, confiabilidad, facilidad de acceso y seguridad de los datos?. C. Aprobación de la solicitud Las organizaciones reciben tantas solicitudes de sus empleados que sólo es posible atender unas cuantas, cuando estas son aceptadas lo común es que los miembros del equipo de sistemas tengan otros proyectos, entonces la gerencia decide que proyectos son los más importantes y decide el orden en que se llevarán a cabo. Después de aprobar la solicitud de un proyecto se estima su costo, el tiempo necesario para terminarlo y las necesidades de personal, con esta información se determina dónde ubicarlo dentro de la lista existente de proyectos. 1.5.1.2 DETERMINACIÓN DE REQUERIMIENTOS Los analistas deben estudiar los procesos de una empresa para dar respuesta a las siguientes preguntas: ♦ ¿qué es lo que se hace? ♦ ¿cómo se hace? ♦ ¿con qué frecuencia se presenta? ♦ ¿qué volumen de transacciones hay? ♦ ¿cuál es el grado de eficiencia con que se efectúan las tareas? ♦ ¿existen problemas? ♦ si existen, ¿cuales son? ♦ si existen, ¿cuál es la causa que los origina? El analista conversa con varias personas para reunir detalles de los procesos de la empresa, sus opiniones sobre porqué ocurren las cosas, las soluciones que proponen y sus ideas para cambiar los procesos. Se emplean cuestionarios para obtener esa información cuando no es posible entrevistar en forma personal. La observación en condiciones reales de las actividades del trabajo y, en algunas ocasiones, muestras de formas y documentos con el fin de comprender el proceso en su totalidad, resultan bastante esclarificadores. Conforme se reunen los detalles, los analistas estudian los datos sobre los requerimientos con la finalidad de identificar las características que debe tener el nuevo sistema. 1.5.1.3 DISEÑO DEL SISTEMA DE INFORMACIÓN El diseño del sistema de información produce los detalles de cómo el sistema cumplirá con los requerimientos identificados durante la fase de análisis. Los especialistas en sistemas se refieren, con frecuencia, a esta etapa como diseño lógico, en contraste con la de desarrollo del sofware a la que denominan diseño físico. Los analistas realizan el proceso de diseño con las siguientes fases: 1. Identificación de reportes (listados) y demás salidas que debe producir el sistema. 2. A continuación, se determinan con precisión los datos para cada reporte y salida. 3. Diseñan las pantallas o en papel, o con herramientas para ello. 4. Se indican los datos de entrada, los cálculos y los que deben ser almacenados, es decir se describen con todo detalle los procedimientos de cálculo, como procesar los datos y producir salidas. 5. Los diseñadores deciden las estructuras de ficheros y los dispositivos de almacenamiento. Los diseñadores dan a los programadores las especificaciones completas y detalladas. Una vez comenzada la fase de programación, los diseñadores contestan preguntas, aclaran dudas y manejan los problemas con los que se enfrentan los programadores cuando utilizan las especificaciones de diseño. 1.5.1.4 DESARROLLO DE SOFTWARE Los programadores o encargados de desarrollar software, una vez recibido el diseño pueden hacer dos cosas: 1. comprar a terceros. 2. escribir programas diseñados a la medida. La elección depende del costo y del tiempo para escribir el software. Los programadores que trabajan en grandes empresas lo hacen ellos. Los de pequeñas, contratan servicios externos de programación. Los programadores son los responsables de la documentación de los programas, ya que es esencial para probar el programa y llevar a cabo el mantenimiento una vez terminado. 1.5.1.5 PRUEBA DE SISTEMAS El sistema se emplea de manera experimental para asegurarse de que el software no falle, es decir de acuerdo a las especificaciones y en la forma que los usuarios esperaban. Se prueban con conjuntos de datos y se examinan las salidas. Las pruebas son conducidas por personal ajeno al grupo de programadores para asegurar que las pruebas sean completas e imparciales y que el software sea más fiable. 1.5.1.6 IMPLANTACIÓN Y EVALUACIÓN La implantación es el proceso de verificar e instalar el nuevo equipo, entrenar a los usuarios, instalar la aplicación y construir todos los archivos de datos necesarios para utilizarla. Puede elegirse comenzar la implantación: ♦ en un departamento. ♦ los dos sistemas en paralelo. ♦ el viejo deja de funcionar y empieza inmediatamente el nuevo. Una vez implantadas, se debe de llevar a cabo el mantenimiento de las mismas, ya que las empresas experimentan cambios que deben reflejarse en el software desarrollado. La evaluación se lleva a cabo mirando 4 dimensiones: 1. Evaluación operacional Valorar la forma en que funciona el sistema, incluyendo: facilidad de uso, nivel de utilización, tiempo de respuesta. 2. Impacto organizacional Identificación y medición de los beneficios para la organización. 3. Opinión de los administradores Evaluación de las actitudes de directivos y administradores dentro de la organización así como de los usuarios finales. 4. Rendimiento del desarrollo Evaluación del proceso de desarrollo de acuerdo con criterios tales como tiempo y esfuerzo de desarrollo, valoración de los métodos y herramientas utilizadas. Investigación Preliminar 1 Determinar requerimientos 2 Diseño del sistema Desarrollo del software 3 4 Prueba de los sistemas 5 Implantación y evaluación 6 figura 1: Ciclo de vida clásico 1.5.2 Desarrollo por Análisis Estructurado Muchos especialistas en sistemas de información reconocen la dificultad de comprender de manera completa sistemas grandes y complejos. El método tiene como finalidad superar la dificultad de comprender los sistemas grandes y complejos por medio de: 1. La división del sistema en componentes. 2. La construcción de un modelo del sistema. 1.5.3 ¿Qué es el Análisis Estructurado? Consiste en especificar lo que se requiere que haga el sistema o la aplicación, es decir, permite que las personas observen los elementos lógicos (lo que hará el sistema) separados de los físicos (computadoras, etc). El análisis estructurado de divide en 3 elementos: 1. Descripción Gráfica. 2. Diagramas de Flujo de Datos. 3. Diccionario de Datos. 1.5.3.1 DESCRIPCIÓN GRÁFICA Para describir un sistema necesitamos señalar sus características, identificar la función para la que sirve e indicar como ésta interactúa con otros elementos. En lugar de palabras, el análisis estructurado utiliza símbolos o iconos para crear un modelo gráfico del sistema. Es precisamente este modelo el que muestra los detalles del sistema sin introducir procesos manuales o informatizados, archivos en cinta o disco, o procedimientos de programas. 1.5.3.2 DIAGRAMAS DE FLUJO DE DATOS Tienen la misión de: ♦ mostrar las fuentes y destinos de los datos. ♦ identificar y dar nombre a los procesos. ♦ dar nombre a los grupos de datos que relacionan una función con otra. ♦ señalar los almacenes de datos a los que se tiene acceso. Un conjunto de diagramas de flujo nos describen a un sistema completamente. La descripción se realiza descendentemente(TOP-DOWN). Es decir, cada proceso puede desglosarse en DFD'S cada vez más detallados. Esta secuencia se repite hasta que se obtienen suficientes detalles que permiten al analista comprender en su totalidad la parte del sistema que se encuentra bajo investigación. 1.5.3.3 DICCIONARIO DE DATOS En el diccionario de datos se describen de forma detallada todas las definiciones de los elementos en un sistema como son los flujos de datos, procesos y almacenes de datos. Es decir, si alguien desea saber alguna definición del nombre de un dato, o de un campo del registro, debe ir al diccionario de datos. 1.5.4 ¿Qué es el Diseño Estructurado? Es otro elemento del Análisis Estructurado, y se enfoca para el desarrollo de especificaciones del software. La meta del diseño estructurado es crear programas por módulos independientes desde el punto de vista funcional, es decir, no indica nada relacionado con el diseño de archivos o bases de datos, la presentación de entradas o salidas ni de el hardware que dará soporte a la aplicación. Esta técnica conduce a la especificación de módulos de programa que son funcionalmente independientes. La herramienta fundamental del diseño estructurado es el diagrama estructurado, cuya finalidad es describir la interacción entre módulos independientes junto con los datos que un módulo pasa a otro cuando interacciona con él. 1.5.5 Empleo del Análisis Estructurado con otros métodos de desarrollo El análisis estructurado se combina, con bastante frecuencia, con el método de ciclo de vida clásico de desarrollo de sistemas. Los analistas pueden optar por desarrollar DFD'S como una forma para documentar las relaciones entre componentes durante la investigación detallada de algún sistema existente. Asímismo se pueden definir los archivos y datos en un diccionario centralizado de datos de acuerdo con las reglas del análisis estructurado. 1.5.6 Método del Prototipo de Sistemas 1.5.6.1 ¿QUÉ ES UN PROTOTIPO? Es un sistema desarrollado con la finalidad de probar ideas y suposiciones relacionadas con el nuevo sistema. Los usuarios, que participan de manera directa en el análisis y diseño, evalúan la información generada por el sistema y si no es buena se deberán realizar los cambios oportunos. 1.5.6.2 RAZONES PARA DESARROLLAR PROTOTIPOS DE SISTEMAS Con los otros dos métodos anteriores puede ocurrir que: ♦ los requerimientos no estén bien definidos. ♦ los usuarios sólo conozcan unas áreas donde se necesiten mejoras y otras no. ♦ que no estén seguros los usuarios de que la información sea la adecuada. Los prototipos permiten evaluar situaciones donde los encargados de diseñar e implantar sistemas no tienen información ni experiencia o donde el diseño propuesto es novedoso y aún no ha sido probado. Los pasos a seguir en el proceso de desarrollo de prototipos son los siguientes: 1. Identificar los requerimientos que el usuario conoce. 2. Desarrollar un prototipo que funcione. 3. Utilizar el prototipo para comprobar las necesidades de cambios y de mejoras. 4. Revisar el prototipo en base a la información que ha obtenido el usuario. 5. Repetir los pasos anteriores las veces necesarias hasta obtener un sistema satisfactorio. Después de lo comentado, podemos pensar que la construcción de prototipos es un proceso de desarrollo por prueba y error, pero no es así. El analista debe haber hablado mucho con los usuarios para identificar los requerimientos, y cuando deciden que cuentan ya con la información suficiente, determinan cómo satisfacer los requerimientos. Cuando el prototipo haya sido revisado, se pueden tomar 4 decisiones: ♦ volver a desarrollar el prototipo de nuevo. ♦ implantar el prototipo como sistema terminado. ♦ abandonar el proyecto. ♦ iniciar otra serie de construcción de prototipos. 1.5.6.3 ¿CÓMO SE CONSTRUYE UN PROTOTIPO? La industria del software está investigando en Generadores de Aplicaciones (programas que sirven para generar otros programas), para apoyar los esfuerzos de la construcción de prototipos. Estas herramientas automatizan la construcción de Sistemas de Información, lo que permite a los analistas definir la estructura visual de las pantallas, los registros de entrada y el formato de los reportes. Estas especificaciones son procesadas por los generadores de aplicaciones para producir con rapidez programas que funcionan. Los sistemas prototipo pueden desarrollarse como métodos y lenguajes de programación convencionales, aunque no contengan todas las características y toques finales que normalmente se incluyen en un sistema terminado. Por ejemplo, en los reportes pueden faltar los encabezados, títulos, y números de página, la organización de los archivos puede ser temporal y las estructuras de registros pueden dejarse incompletas. Quizá falten los controles de entrada y procesamiento pero, en general, la documentación del sistema es un punto que suele evitarse. Lo importante es ensayar ideas y generar hipótesis relacionadas con los requerimientos y no la eficiencia y perfección alcanzadas. 1.6 ¿Qué método es el más apropiado? No existe ningún método correcto para desarrollar un sistema de información, pero si existen diferentes formas para producir el sistema correcto para una aplicación. Hoy por hoy existen muchas variaciones de los métodos expuestos anteriormente, algunos tienen más éxito que otros, y eso depende de cuándo se emplean, cómo se aplican y de los participantes en el proceso de desarrollo. Fase de desarrollo Físico Lógico Nuevo Nuevo Diseño de BD programas y procedimien del sistema actual actual lógico físico Diseño Fase de resolución Análisis Diseño Diseño de problema del sistema amplio detallado figura 2: Integración análisis estructurado con el ciclo de vida clásico