Vous êtes sur la page 1sur 28

Diseo y Arquitectura de

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

Al final de la sesin, el alumno entender el


proceso de diseo de la arquitectura de software

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

Estara brbaro que el


puente estuviera 23
pisos ms arriba, la
vista sera mejor

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

Patrones de diseo: Soluciones a problemas


detallados de diseo de software

Idioms: Soluciones tiles para problemas especficos


en algn lenguaje de programacin

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

Existen mtodos y guas para la definicin de la


arquitectura, muchos de los cuales se focalizan en
los requisitos funcionales.

Es posible crear una arquitectura basada en las


necesidades de atributos de calidad.

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

2.-Diseo de la Arquitectura : Involucra definir la estructura


y las responsabilidades de los componentes que
comprendern la Arquitectura de Software

3.-Validacin: Significa probar la arquitectura, tpicamente


pasando a travs del diseo contra los requerimientos
actuales y cualquier posible requerimiento a futuro.

17
Identificar requerimientos

18
Requerimientos No Funcionales

1.-Describen como el software debe comportarse, es decir


como hacer algo, no que debe hacer

2.-Estn relacionados con los requerimientos funcionales


porque describen la forma que se espera se logren
dichos requerimientos

3.-En algunos casos tienen restricciones de cmo hacerlo

4.-Se clasifican de acuerdo al atributo de calidad


esperado del sistema

19
Ejemplo de requerimientos de AS

20
Restricciones (constraints)
1.- Las restricciones (constraints) imponen condiciones sobre
la arquitectura que normalmente no son negociables.

2.- Limitan el rango de alternativas de decisin del arquitecto

3.-Algunas veces hace la vida ms fcil para el arquitecto, en


otras lo complica.

4.-Se pueden clasificar segn su naturaleza:

5.-Negocio, Desarrollo, Tiempo, Costo, etc.

21
Ejemplos de restricciones

22
Priorizacin de Requerimientos

1.-Alta: La aplicacin debe soportar el requerimiento. Estos


requerimientos guan el diseo de la arquitectura

2.-Media: Requerimientos que necesitan ser soportados en


algn momento o etapa del proyecto pero no
necesariamente en esta siguiente versin.

3.-Baja: Se conoce como parte de la wish-list. Se pueden


implementar cuando sea posible hacerlo.

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

El resumen de la clase se realizar con la participacin


del Alumno.

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

Vous aimerez peut-être aussi