SlideShare una empresa de Scribd logo
1 de 42
Gestión de Software



Evaluación de Arquitecturas de
          Software


          Grupo 10
- Índice -

Los puntos a tratar en esta presentación son
los siguientes:

   Introducción
   Evaluación de Arquitecturas de Software
   SAMM
   ATAM
   ARID

   Conclusiones


          Evaluación de Arquitecturas de Software - Grupo 10
- Introducción -

Definición de una Arquitectura de Software:



La Arquitectura de Software de un programa o
sistema de computación es la estructura o las
estructuras del sistema, que contienen
componentes de software, las propiedades
externamente visibles de dichos componentes
y las relaciones entre ellos.
                                                              Bass, 98




         Evaluación de Arquitecturas de Software - Grupo 10
- Introducción -

Implicancias de la definición:



   La arquitectura es una abstracción de un
 sistema o sistemas
   Como la arquitectura es abstracta, esta
 elimina la información local, los detalles de
 componentes privados no son arquitectónicos
   Los sistemas están compuestos por muchas
 estructuras (comúnmente llamadas vistas)




         Evaluación de Arquitecturas de Software - Grupo 10
- Evaluación de una
Arquitectura de Software -



¿Cómo puedo estar seguro que la
arquitectura elegida es la correcta
        para mi software?




      Evaluación de Arquitecturas de Software - Grupo 10
- Evaluación de una
Arquitectura de Software -



 Si las decisiones arquitectónicas
determinan los atributos de calidad
  del sistema, entonces es posible
        evaluar las decisiones
 arquitectónicas con respecto a su
  impacto sobre dichos atributos.



      Evaluación de Arquitecturas de Software - Grupo 10
- Evaluación de una
Arquitectura de Software -

¿Cómo determinamos que forma parte de una
Arquitectura?

   Debe ser un componente, relación entre
 componentes, o una propiedad (de
 componentes o relaciones) que necesita ser
 externamente visible, con el objetivo de
 razonar sobre la habilidad del sistema de
 alcanzar sus requerimientos de calidad, o de
 soportar la descomposición del sistema en
 partes independientemente implementables


        Evaluación de Arquitecturas de Software - Grupo 10
- Evaluación de una
Arquitectura de Software -

¿Por qué evaluar una Arquitectura?


   Cuanto más temprano se encuentre un
 problema en un proyecto de software, mejor
   Realizar una evaluación de la arquitectura
 es la manera más económica de evitar
 desastres




        Evaluación de Arquitecturas de Software - Grupo 10
- Evaluación de una
Arquitectura de Software -

¿Cuándo una Arquitectura puede ser
evaluada?



   Evaluación temprana

   Evaluación tardía




        Evaluación de Arquitecturas de Software - Grupo 10
- Evaluación de una
Arquitectura de Software -

¿Quiénes están involucrados?




   Equipo de evaluación

   Stakeholders




        Evaluación de Arquitecturas de Software - Grupo 10
- Evaluación de una
Arquitectura de Software -

¿Qué resultado produce la evaluación de una
Arquitectura?



   La evaluación de una arquitectura no
 produce resultados cuantitativos

   La evaluación ayuda a encontrar debilidades




        Evaluación de Arquitecturas de Software - Grupo 10
- Evaluación de una
Arquitectura de Software -

¿Por qué cualidades puede ser evaluada una
Arquitectura?


   Performance

   Availability

   Security

   Modifiability


        Evaluación de Arquitecturas de Software - Grupo 10
- Evaluación de una
Arquitectura de Software -

¿Por qué los atributos de calidad son
demasiados imprecisos para el análisis?


   El sistema debe ser robusto

   El sistema debe ser modificable

   El sistema debe ser seguro

   El sistema debe tener una performance
 aceptable

         Evaluación de Arquitecturas de Software - Grupo 10
- Evaluación de una
Arquitectura de Software -

¿Cuáles son las salidas de una evaluación
arquitectónica?


   Lista priorizada de los atributos de calidad
 requeridos para la arquitectura que está
 siendo evaluada.
   Riesgos y no riesgos




         Evaluación de Arquitecturas de Software - Grupo 10
- Evaluación de una
Arquitectura de Software -

¿Cuáles son los costos y beneficios de realizar
una evaluación arquitectónica?


   Reúne a los stakeholders

   Fuerza una articulación en las metas
 específicas de calidad
   Fuerza una explicación clara de la
 arquitectura



         Evaluación de Arquitecturas de Software - Grupo 10
- SAAM
   Propósito
   Contexto y escenarios
   Roles
   Método de análisis
   Fortalezas
   Debilidades



        Evaluación de Arquitecturas de Software - Grupo 10
- SAAM                  Propósito


 Basado en escenarios
 Foco modificabilidad
 Evaluar una arquitectura o
  evaluar y comparar varias




      Evaluación de Arquitecturas de Software - Grupo 10
- SAAM         Contexto y escenarios
 Atributos de calidad complejos y
  amorfos para evaluarse simplemente
 Dependientes del contexto
 Escenario. Interacción entre un
  interesado y el sistema
 Escenario directo. El sistema no debe
  ser modificado para soportarlo
 Escenario indirecto
 Interacción de escenarios. Dos o más
                  escenarios
  escenarios indirectos requieren
  cambios sobre el mismo componente

        Evaluación de Arquitecturas de Software - Grupo 10
- SAAM Roles

 Interesados externos (Organización
  cliente, usuarios finales,
  administradores del sistema, etc.)
 Interesados internos (Arquitectos de
  Software, analistas de
  requerimientos)
 Equipo SAAM (Líder, expertos en el
  dominio de la aplicación, expertos
  externos en arquitectura y secretario)

        Evaluación de Arquitecturas de Software - Grupo 10
- SAAM Metodología

 Paso 1. Desarrollo de escenarios
 Paso 2. Descripción de la
  Arquitectura
 Paso 3. Clasificación de escenarios
 Paso 4. Evaluación de escenarios
 Paso 5. Interacción de escenarios
 Paso 6. Evaluación general


       Evaluación de Arquitecturas de Software - Grupo 10
- SAAM Fortalezas

 Los interesados comprenden con
  facilidad las arquitecturas
  evaluadas.
 La documentación es mejorada.
 El esfuerzo y el costo de los
  cambios pueden ser estimados con
  anticipación.
 Analogía con el concepto de bajo
  acoplamiento y alta cohesión.
      Evaluación de Arquitecturas de Software - Grupo 10
- SAAM Debilidades

 La generación de escenarios está
  basada en la visión de los interesados
 No provee una métrica clara sobre la
  calidad de la arquitectura Evaluada.
 El equipo de evaluación confía en la
  experiencia de los arquitectos para
  proponer arquitecturas candidatas.




       Evaluación de Arquitecturas de Software - Grupo 10
- ATAM -

   Architecture Tradeoff Analysis
              Method


Este método de evaluación obtiene su nombre
    no solo porque nos dice cuan bien una
arquitectura particular satisface las metas de
  calidad, sino que también provee ideas de
cómo esas metas de calidad interactúan entre
   ellas, como realizan concesiones mutuas
             (tradeoff) entre ellas.




         Evaluación de Arquitecturas de Software - Grupo 10
- ATAM -

El método consta de nueve pasos, divididos
            en cuatro grupos:



 Presentación
 Investigación y Análisis
 Pruebas
 Informes




       Evaluación de Arquitecturas de Software - Grupo 10
- ATAM -

                  Presentación

 Paso 1: Presentar el ATAM



  Los pasos del ATAM en resumen
   Las técnicas que serán utilizadas para la
 obtención y análisis
  Las salidas de la evaluación




        Evaluación de Arquitecturas de Software - Grupo 10
- ATAM -

                  Presentación

 Paso 2: Presentar las pautas del negocio



  Las funciones más importantes del sistema
  Toda restricción técnica
  La mayoría de los stakeholders
  Las guías de la arquitectura




        Evaluación de Arquitecturas de Software - Grupo 10
- ATAM -

                  Presentación

 Paso 3: Presentar la arquitectura



  Las restricciones técnicas
  Otros sistemas
  Propuestas arquitectónicas




        Evaluación de Arquitecturas de Software - Grupo 10
- ATAM -

       Investigación y Análisis

 Paso 4: Identificar las propuestas
 arquitectónicas


 El ATAM centraliza el análisis de una
 arquitectura en el entendimiento de sus
 propuestas arquitectónicas, en este paso son
 capturadas por el equipo de evaluación pero
 no son analizadas




        Evaluación de Arquitecturas de Software - Grupo 10
- ATAM -

       Investigación y Análisis

 Paso 5: Generar el árbol de utilidad de los
 atributos de calidad


 Este paso es crucial, pues guía el resto del
 análisis. Sin esta guía, los evaluadores
 pueden perder su tiempo analizando aspectos
 de la arquitectura que no son de interés para
 los stakeholders.




        Evaluación de Arquitecturas de Software - Grupo 10
- ATAM -

       Investigación y Análisis

 Paso 5: Generar el árbol de utilidad de los
 atributos de calidad




        Evaluación de Arquitecturas de Software - Grupo 10
- ATAM -

       Investigación y Análisis

 Paso 6: Analizar las propuestas
 arquitectónicas




        Evaluación de Arquitecturas de Software - Grupo 10
- ATAM -

                       Pruebas

 Paso 7: Lluvia de ideas y priorización de
 escenarios


 Este paso consiste en la generación de
 nuevos escenarios para:
 • Representar los intereses de los
 stakeholders que no hayan sido
 comprendidos




        Evaluación de Arquitecturas de Software - Grupo 10
- ATAM -

                       Pruebas

 Paso 8: Analizar las propuestas
 arquitectónicas


 En este paso el equipo de evaluación realiza
 las mismas actividades que en el paso 6,
 mapeando los escenarios recientemente
 generados con ranking más alto en los
 artefactos arquitectónicos




        Evaluación de Arquitecturas de Software - Grupo 10
- ATAM -

                    Resultados

 Paso 9: Presentar los resultados

  El documento de propuestas arquitectónicas
  El conjunto de escenarios priorizados
  El árbol de utilidad
  Los riesgos descubiertos
  Los no riesgos documentados
   Los sensitivity points y tradeoff points
 encontrados


        Evaluación de Arquitecturas de Software - Grupo 10
- ARID -


An Evaluation Method for Partial
         Architectures

  Método conveniente para realizar la
 evaluación de diseños parciales en las etapas
 tempranas del desarrollo.




        Evaluación de Arquitecturas de Software - Grupo 10
- ARID -


                           ADRs

    • Revisiones de Diseños Activas

   Utilizado para la evaluación de diseños
 detallados de unidades del software como los
 componentes o módulos
  Las preguntas giran en torno a la calidad y
 completitud de la documentación y la
 suficiencia, el ajuste y la conveniencia de los
 servicios que provee el diseño propuesto



        Evaluación de Arquitecturas de Software - Grupo 10
- ARID -
        Un ADR/ATAM híbrido


   Características útiles para el problema de la
 evaluación de diseños preliminares.




        Evaluación de Arquitecturas de Software - Grupo 10
- ARID -
                Roles en ARID


  Equipo de verificación.
  Arquitecto.
  Stakeholders.




       Evaluación de Arquitecturas de Software - Grupo 10
- ARID -
                 Método ARID

 9 pasos separados en dos fases
  Fase 1: Pre reunión
  Fase 2: Evaluación




       Evaluación de Arquitecturas de Software - Grupo 10
- ARID -
                         FASE 1

 Identificar los revisores.
 Preparar la preparación del diseño.
 Preparar los escenarios
 Preparar los materiales




       Evaluación de Arquitecturas de Software - Grupo 10
- ARID -
                         FASE 2

 Presentación del método.
 Presentación del diseño.
 Lluvia de ideas y priorización de escenarios.
 Realización de la revisión
 Conclusiones




       Evaluación de Arquitecturas de Software - Grupo 10
- Conclusiones -

  El método SAAM lo sugerimos
cuándo el atributo de calidad
Modificabilidad es el de mayor
interés.
  El método ATAM es más profundo
para evaluar aspectos más
relacionados con la arquitectura,
como la performance o la
confiabilidad.
  El método ARID evalúa mejor la
factibilidad de la arquitectura.
      Evaluación de Arquitecturas de Software - Grupo 10

Más contenido relacionado

La actualidad más candente

Arquitectura ALMA
Arquitectura ALMAArquitectura ALMA
Arquitectura ALMALoloUBD
 
Sistemas críticos - Ingeniería de Sistemas
Sistemas críticos - Ingeniería de SistemasSistemas críticos - Ingeniería de Sistemas
Sistemas críticos - Ingeniería de SistemasUniminuto - San Francisco
 
Cuadro comparativo entre moprosoft y cmmi
Cuadro comparativo entre moprosoft y cmmi Cuadro comparativo entre moprosoft y cmmi
Cuadro comparativo entre moprosoft y cmmi Darthuz Kilates
 
Fundamentos de Pruebas de Software - Capítulo 3
Fundamentos de Pruebas de Software - Capítulo 3Fundamentos de Pruebas de Software - Capítulo 3
Fundamentos de Pruebas de Software - Capítulo 3Professional Testing
 
Desarrollo de software basado en lineas de productos
Desarrollo de software basado en lineas de productosDesarrollo de software basado en lineas de productos
Desarrollo de software basado en lineas de productosJOSEPHPC3000
 
Principios de diseño de la arquitectura del software
Principios de diseño de la arquitectura del softwarePrincipios de diseño de la arquitectura del software
Principios de diseño de la arquitectura del softwareJose Patricio Bovet Derpich
 
Configuracion y administracion del espacio en disco
 Configuracion y administracion del espacio en disco Configuracion y administracion del espacio en disco
Configuracion y administracion del espacio en discoYael_21
 
Arquitecturas de software - Parte 2
Arquitecturas de software - Parte 2Arquitecturas de software - Parte 2
Arquitecturas de software - Parte 2Marta Silvia Tabares
 
Modelado basados en escenarios
Modelado basados en escenariosModelado basados en escenarios
Modelado basados en escenariosUCATEBA
 
Modelos de ciclo de vida del software
Modelos de ciclo de vida del softwareModelos de ciclo de vida del software
Modelos de ciclo de vida del softwareIEO Santo Tomás
 
Conceptos sobre Gestión de Proyectos de Software
Conceptos sobre Gestión de Proyectos de Software Conceptos sobre Gestión de Proyectos de Software
Conceptos sobre Gestión de Proyectos de Software Joselito B
 
Ingenieria de requerimientos
Ingenieria de requerimientosIngenieria de requerimientos
Ingenieria de requerimientosTensor
 
Metodologías de desarrollo de software
Metodologías de desarrollo de softwareMetodologías de desarrollo de software
Metodologías de desarrollo de softwareWilfredo Mogollón
 
Cuadro comparativo
Cuadro comparativoCuadro comparativo
Cuadro comparativoLu Martinez
 

La actualidad más candente (20)

Arquitectura ALMA
Arquitectura ALMAArquitectura ALMA
Arquitectura ALMA
 
Sistemas críticos - Ingeniería de Sistemas
Sistemas críticos - Ingeniería de SistemasSistemas críticos - Ingeniería de Sistemas
Sistemas críticos - Ingeniería de Sistemas
 
Cuadro comparativo entre moprosoft y cmmi
Cuadro comparativo entre moprosoft y cmmi Cuadro comparativo entre moprosoft y cmmi
Cuadro comparativo entre moprosoft y cmmi
 
Fundamentos de Pruebas de Software - Capítulo 3
Fundamentos de Pruebas de Software - Capítulo 3Fundamentos de Pruebas de Software - Capítulo 3
Fundamentos de Pruebas de Software - Capítulo 3
 
Desarrollo de software basado en lineas de productos
Desarrollo de software basado en lineas de productosDesarrollo de software basado en lineas de productos
Desarrollo de software basado en lineas de productos
 
Principios de diseño de la arquitectura del software
Principios de diseño de la arquitectura del softwarePrincipios de diseño de la arquitectura del software
Principios de diseño de la arquitectura del software
 
Configuracion y administracion del espacio en disco
 Configuracion y administracion del espacio en disco Configuracion y administracion del espacio en disco
Configuracion y administracion del espacio en disco
 
Normas ISO 9126 - 25000
Normas ISO 9126 - 25000Normas ISO 9126 - 25000
Normas ISO 9126 - 25000
 
Modelo CMMI
Modelo CMMIModelo CMMI
Modelo CMMI
 
Arquitecturas de software - Parte 2
Arquitecturas de software - Parte 2Arquitecturas de software - Parte 2
Arquitecturas de software - Parte 2
 
Principios diseño del software
Principios diseño del software Principios diseño del software
Principios diseño del software
 
Modelado basados en escenarios
Modelado basados en escenariosModelado basados en escenarios
Modelado basados en escenarios
 
Modelos de ciclo de vida del software
Modelos de ciclo de vida del softwareModelos de ciclo de vida del software
Modelos de ciclo de vida del software
 
Modelo en cascada pemo
Modelo en cascada pemoModelo en cascada pemo
Modelo en cascada pemo
 
Conceptos sobre Gestión de Proyectos de Software
Conceptos sobre Gestión de Proyectos de Software Conceptos sobre Gestión de Proyectos de Software
Conceptos sobre Gestión de Proyectos de Software
 
Diagramas componentes
Diagramas componentesDiagramas componentes
Diagramas componentes
 
Ingenieria de requerimientos
Ingenieria de requerimientosIngenieria de requerimientos
Ingenieria de requerimientos
 
Estimación Software por Puntos de Función
Estimación Software por Puntos de FunciónEstimación Software por Puntos de Función
Estimación Software por Puntos de Función
 
Metodologías de desarrollo de software
Metodologías de desarrollo de softwareMetodologías de desarrollo de software
Metodologías de desarrollo de software
 
Cuadro comparativo
Cuadro comparativoCuadro comparativo
Cuadro comparativo
 

Destacado

Seguridad OWASP en la Certificación PA-DSS de Aplicaciones de Pago
Seguridad OWASP en la Certificación PA-DSS de Aplicaciones de PagoSeguridad OWASP en la Certificación PA-DSS de Aplicaciones de Pago
Seguridad OWASP en la Certificación PA-DSS de Aplicaciones de Pagomarcsegarralopez
 
Estudiodecasogrupo4tarea8
Estudiodecasogrupo4tarea8Estudiodecasogrupo4tarea8
Estudiodecasogrupo4tarea8cyanes01
 
Guía de implementación, integración de la seguridad en el ciclo de vida del s...
Guía de implementación, integración de la seguridad en el ciclo de vida del s...Guía de implementación, integración de la seguridad en el ciclo de vida del s...
Guía de implementación, integración de la seguridad en el ciclo de vida del s...Internet Security Auditors
 
Analisis de procesos y administracion de los productos arquitectonicos isbn
Analisis de procesos y administracion de los productos arquitectonicos isbnAnalisis de procesos y administracion de los productos arquitectonicos isbn
Analisis de procesos y administracion de los productos arquitectonicos isbnluisanamontenegro
 
Hacking web con OWASP
Hacking web con OWASPHacking web con OWASP
Hacking web con OWASPzekivazquez
 
Introduccion a la OWASP Guatemala
Introduccion a la OWASP GuatemalaIntroduccion a la OWASP Guatemala
Introduccion a la OWASP GuatemalaCamilo Fernandez
 
Meta-Pregunta-Metrica (GQM)
Meta-Pregunta-Metrica (GQM)Meta-Pregunta-Metrica (GQM)
Meta-Pregunta-Metrica (GQM)junior perez
 
Borealis Salon Ad
Borealis Salon AdBorealis Salon Ad
Borealis Salon AdCarrieM13
 
Location Intelligence for Everyone
Location Intelligence for EveryoneLocation Intelligence for Everyone
Location Intelligence for EveryoneJorge Sanz
 
From producers to consumers: democratizing the access to reference data
From producers to consumers: democratizing the access to reference dataFrom producers to consumers: democratizing the access to reference data
From producers to consumers: democratizing the access to reference dataJorge Sanz
 
Location Intelligence & Data Visualization
Location Intelligence & Data VisualizationLocation Intelligence & Data Visualization
Location Intelligence & Data VisualizationJorge Sanz
 
CleverCity - Location Intelligence for Smart Cities
CleverCity - Location Intelligence for Smart Cities CleverCity - Location Intelligence for Smart Cities
CleverCity - Location Intelligence for Smart Cities CleverMaps
 

Destacado (20)

Samm owasp
Samm owaspSamm owasp
Samm owasp
 
Presentacion Guia OWASP 2014
Presentacion Guia OWASP 2014Presentacion Guia OWASP 2014
Presentacion Guia OWASP 2014
 
Seguridad OWASP en la Certificación PA-DSS de Aplicaciones de Pago
Seguridad OWASP en la Certificación PA-DSS de Aplicaciones de PagoSeguridad OWASP en la Certificación PA-DSS de Aplicaciones de Pago
Seguridad OWASP en la Certificación PA-DSS de Aplicaciones de Pago
 
Estudiodecasogrupo4tarea8
Estudiodecasogrupo4tarea8Estudiodecasogrupo4tarea8
Estudiodecasogrupo4tarea8
 
Guía de implementación, integración de la seguridad en el ciclo de vida del s...
Guía de implementación, integración de la seguridad en el ciclo de vida del s...Guía de implementación, integración de la seguridad en el ciclo de vida del s...
Guía de implementación, integración de la seguridad en el ciclo de vida del s...
 
OWASP
OWASPOWASP
OWASP
 
Analisis de procesos y administracion de los productos arquitectonicos isbn
Analisis de procesos y administracion de los productos arquitectonicos isbnAnalisis de procesos y administracion de los productos arquitectonicos isbn
Analisis de procesos y administracion de los productos arquitectonicos isbn
 
Hacking web con OWASP
Hacking web con OWASPHacking web con OWASP
Hacking web con OWASP
 
Introduccion a la OWASP Guatemala
Introduccion a la OWASP GuatemalaIntroduccion a la OWASP Guatemala
Introduccion a la OWASP Guatemala
 
Owasp Top10 Spanish
Owasp Top10 SpanishOwasp Top10 Spanish
Owasp Top10 Spanish
 
Seguros 2011
Seguros 2011Seguros 2011
Seguros 2011
 
Meta-Pregunta-Metrica (GQM)
Meta-Pregunta-Metrica (GQM)Meta-Pregunta-Metrica (GQM)
Meta-Pregunta-Metrica (GQM)
 
Mapablogs
MapablogsMapablogs
Mapablogs
 
Borealis Salon Ad
Borealis Salon AdBorealis Salon Ad
Borealis Salon Ad
 
Location Intelligence for Everyone
Location Intelligence for EveryoneLocation Intelligence for Everyone
Location Intelligence for Everyone
 
From producers to consumers: democratizing the access to reference data
From producers to consumers: democratizing the access to reference dataFrom producers to consumers: democratizing the access to reference data
From producers to consumers: democratizing the access to reference data
 
La ComunicacióN
La ComunicacióNLa ComunicacióN
La ComunicacióN
 
Location Intelligence & Data Visualization
Location Intelligence & Data VisualizationLocation Intelligence & Data Visualization
Location Intelligence & Data Visualization
 
CleverCity - Location Intelligence for Smart Cities
CleverCity - Location Intelligence for Smart Cities CleverCity - Location Intelligence for Smart Cities
CleverCity - Location Intelligence for Smart Cities
 
CARTO ENGINE
CARTO ENGINECARTO ENGINE
CARTO ENGINE
 

Similar a Evaluacion de arquitecturas

Exposicion evaluacion e_arquitecturas_de_softw
Exposicion evaluacion e_arquitecturas_de_softwExposicion evaluacion e_arquitecturas_de_softw
Exposicion evaluacion e_arquitecturas_de_softwDavid Lorett
 
Conferencia Gestión de Proyectos de TI
Conferencia Gestión de Proyectos de TIConferencia Gestión de Proyectos de TI
Conferencia Gestión de Proyectos de TIhanzcg
 
Conceptosdemodelado.pdf
Conceptosdemodelado.pdfConceptosdemodelado.pdf
Conceptosdemodelado.pdfssuser20fade
 
Exposición de etapas de analisis de sistemas Modulo CBTA 131
Exposición de etapas de analisis de sistemas Modulo CBTA 131Exposición de etapas de analisis de sistemas Modulo CBTA 131
Exposición de etapas de analisis de sistemas Modulo CBTA 131Anayelii Cortés M
 
Dierencia entre la ingeniería de software y la arquitectura de software
Dierencia entre la ingeniería de software y la arquitectura de softwareDierencia entre la ingeniería de software y la arquitectura de software
Dierencia entre la ingeniería de software y la arquitectura de softwareEnrique Torres Alarcon
 
Ciclo De Vida De Los Sistemas
Ciclo De Vida De Los SistemasCiclo De Vida De Los Sistemas
Ciclo De Vida De Los SistemasUNM
 
Ciclo De Vida De Los Sistemas
Ciclo De Vida De Los SistemasCiclo De Vida De Los Sistemas
Ciclo De Vida De Los SistemasUNM
 
Métodos de evaluación de arquitectura a un atributo específico
Métodos de evaluación de arquitectura a un atributo específicoMétodos de evaluación de arquitectura a un atributo específico
Métodos de evaluación de arquitectura a un atributo específicoTefa Gonzaga
 
AnáLisis De Sistemas
AnáLisis De SistemasAnáLisis De Sistemas
AnáLisis De Sistemasnera24mx
 
Trabajo de Christian Oblitas
Trabajo de Christian OblitasTrabajo de Christian Oblitas
Trabajo de Christian OblitasChristian1705
 
Unidad 2 - Arquitectura.pptx
Unidad 2 - Arquitectura.pptxUnidad 2 - Arquitectura.pptx
Unidad 2 - Arquitectura.pptxRunayli
 
Metodologia MeRinde
Metodologia MeRindeMetodologia MeRinde
Metodologia MeRindekyaalena
 
Gestión de Proyectos Informáticos
Gestión de Proyectos InformáticosGestión de Proyectos Informáticos
Gestión de Proyectos InformáticosPilar Pardo Hidalgo
 

Similar a Evaluacion de arquitecturas (20)

Exposicion evaluacion e_arquitecturas_de_softw
Exposicion evaluacion e_arquitecturas_de_softwExposicion evaluacion e_arquitecturas_de_softw
Exposicion evaluacion e_arquitecturas_de_softw
 
Conferencia Gestión de Proyectos de TI
Conferencia Gestión de Proyectos de TIConferencia Gestión de Proyectos de TI
Conferencia Gestión de Proyectos de TI
 
Conceptosdemodelado.pdf
Conceptosdemodelado.pdfConceptosdemodelado.pdf
Conceptosdemodelado.pdf
 
Exposición de etapas de analisis de sistemas Modulo CBTA 131
Exposición de etapas de analisis de sistemas Modulo CBTA 131Exposición de etapas de analisis de sistemas Modulo CBTA 131
Exposición de etapas de analisis de sistemas Modulo CBTA 131
 
Dierencia entre la ingeniería de software y la arquitectura de software
Dierencia entre la ingeniería de software y la arquitectura de softwareDierencia entre la ingeniería de software y la arquitectura de software
Dierencia entre la ingeniería de software y la arquitectura de software
 
Ciclo De Vida De Los Sistemas
Ciclo De Vida De Los SistemasCiclo De Vida De Los Sistemas
Ciclo De Vida De Los Sistemas
 
Ciclo De Vida De Los Sistemas
Ciclo De Vida De Los SistemasCiclo De Vida De Los Sistemas
Ciclo De Vida De Los Sistemas
 
2017.10.16-senati-powerpoint sesion8.pptx
2017.10.16-senati-powerpoint sesion8.pptx2017.10.16-senati-powerpoint sesion8.pptx
2017.10.16-senati-powerpoint sesion8.pptx
 
Presentaciondefundamentosdesoftware
PresentaciondefundamentosdesoftwarePresentaciondefundamentosdesoftware
Presentaciondefundamentosdesoftware
 
Estimación de Proyectos de Software
Estimación de Proyectos de SoftwareEstimación de Proyectos de Software
Estimación de Proyectos de Software
 
Expo aNALISIS.pptx
Expo aNALISIS.pptxExpo aNALISIS.pptx
Expo aNALISIS.pptx
 
Métodos de evaluación de arquitectura a un atributo específico
Métodos de evaluación de arquitectura a un atributo específicoMétodos de evaluación de arquitectura a un atributo específico
Métodos de evaluación de arquitectura a un atributo específico
 
AnáLisis De Sistemas
AnáLisis De SistemasAnáLisis De Sistemas
AnáLisis De Sistemas
 
Trabajo de Christian Oblitas
Trabajo de Christian OblitasTrabajo de Christian Oblitas
Trabajo de Christian Oblitas
 
Proceso de diseño
Proceso de diseñoProceso de diseño
Proceso de diseño
 
Unidad 2 - Arquitectura.pptx
Unidad 2 - Arquitectura.pptxUnidad 2 - Arquitectura.pptx
Unidad 2 - Arquitectura.pptx
 
(Inmer)La Ingenieria de Software
(Inmer)La Ingenieria de Software(Inmer)La Ingenieria de Software
(Inmer)La Ingenieria de Software
 
Arquitectura de Software
Arquitectura de SoftwareArquitectura de Software
Arquitectura de Software
 
Metodologia MeRinde
Metodologia MeRindeMetodologia MeRinde
Metodologia MeRinde
 
Gestión de Proyectos Informáticos
Gestión de Proyectos InformáticosGestión de Proyectos Informáticos
Gestión de Proyectos Informáticos
 

Evaluacion de arquitecturas

  • 1. Gestión de Software Evaluación de Arquitecturas de Software Grupo 10
  • 2. - Índice - Los puntos a tratar en esta presentación son los siguientes: Introducción Evaluación de Arquitecturas de Software SAMM ATAM ARID Conclusiones Evaluación de Arquitecturas de Software - Grupo 10
  • 3. - Introducción - Definición de una Arquitectura de Software: La Arquitectura de Software de un programa o sistema de computación es la estructura o las estructuras del sistema, que contienen componentes de software, las propiedades externamente visibles de dichos componentes y las relaciones entre ellos. Bass, 98 Evaluación de Arquitecturas de Software - Grupo 10
  • 4. - Introducción - Implicancias de la definición: La arquitectura es una abstracción de un sistema o sistemas Como la arquitectura es abstracta, esta elimina la información local, los detalles de componentes privados no son arquitectónicos Los sistemas están compuestos por muchas estructuras (comúnmente llamadas vistas) Evaluación de Arquitecturas de Software - Grupo 10
  • 5. - Evaluación de una Arquitectura de Software - ¿Cómo puedo estar seguro que la arquitectura elegida es la correcta para mi software? Evaluación de Arquitecturas de Software - Grupo 10
  • 6. - Evaluación de una Arquitectura de Software - Si las decisiones arquitectónicas determinan los atributos de calidad del sistema, entonces es posible evaluar las decisiones arquitectónicas con respecto a su impacto sobre dichos atributos. Evaluación de Arquitecturas de Software - Grupo 10
  • 7. - Evaluación de una Arquitectura de Software - ¿Cómo determinamos que forma parte de una Arquitectura? Debe ser un componente, relación entre componentes, o una propiedad (de componentes o relaciones) que necesita ser externamente visible, con el objetivo de razonar sobre la habilidad del sistema de alcanzar sus requerimientos de calidad, o de soportar la descomposición del sistema en partes independientemente implementables Evaluación de Arquitecturas de Software - Grupo 10
  • 8. - Evaluación de una Arquitectura de Software - ¿Por qué evaluar una Arquitectura? Cuanto más temprano se encuentre un problema en un proyecto de software, mejor Realizar una evaluación de la arquitectura es la manera más económica de evitar desastres Evaluación de Arquitecturas de Software - Grupo 10
  • 9. - Evaluación de una Arquitectura de Software - ¿Cuándo una Arquitectura puede ser evaluada? Evaluación temprana Evaluación tardía Evaluación de Arquitecturas de Software - Grupo 10
  • 10. - Evaluación de una Arquitectura de Software - ¿Quiénes están involucrados? Equipo de evaluación Stakeholders Evaluación de Arquitecturas de Software - Grupo 10
  • 11. - Evaluación de una Arquitectura de Software - ¿Qué resultado produce la evaluación de una Arquitectura? La evaluación de una arquitectura no produce resultados cuantitativos La evaluación ayuda a encontrar debilidades Evaluación de Arquitecturas de Software - Grupo 10
  • 12. - Evaluación de una Arquitectura de Software - ¿Por qué cualidades puede ser evaluada una Arquitectura? Performance Availability Security Modifiability Evaluación de Arquitecturas de Software - Grupo 10
  • 13. - Evaluación de una Arquitectura de Software - ¿Por qué los atributos de calidad son demasiados imprecisos para el análisis? El sistema debe ser robusto El sistema debe ser modificable El sistema debe ser seguro El sistema debe tener una performance aceptable Evaluación de Arquitecturas de Software - Grupo 10
  • 14. - Evaluación de una Arquitectura de Software - ¿Cuáles son las salidas de una evaluación arquitectónica? Lista priorizada de los atributos de calidad requeridos para la arquitectura que está siendo evaluada. Riesgos y no riesgos Evaluación de Arquitecturas de Software - Grupo 10
  • 15. - Evaluación de una Arquitectura de Software - ¿Cuáles son los costos y beneficios de realizar una evaluación arquitectónica? Reúne a los stakeholders Fuerza una articulación en las metas específicas de calidad Fuerza una explicación clara de la arquitectura Evaluación de Arquitecturas de Software - Grupo 10
  • 16. - SAAM  Propósito  Contexto y escenarios  Roles  Método de análisis  Fortalezas  Debilidades Evaluación de Arquitecturas de Software - Grupo 10
  • 17. - SAAM Propósito  Basado en escenarios  Foco modificabilidad  Evaluar una arquitectura o evaluar y comparar varias Evaluación de Arquitecturas de Software - Grupo 10
  • 18. - SAAM Contexto y escenarios  Atributos de calidad complejos y amorfos para evaluarse simplemente  Dependientes del contexto  Escenario. Interacción entre un interesado y el sistema  Escenario directo. El sistema no debe ser modificado para soportarlo  Escenario indirecto  Interacción de escenarios. Dos o más escenarios escenarios indirectos requieren cambios sobre el mismo componente Evaluación de Arquitecturas de Software - Grupo 10
  • 19. - SAAM Roles  Interesados externos (Organización cliente, usuarios finales, administradores del sistema, etc.)  Interesados internos (Arquitectos de Software, analistas de requerimientos)  Equipo SAAM (Líder, expertos en el dominio de la aplicación, expertos externos en arquitectura y secretario) Evaluación de Arquitecturas de Software - Grupo 10
  • 20. - SAAM Metodología  Paso 1. Desarrollo de escenarios  Paso 2. Descripción de la Arquitectura  Paso 3. Clasificación de escenarios  Paso 4. Evaluación de escenarios  Paso 5. Interacción de escenarios  Paso 6. Evaluación general Evaluación de Arquitecturas de Software - Grupo 10
  • 21. - SAAM Fortalezas  Los interesados comprenden con facilidad las arquitecturas evaluadas.  La documentación es mejorada.  El esfuerzo y el costo de los cambios pueden ser estimados con anticipación.  Analogía con el concepto de bajo acoplamiento y alta cohesión. Evaluación de Arquitecturas de Software - Grupo 10
  • 22. - SAAM Debilidades  La generación de escenarios está basada en la visión de los interesados  No provee una métrica clara sobre la calidad de la arquitectura Evaluada.  El equipo de evaluación confía en la experiencia de los arquitectos para proponer arquitecturas candidatas. Evaluación de Arquitecturas de Software - Grupo 10
  • 23. - ATAM - Architecture Tradeoff Analysis Method Este método de evaluación obtiene su nombre no solo porque nos dice cuan bien una arquitectura particular satisface las metas de calidad, sino que también provee ideas de cómo esas metas de calidad interactúan entre ellas, como realizan concesiones mutuas (tradeoff) entre ellas. Evaluación de Arquitecturas de Software - Grupo 10
  • 24. - ATAM - El método consta de nueve pasos, divididos en cuatro grupos: Presentación Investigación y Análisis Pruebas Informes Evaluación de Arquitecturas de Software - Grupo 10
  • 25. - ATAM - Presentación Paso 1: Presentar el ATAM Los pasos del ATAM en resumen Las técnicas que serán utilizadas para la obtención y análisis Las salidas de la evaluación Evaluación de Arquitecturas de Software - Grupo 10
  • 26. - ATAM - Presentación Paso 2: Presentar las pautas del negocio Las funciones más importantes del sistema Toda restricción técnica La mayoría de los stakeholders Las guías de la arquitectura Evaluación de Arquitecturas de Software - Grupo 10
  • 27. - ATAM - Presentación Paso 3: Presentar la arquitectura Las restricciones técnicas Otros sistemas Propuestas arquitectónicas Evaluación de Arquitecturas de Software - Grupo 10
  • 28. - ATAM - Investigación y Análisis Paso 4: Identificar las propuestas arquitectónicas El ATAM centraliza el análisis de una arquitectura en el entendimiento de sus propuestas arquitectónicas, en este paso son capturadas por el equipo de evaluación pero no son analizadas Evaluación de Arquitecturas de Software - Grupo 10
  • 29. - ATAM - Investigación y Análisis Paso 5: Generar el árbol de utilidad de los atributos de calidad Este paso es crucial, pues guía el resto del análisis. Sin esta guía, los evaluadores pueden perder su tiempo analizando aspectos de la arquitectura que no son de interés para los stakeholders. Evaluación de Arquitecturas de Software - Grupo 10
  • 30. - ATAM - Investigación y Análisis Paso 5: Generar el árbol de utilidad de los atributos de calidad Evaluación de Arquitecturas de Software - Grupo 10
  • 31. - ATAM - Investigación y Análisis Paso 6: Analizar las propuestas arquitectónicas Evaluación de Arquitecturas de Software - Grupo 10
  • 32. - ATAM - Pruebas Paso 7: Lluvia de ideas y priorización de escenarios Este paso consiste en la generación de nuevos escenarios para: • Representar los intereses de los stakeholders que no hayan sido comprendidos Evaluación de Arquitecturas de Software - Grupo 10
  • 33. - ATAM - Pruebas Paso 8: Analizar las propuestas arquitectónicas En este paso el equipo de evaluación realiza las mismas actividades que en el paso 6, mapeando los escenarios recientemente generados con ranking más alto en los artefactos arquitectónicos Evaluación de Arquitecturas de Software - Grupo 10
  • 34. - ATAM - Resultados Paso 9: Presentar los resultados El documento de propuestas arquitectónicas El conjunto de escenarios priorizados El árbol de utilidad Los riesgos descubiertos Los no riesgos documentados Los sensitivity points y tradeoff points encontrados Evaluación de Arquitecturas de Software - Grupo 10
  • 35. - ARID - An Evaluation Method for Partial Architectures Método conveniente para realizar la evaluación de diseños parciales en las etapas tempranas del desarrollo. Evaluación de Arquitecturas de Software - Grupo 10
  • 36. - ARID - ADRs • Revisiones de Diseños Activas Utilizado para la evaluación de diseños detallados de unidades del software como los componentes o módulos Las preguntas giran en torno a la calidad y completitud de la documentación y la suficiencia, el ajuste y la conveniencia de los servicios que provee el diseño propuesto Evaluación de Arquitecturas de Software - Grupo 10
  • 37. - ARID - Un ADR/ATAM híbrido Características útiles para el problema de la evaluación de diseños preliminares. Evaluación de Arquitecturas de Software - Grupo 10
  • 38. - ARID - Roles en ARID Equipo de verificación. Arquitecto. Stakeholders. Evaluación de Arquitecturas de Software - Grupo 10
  • 39. - ARID - Método ARID 9 pasos separados en dos fases Fase 1: Pre reunión Fase 2: Evaluación Evaluación de Arquitecturas de Software - Grupo 10
  • 40. - ARID - FASE 1 Identificar los revisores. Preparar la preparación del diseño. Preparar los escenarios Preparar los materiales Evaluación de Arquitecturas de Software - Grupo 10
  • 41. - ARID - FASE 2 Presentación del método. Presentación del diseño. Lluvia de ideas y priorización de escenarios. Realización de la revisión Conclusiones Evaluación de Arquitecturas de Software - Grupo 10
  • 42. - Conclusiones - El método SAAM lo sugerimos cuándo el atributo de calidad Modificabilidad es el de mayor interés. El método ATAM es más profundo para evaluar aspectos más relacionados con la arquitectura, como la performance o la confiabilidad. El método ARID evalúa mejor la factibilidad de la arquitectura. Evaluación de Arquitecturas de Software - Grupo 10