DAS - Semana 06 - Diseño de La Arquitectura de Software
DAS - Semana 06 - Diseño de La Arquitectura de Software
DAS - Semana 06 - Diseño de La Arquitectura de Software
Software
Diseo de la Arquitectura de Software
Agenda
01.- Recordando
02.- Patrones de software
03.- Estilos, Patrones e Idioms
04.- Creacin de una Arquitectura de Software.
05.- Esquema de proceso de modelado de AS
06.- Etapas del Proceso
07.- Identificar requerimientos
08.- Requerimientos No Funcionales
09.- Ejemplo de requerimientos de AS
10.- Restricciones (constraints)
11.- Ejemplos de restricciones
12.- Priorizacin de Requerimientos
13.- Diseo de la Arquitectura de Software
14.- Mtricas de Diseo
2
Logro de Aprendizaje
3
Puedes triunfar aunque te digan lo contrario
https://www.youtube.com/watch?v=hzcJ4YRKL4Q
4
Recordando
5
RecordandoDesarrollo de Sistemas
6
RecordandoRequisitos determinan el modelo
7
RecordandoInfluencia de los Interesados
8
RecordandoQu tan Fcil es Modificarla?
Me gustara que el
ascensor quedara del
otro lado
9
Patrones de Software
Propsito
Compartir una solucin probada,
ampliamente aplicable
a un problema particular de diseo.
El patrn se presenta en una forma estndar que
permite que sea fcilmente reutilizado.
Cinco piezas importantes de un patrn
Nombre
Contexto
Problema
Solucin
Consecuencias (positivas y negativas)
10
Estilos, Patrones e Idioms
Los patrones de diseo se agrupan en tres tipos
Estilos arquitectnicos: Soluciones de organizacin
a nivel del sistema
11
Estilos Arquitectnicos
Un estilo arquitectnico
expresa un esquema de organizacin estructural para
sistemas de software.
Provee un conjunto de tipos de elementos
predefinidos,
especifica sus responsabilidades e
incluye reglas y guas para organizar las relaciones
entre ellos Capa n
Capa n - 1
Capa 2
Capa 1 12
Patrones de Diseo
Un patrn de diseo
provee un esquema para refinar los elementos de un
sistema de software o las relaciones entre ellos.
Describe una estructura recurrente de elementos de
diseo interconectados que soluciona un problema
general de diseo dentro de un contexto particular
13
Idioms
Un idiom
es un patrn de bajo nivel, especfico para un
lenguaje de programacin.
Describe como implementar aspectos particulares de
elementos o de las relaciones entre ellos usando las
caractersticas de un lenguaje particular.
14
Creacin de una Arquitectura de Software
15
Esquema de proceso de modelado de AS
16
Etapas del Proceso
1.-Definir los requerimientos: Involucra crear un modelo
desde los requerimientos que guiarn el diseo de la
arquitectura basado en los atributos de calidad esperados
17
Identificar requerimientos
18
Requerimientos No Funcionales
19
Ejemplo de requerimientos de AS
20
Restricciones (constraints)
1.- Las restricciones (constraints) imponen condiciones sobre
la arquitectura que normalmente no son negociables.
21
Ejemplos de restricciones
22
Priorizacin de Requerimientos
23
Diseo de la Arquitectura de Software
24
Mtricas Diseo
Cohesin
Da la medida de hasta que punto la funcin de un componente se enfoca
en un solo concepto. La Cohesin es una propiedad de la componente.
El objetivo es de alta cohesin.
Acoplamiento
El grado de interdependencia entre los componentes que interactan.
Acoplamiento es una propiedad de la asociacin entre componentes. El
objetivo es bajo acoplamiento.
Fan-out
El nmero de componentes que actan como servidores a un cliente
singular. El objetivo es un Fan-out bajo.
Fan-in
El nmero de componentes que actan como clientes a u n singular
servidor. Mayor fan-in es permisible con un servidor altamente cohesivo.
25
Preguntas
26
Resumen
27
Bibliografa
Software Engineering 7ed
Addison Wesley
Ian Sommerville
Documenting Software Architectures Views and Beyond
Addison-Wesley
Paul Clements et al.
Software Systems Architecture Working with stakeholders using
viewpoints and perspectives
Addison-Wesley
Nick Rozanski y Eoin Woods
28