Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
"os re#uerimientos de calidad $escenarios% especi&ican las respuestas del so&t'are a determinados estmulos( )l ar#uitecto debe aplicar ciertas tcticas para poder dise*ar una ar#uitectura de so&t'are #ue permita brindar estas respuestas(
Tctica
Decisi-n de dise*o #ue a&ecta el control de una respuesta a un atributo de calidad( Mecanismo arquitectnico. sin-nimo( Con0unto de tcticas(
Tcticas para controlar la respuesta
)strate/ia Ar#uitect-nica
)st,mulo
Respuesta
Disponibilidad (Availability). la medida del tiempo en #ue el sistema est operati1o 2 e0ecutando correctamente(
Una falla del sistema ocurre cuando este no entrega ms un servicio consistente con sus especificaciones !sta falla es observable por los usuarios del sistema ("umano u otros sistemas)
Tcticas para controlar Disponibilidad
Falla
Detecci-n de Fallas. +onitoreo de acti1idad 2 reporte de &allas #ing$eco. una componente en1,a un 5pin/6 2 espera recibir un 5eco6 de respuesta de la componente escrutada( +7ltiples ni1eles detectores. componentes 8asta procesos( %eartbeat (latido). se emite un mensa0e 58eartbeat6 peri-dicamente a otra componente #ue tiene #ue estar escuc8ando9 si esto &alla se asume #ue la componente ori/en &all-9 se noti&ica a una componente de correcci-n de errores( ):cepciones. disparadas cuando ocurre un error4&alla( ;mplica restricciones en los patrones de interacci-n entre las componentes
'
Recupero de Fallas Redundancia de componentes cr,ticas acti1as Todos los componentes responden a los e1entos( Solo es considerada una respuesta( Redundancia de componentes cr,ticas pasi1as )l componente primario responde9 actuali<a los secundarios( Sincroni<aci-n. responsabilidad de la componente primaria =lata&orma de c-mputos standb2 de repuesto )strate/ias de recupero de errores en todo el sistema =re1enci-n para mane0ar transportes inestables Redundancia de caminos de comunicaci-n cr,ticos Capacidad de intercambio $>s'itc8in/>% en acti1idad $>li1e s'itc8in/>9 >8ots'ap>% Capacidad de recupero o inicio rpido(
=re1enci-n de Fallas
)0emplo. reiniciar las componentes peri-dicamente( ?lo#ues de 1arios pasos secuenciales( Se des8acen en blo#ue( Control de inte/ridad de datos( Detecta &allas en los procesos9 2 reinicia nue1as instancias(
Transacciones
+onitor de =rocesos
Dise ar esquema de interaccin entre componentes que ayude a identificar !reas con problemas
+,
Arribo de Cambios
++
Descomposici-n &uncional 2 asi/naci-n de &uncionalidades consistente $Co8erencia Semntica - Co8esi-n% )mpa#uetado $>pacAa/in/>% consistente de &uncionalidad $Co8erencia Semntica - Co8esi-n% Abstraer ser1icios comunes en un m-dulo especiali<ado( Uso de un pe#ue*o n7mero de patrones de dise*o( Capas 3cultamiento de in&ormaci-n $in&ormaci-n p7blica 2 pri1ada B ;nter&aces p7blicas 2 pri1adas% +antener las inter&aces e:istentes de una componente $nombre 2 si/natura% Desacoplar los productores de los consumidores de datos o ser1icios $Acoplamiento% Separar de&inici-n de inter&aces de su implementaci-n(
Diseo SW Basado en Arquitecturas ISI - UTN - FRSF +2
#erformance. se re&iere a las respuestas del sistema9 2a sea el tiempo requerido para responder a eventos especficos o la cantidad de eventos procesados en un inter1alo de tiempo dado CSmit89 !DDEF Normalmente e:presado por la cantidad de transacciones por unidad de tiempo o por el tiempo que toma completar una transaccin con el sistema( &omunicacin toma ms tiempo #ue los clculos per&ormance es una &unci-n de cuanta comunicacin e interaccin 8a2 entre las componentes $problema ar#uitect-nico%(
Diseo SW Basado en Arquitecturas ISI - UTN - FRSF +#
Tcticas.
Arribo de )1entos
+$
=articionamiento de la &uncionalidad(
+%
;ntroducir Concurrencia +antener m7ltiples copias de datos o clculos( ;ncrementar los recursos disponibles Fle:ibilidad de asi/naci-n de 8ard'are +ecanismos de monitoreo $internas al producto% 2 8erramientas $e:ternas al producto% =ro/ramaci-n de tiempo real 2 mecanismos de monitoreo =a#uetes $de SH% con &acilidades para modelar per&ormance( Administraci-n de recursos(
Diseo SW Basado en Arquitecturas ISI - UTN - FRSF +'
'eguridad. 8abilidad del sistema para resistir intentos no autori<ados a usar ser1icios del sistema9 mientras permanece pro1e2endo ser1icios a usuarios le/,timos(
Tcticas para controlar Se/uridad
Ata#ues
+(
Resistir ata#ues
)ncriptaci-n 2 desencriptaci-n I=N $Iirtual =ri1ate Net'orA% o SS" $Secure SocAets "a2er% ;n&ormaci-n redundante9 c8ecAsums o 8as8 +inimi<aci-n de los puntos de entrada Fire'alls9 D+J $Demilitari<ed Jone%
+antener inte/ridad
"imitar e:posici-n
"imitar acceso
+)
Detecci-n de ata#ues
Comparar patrones de tr&ico de red con una ?D Si 8a2 di&erencias se compara con patrones 8ist-ricos de ata#ues conocidos(
Sistemas de monitoreo de los sensores 2 administraci-n de las acciones a tomar ante la detecci-n de un intruso(
+*
+antener copias redundantes de datos administrati1os. cla1es9 listas de control de accesos9 ser1icios de nombres de dominios9 2 datos de per&iles de usuarios( +antener un re/istro de auditor,a(
;denti&icar un atacante
Una copia de cada transacci-n aplicada a los datos 0unto con in&ormaci-n de identi&icaci-n(
2,
Tcticas .
5Ser1idor de autenticaci-n6 ubicado entre los usuarios e:ternos 2 la parte del sistema #ue pro1ee los ser1icios(
)l sistema puede ser ubicado detrs de un K&ire'allL de comunicaciones a tra1Ms del cual toda la comunicaci-n desde 2 8acia el sistema son mane0adas por un pro:2( Fire'all de aplicaci-n +antener re/istros de auditor,a para recupero( Nernels $n7cleos% 2 s8ells $capas% de se/uridad
)l sistema puede ser construido sobre un Aernel se/uro #ue pro1ea ser1icios de se/uridad(
2+
"suarios
Diseo SW Basado en Arquitecturas ISI - UTN - FRSF 22
;denti&icar componentes especiales $las #ue deben ser prote/idas%9 Separarlas del resto de las &uncionalidades del sistema9 O establecer la coordinaci-n e interacci-n de las otras componentes a tra1Ms de estas(
2#
Testability. la &acilidad con la cual se puede demostrar #ue el so&t'are &alla( Conceptos relacionados.
Detecci-n de errores
2$
Tcticas .
+ecanismos para monitoreo interno9 captura9 re/istro 2 reporte )ntornos de e0ecuci-n especiali<ados $e0(. para sistemas inte/rados% @erramientas de simulaci-n @erramientas de testeo Recursos para monitoreo 2 debu//in/ )s#uema de mane0o de error consistente Ni1el de documentaci-n ar#uitect-nica Uso de ocultamiento de in&ormaci-n Desarrollo incremental Separar inter&aces de implementaci-n
Diseo SW Basado en Arquitecturas ISI - UTN - FRSF 2%
Usabilidad. la &acilidad de uso 2 de entrenamiento de los usuarios &inales del sistema( Aspectos de la usabilidad.
Re#uerimientos Usuario
2'
Des8acer $Undo% ;nterrupci-n de la acci-n actual $Cancelar% +ostrar m7ltiples 1istas +antener modelos de las tareas $)0(. las palabras comien<an con ma27sculas Corrector de Sinta:is% +antener modelos de usuario $)0(. Scrollin/ ms lento% +antener modelos del sistema $)0(. poder predecir el tiempo necesario para una acti1idad%
2(
Tcticas de dise*o.
;nter&aces de usuarios $U;% con un >looA and &eel> com7n9 2 >toolAits> de U; comunes( Gu,as de estilo 2 >&rame'orAs> de soporte comunes(
2)
+inimi<ar la comple)idad e+terna de las componentes $inter&aces9 pre 2 post condiciones9 etc(% Con0unto limitado de mecanismos de interacci-n 2 protocolos ):istencia de es#uema uni1ersal de asi/naci-n de nombres )stablecer nombres de ser1icios )special atenci-n a las inter&aces de las componentes
Diseo SW Basado en Arquitecturas ISI - UTN - FRSF 2*
#ortabilidad. la 8abilidad del sistema para e0ecutar en di&erentes entornos de computaci-n $8ard'are9 so&t'are9 o ambos%( Un sistema es portable cuando lo/ra colocar todas las relaciones con un entorno operati1o particular en una componente o un con0unto pe#ue*o de componentes &cilmente intercambiables(
#,
Tcticas .
Capas independientes de la plata&orma4redes &apa de portabilidad, con0unto de ser1icios de SH #ue le brindan a la aplicaci-n una inter&ace abstracta de su entorno( "a capa de portabilidad sur/e de aplicar &uertemente los principios de ocultamiento de informacin( +#uinas 1irtuales $Ja1a% Runtimes. Cobol9 =ro/ress9 etc( Compiladores C Uso de inter&aces estndares $entre m-dulos%
#+
-eusabilidad. el /rado en el cual componentes e:istentes $o el sistema completo% pueden ser reusadas en una nue1a aplicaci-n( Si un sistema es estructurado para #ue sus componentes puedan ser ele/idas de componentes 2a construidas *ntegrabilidad Depende del /rado de acoplamiento entre las componentes(
#2
Tcticas .
+inimi<ar acoplamiento Re/ularidad 2 minimi<aci-n de patrones Crear un &rame'orA de la aplicaci-n Crear una ar#uitectura de l,nea de producto
##
*ntegrabilidad. la 8abilidad de 8acer el desarrollo de componentes en &orma separada 2 #ue el sistema traba0e correctamente al 0untarlas( Depende.
Comple0idad e:terna de las componentes +ecanismos de interacci-n 2 protocolos Grado en el cual las responsabilidades 8a sido claramente particionadas( PuM tan bien 2 completamente 8an sido especi&icadas las inter&aces
#$
capacidad de un subcon0unto de partes del sistema para traba0ar con otro sistema( +inimi<aci-n de inter&ace Con0unto limitado de mecanismos4protocolos de interacci-n Acoplamiento m,nimo
Tcticas .
#%
Bib io0raf1a
KSo&t'are Arc8itecture in =racticeL Second )dition9 "en ?ass9 =aul Clement9 RicA Na<man9 Addison-Hesle29 200E C8apter Q R Arc8ie1in/ Pualities KPualit2 AttributesL9 +ario ?arbacci9 +arA @( Nlein9 T8omas A( "on/sta&&9 C8arles ?( HeinstocA9 Tec8nical Report9 C+U-S);9 !DDQ
#'