fundamentos de definición de arquitectura de software

44
Septiembre 27 a Octubre 01 de 2005 Bogotá, Colombia Fundamentos de Definici de Arquitectura de Soft Mauricio Naranjo Chief Architect [email protected] Lucasian Labs Ltda.

Upload: periclay

Post on 07-Oct-2015

42 views

Category:

Documents


0 download

DESCRIPTION

Fundamentos de Definición de Arquitectura de Software

TRANSCRIPT

Fundamentos de Definición de Arquitectura de Software
Mauricio Naranjo Chief Architect [email protected]
Lucasian Labs Ltda.
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%'2
Agenda Conferencia
( Arquitectura Vs- .ise/o
(4ecciones Aprendidas en 1onsultor5a
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%'
Arquitectura de Software
3emos una”
(#$$$ &'(&
( Arquitectura es la or0ani7ación
fundamental de un sistema
 9 +elación entre ellos , con el
amiente-
e3olución-
)ractice % *a+man
 
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%',
Discusión
cr5tico---
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%'-
(.os factores primarios en la in0enier5a de software
que <an incrementado la importancia de la
arquitectura8
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%'(
$olución de Arquitecturas ( A/licaciones 0onol1ticas
( Interfaces 0ráficas de usuario =>?I@-
( Ser3icios de presentación6 ne0ocios
( Alto acoplamiento entre tiers-
Arquitectura Cliente%Seridor 
( 1lientes pesados6 no estándar 
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%'
$olución de Arquitecturas ( Arquitectura Cliente%Seridor
0ejorada
diferentes clientes o sistemas-
( Mejora la escalailidad-
( Mejora la fle;iilidad-
 
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%'3
$olución de Arquitecturas
&%%-%%%(
 
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%'&5
$olución de Arquitecturas (6isión de Arquitectura 7rientada a Sericios 8S7A9
Cluster de Servidores de Aplicaciones
Aplicaciones Legadas
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%'&&
!ue es un Arquitecto de Software"
• :ational ;nified )rocess
desarrollo de software el cual es
responsale de8
 –  :roducir los artefactos necesarios8
.ocumento de descripción de
 –  Visuali7a el comportamiento del sistema-
 –  1rea los planos del sistema-
 –  .efine la forma en la cual los elementos del sistema traajan en conjunto-
 
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%'&2
Discusión
de software*
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%'&
Arquitectura 6s. Dise=o ( 4a arquitectura , el dise/o difieren en tres áreas8
Arquitectura Dise=o
espec5fico en detalles
con sistemas e;ternos6
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%'&'
Arquitectura 6s. Dise=o (4a arquitectura en3uel3e un conjunto de decisiones
estrat20icas de dise/o6 lineamientos6 re0las ,
patrones que restrin0en el dise/o , la implementación
de un software-
Las decisiones de arquitectura causan un alto impacto en los proyectos de I
Arquitectura
Diseño
Implementación
Código
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%'&,
Discusión
m2todos de desarrollo de software modernos*
 
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%'&-
Arquitectura ? )rocesos de Desarrollo )rinci/ios Fundamentales de )rocesos 0odernos
( .esarrollo iterati3o e incremental-
( Conducido /or las calidades sistmicas. ( Centrado en la arquitectura. ( .iri0ido por los casos de uso-
( asada en Modelos-
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%'&(
Arquitectura ? )rocesos de Desarrollo ( !ue es un )roceso de Arquitectura"
( :ational ;nified )rocess< ( Secuencia de acti3idades
que conlle3an a la
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%'&
Arquitectura ? )rocesos de Desarrollo :ational ;nified )rocess< En el proceso de definición de
arquitectura se producen8
( Matri7 ecnoló0ica de 4a,ers
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%'&3
Definición de Arquitectura en :;) Fase de #nicio ( 1on respecto a la arquitectura6 en la
fase de inicio de los pro,ectos se
estalece8
 
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%'25
Definición de Arquitectura en :;) Fase de $laboración ( 1on respecto a la arquitectura6 en la
fase de elaoración se estalece8
 9 Arquitectura l1nea base.
 Arquitectura-
 
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%'2&
Definición de Arquitectura en :;) ( 0odelo de 6ista 'B& ( CrameworD para .escripción de Arquitectura6 asado en 3istas
ló0icas , f5sicas ?M4 , una 3ista funcional de casos de uso-
)rocess 6iew De/lo?ment 6iew
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%'22
Definición de Arquitectura en :;)
Prototipar la Arquitectura
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%'2
Definición de Arquitectura en Sunone A0 ( Metodolo05a de desarrollo de software análo0a al ?nified
:rocess =?:@ con un fuerte 2nfasis en 1alidad de Ser3icio ,
:atrones de dise/o-
( El cuo8 frameworD conceptual6 el cual pro3ee una 3ista
tridimensional8
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%'2'
Definición de Arquitectura en Sunone A0
 
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%'2,
Definición de Arquitectura en Sunone ()rinci/ios Arquitectónicos (4a arquitectura es primariamente necesaria para crear
un frameworD para el desarrollo asado en patrones ,
para la entre0a de calidades sist2micas predeciles-
usiness
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%'2-
Definición de Arquitectura en #F0
()rinci/ios Arquitectónicos (El proceso de creación de arquitectura dee ser un
proceso de creación de 3alor-
(4a arquitectura se descompone en elementos
arquitectónicos =AEs@-
proceso secuencial diri0ido por el +$I-
 
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%'2(
Definición de Arquitectura en #F0
MM& A
=AEs@ se reali7a incrementalmente acorde a la
secuencia de MMCs6 determinada por el +$I-
 
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%'2
$jem/lo de Definición de Arquitectura
(eanE rusted osting ( GorEsho/ de Arquitectura ? Dise=o de A/licaciones H2$$ ( 1urso GS'%I # 4ucasian 4as 4tda-
( Entidad que presta el <ostin0
de los ser3icios de anca
personal en Internet
 
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%'23
$jem/lo de Definición de Arquitectura
(.ado un conjunto de requerimientos primarios
 
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%'5
$jem/lo de Definición de Arquitectura
(Identificación de requerimientos funcionales , de
calidad de ser3icio =)oS@
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%'&
$jem/lo de Definición de Arquitectura
(Identificación de supuestos6 ries0os , restricciones
 
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%'2
$jem/lo de Definición de Arquitectura
(Identificación de Actores , 1asos de ?so primarios
 
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%'
$jem/lo de Definición de Arquitectura
( Arquitectura 4ó0ica- Identificación de tiers ló0icos6
susistemas , paquetes
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%''
$jem/lo de Definición de Arquitectura
(.ise/o de Arquitectura +untime- .ia0rama de
.esplie0ue-
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%',
$jem/lo de Definición de Arquitectura
(:lataforma ecnoló0ica- .efinición de la matri7
tecnoló0ica de la,ers , tiers
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%'-
Discusión
comunes de ries0oH
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%'(
Calidades Sistmicas ( El manejo inadecuado de los requerimientos no
funcionales6 es una de las fuentes más importante
de ries0o en los pro,ectos8  9 +e0las de ne0ocio de alta complejidad-
 9 1alidades sist2micas − Se0uridad
un ries0o primario relacionado con la arquitectura-
 
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%'
Calidades Sistmicas
(Definición
( :ropiedades que estalecen la calidad de ser3icio =)oS@ que un sistema e;pone-
( Son 0loales a toda la arquitectura
( Influencian el dise/o-
(Familias de
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%'3
Calidades Sistmicas % 0anifiestas
( )erformance- iempo de respuesta desde el punto de 3ista del
usuario-
correctamente-
procesar solicitudes-
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%''5
Calidades Sistmicas % 7/eracionales
administrati3as-
errores-
( Securit?- :re3ención de uso indeseado6 por auso o uso inapropiado8
 9 Identidad  9 Autoridad  9 1onfidencialidad  9 Auditailidad  9 Inte0ridad
( estabilit?- Esfuer7o in3ertido para detectar , aislar errores-
$ser3ales cuando el sistema está operando en producción-
 
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%''&
Calidades Sistmicas % $olutias (+elacionadas con el comportamiento del sistema
cuando sufre al0Jn camio-
( $scalabilit?- 4a <ailidad para soportar la calidad de ser3icio requerida conforme la car0a aumenta-
( FleIibilit?- Esfuer7o a<orrado cuando
se <ace un camio de confi0uración-
( )ortabilit?- Esfuer7o a<orrado
diferente-
errores-
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%''2
Lecciones A/rendidas en Consultor1a
( .efina una persona o un 0rupo de personas e;perimentadas6 encar0adas de definir , 3alidar arquitectura de sus pro,ectos-
( Estale7ca los requerimientos de calidad de ser3icio con los e;pertos del dominio , con los usuarios finales-
( In3olucre al equipo de traajo en el proceso de definición de
arquitectura-
( .ocumente , comunique la arquitectura , lineamientos de dise/o , lo0re aceptación- No la impon0a-
( Sea firme con las decisiones6 3alore impactos
e identifique ries0os-
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%''
Lecciones A/rendidas en Consultor1a
( Valore alternati3as de arquitectura , dise/o tomando en cuenta las calidades sist2micas , relación costo#eneficio-
( Instancie los mecanismos arquitectónicos definidos incrementalmente- No los instancie en loque-
( +eutilice frameworDs6 patrones de dise/o , mejores prácticas- Sea
racional en el uso de tecnolo05as-
 
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiemre !"#$cture %& de !%%'''
Fundamentos de Definición de Arquitectura de Software
Mauricio Naranjo Chief Architect [email protected]
Lucasian Labs Ltda. www.lucasian.com