La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Unidad 4 Diseño Arquitectónico Basado en la Funcionalidad

Presentaciones similares


Presentación del tema: "Unidad 4 Diseño Arquitectónico Basado en la Funcionalidad"— Transcripción de la presentación:

1 Unidad 4 Diseño Arquitectónico Basado en la Funcionalidad
Ingeniería en Sistemas Computacionales Especialidad en Ingeniería de Software Arquitectura de Software Unidad 4 Diseño Arquitectónico Basado en la Funcionalidad

2 El diseño arquitectónico es un proceso de conversión de requerimientos en una arquitectura de software que cumple con los requisitos funcionales. AS RF Diseño Arquitectónico

3 La primera fase del proceso de diseño basado en la funcionalidad es:
Determinar una arquitectura inicial que capture los requerimientos funcionales del sistema, sin ignorar los requisitos de calidad.

4 Diseño Arquitectónico Basado en la Funcionalidad
La primera fase se compone de cuatro pasos: Definir el contexto del sistema Identificar los arquetipos (un patrón o modelo donde todas las cosas del mismo tipo son representaciones o copias) Descomponer la arquitectura en componentes Describir instancias del sistema (verificación)

5 Contexto del Sistema Definir las interfaces del sistema con entidades externas. Identificar cada entidad externa a un nivel: Nivel superior. El sistema es usado por otros sistemas para un comportamiento mas inteligente o completo. Nivel inferior. El sistema usa o depende de otros sistemas para su funcionamiento. (interfaces de red, sensores, etc) Nivel igual al sistema. Sistemas en otro dominio que proporcionan información para integración de requerimientos. Asociar requerimientos funcionales a cada interfaz. Los requerimientos de calidad tanto operacionales como de desarrollo deben ser también asociados con interfaces.

6 Sistema Usado por Depende de usa

7 Contexto para Líneas de Productos
Para líneas de productos de software deben identificarse y especificarse explícitamente la variabilidad de las interfaces soportadas por varios productos en la misma línea.

8 Ejemplo 1. Información del capitulo 3
Ejemplo 1. Información del capitulo 3. Sistema de Alarmas Contra Incendio Dominio Función Principal del sistema Monitorear un conjunto de detectores Cuando un detector se activa, enviar alguna salida Tipos de Salidas: Campanas, texto en pantallas, activar extinguidores, avisar a bomberos, etc. Tipos de Detectores: medidor de temperatura, detector de humo Rango del sistema: Sistemas sensitivos, detectores avanzados de alta velocidad, etc. Las alarmas están distribuidas físicamente en uno o más edificios Funcionalidad: monitoreo constante con activación de salidas Plataformas: microcontroladores de 8 o 16 bits Configuración: asignar nombres a dispositivos, localización física y relaciones ente detectores y salidas

9 Sistema de Alarmas Contra Incendio
Estado Actual de Sistemas: Sistemas con diferentes kernels en tiempo real Diferente hardware Diferentes lenguajes de programación Diferentes idiomas Funcionalidad específica para cada país

10 Sistema de Alarmas Contra Incendio
Requerimientos de Calidad Configurabilidad: simple de obtener instancias Demostrabilidad: simplificar pruebas y facilitar la demostración de la confiabilidad Eficiencia: El sistema no debe ser mas lento que un sistema actual (específico) Mantenibilidad: el sistema podrá incorporar nuevos requerimientos

11 Sistema de Alarmas Contra Incendio
Configuración y mantenimiento son los principales atributos Requerimientos potenciales: Cambios en tecnología (detectores/extinguidores) Compatibilidad con otros sistemas para compartir información Hardware. Nuevo hardware podrá ser incorporado Interfaces Hombre-Máquina. Incorporar múltiples interfaces (focos, botones, teclado, gráficas, audio, etc.) Instancias adaptadas al usuario. Se podrán incorporar requerimientos específicos de un cliente.

12 Sistema de Alarmas Contra Incendio
Consideraciones: Son los detectores y alarmas (hardware) parte del sistema o no? El sistema de comunicación es parte del sistema? Actividades del operador: Recibir alarmas Activar y desactivar partes del sistema Monitorear el comportamiento del sistema Interacción con otros sistemas automatizados del edificio (desactivar control de puertas)

13 Diagrama de Contexto SACI
Sistema de Alarmas Contra Incendio interfaz Detector Salida Sist. Autom. edificio Operador Asociar RF con interfaces

14 Paso 2. Identificación de Arquetipos
Los límites del sistema se establecen en la primera etapa (definición del contexto) El objetivo de la segunda etapa es identificar y definir los arquetipos. Actividad: Encontrar un conjunto pequeño de entidades abstractas que al combinarlas sean capaces de describir la mayor parte del comportamiento del sistema.

15 Identificación de Arquetipos
Entender el papel que representa el sistema en su contexto. Perspectiva holista del sistema (Top-Down), establecer partes de la funcionalidad e integrarlas al sistema completo. (proceso iterativo) Identificar candidatos (aparecen recurrentemente en las instancias) De los candidatos, seleccionar un conjunto pequeño, algunos podrán ser excluidos y otros compactados Identificar relaciones entre los arquetipos Este es un proceso difícil que depende en gran parte de la creatividad, intuición y experiencia del AS

16 Sistema de Alarmas Contra Incendio (SACI)
Arquetipos :Buscar las entidades abstractas que capturan el comportamiento de diversas entidades. Candidatos: Que requerimos para crear una instancia de un SACI? Como podemos localizar alarmas y detectores? Como controlar a las alarmas y detectores?

17 Arquetipos Punto: Representa una abstracción dentro del dominio del SACI. Lugar de ubicación de otras entidades. Detector: Captura la funcionalidad principal del equipo de detección del sistema. Salida: Este arquetipo contiene funcionalidad de tipo genérica en el sistema. (Cualquier dispositivo/proceso de salida) Unidad de Control: La naturaleza del sistema es distribuida. Una unidad de control controla a varios puntos los cuales interactúan con detectores y salidas.

18 Sistema de Alarmas Contra Incendio (SACI)
Unidad de Control Punto Se comunica con Detector Salida

19 Descomposición Los arquetipos capturan las abstracciones mas importantes del sistema, pero no representan la arquitectura del sistema. Una vez que se han identificado los componentes, deben identificarse las relaciones (conectores) entre estos. Pueden definirse varios niveles para representar algunas partes críticas del sistema. Verificar que se cumplan los requerimientos Mantener la complejidad manejable

20 Paso 3. Identificar y Especificar Componentes
Interfaces del sistema. Cada interfaz debe estar conectada a un componente. Dominio. Asociar los dominios cubiertos por el sistema con componentes. Dominio de la aplicación. Asociado al problema Dominio de Computación. Protocolos de comunicación, procesos, etc. Capas de abstracción. Definir una serie de capas que implementan la funcionalidad y simplifican la especificación

21 Paso 3. Identificar y Especificar Componentes
Entidades de dominio. Identificar componentes con entidades del dominio del problema. Los expertos conocen el dominio de la aplicación. Instancias de los arquetipos. Los arquetipos identifican patrones que aparecen constantemente en el sistema y pueden representar componentes.

22 Componentes Dimensiones de descomposición
Funcionalidad vs. Basado en entidades Dominio del Problema vs. Dominio de Solución Dominio del Problema Compiladores Teoría de control Funcionalidad Entidad (LP Pascal, C) (LP Java, C++) Sistemas de información (3 capas) GUIs Dominio de Solución

23 Componentes y Relaciones
Una vez que se han identificado los componentes, deben identificarse las relaciones entre estos. Componentes por capas de abstracción, las relaciones se dan entre capas. Arquetipos, las relaciones entre componentes se definen con las relaciones entre las instancias de los arquetipos. Se pueden usar escenarios de uso para identificar las relaciones entre componentes, i.e. Que componentes se comunican con otros. Maximizar Cohesión – Minimizar Acoplamiento

24 Componentes de un Sistema de Alarmas Contra Incendio
Puntos físicos Comunicación Sección Instancia del arquetipo Punto Entidad de dominio en SACI Componente basado en El dominio de la solución Controlador y monitor de puntos físicos

25 Instancias del Sistema
Antes de evaluar la arquitectura diseñada, deben crearse algunas instancias para verificar que la arquitectura realmente corresponde al sistema cumpliendo con los requerimientos establecidos.

26 Cada componente contiene:
Los componentes de la arquitectura del sistema son recursivamente descompuestos en componentes de nivel mas bajo. Cada componente contiene: instancias de arquetipos que proveen la funcionalidad del sistema o se representa por un arquetipo individual Se verifican las relaciones genéricas entre las instancias de los arquetipos y se evalúa la compatibilidad entre las abstracciones que componen al sistema. Se verifica que exista suficiente variabilidad definiendo múltiples instancias que representen varios productos.

27 Ver figura 18 de pag. 71 Detector de Humo Detector de Humo Alarma
Unidad de Control Interfaz de Usuario Detector de Humo Detector de Humo

28 Arquitectura de Software Especificación de Requerimientos Prioridad
Resultados de Evaluación Requerimientos de Calidad Funcionales Expediente de escenarios Diagrama de Contexto Interfase Arquetipos Relación Componentes Decisión de Diseño Estructura


Descargar ppt "Unidad 4 Diseño Arquitectónico Basado en la Funcionalidad"

Presentaciones similares


Anuncios Google