Arquitectura del Software. Estableciendo la estructura global de un sistema de software



Documentos relacionados

Tópicos a ser desarrollados

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

Arquitecturas de Software

Diseño Arquitectónico. Objetivos. Establecer la arquitectura global del sistema de software. Arquitectura de software.

Estilos Arquitectónicos

1. Introducción 2. Historia 3. Características clave 4. Cuestiones de diseño

Proceso Unificado de Rational PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes:

Proceso de desarrollo del software modelo en cascada

Capítulo 5. Cliente-Servidor.

ARQUITECTURA DE DISTRIBUCIÓN DE DATOS

Curso Técnico de JDE - OW

Tema 4. Diseño arquitectónico.

Tema 1. Conceptos fundamentales de los Sistemas Operativos

Estilos Arquitectónicos

Nivel aplicación Interacción Cliente Servidor. ELO322: Redes de Computadores Agustín J. González

SISTEMAS DE INFORMACIÓN II TEORÍA

Metodología Orientada a Objetos Clave Maestría en Sistemas Computacionales

SERVICE ORIENTED ARCHITECTURE (SOA) CONTENIDO

Gestión y Administración de proyectos

1 GLOSARIO. Actor: Es un consumidor (usa) del servicio (persona, sistema o servicio).

IDeP. Service Oriented Network Architecture SONA. IDeP SA La Punta, San Luis, Agosto 2008

Capítulo 6 Introducción a los Sistemas Operativos de Redes (NOS)

Arquitectura Cliente/Servidor

3. GESTIÓN DE CONFIGURACIÓN DE SOFTWARE

ARC 101 Architecture Overview Diagram

Arquitectura de Software

La interoperabilidad se consigue mediante la adopción de estándares abiertos. Las organizaciones OASIS y W3C son los comités responsables de la

Análisis y modelado de sistemas de software. Diseño Capa de arquitectura física. Blanca A. Vargas Govea vargasgovea@itesm.

Diseño de Base de Datos

BASES DE DATOS TEMA 2. Arquitectura de un Sistema de Gestión de Bases de Datos

Gerencia de Procesos de Negocio (Business Process Management, BPM). Lic. Patricia Palacios Zuleta

1. Cuál es el objetivo del Diseño del Sistema de Información? del sistema. información. a. 5. b. 4. c. 3. d. 2. c. Diseño de. b.

Estilos de Arquitectura y. Patrones de Diseño Arquitectónico. Patrones de Arquitectura

Unidad III. Software para la administración de proyectos.

Sistemas de Información II Tema 1. El enfoque de bases de datos

Gestión de la configuración en el software (SCM) Ingeniería de software Eduardo Ferreira, Martín Solari

Arquitectura de Aplicaciones

Pattern Oriented Software Architecture. Whole-Part. Jamir Antonio Avila Mojica César Julio Bustacara Medina. Patrones de Software

6.8 La Arquitectura del Sistema. [Proceso]

Modelos de los sistemas distribuidos. Jorge Iván Meza Martínez

Fundamentos del diseño 3ª edición (2002)

Ingeniería de Software II Segundo Cuatrimestre 2007

Resumen. El rol del lenguaje SQL en los SGBDR y en la Relacional. cjimenez@inf.udec.cl, tamrstro@inf.udec.cl

e-commerce, es hacer comercio utilizando la red. Es el acto de comprar y vender en y por medio de la red.

GLOSARIO. Arquitectura: Funcionamiento, estructura y diseño de una plataforma de desarrollo.

Diseño de Componentes

Taller de Sistemas de Información 1. Clase 2 Sistemas de información Arquitectura

Anexo 4 Documento de Arquitectura

3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON)

Ventajas del software del SIGOB para las instituciones

BASES DE DATOS, MODELOS DE DATOS Y DBMS

Resumen General del Manual de Organización y Funciones

RUP: Disciplina de Manejo de Cambios y Configuraciones

Capitulo III. Diseño del Sistema.

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE

servicios. El API es definido al nivel de código fuente y proporciona el nivel de

PROCEDIMIENTO OPERATIVO DESARROLLAR SISTEMAS INFORMÁTICOS PDO-COCTI-DTIN-04

APO BPM Software de Automatización de Procesos. Defina, integre y controle sus circuitos de negocio en un solo lugar

Los mayores cambios se dieron en las décadas de los setenta, atribuidos principalmente a dos causas:

Sistemas Multimedia Distribuidos. Juan A. Sigüenza Departamento de Ingeniería Informática UAM

Capítulo 4. Prueba de Adaptabilidad

Funciones del Administrador de Base de Datos. Ing. Anaylen López, MSc Base de Datos II

Elementos requeridos para crearlos (ejemplo: el compilador)

Patrones de software y refactorización de código

PRACTICA CAPITULO 2 MODULO 1 PROTOCOLOS Y LA FUNCIONALIDAD DE LA CAPA DE APLICACIÓN

Entidad Formadora: Plan Local De Formación Convocatoria 2010

Estos documentos estarán dirigidos a todas las personas que pertenezcan a equipos de implementación de Oracle BI, incluyendo a:

Metodologías de diseño de hardware

Solución de una Intranet bajo software Open Source para el Gobierno Municipal del Cantón Bolívar [IOS-GMCB] Gobierno Municipal del Cantón Bolívar

Análisis y diseño del sistema CAPÍTULO 3

AVA-QHSE System. Introducción Características del producto Especificaciones Técnicas

INGENIERÍA DEL SOFTWARE I Práctica 4 Interacciones

<Generador de exámenes> Visión preliminar

Características de Samba

1 EL SISTEMA R/3 DE SAP AG

Quienes Somos? Valor. Estrategia

Software de sistema: Programas genéricos que permiten gestionar los recursos del ordenador.

Maxpho Commerce 11. Gestión CSV. Fecha: 20 Septiembre 2011 Versión : 1.1 Autor: Maxpho Ltd

MÉTODOS PARA DESARROLLAR SISTEMAS DE INFORMACIÓN Anexo

implantación Fig. 1. Ciclo de vida tradicional

TALLER No. 1 Capitulo 1: Conceptos Básicos de Bases de datos

Tema 1. Conceptos básicos

Historia de revisiones

Service Oriented Architecture

UNIVERSIDAD TECNOLOGICA ECOTEC DIEGO BARRAGAN MATERIA: Sistemas Operativos 1 ENSAYO: Servidores BLADE

Sistema de Gestión Integral STI NETWORK

Arquitectura de Aplicaciones Empresariales. Lic. Esteban Cesar Calabria

CURSO DE ESPECIALISTA EN DESARROLLO DE APLICACIONES WEB

Modulo I. Introducción a la Programación Web. 1.1 Servidor Web.

SISTEMAS DE INFORMACIÓN II TEORÍA

Título: Optimización de Procesos de Negocio con SOA / BPM Nombre y Apellido: Mario Bolo bolo@ar.ibm.com Fecha: 15/08/2012

IWG-101: Introducción a la Ingeniería. Departamento de Informática, UTFSM 1

Patrones Creacionales Builder. Patrones Creacionales Abstract Factory. Patrones Creacionales Singleton. Patrones Creacionales Prototype

1.1 Definición de bases de Datos Distribuidas

Estilos y Patrones Arquitectónicos

MSI 533: Modelamiento y gestión de procesos de negocios

Programación orientada a

Ac A t c itve v e D i D re r c e t c o t r o y r

Desarrollo y servicios web

Transcripción:

Arquitectura del Software Estableciendo la estructura global de un sistema de software

Puntos relevantes Complementario al diseño Tiene en cuenta el aspecto dinámico Existencia de estilos División en subsistemas Cada subsistema en módulos Distintas visiones con el diseño

Paralelos con la arquitectura Los arquitectos son la interfaz técnica entre el cliente y el contratista que construye el sistema. Un diseño arquitectural malo no puede ser solucionado con una buena construcción. Ídem en software Hay tipos especializados de arquitectos en construcción y en software. Hay escuelas de estilos de arquitectura de construcción y software.

Proceso para el diseño arquitectural Estructura del Sistema El sistema es descompuesto en muchos subsistemas principales y se identifican las comunicaciones entre ellos. Modelo de Control Se establece un modelo de las relaciones de control entre las distintas partes. Descomposición Modular Los sistemas identificados son descompuestos en módulos.

Subsistemas y Módulos Un subsistema es un sistema cuya operación es independiente de los servicios de otros subsistemas. Un módulo es un componente de sistema que provee servicios a otros componentes pero que normalmente no puede ser considerado otro sistema.

Modelos de Arquitectura La estructura, el control y la descomposición modular pueden basarse en un modelo particular o estilo Sin embargo, la mayoría de los sistemas son heterogéneos (partes basadas en distintos modelos o composición) El modelo arquitecural usado afecta la performance, la robustez, la distribución y el mantenimiento del sistema.

Packing robot control system Vision system Object identification system Arm controller Gripper controller Packaging selection system Packing system Conveyor controller

ADL: Architecture Description Language. Componentes Clase Concreta Clase Abstracta Proceso Componente de datos activo Componente computacional/objeto Componente de datos pasivo Método Objeto

ADL: Architecture Description Language. Conectores Flujo de control Uni & Bi direccional Flujo de datos Uni & Bi direccional Flujo de datos y de control Implementación Agregación Herencia

Estructura del sistema Descomponer el sistema en subsistemas que interactúan. El diseño arquitecural es normalmente expresado como un diagrama de bloques (la estructura) Modelos más específicos mostrando como los subsistemas comparten datos, son distribuidos e interfacean pueden ser desarrollados.

El modelo a repositorio Los subsistemas deben intercambiar datos. Pueden hacerlo de dos modos: Datos compartidos en una BD central o repositorio y pueden ser accedidos por todos los subsitemas. Cada subsistema mantiene su BD propia y pasan datos explícitamente a subsistemas Cuando mucha cantidad de datos deben ser compartidos, el modelo a repositorio es el más usado.

Estilo Centrado en datos cliente cliente Shared Data cliente cliente

CASE toolset architecture Design editor Code generator Design translator Project repository Program editor Design analyse Report generator

Características del modelo a repositorio Ventajas Un modo eficiente para compartir datos Los subsistemas no se deben preocupar en como los subsitemas son producidos y mantenidos (backup, seguridad,etc.) Desventajas Los subsitemas deben concordar en compartir datos La evolución de los datos es difícil y costosa. Difícil de distribuir y de fijar políticas grales

Arquitectura Client-server Modelo distribuido que muestra como datos y procesamiento son distribuidos entre un rango de componentes. Conjunto de servidores stand-alone que proveen servicios específicos como impresión, data management, etc.. Conjunto de clientes que usan esos servicios. Una red que permite a los clientes acceder a los servidores.

Estilo Cliente-Servidor cliente cliente Servidor cliente cliente

Film and picture library Client 1 Client 2 Client 3 Client 4 Wide-bandwidth network Catalogue server Video server Picture server Hypertext server Catalogue Film clip files Digitized photographs Hypertext web

Características de Client-Server Ventajas La distribución de los datos es directa Uso efectivo de los recursos de red. Componentes más económicas Fácil de agregar o actualizara nuevos servidores Desventajas No se comparten datos por lo tanto los subsistemas usa distintas organizaciones de datos. El intercambio puede ser ineficiente. Managemente redundante en cada servidor No hay un registro central de nombres, servidores y servicios

Modelo Máquina Abstracta Usado para modelar las interfaces de los subsistemas Organiza el sistema en capas (máquinas abstractas) que brindan servicios Soporta el desarrollo incremental por capas. Sólo la capa se modifica Es muy difícil estructurar sistemas de este modo

Versión management system Version management Object management Database system Operating system

Estilo a Niveles User Interface User Interface User Interface User Interface

Modelos de control Basados en el flujo de control entre subsistemas. Distinto del modelo por descomposición. Control Centralizado Un subsistema tiene el control global: inicia y frena cada subsistema. Control basado en eventos Cada subsistema responde a eventos generados por otros subsistemas o por SO

Control Centralizado: Call-return model Main program Routine 1 Routine 2 Routine 3 Routine 1.1 Routine 1.2 Routine 3.1 Routine 3.2

Estilo Main-Program-and-subroutine Main Sub 1 Sub 2 Sub 3

Centralizado: Real-time system control Sensor processes Actuator processes System controller Computation processes User interface Fault handler

Event Driven: Selective broadcasting Sub-system 1 Sub-system 2 Sub-system 3 Sub-system 4 Event and messa ge handler

Event Driven: Interrupt-driven control Interrupts Interrupt vector Handler 1 Handler 2 Handler 3 Handler 4 Process 1 Process 2 Process 3 Process 4

Descomposición Modular Otro nivel estructural donde los subsistemas son descompuestos en módulos Dos modelos de descomposición: El modelo a objetos donde el sistema se descompone en módulos que interactúan Un modelo dataflow donde el sistema es descompuesto en módulos funcionales que transforman inputs en outputs (pipelines). Las decisiones de concurrencia se postergan a la implementación

Modelos a objetos Se estructura el sistema en conjunto de objetos débilmente acoplados con interfaces bien definidas. La descomposición OO es encontrar clases, atributos y métodos Cuando es implementado los objeto son creados de estas clases y se usa algún modelo de control para coordinarlos

Invoice processing system Customer customer # name address credit period Payment invoice # date amount customer # Invoice invoice # date amount customer Issue Send reminder Accept payment Send receipt Receipt invoice # date amount customer #

Invoice processing system Payment Receipt Payment Invoice Issue Accept Payment

Modelos Data-Flow Transformaciones funcionales procesan los inputs en outputs Pipe and filter model (UNIX shell) Variantes: proceso batch que procesa datos. No es adecuado para sistemas interactivos

Invoice processing system Issue receipts Receipts Read issued invoices Payments Identify payments Invoices Find payments due Issue payment reminder Reminders

Arquitecturas específicas por dominio Modelos que son específicos a un dominio de aplicación: Modelos genéricos que son abstracciones de sistemas reales Modelos de referencia Los modelos de referencia son en general top-down, los genéricos bottom-up

Genérico: Compiler model Symbol table Lexical analysis Syntactic analysis Semantic analysis Code generation

Language processing system Lexical analyser Syntax analyser Semantic analyser Prettyprinter Abstract syntax tree Grammar definition Optimizer Editor Symbol table Output definition Code generator Repository

Vista funcional de un compilador Source program Tokens Tokens Syntax tree Object code Scan source Build symbol table Analyse Generate code Symbols Symbols Error indicator Symbol table Output errors Error messages

Vista OO de un compilador Source program Scan Token stream Add Symbol table Check Get Syntax tree Build Gr ammar Print Error messages Generate Abstract code Object code Generate

OSI reference model 7 6 5 4 Application Presentation Session Transport Application Presentation Session Transport 3 Network Network Network 2 Data link Data link Data link 1 Physical Physical Physical Communications medium

WWW client-server pair