You are on page 1of 40

Se interesa por entender cmo debe organizarse un sistema y cmo tiene que disearse la estructura global de ese sistema.

Es el enlace crucial entre el diseo y la ingeniera de requerimientos, ya que identifica los principales componentes estructurales en un sistema y la relacin entre ellos.

En pequeo. Programas individuales En grande. Arquitectura de sistemas empresariales complejos que incluyen otros sistemas, programas y componentes de programa.

La arquitectura de sf afecta el desempeo y la potencia, as como la capacidad de distribucin y mantenimiento de un sistema. Los componentes individuales implementan los requerimientos funcionales. Los no funcionales dependen de la arquitectura, es decir, la forma como se organizan y comunican los componentes

Comunicacin con los participantes. Anlisis del sistema. Discutir si el sistema puede o no cubrir los requerimientos crticos como rendimiento, fiabilidad y mantenibilidad. Reutilizacin a gran escala. Un modelo de arquitectura de sistema es una descripcin corta y manejable de cmo se organiza un sistema y cmo interoperan sus componentes.

Arquitectura de un sistema De control para un robot empacador


Sistema de visin

Sistema de identificacin de objetos

Control de brazo Sistema de seleccin de empaque

Controlador de Sujetador

Sistema de empacado

Controlador de transportadora

Usando diagramas de bloques, Cada rectangulo representa un componente Un rectangulo dentro de otro indica que el componente se divide en subcomponentes Las flechas sealan significan que los datos y/o seales de control pasan de un componente a otro en la direccin de las flechas.

Como una forma de facilitar la discusin acerca del diseo del sistema Como una forma de documentar una arquitectura que se haya diseado

Rendimiento. Debe disearse para localizar operaciones criticas dentro de un pequeo nmero de componentes. Seguridad. Si la seguridad es lo critico, ser necesario usar una estructura en capas para la arquitectura, con los activos ms criticos protegidos en las capas ms internas y con un alto nivel de validacin de seguridad aplicado a dichas capas.

Proteccin. La arquitectura debe disearse de modo que las operaciones relacionadas con la proteccin se ubiquen en algn componente individual o en un pequeo nmero de componentes. Disponibilidad. Tiene que disearse para incluir componentes redundantes de manera que sea posible sustituir y actualizar componentes sin detener el sistema

Mantenibilidad. La arquitectura del sistema debe disearse usando componentes autocontenidos de grano fino que puedan cambiarse con facilidad. Evitar comportar la estructura de datos.

Vista lgica. Abstracciones clave en el sistema como objetos o clases de objeto Proceso: tiempo de operacin, rendimiento, disponibilidad Desarrollo: como esta compuesto el sistema. til para administradores y programadores Fsica: que se exponga el hd del sistema y como los componentes del sf se distribuyen a travs de los procesadores.

La funcionalidad esta organizado en capas separadas Una capa de servicios a la capa de encima, de modo que las capas de nivel inferior representan servicios ncleo que es probable se utilicen a lo largo de todo el sistema

Se usa al construirse nuevas facilidades encima de los sistemas existentes cuando el desarrollo se dispersa a travs de varios equipos de trabajo, y cada uno es responsable de una capa de funcionalidad. Cuando exista un requerimiento para seguridad multinivel

Permite la sustitucin de capas completas en tanto se conserve la interfaz. Para aumentar la confiabilidad del sistema, en cada capa pueden incluirse facilidades redundantes.

Interfaz de usuario

Gestin de interfaz de usuario Autenticacin y autorizacin Lgica empresarial ncleo/funcionalidad de aplicacin Utilidades del sistema

Soporte del sistema (OS, Base de datos, etc)

Interfaz de navegador WEB Gestor formatos Y consulta Recuperaci n de documentos Gestor derechos

Conexin LIBSYS
Bsqueda distribuida

Gestor impresin
Contabilida d

Indice de biblioteca

DB1

DB2

DB3

DBn

Todos los datos en un sistema se gestionan en un repositorio central, accesible a todos los componentes del sistema. Los componentes no interactan directamente

Se utiliza cuando se tiene un sistema donde los grandes volmenes de informacin generados deban almacenarse durante mucho tiempo Sistemas dirigidos por datos,

Los componentes pueden ser independientes Las modificaciones son en cascada La totalidad de los datos se puede gestionar de manera consistente (respaldo)

Editores UML

Generadores de cdigo

Editor Java

Traductor de diseo

Repositorio del proyecto

Analizador De diseo

Generador De reporte

Editor Python

Se organiza en servicios y cada servicio lo entrega un servidor independiente. Los clientes son usuarios de dichos servicios y para utilizarlos ingresan a los servidores Se utiliza cuando los ingresos al sistema son en diferentes lugares

Conjunto de servidores. Conjunto de clientes, que solicitan los servicios que ofrecen los servidores

Una red que permite a los clientes acceder a dichos servicios

Cliente 1

Cliente 2

Cliente n

Internet

Servidor de catlogo Catlogo de Biblioteca

Servidor de video Almacn de peliculas

Servidor de imagen Almacen De fotos

Servidor Web Inf. De peliculas y fotos

El procesamiento de datos en un sistema de forma que cada componente de procesamiento (filtro) sea discreto y realice un tipo de transformacin de datos. Los datos fluyen (como en una tuberia) de un componente a otro para su procesamiento

Se utiliza en aplicaciones de procesamiento de datos basados en lotes donde las entradas se procesan en etapas separadas para generar salidas relacionadas Las transformaciones pueden ejecutarse secuencialmente o en forma paralela Su nombre viene del Sistema Operativo UNIX

Aplicaciones de procesamiento de datos basadas en lotes y en transacciones

Donde las entradas se procesan en etapas separadas para generar salidas relacionadas Ejemplo: sistemas embebidos

Emitir Recibos

Recibos

Leer facturas emitidas

Identificar pagos

Encontrar pagos vencidos

Facturas

Pagos

Emitir recordatorio de pago

Recordatorios

Punto de partida para el proceso de diseo arquitectnico. Como lista de verificacin del diseo Como una forma de organizar el trabajo del equipo de desarrollo Como un medio para valorar los componentes a reutilizar Como un vocabulario para hablar acerca de los tipos de aplicacin

Si no esta familiarizado con el tipo de aplicacin que desarrolla, podra basar su diseo inicial en una arquitectura de aplicacin genrica.

Si se desarrolla un diseo arquitectnico para un sistema de aplicacin, puede comparar ste con la arquitectura de aplicacin genrica y luego, verificar que su diseo sea consistente con la arquitectura genrica

Pueden asignar trabajo a los miembros del grupo para implementar diferentes componentes dentro de la arquitectura

Si se tiene componentes por reutilizar compare stos con las estructuras genricas para saber si existen componentes similares en la arquitectura de aplicacin

Si se discute acerca de una aplicacin especfica o trata de comparar aplicaciones del mismo tipo, entonces puede usar los conceptos identificados en la arquitectura genrica para hablar sobre las aplicaciones.

Ejemplo de aplicacin Centradas en base de datos, que procesan requerimientos del usuario mediante la informacin y actualizan sta en una base de datos

Procesamiento I/O Lgica de aplicacin Gestor De transaccin Base de datos

ENTRADA
Conseguir ID de cuenta cliente Validar tarjeta

PROCESO

SALIDA Imprimir detalles

Consultar cuenta
Regresar tarjeta

Seleccionar servicio

Actualizar cuenta

Entregar dinero BASE DE DATOS ATM

ATM

Los sistemas que incluyen interaccin con una base de datos compartida se consideran sistemas de informacin basados en transacciones. La capa de comunicaciones con el usuario maneja todas las entradas y salidas de la interfaz del usuario y la capa inferior es la base de datos del sistema

Interfaz de usuario

Comunicaciones del usuario

Autenticacin y autorizacin

Recuperacin y modificacin de informacin

Gestin de transacciones Base de datos

Convierten un lenguaje natural o artificial en otra representacin del lenguaje y Para lenguajes de programacin tambin pueden ejecutar el cdigo resultante Ejemplo: compiladores

Traductor Instrucciones en lenguaje fuente


Verificacin de sintaxis Verificacin semntica Genera

Instrucciones abstractas c/m Interprete Datos Lee (fetch) Ejecuta Resultados