Ingeniería en Sistemas de Información Diseño de Sistemas (3K1)
Contenidos de la Unidad 2 Diseño Arquitectónico <ul><li>Organización del Sistema </li></ul><ul><li>a. Arquitectura centrad...
Modelos de Dominio Específicos (Ian Sommerville, Cap. XIII) <ul><li>Se pueden ver las arquitecturas de los sistemas desde ...
<ul><li>Todos los negocios tienen mucho en común: necesitan contratar personal, emitir facturas, mantener la contabilidad,...
<ul><li>Presentaremos modelos estructurales genéricos de varios tipos de aplicaciones.  </li></ul><ul><li>Estudiaremos su ...
<ul><li>2.  Como comprobación de un diseño .  Si ha desarrollado un diseño arquitectónico de un sistema, puede comprobarlo...
<ul><li>4.  Para evaluar componentes a fin de su reutilización .  Para ayudar a determinar si un componente que se está co...
<ul><li>Hay muchos tipos de sistemas de aplicaciones que, aparentemente, pueden parecer muy distintos. </li></ul><ul><li>S...
<ul><li>Los sistemas de procesamiento por lotes se usan en aplicaciones de negocio que realizan operaciones similares sobr...
<ul><li>Se organizan para que las acciones del usuario no interfieran entre sí y se mantenga la integridad de la base de d...
<ul><li>Estos eventos podrían ser la entrada de una orden por un usuario del sistema o un cambio en las variables monitore...
<ul><li>Los sistemas de procesamiento de lenguajes más conocidos son los compiladores, que traducen programas de lenguajes...
<ul><li>Los sistemas de tiempo real son también sistemas de procesamiento de eventos.  </li></ul><ul><li>El desarrollo del...
<ul><li>Las aplicaciones complejas raramente siguen un único modelo arquitectónico.  </li></ul><ul><li>En su lugar, su arq...
<ul><li>Los negocios necesitan relacionarse con sistemas de procesamiento de datos para : pago de salarios, cálculo e impr...
<ul><li>Estos sistemas seleccionan datos para el registro de entradas y, dependiendo del valor de estos campos, realizan a...
<ul><li>Un modelo de entrada-proceso-saIida de un sistema de procesamiento de datos. </li></ul>Sistemas de procesamiento d...
<ul><li>Un componente de entrada reúne entradas desde una o más fuentes.  </li></ul><ul><li>Un componente de procesamiento...
<ul><li>Los componentes de entrada, procesamiento y salida pueden, a su vez, descomponerse en una estructura de entrada-pr...
<ul><li>3.  Un componente de salida puede leer registros de una cola (entrada), formatear éstos, de acuerdo con el formato...
<ul><li>Las funciones son componentes que no mantienen información del estado interno de una invocación a otra.  </li></ul...
<ul><li>La ventaja de los diagramas de flujo de datos es que muestran el procesamiento de los datos desde su entrada hasta...
<ul><li>Se diseñan para  procesar peticiones de usuario, a fin de obtener información de una base de datos, o peticiones p...
<ul><li>Ejemplo: Extracción de fondos de un Cajero Automático.  </li></ul><ul><li>Esto implica obtener detalles de la cuen...
<ul><li>Puede que la transacción del usuario no requiera que la base de datos sea modificada (consultas). </li></ul><ul><l...
<ul><li>Una transacción se crea y se envía a un gestor de transacciones, el cual normalmente está embebido en el sistema d...
<ul><li>La estructura de las aplicaciones de procesamiento de transacciones </li></ul>Sistemas de procesamiento de transac...
<ul><li>La estructura entrada-proceso-salida que podemos observar en las aplicaciones de procesamiento de datos también se...
<ul><li>Esta aproximación se ha reemplazado en la mayoría de los casos por sistemas interactivos basados en transacciones ...
<ul><li>La Figura siguiente muestra la arquitectura de este sistema.  </li></ul><ul><li>Se ha añadido algún detalle al dia...
<ul><li>La arquitectura software de un Cajero Automático. </li></ul>Sistemas de procesamiento de transacciones
<ul><li>Los sistemas de procesamiento de eventos responden a eventos en el entorno del sistema o interfaz del usuario.  </...
<ul><li>El sistema detecta e interpreta los eventos.  </li></ul><ul><li>Los eventos de interfaz de usuario representan com...
<ul><li>Sin embargo, para sistemas de tiempo real, los eventos no son normalmente eventos de interfaz de usuario, sino eve...
<ul><li>Describiremos la arquitectura de los sistemas de edición.  </li></ul><ul><li>Los sistemas de edición son programas...
<ul><li>Los sistemas de edición tienen estas características que influyen en su diseño arquitectónico: </li></ul><ul><li>1...
<ul><li>Debido a que los datos están en la memoria volátil, pueden perderse si hay una falla en el sistema; por lo tanto, ...
<ul><li>Básicamente, los eventos de la pantalla son procesados e interpretados como comandos.  </li></ul><ul><li>Esto actu...
<ul><li>Los sistemas de procesamiento de lenguajes aceptan lenguaje natural o artificial como entrada y generan alguna otr...
<ul><li>Arquitectura abstracta de un sistema de procesamiento de lenguajes: </li></ul>Sistemas de Procesamiento de Lenguajes
<ul><li>Las instrucciones describen lo que tiene que realizarse y tienen que traducirse por un traductor a algún formato i...
Upcoming SlideShare
Loading in …5
×

Modelos de dominio específicos

12,500 views

Published on

Modelos de Dominio Específico. Sistemas de Procesamiento de Datos. Transacciones. Eventos y Lenguajes. U.T.N. - F.R.T. - Diseño de Sistemas - 3K1 - 2011

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
12,500
On SlideShare
0
From Embeds
0
Number of Embeds
5,805
Actions
Shares
0
Downloads
192
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Modelos de dominio específicos

  1. 1. Ingeniería en Sistemas de Información Diseño de Sistemas (3K1)
  2. 2. Contenidos de la Unidad 2 Diseño Arquitectónico <ul><li>Organización del Sistema </li></ul><ul><li>a. Arquitectura centrada en datos </li></ul><ul><li>b. Arquitectura en capas </li></ul><ul><li>c. Arquitectura de sistemas distribuidos </li></ul><ul><li>c.1. Multiprocesador </li></ul><ul><li>c.2. Cliente/Servidor </li></ul><ul><li>c.3. Objetos distribuidos </li></ul><ul><li>c.4. Peer-to-peer </li></ul><ul><li>c.5. Orientada a servidos </li></ul><ul><li>d. Arquitecturas de Aplicaciones </li></ul><ul><li>Modelos de dominio específico </li></ul><ul><li>  </li></ul>Sommerville. Cap. 11     Sommerville. Cap. 12             Sommerville. Cap. 13 <ul><li>B. Descomposición modular y estilos de control </li></ul><ul><ul><li>Orientada a Objetos </li></ul></ul><ul><ul><li>Orientada a flujos de funciones </li></ul></ul><ul><ul><li>Control centralizado </li></ul></ul><ul><ul><li>Control basado en eventos </li></ul></ul><ul><li>  </li></ul>Sommerville. Sección 11.3
  3. 3. Modelos de Dominio Específicos (Ian Sommerville, Cap. XIII) <ul><li>Se pueden ver las arquitecturas de los sistemas desde varias perspectivas. </li></ul><ul><li>Hasta ahora, los análisis de las Arquitecturas de Sistemas estudiadas se han centrado en perspectivas arquitectónicas y cuestiones tales como control, distribución y estructuración del sistema. </li></ul><ul><li>Ahora, contemplaremos las arquitecturas desde la perspectiva de una aplicación . </li></ul><ul><li>Los sistemas de aplicaciones intentan adecuarse a necesidades organizacionales o de negocio. </li></ul>
  4. 4. <ul><li>Todos los negocios tienen mucho en común: necesitan contratar personal, emitir facturas, mantener la contabilidad, etc., sobre todo en negocios del mismo rubro. </li></ul><ul><li>Ejemplo: además de las funciones de negocio generales, todas las compañías telefónicas necesitan sistemas para conectar las llamadas, gestionar su red, emitir facturas a los clientes, etc. </li></ul><ul><li>Por eso, las aplicaciones de los sistemas que utilizan estos negocios tienen también mucho en común. </li></ul><ul><li>Normalmente, los sistemas del mismo tipo tienen arquitecturas similares, y la diferencia entre ellos está en la funcionalidad detallada que proporcionan. </li></ul>Modelos de Dominio Específicos
  5. 5. <ul><li>Presentaremos modelos estructurales genéricos de varios tipos de aplicaciones. </li></ul><ul><li>Estudiaremos su organización básica y, donde sea apropiado, descompondremos la arquitectura de alto nivel para mostrar los subsistemas de esas aplicaciones. </li></ul><ul><li>El Diseñador puede usar arquitecturas de aplicaciones genéricas de varias formas: </li></ul><ul><li>1. Como un punto de partida para el Diseño Arquitectónico . Si no está familiarizado con este tipo de aplicación, puede basar sus diseños iniciales sobre arquitecturas genéricas. </li></ul><ul><li>Por supuesto, éstas tendrán que especializarse para sistemas concretos, pero son un buen punto de partida para su diseño. </li></ul>Modelos de Dominio Específicos
  6. 6. <ul><li>2. Como comprobación de un diseño . Si ha desarrollado un diseño arquitectónico de un sistema, puede comprobarlo contrastándolo con la arquitectura genérica, para ver si ha omitido algún componente de diseño importante. </li></ul><ul><li>3. Para organizar el trabajo del equipo de desarrollo . La arquitectura de la aplicación identifica características estructurales estables de los sistemas y, en muchos casos, se las puede desarrollar en paralelo. </li></ul><ul><li>Usted puede asignar trabajo a miembros del grupo para implementar diferentes subsistemas dentro de la arquitectura. </li></ul>Modelos de Dominio Específicos
  7. 7. <ul><li>4. Para evaluar componentes a fin de su reutilización . Para ayudar a determinar si un componente que se está construyendo puede o no ser reutilizado; se lo puede comparar con las estructuras genéricas. </li></ul><ul><li>5. Como un vocabulario para hablar sobre tipos de aplicaciones . Si está tratando una aplicación específica o intentando comparar aplicaciones del mismo tipo, entonces puede usar los conceptos identificados en la arquitectura genérica para hablar de las aplicaciones. </li></ul>Modelos de Dominio Específicos
  8. 8. <ul><li>Hay muchos tipos de sistemas de aplicaciones que, aparentemente, pueden parecer muy distintos. </li></ul><ul><li>Sin embargo, cuando se examina la organización arquitectónica de las aplicaciones, muchas, aparentemente distintas, tienen mucho en común. </li></ul><ul><li>Hay cuatro grandes tipos de aplicaciones: </li></ul><ul><li>1. Aplicaciones de procesamiento de datos . Son aplicaciones conducidas por los datos. </li></ul><ul><li>Procesan datos por lotes sin intervenciones explícitas del usuario durante el procesamiento. </li></ul><ul><li>Las acciones específicas tomadas por la aplicación dependen de los datos que se están procesando. </li></ul>Modelos de Dominio Específicos
  9. 9. <ul><li>Los sistemas de procesamiento por lotes se usan en aplicaciones de negocio que realizan operaciones similares sobre grandes cantidades de datos. </li></ul><ul><li>Dichas aplicaciones manejan un amplio rango de funciones administrativas: nóminas, facturación, contabilidad y publicidad. </li></ul><ul><li>2. Aplicaciones de procesamiento de transacciones. Son aplicaciones centradas en bases de datos, que procesan peticiones del usuario para obtener información y actualizar la información en una base de datos. </li></ul><ul><li>Son comunes en los sistemas de negocio interactivos. </li></ul>Modelos de Dominio Específicos
  10. 10. <ul><li>Se organizan para que las acciones del usuario no interfieran entre sí y se mantenga la integridad de la base de datos. </li></ul><ul><li>Ejemplos: sistemas bancarios interactivos, sistemas de comercio electrónico, de información y de reservas. </li></ul><ul><li>3. Sistemas de procesamiento de eventos . Es una clase muy amplia de aplicaciones, donde las acciones del sistema dependen de la interpretación de eventos en el entorno del sistema. </li></ul>Modelos de Dominio Específicos
  11. 11. <ul><li>Estos eventos podrían ser la entrada de una orden por un usuario del sistema o un cambio en las variables monitoreadas por el sistema. </li></ul><ul><li>Muchas aplicaciones basadas en PCs.: juegos, sistemas de edición (procesadores de texto, hojas de cálculo, editores de imágenes y sistemas de presentación) son sistemas de procesamiento de eventos . </li></ul><ul><li>4. Sistemas de procesamiento de lenguajes . Son sistemas donde las intenciones del usuario se expresan en un lenguaje formal (Java). </li></ul><ul><li>Los sistemas de procesamiento de lenguajes procesan este lenguaje en algún formato interno e interpretan su representación interna. </li></ul>Modelos de Dominio Específicos
  12. 12. <ul><li>Los sistemas de procesamiento de lenguajes más conocidos son los compiladores, que traducen programas de lenguajes de alto nivel a código máquina. </li></ul><ul><li>Se han elegido estos tipos de sistemas porque representan la mayoría de sistemas que se usan en la actualidad. </li></ul><ul><li>Los sistemas de negocio son generalmente sistemas de procesamiento de transacciones o de datos , y la mayoría del software de PC’s se construye sobre una arquitectura de procesamiento de eventos . </li></ul>Modelos de Dominio Específicos
  13. 13. <ul><li>Los sistemas de tiempo real son también sistemas de procesamiento de eventos. </li></ul><ul><li>El desarrollo del software se centra en los sistemas de procesamiento de lenguajes: compiladores. </li></ul><ul><li>Los sistemas de procesamiento por lotes y de transacciones se centran en bases de datos. </li></ul><ul><li>Por la importancia fundamental de los datos, estos sistemas son comunes para aplicaciones de diferentes tipos que comparten la misma base de datos. </li></ul>Modelos de Dominio Específicos
  14. 14. <ul><li>Las aplicaciones complejas raramente siguen un único modelo arquitectónico. </li></ul><ul><li>En su lugar, su arquitectura es la mayoría de las veces un híbrido, con diferentes partes de la aplicación estructuradas de forma diferente. </li></ul><ul><li>Por lo tanto, al diseñar estos sistemas, hay que considerar las arquitecturas de subsistemas individuales y también cómo éstas deben integrarse con la arquitectura del sistema en su totalidad. </li></ul>Modelos de Dominio Específicos
  15. 15. <ul><li>Los negocios necesitan relacionarse con sistemas de procesamiento de datos para : pago de salarios, cálculo e impresión de facturas, mantenimiento de cuentas, emisión de pólizas de seguros, etc. </li></ul><ul><li>Como su nombre indica, estos sistemas se centran en datos, y las bases de datos con las que se relacionan son normalmente más grandes que los propios sistemas. </li></ul><ul><li>Son sistemas de procesamiento por lotes donde los datos son introducidos y extraídos por lotes , a partir de un fichero o base de datos, en lugar de ser introducidos y extraídos por una terminal de usuario . </li></ul>Sistemas de procesamiento de datos
  16. 16. <ul><li>Estos sistemas seleccionan datos para el registro de entradas y, dependiendo del valor de estos campos, realizan algunas acciones especificadas en el programa. </li></ul><ul><li>Pueden volver a escribir el resultado del cálculo en la base de datos y formatear la entrada y la salida calculada para su impresión. </li></ul><ul><li>La arquitectura de los sistemas de procesamiento por lotes tiene tres componentes principales: </li></ul>Sistemas de procesamiento de datos
  17. 17. <ul><li>Un modelo de entrada-proceso-saIida de un sistema de procesamiento de datos. </li></ul>Sistemas de procesamiento de datos
  18. 18. <ul><li>Un componente de entrada reúne entradas desde una o más fuentes. </li></ul><ul><li>Un componente de procesamiento realiza cálculos utilizando estas entradas; y un componente de salida genera salidas para ser escritas en la base de datos o impresas. </li></ul><ul><li>Por ejemplo, un sistema de facturas telefónicas toma los datos registrados de un cliente y las lecturas realizadas del teléfono (entradas) de una central telefónica, calcula los costos para cada cliente (proceso) y entonces imprime facturas (salidas) para cada cliente. Guarda la información en la Base, también. </li></ul>Sistemas de procesamiento de datos
  19. 19. <ul><li>Los componentes de entrada, procesamiento y salida pueden, a su vez, descomponerse en una estructura de entrada-proceso-salida. Por ejemplo: </li></ul><ul><li>1. Un componente de entrada puede leer algún dato (entrada) desde un fichero o base de datos, comprobar la validez de los datos y corregir algunos errores (proceso), y a continuación encolar los datos válidos para su procesamiento (salida). </li></ul><ul><li>2. Un componente de procesamiento puede tomar una transacción de una cola (entrada), realizar cálculos sobre los datos y crear un nuevo registro de datos, almacenando los resultados en la base (proceso); a continuación, encolar este nuevo registro para su impresión (salida). </li></ul>Sistemas de procesamiento de datos
  20. 20. <ul><li>3. Un componente de salida puede leer registros de una cola (entrada), formatear éstos, de acuerdo con el formato de salida (proceso), y a continuación enviarlos a una impresora o volver a escribir nuevos registros en la base de datos (salida). </li></ul><ul><li>La naturaleza de los sistemas de procesamiento de datos, en donde los registros o transacciones se procesan en serie sin necesidad de mantener el estado entre las transacciones , implica que estos sistemas sean naturalmente orientados a funciones en vez de orientados a objetos . </li></ul>Sistemas de procesamiento de datos
  21. 21. <ul><li>Las funciones son componentes que no mantienen información del estado interno de una invocación a otra. </li></ul><ul><li>Los diagramas de flujo de datos son una buena manera de describir la arquitectura de los sistemas de procesamiento de datos de negocio. </li></ul><ul><li>Los diagramas de flujos de datos constituyen una forma de representar sistemas orientados a funciones. </li></ul><ul><li>Cada rectángulo con bordes redondeados en el flujo de datos representa una función que implementa algunas transformaciones de datos, y cada flecha representa un elemento de datos procesado por la función. </li></ul><ul><li>Los ficheros o almacenes de datos se representan como rectángulos. </li></ul>Sistemas de procesamiento de datos
  22. 22. <ul><li>La ventaja de los diagramas de flujo de datos es que muestran el procesamiento de los datos desde su entrada hasta su salida. </li></ul><ul><li>Es decir, se pueden ver todas las funciones que actúan sobre los datos, a medida que se mueven a través de las etapas del sistema. </li></ul><ul><li>La estructura fundamental de un flujo de datos consiste en una función de entrada que pasa los datos a una función de procesamiento y a continuación a una función de salida. </li></ul>Sistemas de procesamiento de datos
  23. 23. <ul><li>Se diseñan para procesar peticiones de usuario, a fin de obtener información de una base de datos, o peticiones para actualizar la base de datos . </li></ul><ul><li>Técnicamente, una transacción de una base de datos es una secuencia de operaciones tratada como una única unidad (una unidad atómica ). </li></ul><ul><li>Todas las operaciones de una transacción tienen que ser completadas antes de que los cambios en la base de datos sean permanentes . </li></ul><ul><li>Así, las fallas de operaciones dentro de la transacción no conducen a inconsistencias en la base de datos . </li></ul>Sistemas de procesamiento de transacciones
  24. 24. <ul><li>Ejemplo: Extracción de fondos de un Cajero Automático. </li></ul><ul><li>Esto implica obtener detalles de la cuenta del cliente, comprobar el saldo, modificar el saldo por la cantidad retirada y enviar comandos al Cajero para proporcionar el dinero en efectivo. </li></ul><ul><li>Hasta que todos estos pasos no hayan sido completados, la transacción está incompleta y no se modifica la base de datos de cuentas de clientes . </li></ul><ul><li>Una transacción es cualquier secuencia coherente de operaciones que satisface un objetivo . </li></ul>Sistemas de procesamiento de transacciones
  25. 25. <ul><li>Puede que la transacción del usuario no requiera que la base de datos sea modificada (consultas). </li></ul><ul><li>Los sistemas de procesamiento de transacciones son, normalmente, sistemas interactivos en donde los usuarios realizan peticiones de servicios. </li></ul><ul><li>Primero un usuario realiza una petición al sistema a través de un componente de procesamiento de E/S. </li></ul><ul><li>La petición se procesa por alguna lógica específica de la aplicación. </li></ul>Sistemas de procesamiento de transacciones
  26. 26. <ul><li>Una transacción se crea y se envía a un gestor de transacciones, el cual normalmente está embebido en el sistema de gestión de base de datos. </li></ul><ul><li>Después de que el gestor de transacciones haya asegurado que la transacción se ha realizado correctamente, envía una señal a la aplicación indicando que el procesamiento ha finalizado. </li></ul>Sistemas de procesamiento de transacciones
  27. 27. <ul><li>La estructura de las aplicaciones de procesamiento de transacciones </li></ul>Sistemas de procesamiento de transacciones
  28. 28. <ul><li>La estructura entrada-proceso-salida que podemos observar en las aplicaciones de procesamiento de datos también se aplican a muchos sistemas de procesamiento de transacciones. </li></ul><ul><li>Algunos de estos sistemas son versiones interactivas de los sistemas de procesamiento por lotes. </li></ul><ul><li>Por ejemplo, por un lado los bancos dan entrada fuera de línea a todas las transacciones de clientes, y después ejecutan por la noche estas transacciones en un lote utilizando la base de datos de cuentas. </li></ul>Sistemas de procesamiento de transacciones
  29. 29. <ul><li>Esta aproximación se ha reemplazado en la mayoría de los casos por sistemas interactivos basados en transacciones que actualizan las cuentas en tiempo real. </li></ul><ul><li>Ejemplo: Sistema de Cajeros Automáticos . </li></ul><ul><li>El sistema está compuesto por dos subsistemas software que cooperan: el software del Cajero Automático y el software de procesamiento de cuentas en el servidor de la base de datos del banco. </li></ul><ul><li>La entrada y salida de los subsistemas se implementa como software en el Cajero, mientras que el subsistema de procesamiento está en el servidor de la base de datos del banco. </li></ul>Sistemas de procesamiento de transacciones
  30. 30. <ul><li>La Figura siguiente muestra la arquitectura de este sistema. </li></ul><ul><li>Se ha añadido algún detalle al diagrama básico de entrada-proceso-salida, para mostrar los componentes implicados en las actividades de entrada, procesamiento y salida. </li></ul>Sistemas de procesamiento de transacciones
  31. 31. <ul><li>La arquitectura software de un Cajero Automático. </li></ul>Sistemas de procesamiento de transacciones
  32. 32. <ul><li>Los sistemas de procesamiento de eventos responden a eventos en el entorno del sistema o interfaz del usuario. </li></ul><ul><li>La llegada de los eventos es impredecible y el sistema debe ser capaz de tratar estos eventos cuando ocurran. </li></ul><ul><li>Todos usamos sistemas basados en eventos en nuestras propias computadoras (procesadores de texto, sistemas de presentaciones y juegos). </li></ul><ul><li>Ellos están conducidos por eventos desde la interfaz de usuario. </li></ul>Sistemas de Procesamiento de Eventos
  33. 33. <ul><li>El sistema detecta e interpreta los eventos. </li></ul><ul><li>Los eventos de interfaz de usuario representan comandos implícitos al sistema, que realiza alguna acción como respuesta a ese comando. </li></ul><ul><li>Por ejemplo, si usted está utilizando un procesador de texto y pulsa dos veces el ratón sobre una palabra, el evento de doble pulsación significa «selecciona esa palabra». </li></ul><ul><li>Los sistemas de tiempo real, que realizan acciones en «tiempo real», como respuesta a estímulos externos, son también sistemas de procesamiento basados en eventos. </li></ul>Sistemas de Procesamiento de Eventos
  34. 34. <ul><li>Sin embargo, para sistemas de tiempo real, los eventos no son normalmente eventos de interfaz de usuario, sino eventos asociados con servidores o actuadores en el sistema. </li></ul><ul><li>Por la necesidad de respuesta en tiempo real a eventos no predecibles, estos sistemas de tiempo real se organizan como un conjunto de procesos cooperativos. </li></ul>Sistemas de procesamiento de eventos
  35. 35. <ul><li>Describiremos la arquitectura de los sistemas de edición. </li></ul><ul><li>Los sistemas de edición son programas que se ejecutan sobre PC’s o estaciones de trabajo y que permiten a los usuarios editar documentos (documentos de texto, diagramas o imágenes). </li></ul><ul><li>Muchos procesadores de texto son multieditores e incluyen soporte para editar diferentes tipos de documentos (texto y diagramas) </li></ul><ul><li>Una hoja de cálculo sería un sistema de edición donde se editan las celdas de la hoja, que también tiene funcionalidades adicionales para realizar cálculos. </li></ul>Sistemas de Procesamiento de Eventos
  36. 36. <ul><li>Los sistemas de edición tienen estas características que influyen en su diseño arquitectónico: </li></ul><ul><li>1. Son principalmente sistemas para un único usuario. Por lo tanto, no tienen que tratar los problemas de múltiples accesos concurrentes a los datos y tienen una gestión de los datos más sencilla que los sistemas basados en transacciones. </li></ul><ul><li>2. Tienen que proporcionar una rápida realimentación de las acciones del usuario tales como «seleccionar» y «borrar». Esto significa que tienen que funcionar con representaciones de los datos que se almacenan en la memoria de la computadora en vez de en el disco. </li></ul>Sistemas de Procesamiento de Eventos
  37. 37. <ul><li>Debido a que los datos están en la memoria volátil, pueden perderse si hay una falla en el sistema; por lo tanto, los sistemas de edición deben prever la recuperación de errores. </li></ul><ul><li>Las sesiones de edición son normalmente más largas que las sesiones que implican peticiones de artículos, o la realización de alguna otra transacción. </li></ul><ul><li>Por eso hay un gran riesgo de pérdida si ocurren problemas. </li></ul><ul><li>Entonces, muchos sistemas de edición incluyen facilidades de recuperación que automáticamente guardan el trabajo en curso y recuperan el trabajo para el usuario en el caso de que se produzca una falla en el sistema. </li></ul>Sistemas de procesamiento de eventos
  38. 38. <ul><li>Básicamente, los eventos de la pantalla son procesados e interpretados como comandos. </li></ul><ul><li>Esto actualiza una estructura de datos, que se vuelve a visualizar a continuación sobre la pantalla. </li></ul>Sistemas de Procesamiento de Eventos
  39. 39. <ul><li>Los sistemas de procesamiento de lenguajes aceptan lenguaje natural o artificial como entrada y generan alguna otra representación de ese lenguaje como salida. </li></ul><ul><li>En ingeniería del software, los sistemas de procesamiento de lenguajes más usados son los compiladores, que traducen un lenguaje de programación artificial de alto nivel a código máquina. </li></ul><ul><li>Hay otros sistemas de procesamiento de lenguaje natural que intentan traducir un lenguaje natural a otro. </li></ul><ul><li>En la Figura siguiente se ilustra la arquitectura de un sistema de procesamiento de lenguajes en su nivel más abstracto. </li></ul>Sistemas de Procesamiento de Lenguajes
  40. 40. <ul><li>Arquitectura abstracta de un sistema de procesamiento de lenguajes: </li></ul>Sistemas de Procesamiento de Lenguajes
  41. 41. <ul><li>Las instrucciones describen lo que tiene que realizarse y tienen que traducirse por un traductor a algún formato interno. </li></ul><ul><li>Las instrucciones se corresponden con las instrucciones máquina para una máquina abstracta. </li></ul><ul><li>A continuación, estas instrucciones son interpretadas por otro componente que obtiene las instrucciones para su ejecución y las ejecuta. </li></ul><ul><li>La salida del proceso es el resultado de interpretar las instrucciones sobre los datos de entrada. </li></ul>Sistemas de Procesamiento de Lenguajes

×