Académique Documents
Professionnel Documents
Culture Documents
Introduccin
El diseo arquitectnico se interesa por entender cmo debe organizarse un sistema y cmo tiene que disearse la estructura global de ese sistema. El diseo arquitectnico es la primera etapa en el proceso de diseo del software, identifica los principales componentes estructurales en un sistema y la relacin entre ellos.
Introduccin (Cont.)
Modelo abstracto de la arquitectura para un sistema de robot de empaquetado, que indica los componentes que tienen que desarrollarse.
Definicin
La arquitectura de software es vista como la estructura del sistema en funcin de la definicin de los componentes y sus interacciones. Esta estructura se constituye de componentes -mdulos o piezas de cdigo que nacen de la nocin de abstraccin, cumpliendo funciones especficas, e interactuando entre s con un comportamiento definido
Definicin (Cont.)
La arquitectura es una abstraccin del sistema. Los sistema pueden tener y tienen una estructura. Todo sistema tiene una arquitectura. Tener una arquitectura no es lo mismo que tener una arquitectura conocida por todos. Si no se desarrolla la arquitectura explcitamente, se obtendr una de todas formas, pero puede no gustarnos lo que obtenemos.
Definicin (Cont.)
Importancia
La descomposicin arquitectnica es necesaria para estructurar y organizar la especificacin. Por lo tanto, como parte del proceso de ingeniera de requerimientos, se debe proponer una arquitectura de sistema abstracta donde se asocien grupos de funciones de sistemas o caractersticas con componentes o subsistemas a gran escala. Puede usar esta descomposicin para discutir los requerimientos y las caractersticas del sistema.
Definicin (Cont.)
8
Una buena arquitectura sienta las bases para un sistema exitoso Una mala arquitectura generalmente provoca alguna forma de desastre
Conocimiento disponible
Sistema
Cmara
Sensores
Host
Sistema de Visin
Controlador
Arquitecto Arquitectura
Motores
Definicin (Cont.)
Las arquitecturas de software se disean en dos niveles de abstraccin:
Arquitectura en pequeo se interesa por la arquitectura de programas individuales. En este nivel, uno se preocupa por la forma en que el programa individual se separa en componentes. Arquitectura en grande se interesa por la arquitectura de sistemas empresariales complejos que incluyen otros sistemas, programas y componentes de programa. Tales sistemas empresariales se distribuyen a travs de diferentes computadoras, que diferentes compaas administran y poseen.
Definicin (Cont.)
La arquitectura de software es importante porque afecta el desempeo y la potencia, as como la capacidad de distribucin y mantenimiento de un sistema (Bosch, 2000). Bass y sus colaboradores (2003) analizan tres ventajas de disear y documentar de manera explcita la arquitectura de software:
Definicin (Cont.)
1. Comunicacin con los participantes. Puede usarse como un enfoque para la discusin. 2. Anlisis del sistema. En una etapa temprana en el desarrollo del sistema, aclarar la arquitectura del sistema requiere cierto anlisis 3. Reutilizacin a gran escala. Un modelo de una arquitectura de sistema es una descripcin corta y manejable de cmo se organiza un sistema y cmo inter operan sus componentes. Por lo general, la arquitectura del sistema es la misma para sistemas con requerimientos similares y, por lo tanto, puede soportar reutilizacin de software a gran escala.
Modelado
Las arquitecturas de sistemas se modelan con frecuencia usando diagramas de bloques simples.
Cada recuadro en el diagrama representa un componente. Los recuadros dentro de recuadros indican que el componente se dividi en subcomponentes. Las flechas significan que los datos y/o seales de control pasan de un componente a otro en la direccin de las flecha
Modelado (Cont.)
Los diagramas de bloque presentan una imagen de alto nivel de la estructura del sistema e incluyen fcilmente a individuos de diferentes disciplinas que intervienen en el proceso de desarrollo del sistema. Los diagramas de bloque son una forma adecuada para describir la arquitectura del sistema durante el proceso de diseo.
Patrn arquitectnico para el desarrollo de sistemas distribuidos. Esta arquitectura consiste bsicamente en un cliente que realiza peticiones a otro programa (el servidor) que le da respuesta.
Cliente (parte activa) Demanda servicios a los servidores Se asume que cada peticin deber obtener respuesta Diseado para soportar la interaccin con el usuario final. Servidor (parte pasiva) Espera las peticiones de los clientes Procesa esas peticiones y enva una respuesta Diseo orientado a maximizar la eficiencia.
Ejercicios
1. Cuando se describe un sistema, explique por qu es posible que deba disear la arquitectura del sistema antes de completar la especificacin de requerimientos. 2. Se le pide preparar y entregar una presentacin a un administrador no tcnico para justificarla contratacin de un arquitecto de sistemas para un nuevo proyecto. Escriba una lista que establezca los puntos clave de su presentacin. Por supuesto, debe explicar qu se entiende por arquitecto de sistemas. Mnimo una cuartilla por cada ejercicio, anexa ambos documentos a tu Portafolio de evidencias.