UNIVERSIDAD NACIONAL DE JUJUY-FACULTAD DE INGENIERÍA ANÁLISIS Y DISEÑO DE SISTEMAS UNIDAD II: MODELOS PROFESORA: Ing. Consuelo Gómez AÑO: 2012 INTEGRANTES: Alejo, Antonella Verónica Apaza, Abraham Ezequiel Arce, Gisela Alejandra Cajal, Anahi Yezabel López, Gilda Silisque, Adriana Paola Tejerina, Nadia Alejandra Contenidos a desarrollar Introducción ¿Qué son los modelos? Modelo funcional La realidad y la abstracción. Tipos de modelos: Dependiente de las características del sistema: Según su función Según su estructura. Según su incertidumbre Variación de la abstracción en los modelos. Tipos de modelado: El proceso de modelización. Introducción El uso de modelos, a veces llamado "modelación", es un instrumento muy común en el estudio de sistemas de toda índole; los modelos son especialmente importantes porque ellos nos ayudan a comprender el funcionamiento de los sistemas. El empleo de modelos facilita el estudio de los sistemas, aún cuando éstos puedan contener muchos componentes y mostrar numerosas interacciones como puede ocurrir si se trata de conjuntos bastante complejos y de gran tamaño. El trabajo de modelación constituye una actividad técnica como cualquiera otra, y dicha labor puede ser sencilla o compleja según el tipo de problema específico que deba analizarse. ¿Qué son los Modelos? Un modelo es un bosquejo que representa un conjunto real con cierto grado de precisión y en la forma más completa posible, pero sin pretender aportar una réplica de lo que existe en la realidad. Los modelos son muy útiles para describir, explicar o comprender mejor la realidad, cuando es imposible trabajar directamente en la realidad en sí. Por ejemplo, si quisiera explicar lo que es un hipopótamo, se le podría presentar en un dibujo, mejor aún sería una fotografía y todavía mejor, un modelo en tres dimensiones en una escala determinada. Para ciertos fines esto sería mucho más fácil que trasladarse al África para ver un hipopótamo en su ambiente natural. Resumiendo un modelo es una representación abstracta de un sistema que permite analizar y describir al mismo. Modelo funcional Un modelo funcional es un instrumento que sirve a su propósito en forma adecuada y que deja satisfecho al utilizador. Un buen modelo funcional toma en cuenta todos los factores esenciales e ignora por completo los detalles superfinos. Por eso, es de suma importancia disponer de un propósito muy claro y preciso antes de comenzar a elaborar el modelo. Los requisitos primordiales para construir cualquier modelo son: - Un propósito claramente definido. - Identificar las consideraciones esenciales (incluir en el modelo). - Desechar consideraciones superfluas (estas son fuente de confusión). - El modelo debe representar la realidad en forma simplificada. La Realidad y la Abstracción. Realidad: Es todo lo que existe. De un modo más preciso, el término incluye todo lo que es, sea o no perceptible, accesible o entendible por la ciencia y la filosofía o cualquier otro sistema de análisis. Se podría decir que existen 2 tipos de realidades la tangible, concreta (por ejemplo un auto) y la intangible (por ejemplo el pensamiento). Abstracción: Es una descripción simplificada o especificación de un sistema que enfatiza algunos de los detalles o propiedades del sistema, mientras suprime otros. Dicho de otra manera, la abstracción consiste en aislar un elemento de su contexto o del resto de los elementos que lo acompañan. En programación, el término se refiere al énfasis en el "¿qué hace?" más que en el "¿cómo lo hace?" (Característica de caja negra). A grandes rasgos la abstracción permite que dispongamos, de las características de un objeto, que necesitemos. Por ejemplo si necesitamos el sistema Persona, podríamos poner nombre, edad, dirección, estado civil, etc., eso sí lo necesitamos en un sistema administrativo, pero, si lo requerimos para el área de biología, dentro de sus atributos quizá tengamos, ADN, RND, Gen x1, Gen x2, etc. Y los atributos antes mencionados no sean requeridos. En general, podemos decir que Persona cuenta con todos los atributos mencionados aquí, pero, por el proceso de abstracción excluimos todos aquellos, que no tiene cabida en nuestro sistema. Tipos de modelos: Dependiente de las características del sistema: Modelo mental: Son intuitivos y su carácter es difícil de formalizar. Como ejemplo se puede presentar a los cazadores primitivos, cuya supervivencia estaba determinada por su habilidad en evitar a predadores letales. El cazador aprendió a distinguir entre los animales mortales y los que no lo eran, cazar y defenderse de los primeros. Cuando se enfrentaba a una nueva especie no vista antes, utilizaba su experiencia para clasificar y predecir su conducta. Se puede decir que el modelo utilizado por un cazador para describir la conducta de los animales (su interpretación del sistema real, desarrollado a través de la educación, práctica y experiencia) se crea a partir de los experimentos realizados. Modelo verbal: Es cualitativo por naturaleza, las palabras se usan para describir las reacciones del sistema frente a un estímulo. La regla “Si un individuo es alto, entonces puede ser buen jugador de baloncesto” es parte de un modelo. El conjunto de reglas borrosas (como uno de los varios tipos de sistemas basados en el conocimiento que existen) es un ejemplo de modelo verbal. Modelo físico: Generalmente son modelos a pequeña escala de barcos, plantas de destilación, etc. que se desarrollan para investigar el comportamiento del sistema real. En general es costoso de construir y resulta difícil modelar todos los fenómenos involucrados. Modelo matemático: Es aquel donde la relación entre las diferentes variables en un sistema se formaliza a través de relaciones matemáticas (normalmente ecuaciones). Los modelos matemáticos son generalmente muy informativos, pero en una forma más limitada que los modelos mentales o verbales, puesto que son sólo interpretables desde un punto de vista matemático. Los modelos borrosos, por ejemplo, son usualmente descritos por reglas borrosas; estos poseen un significado más preciso una vez que han sido trasladados al contexto matemático. Estos modelos y sus subclasificaciones (detalladas abajo) son usados comúnmente para delimitar otros tipos de clasificaciones. Según su Función: Modelo del Sistema Modelos Predictivos Modelos Evaluativos Modelos de Optimización Modelos Predictivos: Este tipo de modelos nos informan del comportamiento de la variable en un futuro, es decir, lo que debería ser. A este tipo de modelos corresponden aquellos basados en técnicas estadísticas y/o econométricas, es decir, modelos de previsión. Modelos Evaluativos: Una técnica evaluativa corresponde a medir las diferentes alternativas, y así poder comparar los resultados de ellas. Este tipo de modelos se corresponden con los denominados árboles de decisión. Modelos de Optimización: Se trata de modelos que tratan de identificar un óptimo (por lo general, el óptimo global) del problema, es decir, buscan la mejor de las alternativas posibles. Estos métodos son los que están basados en las técnicas de programación matemática. Según su Estructura: Modelo del Ambiente Modelo Esencial Modelo del Sistema Modelo de Comportamiento Modelo del Usuario Modelo de Implementación Modelo de Distribución Modelo de Programa Modelo de Procesadores Modelo de Tareas Modelo Esencial: es un grupo de diagramas que modelan un sistema. Modela lo que el sistema debe hacer para satisfacer los requerimientos del usuario, sin especificar cómo se implementará, es decir, no especifica cómo se llevan a cabo las funciones, ni dónde ni qué o quién las hace. El modelo esencial forma parte del análisis estructurado para el análisis de sistemas. Componentes del Modelo esencial: Modelo ambiental: define la frontera entre el sistema y el mundo exterior, generalmente empleando un diagrama de flujo de datos de contexto (además de otros componentes). En otras palabras, dice qué forma parte del sistema y qué cosas no. Modelo de comportamiento: define las funciones del sistema para que interactúe exitosamente con el ambiente. Se desarrolla en el proceso de análisis (análisis estructurado) de un sistema. El modelo de comportamiento es el conjunto de modelos (esquemas, diagramas) de un sistema. Ese conjunto de modelos puede incluir DFD, DER, DTE, DD, EP, etc.1 Modelo de Implementación: A partir de esta etapa, el modelo esencial es instanciado en una tecnología dada. Se debe considerar ahora, las imperfecciones de la tecnología y determinar, la cantidad de procesadores necesarios, las cualidades de estos procesadores, el tamaño de disco necesario de acuerdo al volumen de la información a ser almacenada, etc. Luego se diseña la solución sobre la base de esas restricciones tecnológicas. La creación del modelo de implementación se fundamenta en la creación de tres modelos, uno de ellos en forma independiente (el modelo de implementación 1 Ver Glosario adjunto al final del documento. usuario o de la interfaz hombre-máquina) y los otros dos en forma encadenada en un proceso incremental de refinamiento e incorporación de detalles: Modelo de Implementación del Usuario: Es el punto de inflexión entre la etapa de análisis y la etapa de diseño. El modelo de implementación del usuario especifica un conjunto de restricciones que el usuario deseará imponer al grupo de desarrollo y condicionarán al diseñador. La creación de este modelo es independiente del resto de los modelos que conforman el de implementación, y puede ser desarrollado en paralelo. Las interfaces deben ser diseñadas para cada uno de los procesadores (del modelo de procesadores) y para cada una de las tareas (del modelo de tareas). Modelo de Distribución: Describe todas las decisiones relativas a la arquitectura de hardware (modelo de procesadores) y a la estructuración general de la arquitectura de software (modelo de tareas). Se incorporan, en los modelos creados hasta este punto algunas Distorsiones (requerimientos no esenciales) destinadas a optimizar el uso de esa tecnología. El criterio fundamental es: Minimizar todo lo posible las distorsiones agregadas. Modelo de Procesadores: Asigna el modelo esencial a distintos procesadores y determina la arquitectura de comunicación entre ellos. Implica la asignación de procesos y almacenes a los procesadores. Modelo de Tareas: Los modelos resultantes de la creación del modelo de procesadores son estudiados por separado (un procesador por vez), para determinar tareas diferentes (que serán programas diferentes de manera tal que se pueden ejecutar concurrentemente o no). El Modelo de Programas: Para cada tarea debe desarrollarse un modelo de programa. De esto se encarga principalmente el Diseño Estructurado. La estructura del programa que implementa cada una de las tareas resultantes de las etapas de modelado de procesadores y tareas, es diseñada mediante la aplicación de las técnicas y estrategias descriptas por el Diseño Estructurado (por ejemplo: Análisis de Transformaciones y Transacciones) y mejorada con la aplicación de criterios de calidad (por ejemplo: Cohesión, Acoplamiento, etc.). Según su incertidumbre: Para hablar de incertidumbre nos apoyamos en la teoria de decisiones de la cual se desprenden cuatro categorías generales dependiendo de la habilidad para predecir las consecuencias de cada alternativa: Toma de decisiones bajo certidumbre: Se tiene conocimiento total sobre el problema, las alternativas de solución que se planteen van a causar siempre resultados conocidos e invariables. Otra manera de pensar en esto es que existe una relación directa de causa y efecto entre cada acto y su consecuencia. Si esta lloviendo, ¿deberá llevarse un paraguas? Ya sea que se lleve o no el paraguas, las consecuencias son predecibles. Utiliza al: Modelo Determinístico: es un modelo matemático donde las mismas entradas producirán invariablemente las mismas salidas, no contemplándose la existencia del azar ni el principio de incertidumbre. Generalmente se derivan de sistemas estáticos. Está estrechamente relacionado con la creación de entornos simulados a través de simuladores para el estudio de situaciones hipotéticas, o para crear sistemas de gestión que permitan disminuir la incertidumbre. Toma de decisiones bajo riesgo: La información con la que se cuenta para solucionar el problema es incompleta, es decir, se conoce el problema, se conocen las posibles soluciones, pero no se conoce con certeza los resultados que pueden arrojar. Toma de decisiones bajo incertidumbre: Se posee información deficiente para tomar la decisión, no se tienen ningún control sobre la situación, no se conoce como puede variar o la interacción de la variables del problema, se pueden plantear diferentes alternativas de solución pero no se le puede asignar probabilidad a los resultados que arrojen. Toma de decisiones bajo conflicto: Aquí se tienen aquellos casos de toma de decisiones bajo incertidumbre en los que hay un oponente. Las probabilidades de los eventos no solo se desconocen; están influenciadas por un oponente cuya meta es vencer. Esta es la situación típica en cualquier competencia: béisbol, fútbol, póquer, blackjack, los negocios y la guerra. Estas categorías trabajan con: Modelo Probabilístico: están ampliamente basados en aplicaciones estadísticas para la evaluación de eventos incontrolables (o factores), así como también la evaluación del riesgo de sus decisiones. Usualmente provienen de sistemas dinámicos o estocásticos2. Los modelos probabilísticos son vistos de manera similar que a un juego; las acciones están basadas en los resultados esperados. El centro de interés se mueve desde un modelo determinístico a uno probabilístico usando técnicas estadísticas subjetivas para estimación, prueba y predicción. En los modelos probabilísticos, el riesgo significa incertidumbre para la cual la distribución de probabilidad es conocida. Por lo tanto, la evaluación de riesgo significa un estudio para determinar los resultados de las decisiones junto a sus probabilidades. Variación de la abstracción de los modelos Un tipo taxonomía bastante usual para los modelos es concreto y abstracto. Los modelos concretos tienen, en general, algunas características físicas en común con la realidad que se esta modelando. Son en si mismo sistemas reales físicos. El modelo de aeroplano usado para las pruebas del túnel de viento, la maqueta de un edificio y los modelos e automóviles a escala natural son modelos concretos. Las replicas son modelos concretos tan cercanos a la realidad que puede ser difícil diferenciarlos. Los modelos abstractos son el extremo opuesto de los modelos concretos. No tienen características físicas comunes con el original. Tipos de modelado: Modelado por caja blanca: Los modelos de caja blanca reflejan todas las propiedades del sistema real. Para su construcción se utiliza el conocimiento previo y los principios físicos involucrados. Todas las variables y constantes pueden interpretarse como términos físicos que son conocidos a priori. Por razones obvias, a este tipo de modelo se le conoce también como modelo físico. Modelado por caja negra: Los modelos por caja negra se diseñan enteramente a partir de datos, sin tener en cuenta la interpretación de los parámetros que lo definen. La base del modelo se selecciona a partir de núcleos estimadores cuya estructura se conoce que es muy flexible y que ha dado resultados en aplicaciones pasadas; los parámetros de estos modelos por lo general no tienen significado físico y se ajustan para reproducir los datos observados tan bien como sea posible. El origen físico e interpretación de las variables medidas no es importante, y de hecho tal información puede perderse; por ejemplo, a través de la manipulación de los datos observados. Cuando se trata de obtener un modelo por caja negra, pero ajustando algún parámetro al que se le puede dar una interpretación física; entonces al método de identificación de sistema utilizado se le llama modelado físicamente parametrizado. El modelo físicamente parametrizado es normalmente más realista que el modelado por caja negra cuando se dispone de algún conocimiento sobre las leyes que rigen el comportamiento del parámetro que se adapta. Esta terminología implica que los métodos de identificación pueden clasificarse en un rango entre el modelo de caja negra y el modelo por caja blanca, a esta “zona media” se le denomina modelado por caja gris (o modelo físicamente parametrizado). Desde el punto de vista de una aplicación, el modelado por caja gris es el más importante, pues permite el cumplimiento de dos aspectos fundamentales a tener en consideración cuando se realiza un modelo: El esfuerzo de modelado debe reflejar el uso que se le pretende dar al modelo No debe estimarse lo que ya se conoce El proceso de modelización. El proceso de modelado consiste en el conjunto de operaciones mediante el cual, tras el oportuno estudio y análisis, se construye el modelo del aspecto de la realidad que nos resulta problemático. Este proceso, consiste, en esencia, en analizar toda la información de la que se dispone con relación al proceso, depurarla hasta reducirla a sus aspectos esenciales, y reelaborarla de modo que pueda ser transcrita al lenguaje sistémico que estamos viendo. En el proceso de modelado se pueden distinguir las fases siguientes: Definición del problema: En esta primera fase se trata de definir claramente el problema y de establecer si es adecuado para ser descrito con los útiles sistémicos que hemos desarrollado. Para ello el problema debe ser susceptible de ser analizado en elementos componentes, los cuales llevan asociadas magnitudes cuya variación a lo largo del tiempo queremos estudiar. Conceptualización del sistema: Una vez asumida, en la fase anterior, la adecuación del lenguaje sistémico elemental para estudiar el problema, en esta segunda fase se trata de acometer dicho estudio, definiendo los distintos elementos que integran la descripción, así como las influencias que se producen entre ellos. El resultado de esta fase es el establecimiento del diagrama de influencias del sistema. Formalización: En esta fase se pretende convertir el diagrama de influencias, alcanzado en la anterior, en el de Forrester. A partir de este diagrama se pueden escribir las ecuaciones del modelo (algunos entornos informáticos permiten hacerlo directamente). Al final de la fase se dispone de un modelo del sistema programado en un computador. Comportamiento del modelo: Esta cuarta fase consiste en la simulación informática del modelo para determinar las trayectorias que genera. Evaluación del modelo: En esta fase se somete el modelo a una serie de ensayos y análisis para evaluar su validez y calidad. Estos análisis son muy variados y comprenden desde la comprobación de la consistencia lógica de las hipótesis que incorpora hasta el estudio del ajuste entre las trayectorias generadas por el modelo y las registradas en la realidad. Así mismo, se incluyen análisis de sensibilidad que permiten determinar la sensibilidad del modelo, y por tanto, de las conclusiones que se extraigan de él, con relación a los valores numéricos de los parámetros que incorpora o las hipótesis estructurales. Explotación del modelo: En esta última fase el modelo se emplea para analizar políticas alternativas que pueden aplicarse al sistema que se está estudiando. Estas políticas alternativas se definen normalmente mediante escenarios que representan las situaciones a las que debe enfrentarse el usuario del modelo. Glosario: DFD Diagrama de Flujo de Datos: Los diagramas de flujo de datos son un tipo de herramienta de modelado, permiten modelar todo tipo de sistemas, concentrándose en las funciones que realiza, y los datos de entrada y salida de esas funciones. DER Diagrama de Entidad-Relación: Un DER es una herramienta de modelado de sistemas, que se concentra en los datos almacenados en el sistema y las relaciones entre éstos. Un diagrama de entidad-relación o DER es un modelo de red que describe la distribución de los datos almacenados en un sistema de forma abstracta. Algunas bibliografías diferencian entre el diagrama entidad-relación y el modelo entidad-relación, donde el modelo entidad-relación vendría a ser el "lenguaje" utilizado para crear diagramas de entidad-relación. Más información en modelo de entidad-relación. Componentes de un DER: TIPOS DE OBJETOS o ENTIDADES. RELACIONES: conectan los objetos o entidades. DTE Diagrama de Transición de Estado: Los DTE son herramientas de modelado de sistemas en tiempo real. Los componentes de un DTE son: ESTADOS: comportamiento del sistema que es observable en el tiempo. Los sistemas tienen un estado inicial, pero pueden tener múltiples estados finales (mutuamente excluyentes). Cambios de estados: condiciones y acciones. Un diagrama de transición de estados puede utilizarse como una especificación de proceso de un proceso de control de un DFD. DD Diccionario de Datos: El diccionario de datos es un listado organizado de todos los datos que pertenecen a un sistema. El objetivo de un diccionario de datos es dar precisión sobre los datos que se manejan en un sistema, evitando así malas interpretaciones o ambigüedades. Define con precisión los datos de entrada, salida, componentes de almacenes, flujos, detalles de las relaciones entre almacenes, etc. Los diccionarios de datos son buenos complementos a los diagramas de flujo de datos, los diagramas de entidad-relación, etc. EP Especificación de Procesos: La especificación de procesos, es una herramienta de modelado de sistemas, que permite definir qué sucede en los procesos o funciones de un sistema. El objetivo es definir qué debe hacerse para transformar ciertas entradas en ciertas salidas. No hay una única forma de realizar la especificación de procesos; existen múltiples herramientas que facilitan esta tarea. Proceso Batch (batch processing): Llevar a cabo una operación particular de forma automática en un grupo de archivos todos de una vez, en lugar de "manualmente" abrir, editar y guardar cada archivo por vez. Por ejemplo, un programa que convierta un grupo de imágenes de un formato a otra todas de una vez sería una utilidad de procesamiento batch. Estocástico: Se denomina estocástico a aquel sistema que funciona, sobre todo, por el azar. La palabra proveniente del griego: στοχαστικός, 'hábil en conjeturar'. Significa "perteneciente o relativo al azar" según el DRAE. Las leyes conocidas de causaefecto no explican cómo actúa el sistema (y de modo reducido, el fenómeno) de manera determinista, sino en función de probabilidades. En Investigación de operaciones, modelo probabilístico y modelo estocástico son prácticamente lo mismo. El estocástico es un algoritmo que basa su resultado en probabilidades que cambian en el tiempo, diferenciándose del algoritmo probabilístico por su comportamiento dinámico. En matemáticas, la estocástica es un conjunto de teorías estadísticas que tratan de los procesos cuya evolución es aleatoria (un ejemplo de ellos son las tiradas de dados).