Solución 1: Funcional. Estilos arquitectónicos. Solución 1: Funcional (2) Key word in context

Documentos relacionados
Diseño arquitectónico 1ª edición (2002)

Contenido. 1. El proceso 2. Los modelos 3. Los diagramas 4. Ejemplo

Arquitecturas de Software

MICROSOFT EXCEL 2016 Avanzado

Cristian Blanco

Sistemas Operativos. Curso 2016 Sistema de Archivos

Capítulo 16. Diagrama de Clases UML

CIDE, SA. RIF: J NIT: MODELO FUNCIONAL

Herramientas Informáticas I Software: Sistemas Operativos

Servicios Públicos. Manual de Usuarios Módulo Gastos. Proyecto Implementación UBA. Febrero 2011 Versión 2.0

Plataforma de video bajo demanda (VOD)

Tutorial de Moodle. Chat

Requerimientos de Software

Fundamentos de Bases de Datos Facultad de Ciencias UNAM

Catálogo Incompleto de Estilos Arquitectónicos

Índice general. Pág. N. 1

Manual de Cargos Automáticos

Diseño Organizacional

Ingeniería del Software. Diseño. Diseño en el PUD. Diseño de software. Patrones arquitectónicos. Diseño Orientado a Objetos en UML

MICROSOFT ACCESS 2016 Básico

MICROSOFT EXCEL 2010

Objetivos. Objetivos. Arquitectura de Computadores. R.Mitnik

El Modelo. Aplicación. Presentación. Sesión. Transporte. Red. Enlace. Físico

MICROSOFT PowerPoint 2016 Básico

MICROSOFT WORD 2016 Básico

Sistemas Operativos. Curso 2014 Estructura de los sistemas operativos

Diagramas de secuencia

CAPITULO 1 INTRODUCCION AL PROYECTO

UNIDAD 1. COMPONENTES DEL COMPUTADOR

ACCESS XP. Objetivos. Duración. 64 horas. Contenidos. Módulo 1: Introducción. Parte 1 Bienvenida Certificado MOUS Resumen

MICROSOFT PowerPoint 2013 Básico

Estilos y Patrones Arquitectónicos

Modelado Básico con Casos de Uso. Diseño de Software Avanzado Departamento de Informática

Developing ASP.NET MVC 4 Web Applications

[Informes Activos-Manual de Usuario]

Descripción de servicio

1. Lenguaje de Definición de Datos. 2. Lenguaje de Manipulación de. Datos. M. C. Gustavo Alfonso Gutiérrez Carreón

FORMACIÓN PRÁCTICA: Al propio ritmo de aprendizaje, sin condicionantes de grupo y atendido personalmente por un profesorado especializado.

Sesión No. 10. Contextualización INFORMÁTICA 1. Nombre: Gestor de Base de Datos (Access)

INDICE Parte 1. Visual Basic Capitulo 1. Qué es Visual Basic? Capitulo 22. Mi Primera Aplicación Capitulo 3. Elementos del lenguaje

Administración de contenido web en servicios centrales

Las redes semánticas intentan trasladar esa afirmación a un formalismo Una red semántica será un grafo donde:

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria

Programación Avanzada. Diseño Diagramas de Comunicación

Contenido. Introducción Usando di Monitoring como un usuario normal Uso de di Monitoring como un operador de entrada de datos...

Introducción a los Sistemas Operativos

CLA. Diagramas de clases en Métrica V3

IMPRESIÓN Y CONECTIVIDAD

4. DIAGRAMAS DE INTERACCIÓN INTRODUCCIÓN DIAGRAMAS DE SECUENCIA Objetos Mensajes

ESTRUCTURA BÁSICA DE UN ORDENADOR

Colección de Tesis Digitales Universidad de las Américas Puebla. Romero Martínez, Modesto

1. Asignar Responsabilidades a componentes de software es la habilidad más importante del AOO. Porque:

MICROSOFT EXCEL 2016 Básico

Procesamiento de documentos XML.

5.-CONCEPTOS FUNDAMENTALES EN LA SIMULACIÓN CON ARENA 7.01

Tecnológico Nacional de México INSTITUTO TECNOLÓGICO DE SALINA CRUZ

INTERFACES INTELIGENTES. ING. MA. MARGARITA LABASTIDA ROLDÁN E mail:

Guía ARCONTE-Sala (con Gestión)

Router Teldat. Protocolo TELNET

Métodos para escribir algoritmos: Diagramas de Flujo y pseudocódigo

Microsoft Visual Studio está basado en.net framework. Definiciones de.net Framework:

Facultad de Ciencias Económicas Departamento de Sistemas

Herramientas de Programación. M.C. Juan Carlos Olivares Rojas

PROYECTO DE INVESTIGACIÓN

CURSO DE EXCEL -INTERMEDIO

MICROSOFT PowerPoint 2016 Avanzado

Funciones como Subprogramas en C++

OPTEX EXCEL GRAPHIC USER INTERFACE (OPTEX-EXCEL-GUI) MANUAL DEL USUARIO

Nueva aplicación para acceder a casilla electrónica en Internet

CAPÍTULO 9. DIAGRAMAS DE

Unidad I Marco teórico sobre redes de computadoras

Caso de uso y procedimiento para generación de cadena para factura electrónica. Febrero de 2012

2. Codificar de forma sistemática la secuencia de instrucciones en un lenguaje.

Normas de Calidad para Después de la Escuela de NJ

Manual del sistema de pre documentación Dypaq

Programación de Sistemas Depuradores (Debugger) MIS. Lizbeth Hdz. Glz.

Metodologías en la Ingeniería del Software Métodos Orientados a Objetos

Excel 2013 Completo. Duración: Objetivos: Contenido: 80 horas

Experto en Microsoft Access 2016

Introducción. Universidad Nacional Tecnológica del Cono Sur de Lima JORGE AUGUSTO MARTEL TORRES 1

Ing. Yim Isaias Apestegui Florentino

MASTER PROFESIONAL C# 5 Y ASP.NET MVC 5

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial.

Microsoft Office Outlook NIVEL: BÁSICO Duración: 7 horas

SISTEMAS DE INFORMACIÓN II TEORÍA

Tema: Herramientas UML, Análisis y diseño UML

Análisis en Forma Estratégica: Juegos Estáticos I

LABORATORIO Nº 8 FILTROS EN EXCEL

INFORMÁTICA Y COMUNICACIONES

Introducción Objetivos Objetivos del Curso

Formación al usuario en Microsoft Office 365

Descripción del Curso

Conceptos básicos estadísticos

PRESENTACIÓN SOFTWARE. Área de Recursos Educativos Digitales ENLACES

Enfoque moderno de la Auditoría Interna y las Normas

USECASE. CASOS de USO

Escala San Martín. InstruccIones para la aplicación InformátIca. Evaluación de la Calidad de Vida de Personas con Discapacidades Significativas

Microsoft PowerPoint 2013 (Completo)

MICROSOFT POWERPOINT 2010

Materia requisito: DOMINIOS COGNITIVOS (Objetos de estudio, temas y subtemas) I. INTRODUCCION A LAS BASES DE DATOS

Transcripción:

Solución 1: Funcional Estilos arquitectónicos Se descompone el problema de acuerdo con las funciones básicas: entrada, shift, ordenar, salida. Un programa principal coordina el flujo de control llamando a cada una de las subrutinas. Los datos se comunican entre las subrutinas mediante almacenamiento compartido utilizan do un protocolo simple de lecto escritura. Key word in context Solución 1: Funcional (2) Cambios posibles al sistema: El algoritmo de procesamiento: por ejemplo los movimientos circulares pueden hacerse al leer cada línea, una vez que se las leyó a todas, etc. La representación de los datos Las funciones del sistema: hacerlo interactivo, eliminar movimientos circulares de preposiciones Desempeño: tiempo y espacio Reuso de los componentes Eficiencia en la representación y acceso a los datos La solución es atractivamente intuitiva Si se cambia la representación de los datos hay que modificar casi todos los módulos Ídem para un cambio del algoritmo o de la funcionalidad Los módulos no son particularmente reusables.

Solución 2: OO o TAD La descomposición es igual a la de la solución anterior Ahora los datos no son directamente accedidos por los módulos En su lugar cada módulo provee una interfaz que permite a otros componentes acceder a los datos sólo a través de la invocación de subprogramas en esa interfaz. Solución 3: Tubos y filtros Se descompone el problema en cuatro filtros: entrada, shift, ordenar y salida. Cada filtro procesa los datos y los pasa al siguiente en la línea. Control distribuido: cada filtro puede ejecutar siempre que tenga datos con los que trabajar. Los datos que se comparten se limitan estrictamente a los que viajan por los tubos. Solución 2: OO o TAD (2) Solución 3: Tubos y filtros (2) Los algoritmos y los datos pueden cambiarse en cada módulo sin afectar a los otros. Los módulos son más reusables debido a que hacen menos suposiciones sobre los otros. No acepta la inclusión de ciertas funciones Se modifican módulos existentes haciéndolos más complejos, o se agregan nuevos módulos empeorando el desempeño. No permite alterar el algoritmo general de procesamiento Mantiene el flujo de procesamiento intuitivo Los filtros son altamente reusables Se pueden agregar nuevas funciones Se puede modificar pues los filtros son independientes No es posible tener un sistema interactivo Para borrar una línea requeriría que los filtros compartan un almacén de datos compartido Uso de espacio ineficiente: cada filtro debe copiar todos los datos a sus puertos de salida

Solución 4: Invocación implícita Los componentes se integran en base a datos compartidos pero con una interfaz más abstracta. Además, las subrutinas son invocadas implícitamente a medida que los datos son modificados. Al añadir una línea se envía un evento al módulo CircularShift el cual comienza a hacer los shifts en otro repositorio compartido con interfaz abstracta. Los módulos tienen asignada la misma funcionalidad que en las otras soluciones. Master Control Solución 4: Invocación... (3) Nuevos módulos pueden agregarse al registrarlos para ser invocados a medida que cambian los datos La representación de los datos puede ser alterada Reuso: los módulos sólo esperan eventos externos Comparaciones El orden de proceso es difícil de controlar Tiende a utilizar más espacio debido a que las invocaciones son guiadas por los datos Input Circular Shift Alphabetizer Output Se consideran los cambios propuestos al comienzo y se comparan las 4 soluciones con respecto a cada cambio. insert delete Lines ith insert delete Lines Invocación implícita ith Funcional TADs Tubos y Invocación Filtros Implícita Algoritmo + + Datos + Funciones + + + Desempeño + + Reuso + +

Definición y clasificación de estilos Pueden determinarse mediante un conjunto de tipos componente una disposición topológica de los componentes que indique sus relaciones en tiempo de ejecución un conjunto de restricciones semánticas un conjunto de conectores Proveen en general vocabulario de diseño reglas de diseño o restricciones que fijan las composiciones permitidas interpretación semántica de manera tal que las composiciones permitidas tienen significado formal análisis que pueden hacerse sobre sistemas desarrollados en el estilo en cuestión Clasificación de estilos Flujo de datos Batch Tubos y filtros Control de procesos Eventos y Procesos Procesos comunicantes Invocación implícita Programa principal y subrutina Sistemas OO Estratos jerárquicos Sistemas de información Bases de datos Blackboard systems Cliente Servidor Cómo clasificar los estilos? Criterios de clasificación: interacciones de control y datos entre componentes Las clases de componentes y conectores que son usadas en el estilo Cómo se comparte, aloja y transfiere el control entre los componentes? Cómo se comunican datos en el sistema? Cómo interactúan el control y los datos? El tipo de razonamiento permitido Aspectos del control: cómo el control pasa de un componente a otro y cómo estos trabajan juntos por momentos. Topología, dirección Sincronización Binding time Aspectos de los datos: cómo los datos se mueven por el sistema Topología, flujo de datos Continuidad Modo: pasaje, broadcast,... Binding time Aspectos de la interacción control/datos: Isomorfismo entre las topologías Direcciones de movimiento relativas Componentes Componente: entidades computacionales activas que cumplen tareas por medio de cómputos internos y comunicaciones externas. La relación entre un componente y su entorno se define a través de un conjunto de puntos de interacción llamados puertos. Los puertos pueden representar colecciones de procedimientos, conjuntos de eventos, protocolos, etc.

Conectores Conectores: definen la interacción entre componentes. Cada uno provee una forma para que varios puertos establezcan contacto y define lógicamente el protocolo de interacción. Cada conector posee una interfaz que consiste un un conjunto de roles. Cada rol define el comportamiento esperado de cada uno de los participantes en una interacción. no alcanza El estado del arte de las notaciones y técnicas para describir diseños basados en llamada a procedimiento no tienen la suficiente riqueza como para describir muchos sistemas. Uno de los problemas fundamentales es que el conector (llamada a procedimiento) no es una entidad de primera clase; es decir, no está permitido describir interacciones que usen otros conectores. no alcanza (2) Otro problema del DOO (el estilo de diseño basado en llamada a procedimiento más usado, estudiado y desarrollado en la actualidad) es que los componentes presentan una única interfaz a todos los otros componentes. Estos dos problemas tornan innecesariamente complicada la descripción de arquitecturas usando las notaciones clásicas de DOO como UML. no alcanza (3) Nuevamente usaremos KWIC para ver que de existir otros conectores sería posible introducir ciertos cambios en el diseño de KWIC que el estilo OO no soporta adecuadamente. Queremos agregar la posibilidad de que los shifts que comienzan con ciertas palabras sean omitidos (y no sean indexados).

Omitir shifts en KWIC Filtrar en Output: directa pero ineficiente, hay que hacer y ordenar todos los shifts. Agregar un nuevo módulo de filtrado que sea llamado después de CircularShift y antes de Alphabetizer: menos ineficiente que la anterior. Alterar el algoritmo de cssetup de CircularShift de manera tal que filtre las líneas prohibidas: la decisión de omitir una línea no debería ser responsabilidad de este módulo. Omitir shifts en KWIC (2) Reescribir cssetup? Modificarla? Es eso lo que se persigue? La principal desventaja es que se destruye el criterio de modularización al incluir responsabilidades en el TAD que poco tienen que ver con su comportamiento esencial. El problema no está en que Parnas haya diseñado mal, sino en que no disponía de mejores conectores.