Inicio > Departamentos > Informática > Análisis de Sistemas II
Inicio
Presentación
Programa
Bibliografía
Docentes
Horarios
Exámenes
Apuntes

Apuntes > Conceptos Básicos

Conceptos Básicos

Introducción.

Definición de Sistema.

Cuestiones de Interés.

Los sistemas automatizados. Categorías.

Principios de Sistemas Generales.

  Introducción.

Primeramente abordaremos los conceptos básicos de Sistemas, que constituyen el pasaje previo a todo concepto de Análisis y Modelamiento ya sea que estemos dentro de la teoría Estructurada u Orientada a Objetos.

Podríamos preguntarnos aquí ¿porqué es importante el análisis de sistemas?

Sin duda debo decir a modo personal, que el Análisis es más interesante que la programación; sin desmerecer a esta, la cual es divertida e lógicamente desafiante; puesto que nos llena de gratificación ver nuestro programa ejecutar con éxito luego de horas o días correcciones. Pero el Análisis nos brinda un panorama que involucra el estudio de las interacciones entre personas, grupos heterogéneos de personas, computadoras y organizaciones.

No podremos decir mucho del Análisis de Sistemas hasta no haber expresado una idea clara de lo que es un sistema.

  Definición de Sistema.

Seguramente si comprendemos algo de la teoría General de Sistemas nos ayudará a entender mejor un sistema computarizado de información. Esto es muy importante, puesto que necesitamos sistemas estables y confiables y existen muchos ejemplos de sistemas no computarizados, como la cucaracha que ha sobrevivido millones de años en esta sociedad.

Comencemos entonces con algunas definiciones básicas de sistemas del New Collegiate Dictionary de Webster:

 Grupo de elementos interdependientes o que interactúan regularmente formando un todo (Ej. : el sistema numérico).

 Juego organizado de doctrinas, ideas o principios, usualmente con la intención de explicar el acomodo o el trabajo de un todo sistemático (Ej. : el sistema newtoniano de la mecánica).

 Patrón o arreglo armonioso: Orden.

 Etc.

Podemos ver así que existen muchos tipos diferentes de sistemas, de hecho casi todo aquello con lo que tenemos contacto en nuestra vida es un sistema o forma parte de un sistema.

Organicemos entonces los distintos tipos de sistemas en categorías:

  Sistemas Naturales: Ej. : Sistema geológico: ríos, cordilleras, etc.

  Sistemas Hechos Por El Hombre: Ej. : Sistema de comunicación: teléfono, señales de humo, etc.

 Cuestiones de Interés:

En la actualidad la mayoría de los sistemas incluyen computadoras y muchos no podrían vivir sin ellas, pero sin duda muchos sistemas existen antes de que las mismas se inventaran; algunos continúan por completo sin computarizar y otros la contienen como componente pero también incluyen componentes no computarizados.

Veremos entonces que la labor primaria es analizar o estudiar un sistema para determinar su esencia: su comportamiento requerido, independientemente de la tecnología utilizada para implantar el sistema. En casi todos los casos podremos determinar si tiene sentido utilizar una computadora para llevar a cabo las funciones del sistema solo tras haber modelado su comportamiento esencial.

Ahora podríamos preguntarnos ¿porque no deberían automatizarse algunos sistemas de procesamiento de información?, pueden existir muchas razones para esto como por ejemplo:

 Costo: podría resultar mas barato continuar llevando a cabo las funciones y almacenando la información del sistema en forma manual.

 Política: la comunidad usuaria podría impartir resistencia a las mismas, puesto que las ven como amenaza de su puesto laboral, pudiendo llegar a hacer lo imposible por lograr que falle si se les quiere imponer.

Pero ahora nos ocuparemos de los sistemas automatizados, aquellos hechos por el hombre que interactúan con o son controlados por una o más computadoras.

Todos estos sistemas tienden a poseer componentes comunes:

 Hardware: procesadores, discos, impresoras, terminales, etc.

 Software: sistemas operativos, sistemas de base de datos, programas de control de telecomunicaciones, etc.

 Personas: los que operan el sistema, proveen material de entrada, consumen su salida, etc.

 Datos: información que el sistema recuerda durante un período, etc.

 Procedimientos: políticas formales e instrucciones de operación del sistema.

 Los sistemas automatizados.

Pueden recibir una división en categorías como ser:

Sistemas en línea.

Sistemas de tiempo Real.

Sistemas de apoyo a decisiones.

Sistemas basados en el conocimiento.

 Sistemas en línea.

Es aquel que acepta material de entrada directamente del área donde se creó. También es aquel en el que el material de salida o resultado de la computación se devuelve directamente a donde es requerido.

Una característica común de estos es que entran datos a la computadora o se les recibe de ella en forma remota. Es decir que los usuarios del sistema normalmente interactúan con la computadora desde terminales que pueden estar localizadas a cientos de kilómetros de la computadora misma.

Otra característica es que sus datos almacenados usualmente se organizan de modo de que los componentes individuales de información puedan ser recuperados, modificados o ambas cosas en forma rápida y sin tener que efectuar necesariamente accesos a otros componentes de información del sistema.

Ejemplo: sistema de reservación aérea, etc.

 Sistemas de tiempo Real.

Puede definirse como aquel que controla un ambiente recibiendo datos, procesándolos y devolviéndolos con la suficiente rapidez como para influir en dicho ambiente en ese momento.

Una de sus características son la velocidad de respuesta y su interacción tanto con personas como con un ambiente generalmente autónomo y hostil.

Ejemplo: sistemas de cajeros automáticos, etc.

 Sistemas de apoyo a decisiones.

Son utilizados por gerentes y jefes para evaluar y analizar la misión de la organización. En lugar de consejos sobre una decisión de negocio en forma aislada, estos sistemas ofrecen consejos más amplios y generales acerca de la naturaleza del mercado, preferencia del consumidor, comportamiento de la competencia, etc.

 Sistemas basados en el conocimiento.

También conocidos como sistemas expertos, son asociados al campo de la inteligencia artificial. La meta de los científicos de la computación que trabajan en este campo, es producir programas capaces de imitar el desempeño humano en una gran variedad de tareas inteligentes.

Son programas que contienen conocimientos y capacidad necesarias para desempeñarse en un nivel de experto. Desempeño experto significa por ejemplo nivel de desempeño de médicos que llevan a cabo diagnósticos y procesos terapéuticos

  Principios de Sistemas Generales.

El estudio de las 'características comunes' de los sistemas se conoce como teoría general de sistemas. Algunos principios generales de esta son:

 Entre más especializado sea el sistema, menos capaz es de adaptarse a circunstancias diferentes.

 Cuanto mayor sea el sistema mayor es el número de sus recursos que debe dedicarse a su mantenimiento diario.

 Los sistemas siempre forman parte de sistemas mayores y siempre pueden dividirse en sistemas menores.

 Los sistemas crecen, no es una ley para todos pero si en la mayoría puede considerarse que no permanecerán estáticos; por lo tanto debe incluirse el costo de este crecimiento en el tiempo en los cálculos de costo - beneficio.

Luego de haber realizado una pequeña introducción dentro del campo de los sistemas, se pasará a otro aspecto que requiere mucha importancia, los participantes que tendrá proyecto de desarrollo del sistema. Dependiendo de la envergadura del mismo se podrán encontrar los siguientes participantes:

Usuarios

Administración.

Auditores, personal de control de calidad y verificadores de normas.

Analistas de sistemas.

Diseñadores de sistemas.

Programadores.

Personal de operaciones.

  Usuarios.

También llamado cliente o dueño, es el participante más importante, es para quien (o quienes) se construye el sistema. Será entrevistado frecuentemente con el fin de conocer las características que este espera del nuevo sistema. Sí, el mismo esta dirigido para distintos tipos de usuarios, agrupados en categorías dentro de una organización, deberemos entrevistar a todos los grupos para los que estará destinado, considerando las distintas situaciones de interés a contemplar en cada caso.

Debemos recordar aquí dos premisas importantes: primero que el cliente siempre tiene la razón, como en todas las profesiones debemos aceptarlo por más exigente o desapreciado que parezca su opinión acerca de lo que desea. En segundo lugar es quien paga el producto, por lo tanto puede abstenerse del pago sino estuviese conforme con el mismo.

Características de las categorías de usuarios dentro de una organización.

Usuario Operacional.

Usuario Supervisor.

Usuario ejecutivo.

Usualmente tiene un panorama local.

Puede o no tener un panorama local.

Tiene un panorama global.

Hace funcionar el sistema.

Generalmente esta familiarizado con la operación

Provee la iniciativa para el proyecto.

Tiene una visión física del sistema.

Lo rigen consideraciones presupuestales.

No tiene experiencia operacional directa.

 

Actúa a menudo como intermediario entre los usuarios y los niveles superiores de administración.

Tiene preocupaciones estratégicas.

Además debemos destacar aquí una serie de restricciones:

  Que no exista la posibilidad de conocer a nuestro usuario para entrevistarlo tanto como necesitemos, puede suceder o bien que nuestro cliente realiza el pedido con ciertas características que necesita que cumpla pero no tiene tiempo para atendernos.

  Que trabajemos para una consultora o equipo de desarrollo independiente, donde se diseñan sistemas para su venta sin conocer explícitamente a un cliente en particular.

En todos estos casos es importante destacar que es imprescindible contar con una buena documentación desde el principio del mismo para evitar dolores de cabeza en el futuro. Además si estamos produciendo sistemas para lanzarlos al mercado como nueva alternativa, deberemos realizar una serie de análisis adicionales, focalizando primeramente las necesidades que deseamos cubrir del espacio de usuarios para quien será dirigido.

 Administración.

En el análisis del sistema podemos encontrarnos con distintos administradores:

 Administradores Usuarios: son administradores que están a cargo de varias personas en el área operacional donde se implantará el proyecto, generalmente requerirán que el sistema produzca una serie de informes internos y análisis a corto plazo.

  Administradores de Informática: personas encargadas del proyecto en sí de sistemas y los administradores de nivel superior encargados de la administración global y administración de los recursos de todo el personal técnico de la administración d creación o desarrollo de sistemas.

 Administración General: puede ser el presidente de la organización o el jefe de la administración financiera. Generalmente se interesarán más por los sistemas de planeación estratégica y de apoyo a decisiones. A pesar de que la administración superior sí requiere informes financieros internos, no suele necesitar la cantidad de detalles que ocupan los administradores de usuarios.

   Auditores, personal de control de calidad y verificadores de normas.

Según el tamaño del proyecto y la naturaleza de la organización para la que trabaja pudiera haber estas personas participando en el proyecto.

Se las ha agrupado en una sola categoría porque su objetivo y perspectiva se parecen en general, si no es que son iguales.

El objetivo general de este equipo es asegurar que su sistema se desarrolle de acuerdo con diversos estándares o normas externas (es decir externa al proyecto).

Los problemas que pueden encontrarse al trabajar con auditores u otros de esta categoría son:

 A menudo se involucran al final del proyecto, cuando se ha comenzado la etapa de prueba formal y ya son muy difíciles los cambios importantes en el sistema.

 Suelen estar familiarizados con formatos antiguos para notación de requerimientos de sistema, por esto son necesarios modelos del sistema comprensibles.

 Desgraciadamente, suelen interesarse más por la forma que por el contenido. Si sus documentos no tienen la presentación exacta que requieren podrían ser rechazados.

  Analistas de Sistemas.

Es el personaje clave en cualquier proyecto de desarrollo de sistemas e interactúa con los demás participantes. Desarrolla varios papeles:

  Arqueólogo y escribano: una de sus principales funciones es descubrir detalles y documentar la política de negocio que podría existir solo como 'tradición trivial' transmitidas de generación en generación por los usuarios.

  Innovador: debe distinguir entre síntomas, problemas de usuario y causas. Con sus conocimientos de la tecnología deberá ayudar al usuario en la exploración de aplicaciones novedosas y más útiles de las computadoras así como las formas nuevas de hacer negocios.

  Mediador: como se mencionó anteriormente se encuentra en medio de usuarios, administradores, programadores, auditores, etc., los cuales muchas veces estarán en desacuerdo entre sí. Es tentador para este imponer su propia opinión respecto a como debe ser el sistema o cuáles funciones de cumplir. Pero su labor primordial es obtener el consenso y esto requiere del delicado arte de la diplomacia y la negociación.

  Jefe de proyecto: este papel aparece con frecuencia, dado que el analista suele tener más experiencia que los programadores que colaboran en el proyecto y que se le asigna a este antes de que ellos comiencen a trabajar. Suele asignársele la responsabilidad integra.

Por lo tanto es necesario además de habilidad para dibujar diagramas de flujo y otros diagramas técnicos, facilidad en el manejo de personas para poder entrevistar usuarios, mediar en desacuerdos y sobrevivir a las batallas políticas que se dan en casi todos los proyectos. Se necesita conocimiento de aplicación para entender y apreciar los asuntos de usuarios. Se requiere habilidad en computación para entender los usos potenciales de hardware y software en los asuntos del usuario. Y obviamente, una mente lógica y organizada; capaz de ver un sistema de diferentes perspectivas; poder dividirlo en niveles de subsistemas y ser capaz de pensar en el sistema en términos abstractos además de físicos.

  Diseñadores de sistemas.

El diseñador del sistema es quien recibe los resultados del trabajo de análisis, su labor es transformar la petición, libre de consideraciones de tecnología, emanada de los requerimientos del usuario, en un diseño arquitectónico de alto nivel que servirá de base para el trabajo de los programadores.

En muchos casos el analista y el diseñador son la misma persona o el mismo grupo unificado de personas. Aun cuando sean personas distintas, es importante que se mantengan en contacto directo a lo largo de todo el proyecto. Esta retroalimentación continua es necesaria, ya que el analista tiene que ofrecer información detallada suficiente como para que el diseñador pueda elaborar un diseño tecnológicamente superior y el diseñador debe proveer suficiente información para que el analista pueda darse cuenta de sí los requerimientos que del usuario esta documentando son tecnológicamente posibles. Basándose en esta información el analista negociará con el usuario para modificar otros requerimientos.

  Los Programadores.

Se podría decir aquí que en el mejor de los mundos no habrá contacto entre analista y programador, sobre todo en los proyectos grandes de desarrollo de sistemas, es posible que los diseñadores trabajen como amortiguador entre analistas y programadores; es decir, los analistas entregan sus resultados (una descripción no técnica de los requerimientos del sistema) a los diseñadores quienes a su vez entregan los suyos (una descripción arquitectónica del hardware y software que se usará para poner en practica al sistema) a los programadores.

La labor del analista se hace primero y se termina por completo antes de que comience la labor de programación.

Sin embargo probablemente haya contacto entre analistas y programadores por lo siguientes:

 Proyectos pequeños, en los que analista y diseñador son la misma persona y por lo tanto interactúa con el programador. Una sola persona realice el diseño y la programación.

 El analista sirve de administrador del proyecto, por lo tanto su labor continúa.

 El programador descubre errores y ambigüedades en la propuesta de requerimientos, entregada por el analista, pues es durante la programación cuando 'la llama se adapta al asfalto'(Scoot Guthery). Si algo falta, o esta mal o confuso, el programador tiene dos opciones: pedir una aclaración al analista o preguntarle al usuario.

  El Personal de Operaciones.

Son quienes reciben el sistema luego de que este ha sido analizado, diseñado, programado y probado el sistema, responsables de la red de comunicaciones, centro de cómputos, seguridad de hardware y software, etc. El analista debe entender las restricciones puestas al nuevo sistema por el personal de operaciones, pues esto influye en la especificación detallada que se produzca.

En algunos casos los detalles operacionales del sistema pueden reducirse a una cuestión de negociación entre usuario y grupo central de operaciones.

Todos estos aspectos implican la interacción con el personal de operaciones, sin su aprobación solo se puede producir un sistema independiente.

Estos asuntos operacionales se documentan como parte de la tarea del análisis conocida como modelo de puesta en práctica o implantación del usuario.

Autor: Lic. Maria de los Angeles Ferraro.