domingo, 14 de julio de 2013

PNF EN INFORMÁTICA



UNIDAD IV

 INTRODUCCIÓN AL DISEÑO ARQUITECTÓNICO

Estilos Arquitectónicos:
Es un conjunto de reglas y restricciones que definen: cuales tipos de componentes, interfaces y conectores pueden ser usados en un sistema.


Sistema de Flujo de Datos:
Tiene como objetivo el aseguramiento de cualidad es de reutilización y modificabilidad, este estilo es caracterizado por ver el sistema como una serie de transformaciones sobre elementos sucesivos de datos de entrada y luego navegan a través de componentes al mismo tiempo, antes de ser asignados a su destino final.

Tuberías y Filtros:
Cada componente tiene un conjunto de entradas y salidas, un componente lee flujos de datos (streams) desde sus entradas y genera flujos de datos. Usan pequeña información contextual y no retienen información de su estado entre invocaciones. Los pipes son stateless. Las restricciones indican la forma en la cual los pipes y los filtros pueden ser encadenados

Especializaciones de este estilo
·         Pipelines: restringen las topologías a secuencias lineales de filtros.
·         Bounded pipes: restringen el tamaño de datos que puede residir en un pipe.
·         Typed pipes: requiere que los datos pasados entre dos filtros tengan un tipo bien definido.

Ejemplo: Compiladores (analizador léxico, parser, analizador semántico) Elementos Tubo-Filtro: Deben ser entidades independientes puede NO compartir estado con otros filtros, los filtros no conocen la identidad de sus vecinos No preserva su estado entre invocaciones;  Pipe: Mueve datos de un filtro de salida a un filtro de entrada, la fuente de un pipe solo puede ser conectada a la salida de un filtro.

Sistemas basados en llamada y retorno:
Permite al diseñador del software construir una estructura de programa relativamente fácil de modificar y ajustar a escala.  Existen 2 subestilos:
·         
   Arquitectura de programa principal: Clasifica de programación descompone las funciones en una jerarquía de control donde un programa principal llama a un número de componentes del programa, los cuales pueden también llamar a otros componentes.

·         Arquitectura de llamada de procedimiento remoto: Los componentes de una arquitectura de programa principal/subprograma, están distribuidos entre varias computadoras en una red.

Capas: Organización Jerárquica: Cada capa provee servicios a sus capas vecinas. Los conectores son definidos por los protocolos que determinan cómo interactúan las capas. Restricciones topológicas incluyen limitación de interacciones a capas adyacentes cada capa sucesiva es construida basada en su antecesor Ej: Modelo OSI, Sistema X- windows , y otros.

Organización en capas:
·                
       Aplicabilidad: Sistemas grandes que están caracterizados por una mezcla de ele mentos de alto y bajo nivel, donde los elementos de alto nivel dependen de los de bajo nivel.
·         
   Componentes: son las capas o niveles que pueden estar implementadas internamente por objetos o procedimientos. Cada nivel tiene asociada una funcionalidad: Niveles bajos: Funciones simples, ligadas al hardware o al entorno. Niveles altos: Funciones más abstractas. Mecanismos de interacción entre componentes: Llamadas a procedimientos. Llamadas a métodos. Invariantes/Restricciones: Sólo llamadas de niveles superiores a inferiores.
·          
    Propiedades: Facilita la migración. El acoplamiento con el entorno está localizado en las capas inferiores. Estas son las únicas a re-implementar en caso de transportea un entorno diferente.




 Arquitectura del Sistema:
La arquitectura de un sistema de información se especifica en dos niveles de refinamiento. El primero, denominado Arquitectura del Sistema expresa el estilo de arquitectura a aplicar en el nivel más alto de abstracción. Como se dijera previamente, el estilo aplicado es el de capas. En la primera parte se definen concretamente las capas a utilizar, así como las principales responsabilidades de los componentes que residirán en cada una de  ellas. En la segunda parte, en base a las responsabilidades mostradas, se estudian los elementos de una especificación de arquitectura lógica.

·  Capa de Interfaz de Usuario: Se encarga de la presentación al usuario. Contiene formularios, páginas Web y otros

·         Capa de IU de Diálogos del Usuario: Maneja la lógica de la IU y coordina la presentación al usuario.

·   Capa de Servicio del Sistema: Exporta operaciones que resuelven requerimientos del sistema. Está organizada en subsistemas. Contiene además adaptadores a sistemas externos.

·       Capa de Servicios del Negocio: Los componentes corresponden a tipos estables del negocio. Administra la información persistente del negocio.

·    Capa de Infraestructura: Provee servicios básicos como seguridad, poder transaccional, caching de datos, comprende en general a frameworks, APIs, manejadores de bases de datos, etc.

Arquitectura Lógica:
La arquitectura del sistema presentada antes indica el estilo general que seguirá la  aplicación. El siguiente paso es determinar el estilo que cada capa seguirá internamente.
La interfaz de usuario, si es orientada al Web, seguirá el estilo cliente-servidor. La metodología de desarrollo puede condicionar el estilo de arquitectura a elegir, ya que mediante la aplicación de la metodología cada capa será poblada con elementos que residirán en ella.

Sistemas basados en eventos:
El comportamiento de estos sistemas se caracteriza por una secuencia finita  o infinita de estados ilimitados de eventos que ocurren de manera asincrónica. Ejemplos de sistemas basados en eventos: Sistemas de manufactura automáticos. Sistemas de control de tráfico.  Sistemas de control, comunicación e información. Sistemas avanzados de monitoreo y control.

Notación para representar las arquitecturas del software DAS

    Es una especificación de las ideas principales del diseño. El Das proporciona una descripción entendible de la arquitectura del software y sirve como medio de comunicación entre el arquitecto de software y otros miembros de equipo del proyecto. Contiene varias vistas que muestran aspectos distintos del sistema como son:
·         Vista de casos de Usos: Muestra la funcionalidad del sistema como es percibida desde el exterior, también describe un conjunto de escenarios y casos de usos que tienen una cobertura arquitectónicamente.

·         Vista Lógica: Describe el diseño más importante de las clases y su organización en paquetes y subsistemas y la organización de estos en capas. Está en estructura estática y comportamiento dinámico del sistema.

·         Vista de Implementación: Muestra la organización del código y el código actual de ejecución. Contiene una visión general del Modelo de Implementación y su organización en términos de módulos en paquetes y capas.

·      Vista de Implantación: Describe varios nodos físicos para las configuraciones más típicas de las plataformas y la asignación de las tareas de la vista del proceso a los nodos físicos.

·         Vista de datos: Esta vista especifica arquitectónicamente los elementos contantes en el modelo de datos. Se refiere a las tablas, vistas y almacenamientos de los procedimientos que proporcionan la persistencia al sistema. La estructura de los datos de la base de datos.

Modelo de Diseño: Se pueden emplear diferentes diagramas de UML tales como:
·         Diagrama de Clases.
·         Diagrama de Colaboración.
·         Diagramas de Estado.
·         Diagramas de Secuencia.


Página a Consultar