Please enable JavaScript.
Coggle requires JavaScript to display documents.
Análisis y Diseño de Patrones Arquitectónicos de Software - Coggle Diagram
Análisis y Diseño de Patrones Arquitectónicos de Software
Modelos de diseño
El modelo de diseño se utiliza como entrada esencial para actividades en implementación y prueba. Dominio: análisis y diseño
Objetivo:
Tiene como objetivo concebir y documenta el diseño del sistema de software
Es un producto de trabajo integral y compuesto que abarca todas las clases de diseño, paquetes y las relaciones entre ellos.
Clase de Diseño
Es una descripción de un conjunto de objetos que comparten las mismas responsabilidades, relaciones, atributos, operaciones y semánticas.
Clases de producto
de trabajo:
Elemento de modelo:
Estos productos de trabajo son las piezas individuales que forman un modelo.
clases
Implementadores:
Especificación cuando implementan las clases.
Diseñadores
Otros componentes del sistema para comprender cómo se puede utilizar su funcionalidad, y que significan sus relaciones.
Diseñadores de guion de uso:
Crean instancias en las ejecuciones del guion de uso.
Prueban la clase
Planificar las actividades de prueba.
Diseñan versión siguiente
Comprender la funcionalidad del modelo de diseño.
Patrones
Definición
Un patrón es una solución un problema en un contexto.
Un patrón codifica conocimiento específico acumulado por la experiencia en un dominio.
Cada patrón describe un problema que ocurre una y otra vez en nuestro ambiente, y luego describe el núcleo de la solución a ese problema,
Patrones de Software:
Una solución conocida a un problema recurrente, codifica conocimiento específico acumulado por la experiencia en un dominio
Patrones de diseño y arquitectura.
expresan esquemas para definir estructuras de diseño(o sus relaciones)con las que construir sistemas de software
Elementos de un patrón
Nombre
Define un vocabulario de diseño
Facilita abstracción
Problema
Describe cuando aplicar el patrón
Conjunto de fuerzas: objetivos y restricciones
Prerrequisitos
Solución
Elementos que constituyen el diseño
Forma canónica para resolver fuerzas
Consecuencias
Resultados, extensiones y tradeoffs
Patrones de diseño GRASP
Alta Cohesión
Asigna una responsabilidad de forma
tal que la cohesión siga siendo alta
Bajo
Acoplamiento
Este patrón es el encargado de asignar una
responsabilidad para conservar bajo acoplamiento.
Creador
Este patrón es el responsable de asignarle a la clase B la responsabilidad de crear una instancia de clase A. B es un creador de los objetos A.
Controlador
Asigna la responsabilidad del manejo de un mensaje de los eventos de un sistema a una clase.
Experto
Se encarga de asignar una responsabilidad al experto en información, o sea, aquella clase que cuenta con la información necesaria para cumplir la responsabilidad.
Calidad
Grado en que un sistema satisface las necesidades
declaradas o implícitas de las personas interesadas proporcionando valor.
Atributos de calidad
Uso
Un AC de disponibilidad describiría cuándo podría fallar esta opción o con qué frecuencia sería reparada
Un AC de usabilidad describiría cómo de fácil es aprender esta función
Un AC de rendimiento describiría la velocidad a la que debe aparecer.
Cualifican la funcionalidad
La funcionalidad es la capacidad del sistema para realizar el trabajo que pretende que haga
Especificación
El vocabulario para describir ACs es muy variado
Es necesario describir cada atributo por separado
Los ACs por si mismos no son suficientes
No son operacionales
Identificandolos
La mayoría de las veces los no están explícitos
Escenarios de Calidad
Tipos
Escenarios de cambio( o modifcación)
Escenarios de fallo
Escenarios de uso
Componentes
Artefacto
Parte del sistema o el sistema completoA
Respuesta
Acción visible externamente
Estímulo
Evento que requiere que responda el sistema
Medida de respuesta
Criterio de éxito para el escenario
Fuente
Persona o sistema que inicia el estímulo
Entorno
Circunstancias operativas
Descripción
Debe ser medible
Describe un estímulo de un sistema y una respuesta mediable a dicho estímulo
Tácticas para el diseño
Concepto
son soluciones menos detalladas y están enfocadas a atributos de calidad específicos.
Las tácticas intentan controlar respuestas a estímulos
Ejemplos
Fallo
DISPONIBILIDAD
Reparación realizada
Llegan eventos
RENDIMIENTO
Respuestas generadas dentro de las restricciones temporales
Ataque
SEGURIDAD
El sistema detecta, resiste o se recupera
del ataque
Tácticas de desempeño
Demanda de recurso
Incrementar eficiencia computacional
Reducir el overhead
Administrar la tasa de eventos
Administración
de recursos
Introducir concurrencia
Mantener copias multiples
Incrementar recursos disponibles
Arbitrado de Recursos
Política de
calendarización
Dónde podemos
encontrar tácticas
Propia experiencia del arquitecto.
Experiencia documentada de la comunidad
Las tácticas evolucionan con tiempo y tendencias.