unidad 4 dise±o arquitect³nico basado en la funcionalidad ingenier­a en sistemas...

Download Unidad 4 Dise±o Arquitect³nico Basado en la Funcionalidad Ingenier­a en Sistemas Computacionales Especialidad en Ingenier­a de Software Arquitectura de

Post on 23-Jan-2016

221 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

  • Unidad 4Diseo Arquitectnico Basado en la FuncionalidadIngeniera en Sistemas ComputacionalesEspecialidad en Ingeniera de Software Arquitectura de Software

  • El diseo arquitectnico es un proceso de conversin de requerimientos en una arquitectura de software que cumple con los requisitos funcionales.RFDiseo ArquitectnicoAS

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

  • Diseo Arquitectnico Basado en la FuncionalidadLa primera fase se compone de cuatro pasos:Definir el contexto del sistemaIdentificar los arquetipos (un patrn o modelo donde todas las cosas del mismo tipo son representaciones o copias)Descomponer la arquitectura en componentesDescribir instancias del sistema (verificacin)

  • Contexto del SistemaDefinir 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 informacin para integracin de requerimientos.Asociar requerimientos funcionales a cada interfaz. Los requerimientos de calidad tanto operacionales como de desarrollo deben ser tambin asociados con interfaces.

  • Contexto para Lneas de ProductosPara lneas de productos de software deben identificarse y especificarse explcitamente la variabilidad de las interfaces soportadas por varios productos en la misma lnea.

  • Ejemplo 1. Informacin del capitulo 3.Sistema de Alarmas Contra IncendioDominioFuncin Principal del sistemaMonitorear un conjunto de detectoresCuando un detector se activa, enviar alguna salidaTipos de Salidas: Campanas, texto en pantallas, activar extinguidores, avisar a bomberos, etc.Tipos de Detectores: medidor de temperatura, detector de humoRango del sistema: Sistemas sensitivos, detectores avanzados de alta velocidad, etc.Las alarmas estn distribuidas fsicamente en uno o ms edificiosFuncionalidad: monitoreo constante con activacin de salidasPlataformas: microcontroladores de 8 o 16 bitsConfiguracin: asignar nombres a dispositivos, localizacin fsica y relaciones ente detectores y salidas

  • Sistema de Alarmas Contra IncendioEstado Actual de Sistemas:Sistemas con diferentes kernels en tiempo realDiferente hardwareDiferentes lenguajes de programacin Diferentes idiomasFuncionalidad especfica para cada pas

  • Sistema de Alarmas Contra IncendioRequerimientos de CalidadConfigurabilidad: simple de obtener instanciasDemostrabilidad: simplificar pruebas y facilitar la demostracin de la confiabilidadEficiencia: El sistema no debe ser mas lento que un sistema actual (especfico)Mantenibilidad: el sistema podr incorporar nuevos requerimientos

  • Sistema de Alarmas Contra IncendioConfiguracin y mantenimiento son los principales atributosRequerimientos potenciales:Cambios en tecnologa (detectores/extinguidores)Compatibilidad con otros sistemas para compartir informacinHardware. Nuevo hardware podr ser incorporadoInterfaces Hombre-Mquina. Incorporar mltiples interfaces (focos, botones, teclado, grficas, audio, etc.)Instancias adaptadas al usuario. Se podrn incorporar requerimientos especficos de un cliente.

  • Sistema de Alarmas Contra IncendioConsideraciones:Son los detectores y alarmas (hardware) parte del sistema o no?El sistema de comunicacin es parte del sistema?Actividades del operador:Recibir alarmasActivar y desactivar partes del sistemaMonitorear el comportamiento del sistemaInteraccin con otros sistemas automatizados del edificio (desactivar control de puertas)

  • Diagrama de Contexto SACIAsociar RF con interfaces

  • Paso 2. Identificacin de ArquetiposLos lmites del sistema se establecen en la primera etapa (definicin del contexto)El objetivo de la segunda etapa es identificar y definir los arquetipos.Actividad: Encontrar un conjunto pequeo de entidades abstractas que al combinarlas sean capaces de describir la mayor parte del comportamiento del sistema.

  • Identificacin de ArquetiposEntender 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 pequeo, algunos podrn ser excluidos y otros compactadosIdentificar relaciones entre los arquetiposEste es un proceso difcil que depende en gran parte de la creatividad, intuicin y experiencia del AS

  • 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?

  • ArquetiposPunto: Representa una abstraccin dentro del dominio del SACI. Lugar de ubicacin de otras entidades.Detector: Captura la funcionalidad principal del equipo de deteccin del sistema.Salida: Este arquetipo contiene funcionalidad de tipo genrica 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 interactan con detectores y salidas.

  • Sistema de Alarmas Contra Incendio (SACI)PuntoDetectorSalidaUnidad de ControlSe comunica con

  • Descomposicin 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 crticas del sistema.Verificar que se cumplan los requerimientosMantener la complejidad manejable

  • Paso 3. Identificar y Especificar ComponentesInterfaces del sistema. Cada interfaz debe estar conectada a un componente.Dominio. Asociar los dominios cubiertos por el sistema con componentes.Dominio de la aplicacin. Asociado al problemaDominio de Computacin. Protocolos de comunicacin, procesos, etc. Capas de abstraccin. Definir una serie de capas que implementan la funcionalidad y simplifican la especificacin

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

  • ComponentesDimensiones de descomposicinFuncionalidad vs. Basado en entidadesDominio del Problema vs. Dominio de SolucinCompiladoresSistemas de informacin (3 capas)Teora de controlGUIsFuncionalidad Entidad(LP Pascal, C) (LP Java, C++)Dominio de SolucinDominio del Problema

  • Componentes y RelacionesUna vez que se han identificado los componentes, deben identificarse las relaciones entre estos. Componentes por capas de abstraccin, 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 Cohesin Minimizar Acoplamiento

  • Componentes de un Sistema de Alarmas Contra IncendioControlador y monitorde puntos fsicos

  • Instancias del SistemaAntes de evaluar la arquitectura diseada, deben crearse algunas instancias para verificar que la arquitectura realmente corresponde al sistema cumpliendo con los requerimientos establecidos.

  • 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 individualSe verifican las relaciones genricas entre las instancias de los arquetipos y se evala la compatibilidad entre las abstracciones que componen al sistema.Se verifica que exista suficiente variabilidad definiendo mltiples instancias que representen varios productos.

  • Ver figura 18 de pag. 71Unidad de ControlDetector deHumoDetector deHumoDetector deHumoDetector deHumoDetector deHumoAlarmaInterfaz deUsuario

  • ******************

View more >