1 eap ingenieria de sistemas curso ingeniería de software ing. sanchez castillo eddye arturo...
TRANSCRIPT
1 EAP INGENIERIA DE SISTEMAS Curso Ingeniería de Software
Sesión 09
ARQUITECTURA DE HARDWARE Y SOFTWARE
Ing. Sanchez Castillo Eddye [email protected]/eddyesanchez
INGENIERIA DE SOFTWARE
2 EAP INGENIERIA DE SISTEMAS Curso Ingeniería de Software
Temario ... Arquitectura Lógica Arquitectura Física Diagrama de Componentes Diagrama de Despliegue
CONTENIDO
3 EAP INGENIERIA DE SISTEMAS Curso Ingeniería de SoftwareMg. Ing. WILFREDO CARRANZA
La Arquitectura del Software es el diseño de más alto nivel de la estructura de un sistema.Arquitectura de Software(Arquitectura lógica):consiste en un conjunto de patrones y abstracciones coherentes que proporcionan el marco de referencia necesario para guiar la construcción del software para un sistema de información.La Arquitectura de Software establece los fundamentos para que analistas, diseñadores, programadores, etc. Trabajen en una línea común que permita alcanzar los objetivos del sistema de información, cubriendo todas las necesidades.
ARQUITECTURA LOGICA
4 EAP INGENIERIA DE SISTEMAS Curso Ingeniería de Software
La arquitectura de un sistema puede dividirse en dos áreas:Diseño de alto nivelAquí se describen los componentes principales y el modo en que interactúan entre sí para satisfacer cada uno de los requisitos. Si el sistema es grande, cada componente puede tener su propio diseño de alto nivel, donde se muestra su composición a partir de componentes más pequeños.Modelos de diseñoconvenciones que se usan a lo largo del proceso de diseño de los componentes. Un modelo describe un determinado enfoque para lograr un objetivo de programación. Si se usan los mismos modelos a lo largo de un diseño completo, el equipo puede reducir el costo que suponen los cambios y el desarrollo de nuevo software.
ARQUITECTURA LOGICA
5 EAP INGENIERIA DE SISTEMAS Curso Ingeniería de Software
Un diagrama de componentes contiene, obviamente Componentes Interfaces, y relaciones.
También pueden aparecer otros tipos de símbolos que ya haya visto.
El símbolo principal de un diagrama de componentes es un rectángulo que tiene otros dos sobrepuestos en su lado izquierdo. Debe colocar el nombre del componente dentro del símbolo. El nombre es una cadena.
DIAGRAMA DE COMPONENTES
6 EAP INGENIERIA DE SISTEMAS Curso Ingeniería de Software
Si el componente es miembro de un paquete, puede utilizar el nombre del paquete como prefijo para el nombre del componente. También puede agregar información que muestre algún detalle del componente.
DIAGRAMA DE COMPONENTES
7 EAP INGENIERIA DE SISTEMAS Curso Ingeniería de Software
Existen dos formas para representar a un componente y sus interfaces:
1. Muestra la interfaz como un rectángulo que contiene la información que se le relaciona, se conecta al componente por la línea discontinua y una punta de flecha representada por un triángulo sin rellenar que visualiza la realización.
DIAGRAMA DE COMPONENTES
Puede representar a una interfaz como un rectángulo con información, conec-tado al componente por una flecha de realización.
8 EAP INGENIERIA DE SISTEMAS Curso Ingeniería de Software
2. Se muestra la segunda forma de representar a un componente y sus interfaces; esta forma es representativa, ya que representará la interfaz como un pequeño Círculo que se conecta al componente por una línea continua.
DIAGRAMA DE COMPONENTES
Puede representar a una interfaz como un pequeño círculo, conectado al componente por una línea continua que, en este contexto, se interpreta como realización.
9 EAP INGENIERIA DE SISTEMAS Curso Ingeniería de Software
Además de la realización, puede representar a la dependencia, que es la relación entre un componente y una interfaz de importación. Como recordará, la dependencia se vislumbra como una línea discontinua con una punta de flecha.Puede mostrar la realización y la dependencia en el mismo diagrama.
DIAGRAMA DE COMPONENTES
Una interfaz que realiza un componente y otra de la que depende.
10 EAP INGENIERIA DE SISTEMAS Curso Ingeniería de Software
Además de la realización, puede representar a la dependencia, que es la relación entre un componente y una interfaz de importación. Como recordará, la dependencia se vislumbra como una línea discontinua con una punta de flecha.Puede mostrar la realización y la dependencia en el mismo diagrama.
DIAGRAMA DE COMPONENTES
Una interfaz que realiza un componente y otra de la que depende.
11 EAP INGENIERIA DE SISTEMAS Curso Ingeniería de Software
Aplicación de los diagramas de componentes
• El primero es un modelo de una página Web que representa a un componente Java.
• El siguiente también es un modelo de una página Web pero éste utiliza controles ActiveX.
• Finalizará con un modelo de un paquete de Microsoft conocido como PowerToys. Este paquete, que puede obtener del sitio de Microsoft, le permite modificar aspectos de Win32.
DIAGRAMA DE COMPONENTES
12 EAP INGENIERIA DE SISTEMAS Curso Ingeniería de SoftwareMg. Ing. WILFREDO CARRANZA
Modelado ArquitectónicoNos referimos a la arquitectura física del sistemaNo a la OTRA arquitectura.
Mundo RealEn la construcción de un edificio, los planos son muy importantes … pero finalmente, lo más importante es dar lugar a una construcción REAL
UML nos ofrece dos clases de elementos para modelar la arquitectura física de un sistema: �Componentes Nodos
ARQUITECTURA FISICA
13 EAP INGENIERIA DE SISTEMAS Curso Ingeniería de Software
La arquitectura abarca el conjunto del sistema:
• La arquitectura contempla las funciones a gran escala del sistema y cómo estas funciones trabajan como un todo.
• El arquitecto agrupa las clases en paquetes, modela el sistema como un conjunto de componentes que interactúan y considera las plataformas para desplegar dichos componentes a fin de conseguir las cualidades requeridas para el sistema.
Definiciones de algunos términos fundamentales, según standard IEEE- 1471- 2000 (IEEE-2000): • Sistema es un conjunto de componentes que cumplen una función o un
conjunto de funciones específicas.• Arquitectura es la organización fundamental de un sistema
incorporada en sus componentes, en sus relaciones mutuas y en el entorno, y los principios que guían su diseño y evolución.
• Perspectiva de la arquitectura es una representación desde una perspectiva específica, de un determinado sistema o de una parte del mismo.
… ¿Qué se entiende por Arquitectura?
14 EAP INGENIERIA DE SISTEMAS Curso Ingeniería de Software
La arquitectura de software, es la organización de un sistema en términos de sus componentes de software, incluyendo los subsistemas y las relaciones e interacciones entre ellos, y los principios que guían el diseño de ese sistema de software.
El mismo sistema puede contemplarse desde distintas perspectivas, que hacen énfasis en los distintos aspectos del sistema.Ejemplos:Soni et al. (1995) identifican 4 aspectos distintos:
conceptual, modular, código y ejecución.
15 EAP INGENIERIA DE SISTEMAS Curso Ingeniería de Software
El proceso racional unificado (RUP), usa 5 perspectivas del sistema, conocidas como las “4 + 1 perspectivas” (Kruchten, 2004):La perspectiva lógica, de implementación, de proceso y de despliegue. Y, la perspectiva de casos de uso, que une a las anteriores.
“Las 4 + 1 perspectivas del sistema”
16 EAP INGENIERIA DE SISTEMAS Curso Ingeniería de Software
Arquitectura: estructura organizativa de un sistema que incluye su descomposición en partes, conectividad, mecanismos de interacción y principios de guía que proporcionan información sobre el diseño del mismo.
La arquitectura es el conjunto de decisiones significativas sobre la organización de un sistema software.
Por ejm. La decisión de construir un sistema en dos capas, cada una de las cuales contiene un pequeño número de subsistemas que se comunican de una forma particular es una decisión arquitectónica.
La arquitectura de un software no está relacionada sólo con la estructura y el comportamiento, sino también con el uso, la funcionalidad, el rendimiento, la flexibilidad, la reutilización, la facilidad de comprensión, las restricciones y compromisos económicos y tecnológicos y con la estética.
Arquitectura .- definición UML
17 EAP INGENIERIA DE SISTEMAS Curso Ingeniería de Software
El UML 1.0 especifica 9 clases de diagramas correspondientes a 8 vistas
Vistas y diagramas de UML
18 EAP INGENIERIA DE SISTEMAS Curso Ingeniería de Software
La estrategia de arquitectura de Microsoft define , 4 vistas, llamadas arquitecturas:Arquitectura de Negocios, de Aplicación, de Información y Arquitectura de Tecnología
La Arquitectura de Aplicación, incluye las descripciones de:- Los servicios sistematizados que dan soporte a los procesos de negocios- Las interacciones e interfaces de los sistemas empresariales- Los planes para el desarrollo de nuevas aplicaciones y la revisión de las antiguas, basados en los objetivos de la empresa y la evolución de las plataformas tecnológicas.
Cada una de las arquitecturas, se articula en las vistas siguientes: Vista conceptual: relacionada con la semántica de negocios (usuarios no técnicos) Vista lógica: define los componentes funcionales y su relación en el sistema. Vista física: describe los componentes específicos de una implementación y relaciones
Arquitectura de Microsoft
19 EAP INGENIERIA DE SISTEMAS Curso Ingeniería de Software
Un lenguaje de descripción de la arquitectura (architecture description language-ADL), es el conjunto de convenciones para dibujar los modelos de arquitectura.
Es recomendable usar el UML como un ADL.
El UML 2.0 tiene características específicas que se han añadido y adaptado para adecuarlo para las arquitecturas de modelado así como para generar modelos de análisis y diseño.
El UML 2.0 –Request for proposals (OMG, 2000) tiene como objetivo específico:Permitir el modelado de patrones estructurales, tales como el desarrollo basado en componentes y la especificación de arquitecturas de tiempo de ejecución.
Lenguaje de descripción de la arquitectura (ADL)
20 EAP INGENIERIA DE SISTEMAS Curso Ingeniería de Software
UML 2.0 - Diagramas
21 EAP INGENIERIA DE SISTEMAS Curso Ingeniería de Software
En arquitectura de sistemas, el término estilos arquitectónicos se utiliza para esas formas de diseñar sistemas que se adaptan a la moda actual.Cada estilo tiene características que lo convierten en más o menosadecuado para ciertas aplicaciones.
Subsistemas
Un subsistema agrupa elementos del sistema que comparten propiedades Comunes. Un subsistema OO encapsula un conjunto coherente de responsabilidades para garantizar que tiene integridad y que puede mantenerse.
Ventajas de la subdivisión de un SI en subsistemas :
Genera unidades de desarrollo manejables. Posibilita maximizar la reutilización de componentes Alternativa de solución frente al problema de la complejidad Facilita la portabilidad Mejora el servicio de mantenimiento
6.2 Estilos de Arquitectura
22 EAP INGENIERIA DE SISTEMAS Curso Ingeniería de Software
….. Subsistemas
Hay 2 estilos diferentes de comunicación para que un subsistema proporcione servicios a otros subsistemas: Comunicación cliente-servidor (client-server): el cliente debe conocer la interfaz
del subsistema servidor; siendo la comunicación en una sola dirección. El subsistema servidor no depende del subsistema cliente y no es afectado por cambios en la interfaz del cliente. Comunicación igual a igual (peer-to-peer): cada uno de los subsistemas puede
solicitar servicios del otro (comunicación bidireccional) y puede ser afectado por cambios en la interfaz del otro.
<<cliente>>
Subsistema A
<<servidor>>
Subsistema B
<<peer>>
Subsistema D
<<peer>>
Subsistema C
Estilos de comunicación entre subsistemas
23 EAP INGENIERIA DE SISTEMAS Curso Ingeniería de Software
CapasSubsistemas en capas Las arquitecturas en capas están entre las estructuras de alto nivel de uso frecuente. Cada capa puede tener uno o más subsistemas. Las capas se diferencian entre si por los distintos niveles de abstracción o por un enfoque distinto de su funcionalidad.
- Arquitectura en capas cerrada: una capa sólo puede utilizar los servicios de la capa inmediata debajo de ella.
Ventajas: . minimiza la dependencia entre las capas y . reduce el impacto de cambio en la interfaz de cualquier capa.
Capa N
Capa N -1
Capa 2
Capa 1
Los mensajes sólo pueden enviarse a la capa inferior adyacente
… Estilos de Arquitectura
24 EAP INGENIERIA DE SISTEMAS Curso Ingeniería de Software
…. Subsistemas en capas
-Arquitectura en capas abierta: una capa puede utilizar los servicios de
cualquiera que se encuentra debajo de ella. Ventajas: . Genera un código más compacto, al no necesitar código extra para pasar
los mensajes a través de cada capa intermedia. Desventajas: . Rompe el encapsulado de las capas, . Aumenta las dependencias entre capas y , . Mayores dificultades cuando hay que cambiar alguna capa.
Capa 1
Capa 2
Los mensajes pueden enviarse a cualquier capa inferior
Capa N
Capa N -1
25 EAP INGENIERIA DE SISTEMAS Curso Ingeniería de Software
…..Subsistemas en capas
Ejm. de arquitectura en capas: protocolos de red
Un protocolo de red define la forma en que un programa se ejecuta
en los distintos PCs comunicados entre sí.
• Los protocolos pueden definirse con distintos niveles de
abstracción y cada nivel puede estar distribuido en una capa.
La organización ISO definió el modelo de 7 capas OSI (Open
Systems Interconnection) como un modelo de arquitectura estándar
para protocolos de red.
Ejemplos
26 EAP INGENIERIA DE SISTEMAS Curso Ingeniería de Software
Modelo de 7 capas de OSI (Open Systems Interconnection)
Ejemplos
27 EAP INGENIERIA DE SISTEMAS Curso Ingeniería de Software
Ejemplos
Presentación
Lógica de empresa
Base de datos
Presentación
Lógica de la aplicación
Base de datos
Dominio
Arquitectura de 3 capas Arquitectura de 4 capas
… Estilos de Arquitectura
28 EAP INGENIERIA DE SISTEMAS Curso Ingeniería de Software
Modelo-Vista-Controlador (MVC)
La arquitectura MVC es utilizado por muchos modelos interactivos, por la capacidad de soportar requisitos de usuario que se presentan mediante distintos estilos de interfaz y, por mejorar el mantenimiento y la portabilidad.La misma interfaz está dividida en 2 elementos: la presentación de salida (vista) y el controlador de entrada (controlador)
La arquitectura MVC divide una aplicación en 3 tipos de componentes: Modelo: comprende la funcionalidad principal Vista: presenta la interfaz de usuario. La vista recupera datos del modelo y actualiza sus presentaciones cuando se han cambiado los datos en una de las otras vistas. La vista crea su controlador asociado. Controlador: gestiona las actualizaciones de las vistas.
Y, posee un componente de propagación de las actualizaciones: Mecanismo de propagación: permite al modelo informar a cada vista que
se han cambiado los datos del modelo y, en respuesta, la vista tiene que actualizarse.
… Estilos de Arquitectura
29 EAP INGENIERIA DE SISTEMAS Curso Ingeniería de Software
Modelo
Vista A Vista B
Controlador BControlador A
<<acceso>
<<acceso><<acceso> <<acceso>
<<acceso> <<acceso>
<<propagar>>
<<propagar>>
Estructura general del MVC
El mecanismo de propagación
Modelo-Vista-Controlador (MVC)
30 EAP INGENIERIA DE SISTEMAS Curso Ingeniería de Software
Interacciones entre el Modelo, la Vista y el Controlador (MVC)
31 EAP INGENIERIA DE SISTEMAS Curso Ingeniería de Software
ARQUITECTURA TECNOLOGICA EN APEC 2008
ALCANCE DEL SERVICIO DE ALOJAMIENTO. Infraestructura de tecnología informática y comunicaciones apropiadas para ofrecer y suministrar los servicios que permitan la instalación, puesta en operación y administración de los siguientes servicios: Servicios de Data Center
• Servicios de Correo Electrónico• Servidor de Control de Acceso mediante servicio de directorios.• Servidor de Archivos.• Servidor de Páginas Web.• Servidor de Base de datos.• Servidor de aplicaciones.• Capacidad de servidores para las reuniones de los Grupos de Trabajo.
SERVICIOS:1.Un servicio de alojamiento, en un Data Center, proporcionando capacidad de procesamiento de datos para el funcionamiento de APEC 2008. Este servicio incluye la conexión del Data Center con la oficina principal de la CEAN. Así como la conectividad de sus oficinas: Además, debe incluir la provisión de un conjunto de Servidores en los locales de las sedes de las reuniones. 2. Un servicio de Acceso a Internet, cuya salida al backbone de Internet será por el Data Center.
32 EAP INGENIERIA DE SISTEMAS Curso Ingeniería de Software
ARQUITECTURA TECNOLOGICA EN APEC 2008
33 EAP INGENIERIA DE SISTEMAS Curso Ingeniería de Software
Fin de la Presentación
GRACIAS
033