Apunte de Cátedra ANALISIS Y DISEÑO DE SISTEMAS Lic. Sa ndra Ca sa s Analista de Sistemas Unidad Académica Río Gallegos Universidad Nacional de la Patagonia Austral ANALISIS Y DISEÑO DE SISTEMAS Lic. Sandra Casas CONCEPTOS BASICOS Sistema ♦ Es un conjunto ordenado de componentes o elementos interrelacionados, interdependientes e interactuantes que tienen por finalidad el logro de objetivos determinados. ♦ Es un conjunto de elementos que interaccionan entre sí, orientados a la consecución de un objetivo común. Un sistema esta situado en un entorno o ambiente con el que interactua, recibe entradas y produce salidas. Un sistema puede formar parte de otro más general, que sería su entorno, y/o estar formado por otros sistemas, que en este caso tendrían a él como entorno común denominándose subsistemas. ♦ Sistema es un conjunto de entidades que se relacionan e interactúan, en un contexto dado, en post de un objetivo final predefinido. Análisis de la definición de sistemas a) Entidades – Componentes Las entidades o componentes de un sistema son aquellas unidades que, por sus características y relaciones, determinan la estructura y la conducta del sistema. Las componentes de un sistema tienen características asociadas a las que denominaremos atributos. Los atributos pueden asumir estados variables. Los estados variables pueden ser discretos o continuos. Un atributo tiene un estado variable continuo cuando el valor que puede asumir en cada observación es uno cualquiera de los valores existentes entre una cota máxima y mínima conocida de antemano. Un atributo tiene un estado variable discreto cuando el valor que puede asumir en cada observación es uno cualquiera de un conjunto preestablecido. Por ejemplo a la entidad persona se le puede asociar los atributos edad y estado civil. Edad es un atributo variable continuo ya que puede asumir un valor entre 0 y 99, en cambio el atributo estado civil es discreto puesto que puede asumir uno de los siguientes valores conocidos previamente: casado, soltero, divorciado o viudo. Las componentes de un sistema pueden ser tangibles como una maquinaria, una persona, un edificio o unidades intangibles como los costos, la rentabilidad, etc. UNIDAD ACADEMICA RIO GALLEGOS UNIVERSIDAD NACIONAL DE LA PATAGONIA AUSTRAL 1 ANALISIS Y DISEÑO DE SISTEMAS Lic. Sandra Casas La cantidad de componentes que posea un sistema puede ser desde unas pocas a miles de ellas, según sea el sistema que se esté estudiando. La idea de subsistema surge de la inclusión de componentes complejas, que por su comportamiento y estructura, son sistemas en sí mismos. b) Relaciones Cada entidad transforma los recursos (materiales – humanos – financieros y/o de información) para el logro de los objetivos objeto de su existencia. Definimos relaciones a los medios por los cuales se transportan los recursos necesarios para el funcionamiento de cada entidad. Desde el punto de vista de la ubicación de las entidades productoras o receptoras de las relaciones, las mismas pueden ser internas o externas. CONTEXTO Compon. 3 Entidad 2 CONTEXTO Entidad 3 retroalim. Compon. 1 Compon. 2 Entidad 1 SISTEMA Compon. 4 Relación Externa Relación Interna Una relación es interna cuando la misma se produce entre dos componentes que pertenecen al sistema. Y es externa cuando esta se produce entre una componente perteneciente al sistema y una que pertenece al contexto. Además, según el punto de referencia, las relaciones tienen una dirección determinada. Dado un punto de transformación (una entidad) son relaciones de entradas aquellas que llegan o proveen de recursos al mismo. Y para ese mismo punto de transformación son relaciones de salida aquellas que parten con recursos hacia otro centro de transformación (otra entidad). El conjunto de todas las entidades y sus relaciones definen la estructura de un sistema dado. Un componente de un sistema puede ser simple o compleja. La cantidad de relaciones que se pueden definir entre dos entidades es un número variable. UNIDAD ACADEMICA RIO GALLEGOS UNIVERSIDAD NACIONAL DE LA PATAGONIA AUSTRAL 2 ANALISIS Y DISEÑO DE SISTEMAS Lic. Sandra Casas La cantidad de atributos posibles a definir para cada componente depende de las características del estudio. c) Medio ambiente y Contexto El medio ambiente es el conjunto de entidades (sistemas) donde se encuentra inmerso el sistema objeto de estudio y se relaciona con el mismo indirectamente. El contexto es la parte del medio ambiente que se relaciona e interactúa directamente con el sistema en cuestión. El contexto es un suprasistema donde el sistema que se está estudiando es una componente mas, esto quiere decir que existen otros sistemas que influyen y son influidos por el objeto de estudio. No siempre es claro el límite o frontera del sistema con su contexto ya que por su naturaleza dinámica hace que crezcan (positiva o negativamente) originando variaciones constantes en ellas, por esto las fronteras no deben ser establecidas como algo rígido sino variable en el tiempo. Un parámetro muy utilizado para fijar el limite es la idea de control sobre las componentes, es decir, determinar que componentes puede controlar el sistema y cuáles no. Este control se refiere a la posibilidad de modificar tanto su estructura como su conducta, cuando por ejemplo sean necesarias para la consecución de los objetivos del sistema dado. Durante el estudio de un sistema dado, encontraremos que existen componentes que o se pueden modificar (no se pueden controlar) a las que se llaman componentes externas y que existen además otras componentes a las cuales si se pueden variar su estructura o comportamiento (si se pueden controlar) a las cuales se denominan componentes internas. Ambas componentes tienen que ver con el logro de los objetivos planteados por el sistema. Ejemplo: un sistema de COMERCIALIZACION esta inserto en un contexto de MERCADO donde interactúan otros sistemas como la COMPETENCIA y el CONSUMIDOR. Pero este MERCADO esta inserto en la ECONOMIA NACIONAL. Para el sistema de COMERCIALIZACION la ECONOMIA NACIONAL es el medio ambiente donde se halla inmerso el contexto llamado MERCADO. ECONOMIA NACIONAL MERCADO CP: Competidores CP CS CM: Comercialización CS: Consumdores V C: Compras V: Ventas C CM d) Entradas y Salidas El sistema interactúa con el contexto, de esta interacción se producen las entradas del contexto (energía, materias primas, dinero, información, etc.) y las salidas (productos, etc.) hacia este. Este intercambio se hace imprescindible por dos razones primordiales, la primera es para que el sistema pueda cumplimentar con sus objetivos debe importar del contexto los recursos necesarios y la segunda razón se debe a que la exportación hacia el contexto le brinda los recursos necesarios para autorganizarse, automantenerse y autocontrolarse. Existen, en los sistemas, determinados controles que se realizan sobre una porción de las salidas del sistema, dichos controles generan una especie de entradas que producen acciones sobre el mismo UNIDAD ACADEMICA RIO GALLEGOS UNIVERSIDAD NACIONAL DE LA PATAGONIA AUSTRAL 3 ANALISIS Y DISEÑO DE SISTEMAS Lic. Sandra Casas sistema generando determinadas actividades. A este proceso se lo denomina RETROALIMENTACION y tienen como objetivo mantener el equilibrio del sistema. e) Objetivos Todo sistema para mantenerse en equilibrio debe plantearse metas u objetivos, pero estos no deben ser vistos como algo estático ya que varían con la dinamicidad del sistema. El sistema para mantenerse en equilibrio no solo tiene que plantearse objetivos sino además debe controlar el cumplimiento de los mismos. Ejemplos: son sistemas una escuela, un hospital, un banco, una industria, un club, es decir cualquier organización. Pero también son sistemas un hombre, un auto, una computadora, una fami lia, un bosque, un plan económico, un programa de computadoras, el universo, un país, etc. Clasificación de sistemas a) Por su naturaleza: • Naturales: sistemas creados en los que el hombre no interviene en su creación. • Artificiales: sistemas creados por el hombre. b) Por su relación con el Medio Ambiente: • Abierto: sistemas que interactúan con el contexto, intercambiando elementos, sin esta interacción no podrían existir. • Cerrado: sistemas aislados, no interaccionan con el contexto. c) Por su dependencia del Medio Ambiente • Adaptable(dinámico): sistemas que ante un cambio en el contexto reaccionan en forma adecuada, teniendo en cuenta la finalidad para la que fueron creados. • No adaptable(estático): no modifican su conducta y/o estructura a pesar de cambios en el medio ambientes. Características de los sistemas Todo sistema cualquiera sea su naturaleza tiene las siguientes características básicas: 1. Todo sistema contiene otros sistemas y/o subsistemas y a la vez esta contenido en otros sistemas de carácter superior. Esto da como resultado una auténtica categorización de suprasistemas (medio ambiente), sistemas y subsistemas. 2. Todos los componentes de un sistema, así como sus interrelaciones, actúan y operan en función de los objetivos del sistema. Se dice que los objetivos constituyen el factor o elemento que aglutina e integra a todas las partes del conjunto. La alteración o variación de una de las partes o de sus relaciones, incide en las demás y en el conjunto. Elementos de los sistemas ♦ ♦ ♦ ♦ ♦ Entradas Salidas Procesos Retroalimentación Medio Ambiente UNIDAD ACADEMICA RIO GALLEGOS UNIVERSIDAD NACIONAL DE LA PATAGONIA AUSTRAL 4 ANALISIS Y DISEÑO DE SISTEMAS Lic. Sandra Casas Entrada/Insumo/Input: Constituye los componentes que ingresan al sistema, los cuales serán objeto de operaciones y/o procesos hasta transformarse en salidas. MEDIO AMBIENTE entrada PROCESO salida MEDIO AMBIENTE retroalimentación Salida/Producto/Output: Son la expresión material de los objetivos del sistema, son los fines y las metas del sistema. Proceso/Transformación: Es el componente que transforma el estado original de las entradas en salidas. La transformación es una serie de operaciones, reglas, procedimientos, que responden a una lógica y orden. Retroalimentación: Son aquellas salidas del sistema que se convierte en entradas del mismo. En general, la retroalimentación se asocia al concepto de control, ya sea porque la salida es errónea o posee fallas o porque se puede mejorar el sistema. Medio Ambiente (Contexto): En los sistemas abiertos y adaptables, el Medio Ambiente tiene un papel preponderante, ya que el sistema esta permanentemente interactuando con él para lograr sus objetivos. En general el medio ambiente es cambiante lo que ocasiona que el sistema deba ser dinámico, revisarse y ajustarse a los cambios para poder lograr sus objetivos. El Medio Ambiente influye en forma determinante en el sistema, mientras que el sistema influye débilmente en el Medio Ambiente. Sistemas de Información Cualquier organización o empresa es en sí un sistema. Su medio ambiente es el sistema productivoeconómico-social-educativo en que se inserta, del que recibe una serie de entradas y al que entrega una serie de salidas. A su vez dentro de él existen varios subsistemas, como ser los distintos departamentos o áreas de la organización. UNIDAD ACADEMICA RIO GALLEGOS UNIVERSIDAD NACIONAL DE LA PATAGONIA AUSTRAL 5 ANALISIS Y DISEÑO DE SISTEMAS Lic. Sandra Casas MEDIO AMBIENTE Subsistema de Ventas subsistema de Personal Sistema de Información Subsistema de Compras Subsistema de Administración MEDIO AMBIENTE Como vemos en un sistema de información de una organización mediana, existen muchas entradas, salidas y por ende las transformaciones son variadas, por lo que en general son sistemas complejos o muy complejos. Para que los subsistemas que conforman la organización funcionen coordinadamente, es necesario otro subsistema más, el sistema de información, que tiene como misión asegurar que la información necesaria fluya, dentro del sistema, de unos subsistemas a otros, toda organización cuenta con un sistema de información. Del buen funcionamiento de este subsistema depende en gran parte el éxito global del sistema. Los elementos de un sistema de información son muy variados; pueden agruparse en recursos físicos, recursos humanos, documentación y una serie de normas, reglas y procedimientos que determinan los flujos de información tanto internos como hacia y desde el exterior, así como el uso y administración de los recursos. Concepto de información Una organización para lograr sus objetivos eficiente y eficazmente necesita recursos físicos (maquinarias, instalaciones), recursos de capitales($) y recursos humanos e información. Es indispensable el manejo de la información para el logro de los objetivos. ¿Porqué? Por que el Medio Ambiente es muy cambiante(los sistemas legales, económicos, financieros, políticos) y dinámico y las organizaciones (sistemas) deben adaptarse a él, puesto que el presente es dinámi co y el futuro es incierto, lo único que disminuye el riesgo es la información. Nada es estático, nada permanece inalterable o congelado durante mucho tiempo. TODO LO CONTRARIO. Los atributos o propiedades que debe poseer la información generada por un sistema de información (manual o automatizado) deben ser los siguientes: relevancia, disponibilidad, integridad, cuantificación, objetividad, sensibilidad, calidad, confiabilidad y exactitud, entonces se dirá que la información es efectiva (útil) En cualquier tipo de organización la información se utiliza para planificación, control y decisión. UNIDAD ACADEMICA RIO GALLEGOS UNIVERSIDAD NACIONAL DE LA PATAGONIA AUSTRAL 6 ANALISIS Y DISEÑO DE SISTEMAS Lic. Sandra Casas Normas, Procedimientos, Métodos, Políticas Recursos Humanos Recursos Físicos Documentación S.I. ORGANIZACION MEDIO AMBIENTE Tipos de Sistemas de Información Manual: Todo, absolutamente todo es realizado por las personas, cálculos, informes, archivar documentos, completarlos, controlar datos. A lo sumo se utilizan calculadores y máquinas de escribir y computadoras para usar programas editores de texto y planillas de cálculos. Manual - Automatizado: El sistema de información es en parte manual(hay procedimientos realizados por personas) y en parte es automatizado (hay procedimientos realizados por las computadoras con programas específicos). En estos casos, generalmente las personas cargan los datos y/o transacciones iniciales y las computadoras hacen los cálculos, emiten listados e informes, clasifica la información de distintas formas, etc. Automatizado: Todo, absolutamente todo es realizado por la computadora. Ejemplos: Sistema de cajero Banco Provincia de Santa Cruz (manual),Sistema de cajero Banco Tierra del Fuego (manual-automatizado), Sistema de cajero automático Banelco (automatizado). Sistemas de Información Automatizado UNIDAD ACADEMICA RIO GALLEGOS UNIVERSIDAD NACIONAL DE LA PATAGONIA AUSTRAL 7 ANALISIS Y DISEÑO DE SISTEMAS Lic. Sandra Casas Un sistema de información automatizado en forma parcial o total, utiliza ordenadores para almacenar los datos de una organización y ponerlos a disposición del personal. Supongamos el siguiente caso (muy sencillo): factura nota de pedido archivo facturas Los datos de las notas de pedidos (datos o transacciones iniciales) son cargados por una persona, luego los programas generan una serie de listados que sirven para otras tareas. En la mayoría de los casos, los sistemas de información automatizados son más complejos. Los distintos sistemas-subsistemas se comunican, logrando que la mayoría de las funciones de una organización estén soportados en algún nivel por automatización. Cada una tiene distintas entradas, distintas salidas, etc. Componentes de Sistemas de Información Automatizados Los recursos humanos (personas) son los que producen y utiliza la información en su actividad diaria. Estas actividades pueden ser simples o complejas (carga datos o toma de decisiones). Los procedimientos son una serie de pasos que establecen como se hacen las cosas. Es decir, que se hace cuando se reciben los datos, como entran, como se calculan, registran, almacenan, como pasan a través del sistema, hasta convertirse en salida. Niveles de un Sistema de Información Nivel operativo o de transacción: Es el que tiene que ver con la operatoria básica diaria. Por ejemplo, la carga de notas de pedidos y la emisión de facturas. Nivel de gestión administrativa: Ayudan a los usuarios de un mayor nivel jerárquico a tomar cierto tipo de decisiones y a efectuar el control. Respecto del sistema de información automatizado no realizan carga de datos, pero si efectúan consultas y utilizan la información (salidas) para efectuar control y autorización. UNIDAD ACADEMICA RIO GALLEGOS UNIVERSIDAD NACIONAL DE LA PATAGONIA AUSTRAL 8 ANALISIS Y DISEÑO DE SISTEMAS Lic. Sandra Casas Nivel de soporte de decisiones: El objetivo es ayudar a tomar decisiones poco frecuente, que implica un riesgo. Respecto del sistema de información automatizado se presenta en forma de consulta, bastante más complicados que el nivel anterior. El Sistema de Información Automatizado debe aspirar a ser TOTAL, con características de integración que permita cumplir con los tres niveles. Transacción: Son entradas al sistema de información, que respeta algún procedimiento en cuanto a su forma, generalmente soportados en un formulario y son un registro simple y claramente definido. Ejemplo: Una venta, un permiso de examen, la solicitud de un préstamo, etc. Estas transacciones fluyen por el sistema transformándose, procesándose, produciendo salidas. Usuario: Es la persona/s para quien se hará el sistema, es el que utilizará el sistema. Es el cliente, el dueño, los empleados. Tipos de Usuarios Nivel Operativo Nivel de Gestión Administrativo Nivel Soporte de Decisiones Usuario Operativo Usuario Supervisor Usuario Ejecutivo Usuario operativo: Son oficinistas, administrativos, operadores. Tendrán contacto diario y directo con el sistema. Realizan la carga de datos iniciales. Estos usuarios se preocupan por las funciones del sistema que se relaciona con su trabajo en forma directa, y por la interfaz con el sistema. ¿Cómo será la carga? ¿la pantalla?. Estos usuarios en general tienen una visión local del sistema, desconocen los aspectos que van más allá de sus funciones. Usuario supervisor: En general tienen a cargo un grupo de usuarios operativos. Son jefes, gerentes, etc. Deben controlar a sus subordinados y asegurar que su sector o departamento cumpla con sus funciones. Este tipo de usuario tiene un panorama más global del sistema, generalmente sabe para qué y porque se hacen las cosas. Conocen la operativa pero le interesan detalles del sistema que le permitan efectuar un mejor control y logro de sus objetivos. Toman decisiones frecuentes y poco arriesgadas. Usuario ejecutivo: Este tipo de usuario probablemente no utilice el sistema, solo la información. Esta preocupado por decisiones de inversión, ampliación de la empresa. Tiene la visión más global del sistema. BIBLIOGRAFIA I.T.H.(cap.1-2-3), R.C.(cap. 4), E.Y. (cap.2-3), (K.K. cap. 1,2). ACTIVIDADES 1. Explicar y ejemplificar los conceptos de sistema, suprasistema y subsistema. 2. Mencionar y explicar los tipos de sistemas y dar dos ejemplos de cada uno. 3. Mencionar y explicar los componentes de un sistema abierto. Dar 3 ejemplos gráficos de sistemas e identificar sus componentes. UNIDAD ACADEMICA RIO GALLEGOS UNIVERSIDAD NACIONAL DE LA PATAGONIA AUSTRAL 9 ANALISIS Y DISEÑO DE SISTEMAS Lic. Sandra Casas 4. Definir sistema de información. Manual y automatizado. 5. ¿Quién es el usuario? Mencionar y explicar los tipos de usuario. 6. Mencionar y ejemplificar los componentes de un sistema informático, explicar las relaciones entre estos. 7. ¿Porqué las organizaciones necesitan sistemas de información? 8. Yourdon clasifica a los sistemas informáticos en: • sistemas en línea • sistemas de tiempo real • sistemas de apoyo de decisiones • sistemas basados en el conocimiento Explique y describa las características de cada uno de estos tipos. INGENIERIA DE SOFTWARE Requerimientos: Este término se utiliza cuando un usuario tiene una necesidad, lo cual generalmente surge de un problema. En general, los problemas que originan requerimientos son: ♦ El sistema de información es manual y maneja un gran volumen de transacciones diarias, lo que dificulta su acceso, clasificación, consulta, control y proceso. ♦ El sistema de información esta parcialmente o totalmente automatizado pero debe modificarse porque han cambiado los requerimientos. ♦ El sistema de información esta parcialmente o totalmente automatizado y es necesario agregarle más funciones. En cualquiera de los casos, tendremos requerimientos provenientes de los tres niveles: ♦ Requerimientos de transacción ♦ Requerimientos de supervisión ♦ Requerimientos de decisión Lo cual se verá traducido en requerimientos de: ♦ Entrada ♦ Salida ♦ Proceso ♦ Control Ejemplos: Requerimientos de Entrada: En el sistema se deben cargar n NP por día. Requerimientos de Salida: El Sistema debe emitir listados. Requerimientos de Control: El Sistema no debe procesar NP de clientes deudores. Requerimientos de Proceso: El Sistema debe realizar para todos los cálculos de impuestos, sumatorias, etc. Los requerimientos están relacionados, es decir, un requerimiento puede ser de control y de salida a la vez. Los requerimientos están relacionados con los procedimientos, normas y políticas de la organización. UNIDAD ACADEMICA RIO GALLEGOS UNIVERSIDAD NACIONAL DE LA PATAGONIA AUSTRAL 10 ANALISIS Y DISEÑO DE SISTEMAS Lic. Sandra Casas Para satisfacer estos requerimientos o solucionar los problemas, hemos de desarrollar un producto de software. Cuando hablamos de software nos referimos a un conjunto de programas relacionados, orientados a resolver un problema del mundo real, que por su complejidad y tamaño deben ser resueltos por un equipo de especialistas de software. Veamos las siguientes situaciones: a) Un simple programa que calcule la media de los valores almacenados en un array. b) Una aplicación de gestión de las cuentas corrientes de las sucursales de un banco, que permite realizar transacciones en línea como depósitos, extracciones, consultas de saldos y movimientos, transferencias, creación y cancelación de cuentas y emisión de extractos, entre otras cosas. El primer caso, prácticamente no reviste inconvenientes para realizar el programa en forma inmediata, puesto que el problema es sencillo y esta perfectamente delimitado y acotado. Pero el segundo, trata un problema más complejo, serán necesarios muchos programas, distintos tipos de estructuras de datos y será utilizado por varios usuarios a la vez, etc., además el desarrollo estará a cargo de un equipo de personas, en esta situación no se debe comenzar a programar en forma inmediata, debe pensarse como un proyecto de software, cumpliendo el ciclo de vida y siguiendo alguna metodología, en estos casos estaremos haciendo uso de la Ingeniería de Software. El término Ingeniería de Software se utiliza para referirse a un método disciplinario de desarrollo de programas de computadoras, a través de todas las actividades del ciclo de vida de un software. La tendencia del software es crecer en tamaño, complejidad y cambiar, por ello el desarrollo debe apoyarse en un método disciplinario de diseño, producción y mantenimiento de programas de computadoras que se desarrollan bajo estimaciones de tiempo y de costo, utilizando herramientas de ayuda a la gestión del tamaño y complejidad de los productos de software resultantes. La Ingeniería de Software se compone de tres elementos: métodos, herramientas y procedimientos, que facilitan controlar el proceso de desarrollo del software y suministrar a los que practiquen dicha ingeniería las bases para construir software de alta calidad de una forma productiva. Los métodos indican “como” construir técnicamente el software. Los métodos abarcan un amplio espectro de tares que incluyen: planificación y estimación de proyectos, análisis de los requisitos, diseño de datos y programas, codificación, prueba, instalación y mantenimi ento. Las herramientas suministran un soporte automático o semiautomático para los métodos. Algunas de las herramientas disponibles por sus características reciben el nombre de CASE (Ingeniería de Software Asistida por Computadora). Los procedimientos juntan los métodos con las herramientas y facilita un desarrollo racional y oportuno del software de computadoras. Los procedimientos definen la secuencia en la que se aplican los métodos, las entregas (documentos informes, formas, etc.) que se requieren, los controles que ayudan a asegurar la calidad y coordinar los cambios y las directrices que ayudan a los gestores a evaluar el progreso. La Ingeniería de Software esta compuesta por una serie de pasos que abarcan los métodos, las herramientas y los procedimientos antes mencionados. Estos pasos se denominan frecuentemente paradigmas de la Ingeniería de Software. La elección de un paradigma para la Ingeniería de Software se lleva a cabo de acuerdo a la naturaleza del proyecto y de la aplicación, los métodos y herramientas a usar y los controles y entregas requeridos. Se puede hacer una analogía entre paradigma y metodología, hay varios paradigmas o metodologías. En este curso se estudiara el paradigma, metodología o ciclo de vida clásico, comúnmente denominado estructurado. Concepto de Proyecto Para construir un puente o para implementar un nuevo modelo económico en un país se realiza un proyecto, lo cual implica ordenar las actividades y/o tareas a realizar de acuerdo a una secuencia y cronograma. Naturalmente toda actividad a emprenderse de mediana a alta complejidad se proyecta, dividiéndose en etapas o fases. Para realizar un producto de software también se debe hacer un UNIDAD ACADEMICA RIO GALLEGOS UNIVERSIDAD NACIONAL DE LA PATAGONIA AUSTRAL 11 ANALISIS Y DISEÑO DE SISTEMAS Lic. Sandra Casas proyecto, es decir, dados un conjunto de requerimientos, diremos que la preparación y ejecución de un proyecto que sigue una metodología nos proveerá mayor seguridad de llegar a una solución exitosa. Un proyecto implica que las cosas se hacen en estricto orden cumpliendo etapas. Metodología - Ciclo De Vida - Paradigma Los sistemas informáticos (software) desde su concepción hasta su desaparición pasan por una serie de etapas o fases. Desde que surge la necesidad, pasando por su propia construcción, puesta en marcha y continuas revisiones hasta su abandono, pasa por una serie de etapas que constituyen su ciclo de vida. Las actividades para la construcción de un sistema se realizan de acuerdo a un método. Una metodología es una manera ordenada y sistemática de proceder para obtener algún fin. Se llevara a cabo a través de una serie de normas o reglas precisas, cuyo cumplimiento será mas o menos estricto, constituyendo el cuerpo formal de la metodología. El conjunto de normas incluye además un sistema de documentación donde se irá reflejando el trabajo realizado, siendo el aspecto más visible del método. • Una metodología es un enfoque para organizar, dirigir y realizar las actividades del ciclo de vida de un sistema de información. Existen varias metodologías: clásica, prototipos, oo, merisse, etc. Los sistemas de información se desarrollan en una serie de pasos: esta secuencia se conoce como el ciclo de vida. Se utiliza por varias razones: A) Para organizar el gran número de actividades necesarias en la construcción de un sistema y especificar la secuencia en que se deben tratar esas actividades para su desarrollo. B) El ciclo de vida ayuda a los analistas a resolver problemas que surjan durante el desarrollo del sistema, marcando la dirección del proyecto y proporcionando una guía sobre lo que se debería obtener como resultado del mismo. C) El ciclo de vida ayuda también a producir informes del estado del proyecto, permitiendo un seguimiento de las necesidades de recursos. El ciclo de vida se define como una secuencia de fases. Cada fase se compone de actividades mas detalladas, cada una de las cuales tienen un objetivo especifico. Cada fase se revisa cuando se completa. Esta revisión produce un informe como resultado y define el objetivo y un plan detallado para la siguiente fase. Ciclo De Vida Estructurado O Metodologia Estructurada Principales exponentes: De Marco, Yourdon, Gane & Sarson. En el CDV clásico era muy importante partir de unos requerimientos claros, completos y bien definidos, el analista estaba seguro de conocer perfectamente lo que el usuario quería que haga el sistema. Cuando las necesidades del usuario simples, determinar y definir requerimientos puede ser relativamente fácil, pero cuando las necesidades del usuario crecen, o son complejas, o difíciles de definir, si además la aplicación debe servir a varios usuarios con necesidades e intereses diferentes y a veces opuestos, el análisis de los requerimientos se complica y se convierte en el principal problema en el desarrollo de un sistema de información. En los años 70 esta situación hizo que el ciclo de vida clásico entrara en crisis. El CDV estructurado surge así como una superación del CDVC en entornos grandes y complejos. En la actualidad se conocen como análisis estructurado, diseño estructurado y programación estructurada, pero este método es bastante más que esto. El CDVE es un ciclo lineal o en cascada, que provee técnicas y herramientas adecuadas para cada fase del proyecto. Es una metodología que ofrece mayores puntos de control para el proyecto. Es más flexible, lo que facilita el mantenimiento (modificación y adaptación del sistema), entre otras ventajas. Junto con esta metodología aparecen nuevos conceptos como la modularización y el diseño descendente. UNIDAD ACADEMICA RIO GALLEGOS UNIVERSIDAD NACIONAL DE LA PATAGONIA AUSTRAL 12 ANALISIS Y DISEÑO DE SISTEMAS Lic. Sandra Casas FASES DEL CVDE ♦ Estudio de Factibilidad Consiste en una visión general, de alto nivel, de todo el proyecto, destinado a contestar a un número determinado de preguntas: ¿Cuál es el problema? ¿Existe una solución viable para el problema? ¿Cuánto tiempo llevará? ¿Cuál es el costo? El estudio de factibilidad debe ser relativamente corto, pues la tarea no consiste en resolver el problema, sino en obtener una idea de su complejidad y tamaño. El estudio de factibilidad comienza con la aclaración de la definición del problema. Se definen el alcance y los objetivos iniciales y se identifican las restricciones y limitaciones del sistema Se preparan varios alternativas de solución. Para cada una de ellas se analiza: • Factibilidad Técnica: ¿Puede el software implementarse empleando la tecnología actual y disponible? • Factibilidad Economía: ¿Superan los beneficios los costos? • Factibilidad Operativa: ¿Puede el software desarrollarse y ejecutarse en esta organización? Se descartan las alternativas que no cumplen con las tres factibilidades y se prepara un informe al usuario - cliente (alto nivel), que tiene la siguiente forma: 1. Definición del problema. 2. Alcance. 3. Objetivos. 4. Restricciones. 5. Limitaciones. 6. Alternativas de solución. Para cada una: 6.1 Factibilidad Económica (Análisis costo/beneficios) 6.2 Factibilidad Operativa 6.3 Factibilidad Técnica 6.4 Duración estimada del proyecto 6.5 Inversión estimada del proyecto UNIDAD ACADEMICA RIO GALLEGOS UNIVERSIDAD NACIONAL DE LA PATAGONIA AUSTRAL 13 ANALISIS Y DISEÑO DE SISTEMAS Lic. Sandra Casas El usuario decidirá que alternativa elegir. Estudio de Factibilidades Análisis Diseño Implantación Pruebas Instalación Mantenimiento ♦ Análisis En esta fase el analista intenta determinar los requerimientos a partir del estudio del sistema de información existente, de manera de incluir todos los detalles relevantes del sistema actual, además pretende: • Que sea fácil detectar y verificar la omisión de detalles relevantes • Que distintos analistas ante el mismo sistema actual determinen los mismos requerimientos • Que la documentación generada sobre el sistema actual sean vehículos eficientes de comunicación En esta fase el analista se familiariza con la operación del sistema, para ello utiliza una serie de técnicas y herramientas, por ejemplo consigne información entrevistando a los usuarios. En esta fase se obtiene un modelo del sistema existente, que representa lo que hace y cómo lo hace. Este modelo describe las funciones del sistema, los datos, el control, etc. El documento resultado de esta etapa se suele llamar especificación estructurada o especificación de requerimientos. ♦ Diseño En esta fase se obtiene el diseño del nuevo sistema a través de varias tareas, es decir, se desarrolla un modelo que representa la solución o la satisfacción del os requerimientos del usuario. Se diseñan entre UNIDAD ACADEMICA RIO GALLEGOS UNIVERSIDAD NACIONAL DE LA PATAGONIA AUSTRAL 14 ANALISIS Y DISEÑO DE SISTEMAS Lic. Sandra Casas otras cosas como serán las interfaces, programas y bases de datos, siempre el objetivo será cumplir con los requerimientos del usuario. Para ello se utilizan distintas herramientas. ♦ Implantación Las especificaciones diseñadas en el paso anterior se pasan a un código. Se programan en el lenguaje apropiado, en forma estructurada y siguiendo buenos criterios de programación. Evitando programación redundante y respetando el de ocultamiento de información. ♦ Pruebas Se generan casos de prueba de acuerdo a diversas técnicas para probar el sistema y a los subsistemas. Se prueba cada fase del desarrollo del proyecto, se encuentran fallas y errores y se depuran o corrigen. ♦ Instalación La instalación implica la ejecución de una serie de actividades que permitirán al usuario interactuar con el sistema en forma autónoma e independiente. ♦ Mantenimiento Luego de instalado el sistema toda actividad que implique modificar el sistema se considera de mantenimiento. Algunas veces ocurre que algunos procedimientos y/o políticas del usuario cambian, otras veces como el sistema no ha sido correctamente analizado, diseñado y probado surgen necesidades de modificación. Las primeras se consideran normales, las segundas no deberían ocurrir si se trabaja siguiendo el método. El Analista De Sistemas Trabajara activamente en las fases de análisis y diseño. Actualmente también hace la implantación. Algunas de sus tareas serán: • Recopilar datos en forma adecuada. • Identificar problemas. • Proponer soluciones. • Documentar el trabajo. Para ello debe comunicarse con el usuario, lo cual no es fácil cuando son varios, con intereses opuestos. La característica principal de cualquier persona que debe solucionar problemas son: • sentido común • capacidad analítica • objetividad Son condiciones sin equanon, también para un analista de sistemas. Bibliografía: I.T.H. (cap.1-2-3), R.C.(cap.4), W.D.(cap.13), E.Y.(cap. 5-3) ACTIVIDADES 1. ¿Qué es un proyecto? ¿Qué es un proyecto de software? Identificar las causas que en general promueven un proyecto de software. 2. ¿Qué es un requerimiento? Identificar y explicar los tipos de requerimientos. Ejemplificar. 3. ¿Qué es una metodología o ciclo de vida? ¿Porqué es necesaria una metodología para desarrollar un software? UNIDAD ACADEMICA RIO GALLEGOS UNIVERSIDAD NACIONAL DE LA PATAGONIA AUSTRAL 15 ANALISIS Y DISEÑO DE SISTEMAS Lic. Sandra Casas 4. ¿Qué es la Ingeniería de Software? 5. Nombrar y describir brevemente las etapas de la metodología estructurada. 6. ¿Cuál es la diferencia entre Análisis y Diseño? 7. ¿Cuál es la función del analista de sistemas?. 8. Leer E.Y. cap. 4 y 5 y responder: a. ¿Qué es una herramienta? b. ¿Qué es un modelo? c. Citar las razones para usar modelos en el análisis y diseño de sistemas d. ¿Porqué el autor recomienda usar modelos gráficos? e. ¿Porqué el autor opina que un modelo gráfico es más eficiente que una descripción textual? ANALISIS ESTRUCTURADO En el análisis tratamos de identificar los requerimientos del usuario. Un requerimiento (necesidad) en definitiva será lo que el usuario quiere que haga el sistema nuevo y que su sistema actual no lo hace o lo hace erróneamente. Por eso la determinación o definición de requerimientos debe ser clara, completa y precisa, para ello el análisis deber ser un estudio del sistema. Lo importante será conocer lo mejor posible el sistema actual, para más tarde proponer soluciones adecuadas. El análisis estructurado proporciona técnicas y herramientas que facilitan el reconocimiento de los requerimientos e identificación de problemas. Se utilizan principalmente herramientas gráficas. Y lo que se pretende es realizar un modelo que represente al sistema actual, desde los tres puntos de vista de cualquier tipo de sistemas de información (procesos-control-datos) En Análisis se produce un documento (especificación estructurada o especificación de requerimientos) que servirá de base a Diseño. Análisis por intermedio de ese documento definirá: ¿Cuáles son los requerimientos?, ¿Cuáles son los problemas?, ¿Qué hace el sistema actual?, ¿Qué se puede cambiar y qué debe permanecer?, Es decir el QUE deberá hacer el nuevo sistema, pero será Diseño quien definirá el COMO se solucionaran los problemas, se cumplirán los requerimientos y será el nuevo sistema. En Análisis Estructurado procedemos ordenadamente, realizando una serie de actividades, hasta llegar a Diseño. Etapa Actividad Relevamiento ANALISIS ESTRUCTURADO Modelo Ambiental Modelo de Comportamiento Técnica-Herramienta Entrevistas Cuestionarios Organigramas Tablas/Arboles de Decisión Insp.de Documentos y Archivos Muestreos Declaración de Propósitos Lista de Eventos Diagrama de Contexto Diagrama Flujo de Datos Diccionario del Sistema Diagrama Entidad-Relación Diagrama Transición de Estados Resultado Especificación Estructurada Balanceo UNIDAD ACADEMICA RIO GALLEGOS UNIVERSIDAD NACIONAL DE LA PATAGONIA AUSTRAL 16 ANALISIS Y DISEÑO DE SISTEMAS Lic. Sandra Casas Existe un orden para realizar las actividades, pero ocurre que a medida que se avanza se debe volver atrás, para realizar correcciones y completar. Lo cual es lógico, dado que a medida que se profundiza el estudio, los puntos oscuros, las dudas, las falsas interpretaciones se van aclarando, corrigiendo y completando. Relevamiento Balanceo Modelo Ambiental Modelo de Comportamiento RELEVAMIENTO Es el conjunto de actividades y tareas que tiene por objetivo la obtención y recopilación de información del sistema de información existente. Para ello el analista recurre a distintas fuentes y aplica las técnicas que considera adecuadas, asegurándose que la información y datos obtenidos son correctos. ¿Qué se releva? TODO. Procedimientos, políticas, normas, reglas, documentos o formularios utilizados, archivos en que se guardan los papeles, el circuito administrativo, controles que se efectúan, funciones, operaciones, tareas, etc. Para el análisis se necesita la mayor cantidad de información posible, a medida que se avance aquello que no sirve se va descartando. ¿Cómo se obtiene esta información? Existen fuentes escritas como los manuales organizacionales, pero la fuente de información por excelencia más importante es el USUARIO. El es quién hace las cosas, él es quién tiene los problemas, él sabe el cómo, el para qué, el porque y el cuándo de las cosas. El usuario es un punto crítico que el analista debe manejar con sumo cuidado. TECNICAS DE RELEVAMIENTOS 1. Entrevista Es la técnica principal. Convenientemente utilizada ayuda a encontrar distintos hechos, necesidades de información, responsabilidades, objetivos, operaciones, etc. Es oral, es un encuentro cara a cara con el usuario. Todos las demás técnicas se basan en indicios obtenidos en entrevistas previas. La entrevista consta de tres momentos: el antes, el durante y el después. • Antes: Preparación La preparación de la entrevista significa fijar hora, día y lugar de la reunión. Establecer un orden adecuado de entrevistas. EL lugar debe ser apropiado, que reduzca las interrupciones. Confeccionar una lista de puntos, temas, items y preguntas básicas a realizar. • Durante: Ejecución Cuando se produce la entrevista, el analista debe tener en cuenta los siguientes aspectos: Debe procurar crear un ambiente distendido, no debe utilizar lenguaje técnico informático, no es un interrogatorio policial, debe ser una charla, debe escuchar y observar, el centro es el usuario, no debe opinar y menos criticar. UNIDAD ACADEMICA RIO GALLEGOS UNIVERSIDAD NACIONAL DE LA PATAGONIA AUSTRAL 17 ANALISIS Y DISEÑO DE SISTEMAS Lic. Sandra Casas Para ello debe ante todo explicar el propósito de la entrevista. Tomar nota de lo necesario (no exagerar o perder tiempo escribiendo palabra por palabra, y provocando la desconcentración del entrevistado), grabar si al usuario no le molesta. No es conveniente efectuar entrevistas grupales. Al finalizar la entrevista, se debe repasar la información obtenida con el usuario y ofrecerle las notas tomadas para lograr su aprobación. Tipos de preguntas: • Preguntas abiertas: permiten al usuario que se explaye al contestar. Por ejemplo: ¿Cuáles son las tareas y actividades que Ud. desempeña? • Preguntas cerradas: el usuario responde en forma concisa, precisa y acotada. Por ejemplo: ¿Hace cuánto que Ud. trabaja en esta empresa? • Preguntas de reenvio: preguntas que confirman datos previamente obtenidos. Es recomendable hacer varias entrevistas que una muy extensa. • Después: Evaluación Luego de efectuada la entrevista, se analizan los resultados de la misma, se determinan los puntos claros y oscuros y se procede a confirmar y/o aclarar mediante otras entrevistas y/o otras técnicas. En el relevamiento se entrevista por lo general a varios usuarios, generalmente el analista se basa en la estructura organizativa de la empresa (organigrama) Es conveniente comenzar las entrevistas por el nivel mas alto para obtener soporte y cooperación de la dirección antes de comenzar a examinar las actividades de las unidades organizativas (departamentos y sectores) particulares o sugerir nuevas soluciones. Tanto en la entrevista inicial como en las posteriores, el analista siempre intentara encontrar la forma de obtener mas información, por lo cual la preparación es esencial. Se debe tener una idea de lo que se pretende lograr con la entrevista y formular preguntas directas para obtener esa información. Si el entrevistado no puede contestar se le pregunta donde se puede obtener esa información. De esta manera, el proceso de la entrevista sigue un camino bastante estructurado. Se consigue de la Dirección (usuario de mas alto nivel) una visión general de la operación del sistema, pasando después a las operaciones detalladas mediante entrevistas con usuarios de distintos niveles. Tipos de entrevistas: Estructuradas: Previamente a la entrevista se tiene conocimiento de las preguntas que se efectuarán. No estructuradas: Previamente a la entrevista no se tiene conocimiento del tema a tratar, ni las preguntas a efectuar. Semiestructuradas: Previamente a la entrevista se tiene conocimiento de los temas que se trataran, y las preguntas van surgiendo en la entrevista. (Profundizar en K.K. cap.5) 2. Cuestionarios Es una técnica escrita. Consiste en una serie de preguntas o items que el usuario debe completar o responder. El cuestionario es contestado por el usuario en ausencia del analista, luego el analista recoge los cuestionarios, los lee y los analiza. No es conveniente realizar preguntas abiertas, el cuestionario no es efectivo para este tipo de preguntas. Ya que por lo general si el usuario tiene que explicar algo en forma escrita, lo hace de forma incompleta, no muy legible, y expresa sucesos ocurridos recientemente, en lugar de sucesos intemporales. Los cuestionarios son útiles cuando: • Se busca la misma información en usuarios diferentes. • Los usuarios están ubicados geográficamente en lugares distantes. UNIDAD ACADEMICA RIO GALLEGOS UNIVERSIDAD NACIONAL DE LA PATAGONIA AUSTRAL 18 ANALISIS Y DISEÑO DE SISTEMAS Lic. Sandra Casas • Se busca información de naturaleza cuantitativa. El cuestionario debe consistir en preguntas o enunciados cortos, claros, fáciles, tipo múltiple choice, o que conteste sí o no (preguntas cerradas) Los cuestionarios son útiles como complemento de otras técnicas, para verificar información obtenida (reenvio) y muy recomendables para recoger datos numéricos u obtener opiniones relativamente simples de un número de personas, pero no son efectivos para búsquedas detalladas, ni para identificar problemas del sistema. También se debe tener en cuenta que al no estar presente el analista cuando el usuario contesta, existen factores subjetivos y psicológicos que son importantes: los gestos del usuario, si duda, si tarda en contestar, si parece inventar o mentir, si pregunta a otros usuarios para contestar, si natural y espontaneo. El éxito de un cuestionario radica en la claridad de las preguntas y la honestidad de usuario. (Profundizar en K.K. cap. 4) 3. Inspección o examen de documentación y archivos Esta técnica implica la recopilación e investigación de: manuales, formularios y archivos que se utilizan en la organización. En toda organización en forma manual o automatizada la información se plasma o soporta en formularios (papeles) que sirve a distintos propósitos. Estos formularios el usuario los guarda de alguna manera en archivos. Las empresas medianas y grandes poseen manuales organizacionales, o de procedimientos o administrativos los cuales poseen información sobre los procedimientos, normas, estándares, operaciones, reglamentos internos, políticas. Es decir, como se hacen las cosas. Los formularios son todo comprobantes que confeccionan, completan los usuarios y reflejan la operatoria, las transacciones de la organización se representan con formularios, en forma diaria y habitual, por ejemplo una venta se plasma en una nota de pedido, una compra a un proveedor se plasma en una orden de compra, el pago de los sueldos a los empleados implica la confección de recibos de sueldo. Algunos formularios son obligatorios por ley, por ejemplo cualquier tipo de venta debe realizarse con una factura. Todo formulario contiene información y tiene un propósito especifico, es decir sirve para algo. Deben obtenerse copias o reproducirse y averiguar quien los genera, para quien se hacen, donde se guardan y como. La información que el usuario recibe, como la que genera es almacenada en archivos, puesto que requiere su consulta y uso, por ejemplo: si en una empresa las ventas son en cuenta corriente (crédito), las facturas de los clientes serán debidamente guardadas, para que al momento del cobro, se puedan obtener los importes a cobrar. Un archivo es un lugar físico donde se guarda información según algún criterio de organización, que permitirá posteriormente accederla, por ejemplo las facturas se pueden guardar correlativamente por número, o por fecha, o por cliente. El usuario utiliza habitualmente, biblioratos, agendas, ficheros, carpetas, etc. Es necesario identificar donde y como guarda la información como su volumen. 4. Observación Directa Para definir esta técnica la pregunta sería ¿lo que nos han contado es cierto? El analista trata de observar el comportamiento del sistema sin que el usuario lo perciba, y obtener información "informal". Si se puede participar mejor. (Profundizar en K.K. cap.5) 5. Muestreo UNIDAD ACADEMICA RIO GALLEGOS UNIVERSIDAD NACIONAL DE LA PATAGONIA AUSTRAL 19 ANALISIS Y DISEÑO DE SISTEMAS Lic. Sandra Casas Cuando la cantidad de documentación o comprobantes es muy voluminosa puede ser útil tomar una muestra al azar para constatar algún hecho de manera de obtener una medida cuantitativa o porcentual que se pueda proyectar a la totalidad y proporcionarnos información. Sirve para confirmar alguna situación critica. Requiere tiempo y su valor depende del tamaño y representatividad de la muestra seleccionada. (Profundizar en K.K. cap.4) 6. Organigramas Describe la estructura jerárquica de la organización. Puede que se halle en los manuales, sino será conveniente hacerlo apenas comience el relevamiento. Proporciona información útil sobre la división departamental y funcional. Suele hacerse con el usuario de mayor nivel. Es importante que se coloquen los nombres de los usuarios. Ejemplo: Organigrama de la empresa XX Gerencia General Sr. Lopéz Gerencia Comercial Sr. Gomez Gerencia Produccion Sra. Mendez Gerencia Contable Sr. Vazquez 7. Tablas y Arboles de decisión Se consideran técnicas descriptivas, que se usan como soporte de otras, principalmente para corroborar y verificar situaciones condicionales. Explican gráficamente situaciones condicionales y sus respectivas acciones (políticas), dado que la narrativa puede ser confusa. El árbol de decisión se confecciona en forma horizontal y en el se explicitan las condiciones por las ramas, siendo las hojas las acciones. Tipo de Pago Contado Importe >= $100 10% Descuento Importe >= $50 y Importe < 100 5% Descuento Importe < $50 2% Descuento 0% Descuento Crédito La tabla de decisión sirve exactamente para lo mismo que el árbol. Cambia su disposición gráfica, adquiriendo una forma tabular. En la parte superior se colocan las condiciones y en la inferior las acciones. Contado Crédito Importe >= $100 Importe >= $50 y Importe <$100 Importe < $50 X X X X X X X X X X X X UNIDAD ACADEMICA RIO GALLEGOS UNIVERSIDAD NACIONAL DE LA PATAGONIA AUSTRAL 20 ANALISIS Y DISEÑO DE SISTEMAS Lic. Sandra Casas Descuento 10% Descuento 5% Descuento 2% Descuento 0% X X X X X X En ambos casos, lo que cuesta identificar son los distintos grupos de condiciones. En este ejemplo tenemos dos: respecto del tipo de pago y otra respecto del importe. La acción se da por una combinación de condiciones, pero dentro de cada grupo son excluyentes. EL USUARIO Tiene un papel preponderante en el relevamiento y en todo el proyecto. Es nuestra fuente de información primaria ¿Porqué? Nadie mejor que él sabe lo que hace y como lo hace, nadie mejor que él conoce sus problemas, probablemente sepa la causa de los problemas, probablemente pueda aporta ayuda para la solución. Pero no siempre es fácil que proporcione información y colabore. En todo momento el analista debe hacer participar al usuario en el proyecto, solo así lograra que éste se sienta comprometido y coopere. "El proyecto es de todos y para todos". Tipos de usuario: • Usuario cuenta historias • Usuario dudoso • Usuario temeroso • Usuario agrandado • Usuario llorón Bibliografía: I.T.H. (cap.4), R.C. (cap.6), W.D.(cap.3-11-16), K.K. (4-5-6-7) ACTIVIDADES 1. ¿Porqué es necesario analizar un sistema de información? 2. ¿Qué es el relevamiento, para qué sirve y en qué consiste? 3. Mencionar, explicar y caracterizar las técnicas de relevamiento. 4. Confeccionar una cuadro de doble entrada en el que se expliciten ventajas y desventajas de la entrevista y de los cuestionarios. 5. Confeccionar un cuadro en el que se expliciten los tipos de usuarios y la actitud del analista de sistemas respecto de estos. 6. Dar 3 ejemplos de preguntas abiertas y 3 ejemplos de preguntas cerradas. 7. ¿Porqué decimos que el muestreo es una técnica basada en la estadística? ¿En qué caso efectuaría un muestreo? Ejemplifique. 8. Respecto de los procedimientos administrativos (ANEXO 1), conteste: a. ¿Qué es un procedimiento administrativo? UNIDAD ACADEMICA RIO GALLEGOS UNIVERSIDAD NACIONAL DE LA PATAGONIA AUSTRAL 21 ANALISIS Y DISEÑO DE SISTEMAS Lic. Sandra Casas b. ¿Porqué se analizan los procedimientos administrativos? ¿Cómo se analizan? c. ¿Cómo se diseña un procedimiento administrativo? 9. Respecto de la documentación que existe en un sistema (ANEXO 1), conteste: a. ¿Qué es un formulario? ¿Para qué sirve? ¿Cómo esta estructurado? b. ¿Qué es un manual? ¿Para qué sirve? Describa el manual de procedimientos administrativos c. Vaya a una organización y obtenga copia o dibuje al menos tres documentos que se utilicen diariamente, y explique brevemente la información que contienen y para que sirven. 10. ¿Sería diferente el relevamiento para un sistema de información existente que para uno totalmente nuevo? Fundamente su respuesta. MODELO AMBIENTAL Este modelo tiene por objeto determinar en forma clara y precisa que es parte del sistema y que no. Como ya se dijo, todo sistema es parte componente (subsistema) de otros sistemas mayores (suprasistemas). En este modelo se definen las interfaces (relaciones) entre el sistema y su medio ambiente, entradas y salidas de información. Se busca modelar el exterior del sistema, para ello deberá trazarse las fronteras o limites del sistema. Se necesita saber que información entra al sistema desde el medio ambiente y que información del M.A. SISTEMA sistema sale al medio ambiente. Pero estas entradas y salidas no se producen al azar. Los sistemas de información tienen una razón de ser y tienen objetivos. Los sistemas de información producen salidas como respuesta a algún acontecimiento o estimulo en medio ambiente. Otro aspecto critico es identificar los acontecimientos que ocurren en el medio ambiente al cual debe responder el sistema. (el medio ambiente genera infinitos acontecimientos, no todos generan respuestas del sistema) BANCOS CLIENTES EMPRESA X UNIDAD ACADEMICA RIO GALLEGOS UNIVERSIDAD NACIONAL DE LA PATAGONIA AUSTRAL 22 ANALISIS Y DISEÑO DE SISTEMAS Lic. Sandra Casas Puede ocurrir que la frontera sea claramente reconocida por el usuario. Pero en algunos casos, se forma una zona gris (entre e sistema y el medio ambiente) que dificulta la determinación. Es fácil cuando el medio ambiente esta conformado por sistemas que no pertenecen a la misma organización. PROVEEDORES SISTEMA Herramientas usadas para definir el modelo ambiental • Declaración de propósitos (D.P.) • Lista de eventos (L.E.) • Diagrama de contexto (D.C) 1. Declaración de propósitos Es una declaración textual, breve y concisa del propósito del sistema. Cuenta con pocas frases y no debe llevar mas de un párrafo. No tiene la finalidad de describir en forma completa y detallada al sistema, lo que hace y como lo hace, sino que se espera del sistema. Ejemplo: el sistema contable de la empresa X, debe registrar las operaciones y producir los diarios, mayores y balances contables. En base a los propósitos del sistema, se pueden determinar las entradas necesarias del medio ambiente externo. 2. Diagrama de contexto Se compone de un único circulo (burbuja) que representa al sistema y de flechas que llegan y salen del sistema (flujos de entrada y salida), llamadas interfaces y de rectángulos que simbolizan a las entidades externas (otros sistemas del medio ambiente con los que interactúa) VENTAS ventas SISTEMA CONTABLE compras COMPRAS balance GERENCIA UNIDAD ACADEMICA RIO GALLEGOS UNIVERSIDAD NACIONAL DE LA PATAGONIA AUSTRAL 23 ANALISIS Y DISEÑO DE SISTEMAS Lic. Sandra Casas Una entidad se considera externa si el sistema no puede influir en sus aspectos internas, es más, seguramente los desconoce. Reglas para construir el D.C.: • El nombre de las entidades externas es un sustantivo común en singular. • Los nombres o etiquetas utilizados deben ser significativos y representativos de la realidad. El D.C. enfatiza varios aspectos importantes: • Entidades externas: personas, organizaciones, sistemas con los que se relaciona el sistema en forma directa. • Flujos de entrada: los datos que el sistema recibe y que debe procesar de alguna manera. • Flujos de salida. Los datos que el sistema genera y que envía al medio ambiente. • Almacenamientos: datos que el sistema comparte con las entidades externas, estos se generan fuera o dentro del sistema. • La frontera entre el sistema y el medio ambiente externo. 3. Lista de Eventos Es una lista narrativa de los estímulos que ocurren en el mundo exterior a los cuales el sistema debe responder. Ejemplos: 1. Un cliente hace un pedido (F). 2. Un cliente cancela un pedido (F). 3. La gerencia solicita un informe de pedidos todos los días. (T.) Un estimulo es un acontecimiento que activa al sistema, lo dispara, lo obliga a actuar. Tipos de eventos: • De flujo: se asocia con un paquete de datos, el sistema se da cuenta que ha ocurrido por que ha llegado algún dato. • Temporales: ocurren en un momento determinado en el tiempo, que el sistema conoce, generalmente de acuerdo a una cierta frecuencia. • De control: son un caso especial de los temporales. Es un acontecimiento externo, que el sistema recibe mediante un flujo de control (no son muy comunes). Correspondencia entre la lista de eventos y el diagrama de contexto A un evento le pueden corresponder mas de un flujo en diagrama de contexto, no existe necesariamente una correspondencia uno a uno. Es un error, por otra parte tratar de definir un evento para cada flujo, cuando varios flujos son causados por un solo evento. (oscurece la lista de eventos). Otro error que suele cometerse es no identificar el evento primario como distinto de los eventos secundarios. Lo cual ocasiona una lista de eventos muy extensa. Bibliografía E.Y.(cap.18) ACTIVIDADES 1. ¿Qué es el modelo ambiental?, ¿Cuál es su objetivo? y ¿Cuáles son sus componentes? 2. ¿Qué es un evento? 3. Mencionar y describir los tipos de eventos. Dar cinco ejemplos de cada tipo de evento. UNIDAD ACADEMICA RIO GALLEGOS UNIVERSIDAD NACIONAL DE LA PATAGONIA AUSTRAL 24 ANALISIS Y DISEÑO DE SISTEMAS Lic. Sandra Casas 4. ¿Qué es y para qué sirve la lista de eventos? 5. ¿Qué es el diagrama de contexto?, ¿Cuáles son sus componentes? 6. ¿Qué relación existe entre el diagrama de contexto y la lista de eventos? 7. Dar dos ejemplos de D.C. 8. ¿Qué es la declaración de propósitos?, ¿Qué no debe ser? 9. Dar dos ejemplos de D.P. MODELO DE COMPORTAMIENTO El modelo ambiental modela el exterior del sistema. El modelo de comportamiento modela el interior del sistema. Estos modelos no son cosas aisladas, todo lo contrario. El modelo de comportamiento describe como y que hace el sistema actual: • para cumplir con los propósitos (D.P.) • cuando ocurre un evento (L.E.) • que hace con las entradas y como produce las salidas, de y hacia el M.A. (D.C). Herramientas • D.F.D. : Diagrama Flujo de Datos • D.S.: Diccionario del Sistema. • D.E.R.: Diagrama Entidad Relación • D.T.E.: Diagrama Transición de Estados D.F.D.: Diagrama Flujo de Datos Permite visualizar el sistema como una red de procesos funcionales, conectados entre sí por flujos de datos y almacenamientos. El D.F.D. es un modelo lógico del sistema que representa transformaciones, procesos de datos y algo de control. Es un modelo lógico porque no depende del hardware, software, estructuras de datos, no tiene implicaciones físicas. Componentes: • Proceso - Transformación - Burbuja • Flujos de Datos • Almacenamientos • Entidad Externa - Terminador UNIDAD ACADEMICA RIO GALLEGOS UNIVERSIDAD NACIONAL DE LA PATAGONIA AUSTRAL 25 ANALISIS Y DISEÑO DE SISTEMAS Lic. Sandra Casas Procesos: burbuja, función o transformación. El proceso transforma una/s entrada/s en una/s salida/s. Es una acción. La etiqueta (nombre) de una burbuja debe llevar un verbo en infinitivo y debe ser lo más aproximado a lo que hace. Deben usarse nombres significativos y evitar la ambigüedad. Facturas_clientes Calcular Iva Ventas Iva-ventas Flujos de datos: paquete de datos en movimiento, que fluyen y circulan por el sistema, transformándose. Es información. Por ejemplo los formu larios. Los flujos tienen dirección. Las etiquetas son sustantivos adjetivados y deben ser precisos. a El flujo a es una entrada al proceso b El flujo b es una salida del proceso Almacenamiento: es una colección de paquetes de datos en reposo. Allí se guarda información que será consultada y actualizada (modificada). Los sistemas siempre tienen almacenamientos, ya que no pueden recordar toda la información que manejan y necesitan. Se etiquetan con sustantivos en plural y significativos. En la realidad encontramos almacenamientos en ficheros, biblioratos, discos magnéticos, canastas, etc. Estos pueden ser permanentes o temporales. Facturas facturas cliente Calcular iva ventas iva ventas Se consulta información guardada Facturas Se actualiza, se guarda nueva información pedidos Facturar pedidos • facturas cliente La actualización de un almacén implica los siguientes sucesos: UNIDAD ACADEMICA RIO GALLEGOS UNIVERSIDAD NACIONAL DE LA PATAGONIA AUSTRAL 26 ANALISIS Y DISEÑO DE SISTEMAS Lic. Sandra Casas Se está agregando mas información, se está eliminando información, se está cambiando la información que posee. (la flecha llega al almacén) • La consulta de un almacén significa que la información se accede pero luego de esta operación, el almacén permanece exactamente igual, nada cambiado. (la flecha sale del almacén) Entidad Externa: son las descriptas en el diagrama de contexto. Tienen las mismas características. Ejemplo: El departamento de ingreso de una universidad al comienzo de cada semestre recibe inscripciones de ingreso a las carreras que dicta. Para ello los aspirantes deben entregar una serie de documentación (fotocopia dni, fotocopia del titulo secundario, fotos carnets, etc.) y llevar la solicitud de inscripción completa. Además los aspirantes asisten a un curso de ingreso, en el cual son evaluados. Los profesores de este curso entregan las calificaciones de los alumnos al departamento de ingreso. El departamento de ingreso para confeccionar las listas de cursado de 1er. Año verifica que el alumno tenga el curso aprobado y toda la documentación completa. Modelo Ambiental D.P. El propósito del sistema del departamento de ingreso es recibir la inscripción de los aspirantes y confeccionar las planillas de cursado de 1er. Año. L.E. Se recibe solicitud de inscripción y documentación Se recibe calificación del curso de ingreso Se confeccionan planillas de cursados. D.C. UNIDAD ACADEMICA RIO GALLEGOS UNIVERSIDAD NACIONAL DE LA PATAGONIA AUSTRAL 27 ANALISIS Y DISEÑO DE SISTEMAS Lic. Sandra Casas sol.ing. y doc. ALUMNO SISTEMA DE IINGRESO planillas cursado calificaciones PROFESOR Modelo de Comportamiento D.F.D. nivel 1 sol.ing. y doc. 1 Recibir inscripcion aspirante 2 Rececpcio nar calific. curso ALUMNO INSCRIPCIONES calificaciones CALIFICACIONES 3 Preparar planillas cursado PROFESOR planillas cursado Reglas para construir un D.F.D. • No colocar más de 9 burbujas por nivel. • Utilizar etiquetas (nombres) precisas, reales, claras y significativas. • Numeración de burbujas: de izquierda a derecha y de arriba hacia abajo (no significa secuenciación). • Balanceado respecto del nivel anterior. • No debe ocupar más de una carilla. UNIDAD ACADEMICA RIO GALLEGOS UNIVERSIDAD NACIONAL DE LA PATAGONIA AUSTRAL 28 ANALISIS Y DISEÑO DE SISTEMAS Lic. Sandra Casas Errores típicos • En un almacenamiento entran flujos y nunca se utiliza la información. • En un almacenamiento se consulta información que nunca se guardo. • Un proceso genera salidas sin entradas. • Un proceso que no genera salidas, solo recibe entradas. • Dos almacenamientos que se comunican directamente. • Relaciones entre entidades externas Posibles errores (analizar especialmente) • Una entidad externa tiene acceso a un almacenamiento del sistema. La mayoría de los autores coinciden que esta representación es incorrecta, excepto Yourdon. Para nosotros es una situación poco comú n pero posible. UNIDAD ACADEMICA RIO GALLEGOS UNIVERSIDAD NACIONAL DE LA PATAGONIA AUSTRAL 29 ANALISIS Y DISEÑO DE SISTEMAS Lic. Sandra Casas • Casi siempre entre dos procesos existe al menos un almacenamiento puesto que los procesos no son sincrónicos, es una situación poco común que se comuniquen en forma directa, principalmente si se trata de procesos fuertes. Los procesos se comunican a través de un almacén. Los procesos se comunican directamente (poco común). Explosión o Expansión de burbujas Por lo general el nivel 1 del D.F.D. (primer D.F.D. que se realiza) da un panorama general de lo que hace el sistema, muestra las funciones más importantes. Pero no da detalles precisos de cómo se hace cada operación, es decir, no describe las subfunciones que componen a una función compleja. Por lo que es necesario explotar, y pasar a niveles mas detallados. Cada burbuja del nivel 1 se toma y de ella se hace otro D.F.D., lo que se denomina "explosión", pasando a un nivel 2, que otorga una descripción más específica de la función. • • • • Se dice que la burbuja 1 es madre de las burbujas resultantes de su explosión: 1.1, 1.2, etc. Al explotar la numeración de las burbujas obtenidas se compone de todos los niveles precedentes y el número correspondiente según su ubicación en el D.F.D. En una explosión surgen almacenamientos y flujos internos. Una explosión debe estar balanceada respecto de la burbuja madre. ¿Cuántos niveles de descomposición o hasta cuando explotar? • Hasta que la burbuja sea una primitiva funcional, es decir una función atómica, hace una solo cosa y no se puede descomponer. • Se recomienda no hacer mas de seis niveles. El proceso de descomposición se denomina TOP-DOWN o descendente, se va de arriba hacia abajo. De lo mas general a lo más específico. Los D.F.D. se hacen, se revisan, se corrigen y se vuelven a hacer tantas veces como sea necesario. Seguramente ocurrirá que al obtener mas detalles específicos, se deba corregir cosas ya realizadas. Lo cual esta bien. Este es uno de los propósitos. Procesos y flujos de control ♦ Procesos fuertes: transforman una/s entrada/s en una/s salida/s, actualizan almacenamientos. UNIDAD ACADEMICA RIO GALLEGOS UNIVERSIDAD NACIONAL DE LA PATAGONIA AUSTRAL 30 ANALISIS Y DISEÑO DE SISTEMAS Lic. Sandra Casas ♦ Procesos débiles: procesos de control, no transforman, no actualizan, solo realizan controles, validaciones, verificaciones, chequeos necesarios para que luego se realice algún proceso fuerte. Los procesos de control son siempre primitivas funcionales, siempre se encuentran en el último nivel (más bajos) de explosión. CLIENTES pedido 4.5 Verificar saldo no-ok 4.6 Rechazar pedido pedido ok 4.7 Facturar pedido RECHAZOS FACTURAS ¿Cómo empezar? Realizado el modelo ambiental, lo que más cuesta es hacer el D.F.D. de nivel 1, hay distintos enfoques que permiten construir el primer D.F.D. preliminar: ♦ Enfoque Yourdon ♦ Enfoque De Marco ♦ Otros Enfoques 1. Enfoque Yourdon ♦ Para cada evento de la lista de eventos se crea una burbuja. ♦ Se da un nombre acorde al evento. ♦ Se dibujan las entradas y salidas de tal forma que la burbuja de la respuesta requerida, y se agregan los almacenamientos en forma apropiada, para que las burbujas puedan comunicarse. ♦ Se balancea respecto del modelo ambiental. Puede resultar que quedan mas de 9 burbujas, porque se tienen mas de 9 eventos, entonces se debe buscar burbujas afines, para agruparlas, en una burbuja madre, lo que se denomina implosión. 2. Enfoque De Marco Se analiza e identifican las funciones principales del sistema, es decir los subsistemas y se dibuja una burbuja para cada uno. Se agregan las entradas y salidas y almacenamientos. Y luego se balancea y se explota. 3. Otros Enfoques ♦ El D.F.D. es la explosión del D.C. Comenzar desde algún extremo, por los flujos de datos a partir de las entidades externas. Puede ser desde donde se originan las entradas o desde donde se producen las salidas. ♦ Algunos autores sugieren partir de una descripción textual del problema, de la cual se obtendrá una lista de los componentes del D.F.D.: a. Identificar los orígenes y destinos de los datos (entidades de externas) e incluirlos en la lista. UNIDAD ACADEMICA RIO GALLEGOS UNIVERSIDAD NACIONAL DE LA PATAGONIA AUSTRAL 31 ANALISIS Y DISEÑO DE SISTEMAS Lic. Sandra Casas b. Identificar los procesos que realiza el sistema, es decir cualquier hecho que modifique o transforme los datos, y agregarlos a la lista. c. Considerar los almacenes de datos y los flujos de datos, no todos se deducirán directamente de la descripción del problema, algunos están implícitos y se agregan a la lista. d. Una vez identificados todos o casi todos los componentes se dibuja el D.F.D. Se utiliza cualquier enfoque o una combinación de ellos, lo importante es obtener un D.F.D. preliminar que en posteriores revisiones con el usuario se ira ajustando de manera de representar a la realidad, de una manera clara. Ventajas de construir el D.F.D. ♦ Simbología simple y sencilla. ♦ Permite ver el sistema desde distintos niveles de detalle. ♦ Facilita la comunicación con los usuarios. Sí un D.F.D. es tan complejo, que no lo entienden los usuarios o el resto de los integrantes del equipo y quizás ni quien lo hizo, simplemente no sirve. Se hace nuevamente. Los D.F.D. se hacen tantas veces como sea necesario, hasta que describan de la manera más exacta y clara al sistema que se está estudiando. Bibliografía: E.Y. (cap.9-19), K.K.(cap.9),I.T.H.(cap.6), W.D.(cap.5), R.C.(cap. 16) ACTIVIDADES 1. ¿Cuál es la diferencia entre un D.C. y un D.F.D.? 2. Analice y responda. a. Indique tres sinónimos de D.F.D. b. ¿Para qué se pueden utilizar los D.F.D. aparte de modelar un sistema de información? c. Indique tres sinónimos de proceso d. ¿Cómo pueden tener distinto significado un paquete de datos en un D.F.D.? e. ¿Existe un límite para el número de entradas y salidas que puede tener un proceso en un D.F.D.? f. Indique tres sinónimos para almacenamiento. g. ¿Qué significa un flujo no etiquetado que entra o sale de un almacenamiento? h. ¿Existe límite para el número de flujos que entran o salen de un almacenamiento? De ser así, señale dicho límite. i. ¿Cuáles son las cuatro posibles interpretaciones de un flujo de datos de un almac én a un proceso? j. ¿Son peligrosos los flujos de datos no etiquetados? ¿Porqué? k. ¿Cuál serie la mala interpretación de numerar las burbujas del D.F.D.? l. ¿Es posible para el analista cambiar los contenidos y funciones de las entidades externas? ll. ¿Son peligrosos los procesos no etiquetados? ¿Porqué? m. ¿Cuál es la diferencia entre proceso de control y proceso fuerte? 3. ¿Qué es una primitiva funcional? 4. Diferencia entre procesos físicos y procesos lógicos. 5. Diferencia entre flujos físicos y flujos lógicos . UNIDAD ACADEMICA RIO GALLEGOS UNIVERSIDAD NACIONAL DE LA PATAGONIA AUSTRAL 32 ANALISIS Y DISEÑO DE SISTEMAS Lic. Sandra Casas D.S.: Diccionario del Sistema Los D.F.D. son insuficientes para describir por si solos un sistema, se necesita otra herramienta que lo complemente, o como se dice, "documente". El D.S. es un deposito de información de los elementos del D.F.D., es decir, es la catalogación de los flujos, procesos y almacenamientos del D.F.D. Finalidades del D.S.: ♦ Documentar las características del sistema. ♦ Manejar detalles en grandes sistemas. ♦ Dar un significado común para todos los elementos del sistema. ♦ Localizar errores y omisiones. ♦ Validar el D.F.D. y confirmar que este completo y correcto. Componentes del D.S.: D.D. (Diccionario de Datos) Elementos de dato Flujos de dato Almacenamientos Estructuras de datos D.S. D.P. (Diccionario de Procesos) Supongamos el siguiente segmento de un D.F.D. para definir en el diccionario todos sus componentes: CLIENTES NP FACTURAS 3.5 Facturar NP PRECIOS FC NP NPS Donde el flujo de datos NP (nota de pedido) es el formulario que a continuación se dibuja: UNIDAD ACADEMICA RIO GALLEGOS UNIVERSIDAD NACIONAL DE LA PATAGONIA AUSTRAL 33 ANALISIS Y DISEÑO DE SISTEMAS Lic. Sandra Casas Nota de Pedido Nº: Nombre: Apellido: Dirección: Cod. Artículo Fecha: Descripción Cant. Tipo de Pago: Lugar de Entrega: • Diccionario de Flujos de Datos _________________________________________________________ Flujo de datos: NP Descripción: NOTA DE PEDIDO DEL CLIENTE Contenido: nnp + fecha + apellido + nombre + direccion+ {codart + desc + cant} + tp + (le) Origen: CLIENTE Destino: 3.5 FACTURAR NP Observaciones: -------------------------------_________________________________________________________ Los flujos de datos y los almacenamientos son estructuras de datos porque se componen de elementos de datos y/o otras estructuras de datos. Los flujos de datos y estructuras se describen citando: su nombre, descripción (si el nombre es una abreviatura o sigla), contenido (componentes de la estructura), origen (donde se inicia la estructura, puede ser una entidad externa, proceso, almacenamiento), destino (donde se dirige la estructura, puede ser una entidad externa, proceso, almacenamiento) y observaciones (para citar cualquier detalle que se considere importante) Continuando con el ejemplo, hay que definir los componentes del flujo de datos NP, lo que se ha especificado en el contenido. Algunos de sus componentes son estructuras de datos y otros son elementos de datos. Las estructuras de datos son datos compuestos que pueden volver a descomponerse, como fecha. _________________________________________________________ Estructura de datos: FECHA Descripción: --------------------------------------Contenido: dia + mes + año Origen: NP Destino: NP Observaciones: -------------------------------_________________________________________________________ UNIDAD ACADEMICA RIO GALLEGOS UNIVERSIDAD NACIONAL DE LA PATAGONIA AUSTRAL 34 ANALISIS Y DISEÑO DE SISTEMAS Lic. Sandra Casas • Diccionario de elementos de datos Los elementos de datos son datos simples o atómicos que no pueden descomponerse. Es muy raro encontrarlos en el D.F.D., lo mas común es que un conjunto de elementos de datos sean el contenido de una estructura de datos, flujo de datos y/o almacenamiento. Cuando se define un elemento de dato en el diccionario se especifica el nombre, la descripción, tipo (numérico, entero, real, cadena, alfanumérico), longitud, rango(sí tiene), valores específicos(sí tiene) y observaciones (sí son necesarias). _________________________________________________________ Dato el emental: dia Descripción: --------------Tipo: numérico Longitud: 2 Rango: 1-31 Valores Específicos: ------------------------Observaciones: -------------------------------_________________________________________________________ _________________________________________________________ Dato elemental: nombre Descripción: --------------Tipo: alfabético Longitud: 30 Rango: ---------------------Valores Específicos: ------------------------Observaciones: -------------------------------_________________________________________________________ _________________________________________________________ Dato elemental: domicilio Descripción: --------------Tipo: alfanumérico Longitud: 30 Rango: ---------------------Valores Específicos: ------------------------Observaciones: -------------------------------_________________________________________________________ _________________________________________________________ Dato elemental: tp Descripción: Tipo de Pago Tipo: alfabético Longitud: 7 Rango: ---------------------Valores Específicos: [credito/contado] Observaciones: -------------------------------_________________________________________________________ • Diccionario de Almacenamientos UNIDAD ACADEMICA RIO GALLEGOS UNIVERSIDAD NACIONAL DE LA PATAGONIA AUSTRAL 35 ANALISIS Y DISEÑO DE SISTEMAS Lic. Sandra Casas Los almacenamientos se especifican citando nombre, descripción, contenido, número y nombre de los procesos que lo actualizan y consultan, volumen (cantidad estimada y promedio de paquetes datos que guarda expresado en razón de tiempo), acceso (directo o secuencial), ordenamiento (el dato elemental por el cual se estable el orden de almacenamiento). _________________________________________________________ Almacenamiento: NPS Descripción: Archivo de Notas de Pedido Contenido = NP Proceso que lo actualiza: 3.5 Facturar NP Proceso que lo consulta: Volumen: 500 mensuales Acceso: directo Ordenamiento: número de np Observaciones: -------------------------------_________________________________________________________ Para describir ciertas características de las estructuras de datos se utilizan símbolos que representan distintas relaciones: Símbolo = + {} [] () Significado Esta compuesto de Y (Conjunción) Iteración o repetición de componentes O (Disyunción) Opcional - no obligatorio • Diccionario de Procesos Cada burbuja del D.F.D. se define en el diccionario, pero solo las primitivas funcionales llevan mayor nivel de detalle o resumen de la lógica o "especificación de proceso". El propósito es claro, definir lo que se debe hacer para que una entrada se convierta en salida, explicar de un modo claro y lo mas preciso posible que hace el proceso. Se debe tener en cuenta que esta descripción de proceso debe ser comprensible, no solo el analista que la escribe debe entenderla. No debe incluirse ninguna característica técnica (lenguaje de programación, algoritmos) • Definición de procesos que "no" son primitivas funcionales: pedido FC 5 Facturar Pedido fc recibo RECIBOS UNIDAD ACADEMICA RIO GALLEGOS UNIVERSIDAD NACIONAL DE LA PATAGONIA AUSTRAL 36 ANALISIS Y DISEÑO DE SISTEMAS Lic. Sandra Casas _________________________________________________________ Proceso: 5. FACTURAR NP Descripción: FACTURAR NOTAS DE PEDIDO Entradas: PEDIDO Salidas: FC - RECIBO Almacenamiento que actualiza: RECIBO, FC Almacenamiento que consulta: -------Especificación de Proceso: 5.1 Generar Factura 5.2 Verificar Factura 5.3 Confeccionar Rec. 5.4 Registrar deuda Observaciones: -------------------------------_________________________________________________________ • Definición de Primitivas funcionales: Los procesos que son primitivas funcionales se describen de la misma manera, excepto en la especificación de proceso se realiza un resumen de la lógica utilizando alguna de las siguientes herramientas: Pseudocódigo, Pre y Post Condición, Tablas o Arboles de Decisión, Narrativa, Diagramas de Flujo o Diagramas N-S (Nassi/Shneiderman) pedido 5.1 Generar Factura factura DEUDAS 5.2 Verificar Factura RECIBOS 5.4 Registrar deuda 5.3 Confecci onar rec. fc fc _________________________________________________________ Proceso: 5.2 VERIFICAR FACTURA Descripción: ---------------Entradas: FACTURA Salidas: --------Almacenamiento que actualiza: -------Almacenamiento que consulta: DEUDAS Especificación de Proceso: Si tp de PEDIDO = contado Entonces 5.3 Confeccionar recibo Sino UNIDAD ACADEMICA RIO GALLEGOS UNIVERSIDAD NACIONAL DE LA PATAGONIA AUSTRAL 37 ANALISIS Y DISEÑO DE SISTEMAS Lic. Sandra Casas Si tp de pedido = credito ∧ cliente no esta en DEUDAS ENTONCES 5.4 Registrar nueva DEUDA Observaciones: -------------------------------_________________________________________________________ Esta especificación de proceso se ha escrito en pseudocódigo, pero se podría utilizar cualquiera de las herramientas: Tabla de Decisión Tp = contado Tp = credito Tiene deuda No tiene deuda X X X X X X X X Confeccionar recibo Registrar nueva deuda Nada Pre y Post condición Precondición 1 Tp = contado Postcondicion 1 Confeccionar recibo Precondicion 2 Tp = credito ∧ cliente no tiene deuda Postcondicion 2 Registrar nueva deuda Herramientas de especificación de procesos 1. Pseudocódigo o lenguaje estructurado • No incluir ningún aspecto de programación (parámetros, tipos de datos, sintaxis) • Utilizar verbos comunes como guardar, buscar, ingresar, aceptar, calcular, sumar • Utilizar estructuras de control secuencial, selección e iteración • Utilizar los datos de los flujos de entrada, salida y almacenamiento • No es un programa FACTURAS fc I.B. 8.3.1 Calcular Total 10.5 Calcular I.Neto TD TD=0 Mientras hay fc en FACTURAS TD=TD+TOTAL_FC I.N. IN=(IB*25/100)+IB UNIDAD ACADEMICA RIO GALLEGOS UNIVERSIDAD NACIONAL DE LA PATAGONIA AUSTRAL 38 ANALISIS Y DISEÑO DE SISTEMAS Lic. Sandra Casas I.B. datos_cli 10.5 Calcular I.Neto SI IB > 100 ENTONCES IN=(IB*25/100)+IB SINO IN=(IB*13/100)+IB I.N. 7.6 Registrar NP CLIENTES LEER nombre, apellido, tel, domicilio Guardar datos_cli en CLIENTES Si una especificación en pseudocódigo es muy larga y hace muchas cosas, la burbuja no es una primitiva funcional. Debe ser explotada. 2. Tablas y árboles de decisión Su construcción y representación es la misma que se ha aplicado en el relevamiento. Solo que en las condiciones participaran flujos de datos, elementos de datos, almacenamientos ya definidos y las acciones se refieren por lo general a salidas (flujos de datos y almacenamientos) o activación de otros procesos (el caso de las burbujas de control.) 3. Pre - Post Condiciones Es una manera conveniente de describir la función que debe realizar el proceso, sin decir mucho acerca del algoritmo o procedimiento que se utilizará. Es muy útil cuando el analista esta seguro de que existen muchos algoritmos distintos que pueden utilizarse, lo cual debe decidirlo el diseñador o programador. Precondición 1 I.B. 10.5 Calcular I.Neto I.N. Ocurre I.B. Postcondición 1 IN se hace igual a IB+(IB*15/100) Se compone de dos partes: precondición y la postcondición. Precondición: describen todas las cosas (si hay) que deben darse (ser verdaderas) antes que el proceso se ejecute. Generalmente describen: UNIDAD ACADEMICA RIO GALLEGOS UNIVERSIDAD NACIONAL DE LA PATAGONIA AUSTRAL 39 ANALISIS Y DISEÑO DE SISTEMAS Lic. Sandra Casas • Entradas: que llegan a través de flujos de datos X Y Precondición Dados X, Y, Z Z W • Relación entre las entradas Precondición Se dan X, Y, W donde X es mayor 100 y W es distinto de Y. • Relación entre entradas y almacenes de datos DATOS X X Y Z W Precondición Se dan X, Y, W. X esta en DATOSX • Relación entre distintos almacenes o en un mismo almacén. ARTICULOS Calcular reposicion solicitud de reposición Precondición Existe un articulo stock_actual es menor o igual a stock_minimo UNIDAD ACADEMICA RIO GALLEGOS UNIVERSIDAD NACIONAL DE LA PATAGONIA AUSTRAL 40 ANALISIS Y DISEÑO DE SISTEMAS Lic. Sandra Casas Postcondición: describen lo que debe darse (lo que será verdad) cuando el proceso ha concluido. Generalmente describen: • Las salidas que producirá el proceso Postcondición IN se hace igual a IB + (IB*15/100) • La relación que exista entre las salidas y las entradas Postcondición IN se hace igual a IB + (IB*15/100) • La relación que exista entre las salidas y los almacenes Postcondición Solicitud de reposición se hace igual a código de artículo y descripción de articulo • Los cambios que se hayan dado en los almacenes (actualizaciones) Postcondicion Se elimina el cliente de CLIENTES. 4. Narrativa Descripción breve y concisa en lenguaje coloquial de lo que hace lógicamente el proceso. Aun así, no se recomienda ya que la posibilidad de caer en ambiguedad y la forma en que se expresan las decisiones y repeticiones no resulta clara. Es importante que sea corta. Ejemplo: el total facturado se obtiene sumando los totales individuales de todas las facturas del mes. 5. Diagrama de Flujo Es una herramienta gráfica muy utilizada para describir procedimientos. Pero es un método del que se ha abusado sin respetar sus limitaciones respecto de control, decisiones y bucles. La lógica de un procedimiento se representa mediante la combinación de dos símbolos, el rectángulo y los rombos y con las flechas se representa el control. Los rectángulos representan enunciados (asignaciones, lecturas, escrituras) y los rombos condiciones booleanas. F 1er.tarea V 2da.tarea SECUENCIA SELECCION Esta herramienta es conveniente cuando el proceso es corto y sencillo y no posee demasiadas selecciones y bucles anidados. UNIDAD ACADEMICA RIO GALLEGOS UNIVERSIDAD NACIONAL DE LA PATAGONIA AUSTRAL 41 ANALISIS Y DISEÑO DE SISTEMAS Lic. Sandra Casas F F V V ITERACION (repetir) ITERACION (mientras) Ejemplo : T=0 F hay fc. V leer fc. T = T+totfac 6. Diagramas N-S (Diagrama de cajas) Es una herramienta gráfica más conveniente que la anterior, dado que su forma no permite que se viole la construcción estructurada. Características: • Ambito funcional bien definido y claramente visible • Transferencia de control arbitrario es imposible • Se puede determinar fácilmente el ámbito de los datos locales y/o globales UNIDAD ACADEMICA RIO GALLEGOS UNIVERSIDAD NACIONAL DE LA PATAGONIA AUSTRAL 42 ANALISIS Y DISEÑO DE SISTEMAS Lic. Sandra Casas • La recursividad es fácil de representar Simbología: condicion tarea 1 F condicion mult. V valor tarea 2 valor valor valor tarea 3 SECUENCIA SELECCION SELECCION MULTIPLE condición condición ITERACION (mientras) ITERACION (repetir) Ejemplo T=0 hay nas facturas leer factura T = T + totfact BIBLIOGRAFIA: E.Y. (cap.10-11), K.K. (cap. 10-11), I.T.H. (cap. 9-10), W.D. (cap.6-7-10), R.C. (cap.16) ACTIVIDADES 1. ¿Qué es el Diccionario del sistema?, Para qué sirve? Como esta formado 2. Describa el D.D. completo para un D.N.I. 3. ¿Puede usarse la misma estructura de datos para definir varios y distintos flujos de datos y/o almacenamientos? UNIDAD ACADEMICA RIO GALLEGOS UNIVERSIDAD NACIONAL DE LA PATAGONIA AUSTRAL 43 ANALISIS Y DISEÑO DE SISTEMAS Lic. Sandra Casas 4. ¿Puede usarse el mismo elemento de dato para definir varios flujos de datos y/o almacenamientos y/o estructuras de datos? 5. En caso de obtener respuestas afirmativas en los puntos 3 y 4 ejemplificar, caso contrario fundamentar las respuestas. 6. ¿Puede la especificación de procesos determinar que una burbuja no es primitiva funcional? 7. Ejemplifique cada herramienta de especificación de procesos en forma adecuada, y fundamente la elección de la herramienta utilizada en cada caso. D.E.R.: Diagrama Entidad Relación El D.E.R. es la representación (gráfica) de los datos del sistema y sus relaciones, independientemente de las funciones y procesos que operan sobre ellos. Es un modelo conceptual y semántico. Su propósito es representar que significan los datos en la realidad. Es decir, describe las características de los datos, en forma abstracta. Componentes: ♦ Entidades ♦ Relaciones • Entidades: se representan mediante el rectángulo. Son cosas u objetos del mundo real, abstractas o concretas, tangibles o intangibles. Estos objetos, por su cantidad y características no pueden ser recordadas por el sistema, es decir en un sistema encontraremos un conjunto de entidades del mismo tipo. Por ejemplo: la entidad Juan Perez es un cliente, pero además José Gomez y Ana Martinez también son clientes de la empresa, es decir son entidades del mismo tipo. CLIENTES Jose Gomez Juan Perez UNIDADAna ACADEMICA Martinez RIO GALLEGOS UNIVERSIDAD NACIONAL DE LA PATAGONIA AUSTRAL 44 ANALISIS Y DISEÑO DE SISTEMAS Lic. Sandra Casas Este conjunto de entidades, al cual llamaremos CLIENTE, se representa: CLIENTE Una entidad se describe por sus atributos, un atributo es una propiedad o una cualidad, es lo que se puede decir de la entidad. Por ejemplo los atributos de la entidad cliente son nombre, dirección y teléfono entre muchos otros. Juan Perez Roca 1510 25897 Jose Gomez Salta 328 39027 Ana Martinez Zapiola 574 42805 Los atributos también se representan en el D.E.R.: direccion telefono nombre CLIENTE CLIENTE nombre direccion telefono Las entidades tienen muchos atributos, solo se indican aquellos que para el sistema de análisis son relevantes, por ejemplo de un cliente interesa su dirección porque es necesario enviarle mercaderías y correspondencia, sin embargo la altura de un cliente es un atributo, que para nuestro sistema no tiene ninguna relevancia, por lo tanto, se ignora. • Relación: Asociación o vinculación entre dos o más entidades. En un sistema existe un conjunto de relaciones del mismo tipo. Muchas veces la relación tiene atributos propios, es decir, determinadas propiedades que solo ocurren cuando dos entidades se relacionan. CLIENTES ARTICULOS COMPRA Jose Gomez lapiz Juan Perez calculadora Ana Martinez reloj UNIDAD ACADEMICA RIO GALLEGOS UNIVERSIDAD NACIONAL DE LA PATAGONIA AUSTRAL 45 ANALISIS Y DISEÑO DE SISTEMAS Lic. Sandra Casas Dos entidades CLIENTES y ARTICULO se relacionan cuando un cliente realiza la COMPRA de un artículo. Algunos clientes compras uno o varios artículos, y algunos artículos son comprados por uno o varios clientes. Algunos clientes quizás no compren y algunos artículos no son comprados por ningún cliente. Las "instancias" de las entidades, son las entidades individuales, o los valores reales que pueden asumir cada uno de los elementos del conjunto, en este caso las instancias de CLIENTES son Juan Perez, Ana Martinez y Jose Gomez. Una relación es una asociación entre instancias de entidades. Para el ejemplo citado, el D.E.R. correspondiente sería: direccion detalle telefono nombre compra CLIENTE precio ARTICULO D.E.R. Si la relación (representada mediante un rombo) posee atributos propios, estos deben representarse en el diagrama: direccion telefono detalle fecha precio nombre compra CLIENTE ARTICULO Cardinalidad En una relación que asocia a dos o más entidades, la conexión entre las instancias de las mismas puede tener distintos tipos de cardinalidad. Por ejemplo una relación entre dos entidades, A y B, puede asociar una instancia de A con 1 y/o más instancias de B y viceversa. • 1-1: Una instancia de A se relaciona a lo sumo con una instancia de B y viceversa. HOMBRE casado MUJER "Un hombre esta casado solo con una mujer y una mujer esta casada con un solo hombre." • 1-n: Una instancia de A se relaciona con 0, 1 o varias instancias de B, pero cada instancia de B esta asociada a lo sumo con una de A. JUGADOR integra EQUIPO "Un jugador de futboll juega en un solo equipo, pero en un equipo hay varios (n) jugadores" UNIDAD ACADEMICA RIO GALLEGOS UNIVERSIDAD NACIONAL DE LA PATAGONIA AUSTRAL 46 ANALISIS Y DISEÑO DE SISTEMAS Lic. Sandra Casas • n-1: Las instancias de A pueden asociarse a lo sumo con una de B, y cada instancia de B puede asociarse con 0, 1 o mas instancias de A. ESCUELA estudia ALUMNO "Una escuela tiene muchos(n) alumnos, cada alumno pertenece a una única escuela" • n-m: Las instancias de A se asocian con cualquier cantidad de instancias de B y viceversa. ALUMNO cursa MATERIA "Un alumno cursa varias (n) materias, una materia es cursada por varios (m)alumnos." ¿Qué puede ser una entidad? Se debe analizar si la entidad es importante para el sistema, es decir si sus propiedades deben ser recordadas y almacenadas. Suelen aparecer entidades en: • Papeles/transacciones/formularios: pedido, factura, recibo, etc. • Objetos reales: artículos, maquinarias, empleados, clientes, alumno, etc. • Entidades Externas: cliente, alumno, empleado, proveedor, etc. • Abstracciones: materia, curso, proyecto, vuelo. Construcción del D.E.R. 1. Identificar conjuntos de entidades del sistema. 2. Analizar su interacción y definir relaciones. 3. Identificar atributos descriptivos. 4. Determinar identificadores. Identificador: es aquel atributo o conjunto de atributos de una entidad que permite identificar a un miembro del conjunto de otro en forma unívoca. Debe ser subrayado. En las relaciones el identificador se compone por los identificadores de las entidades que participan de la relación. ALUMNO nombre direccion telefono dni Dos alumnos pueden tener el mismo nombre, teléfono y dirección, por lo tanto estos atributos no identifican de manera unívoca a cada instancias del conjunto, pero el DNI, es distinto para cada alumno, estamos seguros que no existirán dos alumnos con el mismo DNI. Tipos de relación • Relación Binaria: es una relación que asocia a dos entidades. UNIDAD ACADEMICA RIO GALLEGOS UNIVERSIDAD NACIONAL DE LA PATAGONIA AUSTRAL 47 ANALISIS Y DISEÑO DE SISTEMAS Lic. Sandra Casas • Relación n-aria: Es una relación que asocia a más de dos entidades. Generalización: En ocasiones conviene representar las entidades como una generalización, esto es conveniente cuando las entidades poseen un subconjunto de características iguales (atributos en común) y un subconjunto de atributos distintivos. Esta particularidad se resalta ubicando las entidades en distintos niveles en el diagrama. EMPLEADO legajo nombre domicilio is a sueldo categoria antiguedad EFECTIVO CONTRATADO duracion valor_hora Entidades dependientes o débiles: En ocasiones ocurre que existen entidades que solo importan si existen otras. Es decir por si solas no son importantes para el sistema. EMPLEADO HIJO Consideraciones: ♦ El D.E.R. es un modelo que describe con alto nivel de abstracción la distribución de los datos del sistema, su significado y sus relaciones. ♦ Es importante por que enfatiza el sentido de los datos independientemente de las funciones, procesos y el control que operan sobre ellos y que realiza el sistema. ♦ A los usuarios de mas alto nivel le importa mas la información que los procesos. ♦ Algunos sistemas son solo de consultas, por lo cual el D.F.D. no es muy importante o complejo, pero el D.E.R. es vital ♦ Cada entidad y relación del D.E.R. es un almacenamiento del D.F.D. Luego de construir el D.E.R. deberá chequearse el D.F.D. y el D.D. y balancearse. ♦ El D.E.R. se hace antes, durante o después de la construcción del D.F.D. ♦ En el modelo de comportamiento deben estar ambos D.F.D. y D.E.R., no son excluyentes, son complementarios ya que enfatizan aspectos distintos del comportamiento del sistema. UNIDAD ACADEMICA RIO GALLEGOS UNIVERSIDAD NACIONAL DE LA PATAGONIA AUSTRAL 48 ANALISIS Y DISEÑO DE SISTEMAS Lic. Sandra Casas BIBLIOGRAFIA I.T.H. (cap.7-8), R.C. (cap.15), E.Y.(cap.12) ACTIVIDADES 1. Escribir 3 ejemplos de entidades, indicar sus atributos e identificador. 2. Escribir 2 ejemplos de relaciones binarias. 3. Escribir un ejemplo de relación n-aria. 4. Escribir ejemplos para relaciones de cardinalidad 1-1, 1-n, n-1 y n-m. 5. ¿Una entidad con un solo atributo es una entidad? 6. ¿Qué ocurre si el valor de un atributo es igual para todo el conjunto de entidades? 7. Dar dos ejemplos de entidades débiles. 8. Dar dos ejemplos de generalización. D.T.E.: Diagrama Transición de Estados El D.T.E. es una herramienta que modela el comportamiento dependiente del tiempo del sistema (modela el control). Estado 2 Estado 1 Estado 2 Estado 3 Estado 2 Estado 4 Estado 3 Estado 5 Estado 6 Componentes • Estados • Cambios de estado • Estados del sistema: se representa con un rectángulo. Un estado es una situación en el que se encuentra el sistema y permanece un determinado tiempo, donde el tiempo no es infinito ni cero. Ejemplos: Esperar a que se levante la barrera. Pasar el cruce de tren. Retomar el camino. UNIDAD ACADEMICA RIO GALLEGOS UNIVERSIDAD NACIONAL DE LA PATAGONIA AUSTRAL 49 ANALISIS Y DISEÑO DE SISTEMAS Lic. Sandra Casas Cargar datos del cliente. Valiad datos del cliente. Grabar datos del cliente. En la mayoría de los casos el sistema esta esperando que algo ocurra. Cualquier estado observable en que el sistema se pueda encontrar, solo puede corresponder a periodos en que: 1. el sistema esta esperando que algo ocurra en el ambiento externo. 2. el sistema esta esperando que alguna actividad que se esta dando en ese momento en el ambiente cambie a otra (finalice para hacer otra). Un sistema en el que se observa un solo estado no es muy interesante, es estático. Los sistemas de información describen muchos estados. • Cambios de Estado: son aquellas reglas ordenadas, claras, precisas (significativas y válidas) que hacen que el sistema pase de un estado a otro, deben ser observables. Se representan con flechas entre los estados. Estado inicial: Generalmente se dibuja en la parte superior del diagrama aunque no es obligatorio, lo que realmente identifica al estado inicial es la flecha desnuda que no sale de ningún estado, solo llega al primer estado observable del sistema. Flecha desnuda Estado 1 Estado Inicial Cambio de Estado Estado 2 Estado Cambio de Estado Estado 3 Estado Final Estado Final: Generalmente se dibuja en la parte inferior del diagrama, pero no es obligatorio, lo que realmente identifica a un estado como final, es que de él no sale ninguna flecha (una vez que llega a ese estado no pasa a ninguno otro). Estado 1 Estado 2 D.T.E. incorrecto. No tiene estado final. Estado 3 UNIDAD ACADEMICA RIO GALLEGOS UNIVERSIDAD NACIONAL DE LA PATAGONIA AUSTRAL 50 ANALISIS Y DISEÑO DE SISTEMAS Lic. Sandra Casas Un sistema (D.T.E.) puede tener solo un estado inicial y puede tener uno o varios estados finales. Cuando tiene varios estados finales, estos son mutuamente excluyentes. Condiciones y Acciones: • Condición: causan cambios de estado (reglas) • Acción: lo toma el sistema cuando cambia de estado. Estado 1 condición acción Estado 2 Estado 1 Estado 2 Estado 3 Estado 4 Estado 5 Estado 6 • Estado 7 Condición: acontecimiento en el ambiente (externo o no) que el sistema es capaz de observar o detectar (señ al, interrupción, llegada de un paquete de datos). Como parte del cambio de estado normalmente el sistema hará una o más acciones (producir salidas, mensajes, cálculos) Las acciones son respuestas regresadas al ambiente (externo o no) Ejemplo. Contestador automático. UNIDAD ACADEMICA RIO GALLEGOS UNIVERSIDAD NACIONAL DE LA PATAGONIA AUSTRAL 51 ANALISIS Y DISEÑO DE SISTEMAS Lic. Sandra Casas Al contestar un llamado, el contestador automático emite el siguiente mensaje: "Ud. se comunico con el 555555, en este momento no podemos contestarle, deje su mensaje despues de la señal, gracias", el cual dura 15 segundos. Luego emite la señal (pitido) que dura 3 segundos y luego todo lo que capta lo va grabando durante 3 segundos (mensaje del llamador) hasta que se corra la comunicación. Esperando llamado Se producen 3 ring Contestar Emitiendo mensaje Tiempo > 15 segundos Enviar señal Emitiendo Señal Tiempo > 3 segundos Grabar Tomando Mensaje Se corta la comunicación Detener grabación Finalizar Grabación D.T.E. particionados: cuando el sistema es mediano a grande y describe características complejas resulta complicado colocar todos los estados en un mismo D.T.E., en estos casos se hacen D.T.E.s por separados. Construcción del D.T.E. 1. Identificar todos los estados observables posibles del sistema y luego las conexiones entre ellos (cambios de estado) 2. Hallar el estado inicial, y seguir metódicamente el camino hasta los estados sucesivos. El D.T.E. se hace tantas veces como sea necesario, seguramente el primero estará incompleto y con errores, se refina para verificar su consistencia y validez, y para ello hacemos las siguientes preguntas: 1. ¿Se definieron todos los estados? 2. ¿Se puede alcanzar todos los estados? 3. ¿Se puede salir de todos los estados? 4. ¿En cada estado, el sistema responde adecuadamente a todos loas condiciones posibles? (condiciones normales e inesperadas) UNIDAD ACADEMICA RIO GALLEGOS UNIVERSIDAD NACIONAL DE LA PATAGONIA AUSTRAL 52 ANALISIS Y DISEÑO DE SISTEMAS Lic. Sandra Casas Relación D.T.E. - D.F.D.: En la mayoría de los casos el D.T.E. representa una especificación de proceso de una burbuja de control del D.F.D. X 1 2 Estado 1 4 Y 3 X = "condición" activar burbuja 3 X = "condición" activar burbuja 4 Estado 2 Y = "condición" Activar burbuja 4 Estado 3 Ejemplo: Cuando se recibe el PE (permiso de examen) de un alumno para rendir el examen final de alguna materia, primero se determina si es alumno regular o libre y luego se tiene las correlativas aprobadas. PLAN PE 1 Determinar tipo PE ALUMNOS 2 Chequer correlativas libre OK 3 Actualizar Acta de examen NO-OK regular OK 4 Verificar cursada ACTAS 5 Rechazar PE NO-OK RECHAZOS CURSADAS UNIDAD ACADEMICA RIO GALLEGOS UNIVERSIDAD NACIONAL DE LA PATAGONIA AUSTRAL 53 ANALISIS Y DISEÑO DE SISTEMAS Lic. Sandra Casas Esperando PE PE=libre chequear correlativas correlativas aprobadas actualizar acta Chequeando correlativas Actualizando correlativas acta de examen no aprobadas rechazar PE PE=regular verificar cursada Verificando Cursada cursada regularizada chequear correlativas cursada no regularizada rechazar PE Rechazando PE El D.T.E. es una herramienta más adecuada que el D.F.D. para representar el comportamiento de un sistema de tiempo real. De todas formas, ambos deben estar presentes en el modelo de comportamiento. BIBLIOGRAFIA E.Y.(cap.13) ACTIVIDADES Resolver los ejercicios de E.Y. cap. 13 (pag.300) BALANCEO Cada herramienta enfoca un aspecto del comportamiento del sistema de análisis: ♦ D.F.D. → modela las funciones del sistema. ♦ D.E.R. → modela los datos del sistema. ♦ D.T.E. → modela el control del sistema. Cuando se modelan tres aspectos diferentes de un sistema de información (funciones, datos y control) es probable obtener diversas interpretaciones o inconsistentes de una misma realidad. Razones: • El proyecto es muy grande y/o complejo. • El análisis es desarrollado por varias personas. • Las personas que trabajan en el proyecto tienen distinta preparación. Estos son algunos fundamentos para balancear, es decir verificar, chequear y conciliar los modelos y herramientas, pero existe otro fundamento que es aun más importante: Cualquier error de análisis que se cometa, tarde o temprano aparecerá, pero será más difícil y caro (tiempo y dinero) de solucionar, cuanto más avanzado este el proyecto. UNIDAD ACADEMICA RIO GALLEGOS UNIVERSIDAD NACIONAL DE LA PATAGONIA AUSTRAL 54 ANALISIS Y DISEÑO DE SISTEMAS Lic. Sandra Casas Es necesario, antes de comenzar con el "diseño", balancear, para hallar y corregir los errores, y así evitar que se propaguen. Tipos de errores: 1. Errores simples: alguna regla de sintáxis no se ha cump lido al construir algún diagrama. Por ejemplo: Un almacenamiento que solo se consulta y nunca se actualiza. Una burbuja de control actualiza algún almacenamiento. Se pasa de un estado a otro en un D.T.E., sin un cambio de estado. Se escribe una postcondición sin la precondición. Este tipo de errores es muy sencillo de verificar y corregir. 2. Errores de balanceo: algo que se define en un modelo (diagrama o herramienta) esta ausente en otro. Por ejemplo: Un almacenamiento del D.F.D. no le corresponde ninguna entidad del D.E.R. Un flujo de D.F.D. no esta en D.D. Un estado del D.T.E. no es una burbuja de control en el D.F.D.. Este tipo de errores es un poco más difícil de detectar, pero su corrección no es muy complicada. 3. Errores de Inconsistencia: la misma realidad se describe de maneras diferentes y contradictorias en dos modelos. La identificación de este tipo de errores solo es posible si se efectúa una tarea conjunta en la cual todo el equipo analizará y chequeará los modelos obtenidos y la corrección surgirá de la puesta en común y requerirá la participación del usuario. 4. Interpretaciones erróneas: el usuario dijo una cosa y el analista representa otra. Este tipo de errores se debe corregir con la ayuda del usuario. Los errores simples y de balanceo se detectan y corrigen revisando la documentación, pero los errores de inconsistencia como las interpretaciones erróneas, se detectan y corrigen corroborando los resultados obtenidos con los usuarios. Estos dos últimos tipos errores son los más peligros en un proyecto, deben ser descubiertos y corregidos antes de comenzar con el DISEÑO. Reglas de Balanceo (errores de balanceo) 1.Cada componente del D.F.D. (excepto las entidades externas) debe estar definido en el D.S., una vez y con el mismo nombre. 2.Cada definición del D.S. debe corresponder a un componente del D.F.D. 3.Cada almacenamiento del D.F.D. es una entidad o relación del D.E.R. y viceversa 4.Cada atributo de las entidades y relaciones del D.E.R. debe ser un elemento de dato del D.D. 5.Cada burbuja de control del D.F.D. le corresponde al menos un D.T.E. y viceversa 6.Cada evento de la L.E. origina al menos un flujo del D.C. y viceversa. 7.Cada D.T.E. es una definición de burbuja de control del D.P. y viceversa. 8.El D.C. corresponde con los limites del D.F.D. nivel 1 (entidades externas e interfaces) en cantidad y nombres. 9.La explosión de una burbuja hereda los limites de su madre. 10. Cada condición del D.T.E. es un flujo de entrada del D.F.D. y debe estar en el D.S. 11. Cada acción del D.T.E. es un flujo de salida de una burbuja de control del D.F.D. y debe estar definido en D.D.. UNIDAD ACADEMICA RIO GALLEGOS UNIVERSIDAD NACIONAL DE LA PATAGONIA AUSTRAL 55 ANALISIS Y DISEÑO DE SISTEMAS Lic. Sandra Casas BIBLIOGRAFIA: E.Y. (cap.14) ACTIVIDADES 1. Realice el modelo ambiental y D.F.D.s (2 niveles) que describa el análisis de sistemas. 2. El balanceo es el mecanismo de control del análisis, represente las reglas de balanceo mediante D.T.E. 3. El siguiente D.E.R. representa las relaciones de balanceo entre las herramientas de análisis. a. Analícelo y verifique si es correcto y completo. En caso de no ser así, mencione los errores y realice las correcciones necesarias para que cumpla ambas condiciones. b. Las relaciones pueden leerse de la siguiente manera: D.C. R1 D.F.D. D.F.D. R2 D.S. D.E.R. R5 D.D. D.E.R. R3 D.F.D. D.T.E. R4 D.F.D. D.T.E. R5 D.P. Coloque un nombre adecuado a las relaciones y complete el cuadro indicando la cardinalidad de las mismas. c. Completar el D.E.R. agregando los atributos de las entidades. D.C. R1 R4 D.T.E. D.F.D. R2 D.S. R3 D.E.R. D.D. D.P R5 UNIDAD ACADEMICA RIO GALLEGOS UNIVERSIDAD NACIONAL DE LA PATAGONIA AUSTRAL 56