SlideShare uma empresa Scribd logo
1 de 28
Baixar para ler offline
Atributos de Calidad con .Net
                          Carlos Paez
       carlos.paez@snoopconsulting.com
Agenda



  Contexto
  Nociones generales
  Atributos y su tratamiento con .Net
  Métodos de evaluación
  Conclusiones
  Links relacionados
Contexto



   Si los sistemas fallan pueden causar diferentes
   consecuencias (perdidas tiempo, dinero)
   No es suficiente con satisfacer los requerimientos
   funcionales
   Existe un contexto tecnológico que debe
   analizarse
Contexto



 Para implementar mejoras en la calidad primero
   debe ser medida y analizada.



 En ese contexto aparecen los Quality Attributes
   para medir y analizar la calidad.
Nociones generales




  Atributos de calidad: elementos que caracterizan la
  calidad desde diferentes puntos de vista

  Adquieren relevancia cuando se ponen en el
  contexto adecuado
Atributos de Calidad
Atributos de Calidad



   Accessibility       Reliability
   Availability        Robustness
   Extensibility       Scalability
   Interoperability    Security
   Maintainability     Stability
   Modifiability       Supportability
   Operability         Testability
   Portability         Usability
Disponibilidad



 Es la característica de un sistema que mide el grado
   de operación continua durante un período
   determinado tiempo, dado un patrón de
   operación y requerimientos mínimos de uso.
Disponibilidad



   Infraestructura IIS - Network Load Balancing
   Replicación de datos – Mirroring
   Política de Back-ups
   Failover Clustering
      Capacidad de switchear de forma autómatica a
      otro servidor redundante
      Implementada con Windows Server y SQL
      Server 2008 Failover Clustering
   Disaster recovery
Escalabilidad



 Es una característica deseada de un sistema, la cual
   indica la habilidad de manejar el crecimiento del
   volumen de trabajo de una manera adecuada.

   Se destacan dos grandes maneras
     Escalar verticalmente: agregando mas recursos
     en un único nodo del sistema
     Escalar horizontalmente: agregando mas
     nodos al sistema
Escalabilidad

   IIS Clustering
       Network Load Balancing (Server farm)

   Caching
      NHibernate.Caches (Add-In)
      Windows Server AppFabric (ex Velocity)

   Diseño y optimización de Capa de datos
      Desnormalización (Reporting)
      ORM -> Mapeos (Lazy Load)
      Queries (SQL / HQL)

   Optimización en capa de presentación
      Modularización (html + js + css)
      AJAX (bien utilizado)
      JSON (en lugar de xml)
      Optimización de imágenes
Transaccionabilidad



 Es la característica de un sistema que garantiza que
   los procesos se manejan como operaciones
   individuales e indivisibles, llamadas
   transacciones. Cada transacción debe finalizar
   exitosamente o fallar como una unidad completa,
   no puede quedar en un estado intermedio.
Transaccionabilidad



   System.Transactions
     Posibilidad de hacer transacciones entre varias
     Bases de datos
     Desde .Net Framework 2.0
     Clase TransactionScope()
     A bajo nivel trabaja con COM+
   NHibernate Transactions
     Manejo de transacciones propio
     Soporta System.Transactions
Instrumentación (Robustez)



 Se refiere a la habilidad de monitorear y medir el
   nivel de performance, para diagnosticar errores y
   escribir información de traceo.

 Cuando una aplicación contiene código de
   instrumentación, puede ser administrada usando
   diferentes herramientas.
Instrumentación (Robustez)



   Framework de Logging
      Log4Net
   Framework de Instrumentación
      Microsoft Enterprise Instrumentation
      Framework (EIF)
   ASP.NET Performance counters
   Escritura en EventLog de Windows
Interoperabilidad

 Es una propiedad relacionada a la habilidad de un
   sistema de intercambiar datos vía un conjunto
   predeterminado de formatos y de usar protocolos
   comunes para su comunicación
   Puede implementarse con el uso de Web
   Services, los cuales manejan protocolos estándar
   Cuidar el diseño desde el inicio
      Pensar los servicios de forma atómica
      Es posible con protocolos interoperables elegir
      un mal diseño y hacer NO interoperable un
      sistema
Usabilidad



 Denota la facilidad con la que las personas pueden
   utilizar una herramienta con el fin de llegar a su
   objetivo. Se refiere a la claridad con la que se
   efectúa la interacción de las personas con una
   interfaz de un sistema.

   Patrones UX
   Librerías para facilitar la interacción
      AJAX (JQuery, ASP.NET Ajax Library)
      Silverlight
Seguridad



   Autenticación y autorización
   Identity y Principals (Customización)
   Certificados SSL
   Seguridad de contenido estático
   Soporte de encriptación .Net Framework

   Web Services
     WS-Security
     WS-Criptography
Testabilidad



 Es la característica de un sistema, que indica su
   capacidad de ser sometida a pruebas.

 Generalmente se la asocia con el testing
   automatizado.
Testabilidad



   Arquitectura en capas
      ASP.NET MVC
   Inyección de dependencias
      Spring.Net
      Castle Framework
   Mocking
      Rhino Mocks
      Moq
   NUnit Framework
   Visual Studio Team Foundation System
Mantenibilidad



   Utilización de estándares
      Code analysis
      FXCop
      StyleCop
   Código documentado
      NDoc
   Políticas de Branching
   KISS
Métodos de evaluación



   Quality Attributes Workshop (QAW)

   Architecture Tradeoff Analysis Method (ATAM)

   Software Architecture Analysis Method (SAAM)

   Active Reviews for Intermediate Designs (ARID)
Quality Attributes Workshop



   El objetivo de QAW es identificar escenarios
   desde el punto de vista de los diversos
   participantes, identificar riesgos (p. ej. baja
   performance, denegación de servicio) y posibles
   estrategias de mitigación (p. ej. replicación,
   prototipado, etc)
Quality Attributes Workshop - Pasos



 1.   Presentación e introducción al QAW
 2.   Presentación de Negocios/Misión
 3.   Presentación del Plan Arquitectónico
 4.   Identificación de los Drivers Arquitectónicos
 5.   Brainstorming de Escenarios
 6.   Consolidación de Escenarios
 7.   Priorización de Escenarios
 8.   Refinamiento de Escenarios
Conclusión



   Tomar decisiones desde el inicio
   Encontrar balance entre los diferentes atributos
   Mantener la sencillez
   Trabajo iterativo
   Testear durante todo el ciclo de vida del proyecto
      Pruebas de carga
      Rendimiento
      Concurrencia
   Integrar continuamente
Links relacionados


   Assessing quality in software architectures
   http://www.ibm.com/developerworks/library/ar-qualassess.html


   Software Architecture Quality Attributes
   http://bradapp.blogspot.com/2008/02/software-architecture-quality.html


   Windows Server AppFabric
   http://msdn.microsoft.com/en-us/windowsserver/ee695849.aspx


   Network Load Balancing
   http://technet.microsoft.com/en-us/library/cc758834%28WS.10%29.aspx

   SQL Server 2008 Failover Clustering
   http://msdn.microsoft.com/en-us/library/ms189134.aspx
¿Preguntas?
Muchas gracias!




                     Carlos Paez
   carlos.paez@snoopconsulting.com

Mais conteúdo relacionado

Semelhante a Charla Atributos de calidad con .Net

FMK Capa de Presentacion
FMK Capa de PresentacionFMK Capa de Presentacion
FMK Capa de Presentacionkaolong
 
Gestión de requisitos y su trazabilidad en la Gestión de Servicios TI: Una vi...
Gestión de requisitos y su trazabilidad en la Gestión de Servicios TI: Una vi...Gestión de requisitos y su trazabilidad en la Gestión de Servicios TI: Una vi...
Gestión de requisitos y su trazabilidad en la Gestión de Servicios TI: Una vi...OVERTI
 
Grails 2013 - PUCMM - Santiago - Sistemas
Grails 2013 - PUCMM - Santiago - SistemasGrails 2013 - PUCMM - Santiago - Sistemas
Grails 2013 - PUCMM - Santiago - SistemasCarlos Camacho
 
0062 Calm Ciclo De Vida De Desarrollo Colaborativo
0062 Calm Ciclo De Vida De Desarrollo Colaborativo0062 Calm Ciclo De Vida De Desarrollo Colaborativo
0062 Calm Ciclo De Vida De Desarrollo ColaborativoGeneXus
 
Arquitectura de software
Arquitectura de softwareArquitectura de software
Arquitectura de softwareLiliana Pacheco
 
Arquitectura SOA y herramientas .net
Arquitectura SOA y herramientas .netArquitectura SOA y herramientas .net
Arquitectura SOA y herramientas .netJuan Pablo
 
Atraer, Convertir, Sostener Claves para la rentabilidad de un E-commerce
Atraer, Convertir, Sostener Claves para la rentabilidad de un E-commerceAtraer, Convertir, Sostener Claves para la rentabilidad de un E-commerce
Atraer, Convertir, Sostener Claves para la rentabilidad de un E-commerceNexica
 
Gestión del Cloud Computing
Gestión del Cloud ComputingGestión del Cloud Computing
Gestión del Cloud ComputingAitor Ibañez
 
Presentacion.qo s desarrollo sw
Presentacion.qo s desarrollo swPresentacion.qo s desarrollo sw
Presentacion.qo s desarrollo swSantiago Bernal
 
Silktest Tcm6 174179 Espanol
Silktest Tcm6 174179 EspanolSilktest Tcm6 174179 Espanol
Silktest Tcm6 174179 Espanoltitita13
 
10- Unidad 3: Webservices - 3.2 Uso de Web services (Introducción, Caracterís...
10- Unidad 3: Webservices - 3.2 Uso de Web services (Introducción, Caracterís...10- Unidad 3: Webservices - 3.2 Uso de Web services (Introducción, Caracterís...
10- Unidad 3: Webservices - 3.2 Uso de Web services (Introducción, Caracterís...Luis Fernando Aguas Bucheli
 

Semelhante a Charla Atributos de calidad con .Net (20)

1127082.ppt
1127082.ppt1127082.ppt
1127082.ppt
 
FMK Capa de Presentacion
FMK Capa de PresentacionFMK Capa de Presentacion
FMK Capa de Presentacion
 
Gestión de requisitos y su trazabilidad en la Gestión de Servicios TI: Una vi...
Gestión de requisitos y su trazabilidad en la Gestión de Servicios TI: Una vi...Gestión de requisitos y su trazabilidad en la Gestión de Servicios TI: Una vi...
Gestión de requisitos y su trazabilidad en la Gestión de Servicios TI: Una vi...
 
Grails 2013 - PUCMM - Santiago - Sistemas
Grails 2013 - PUCMM - Santiago - SistemasGrails 2013 - PUCMM - Santiago - Sistemas
Grails 2013 - PUCMM - Santiago - Sistemas
 
0062 Calm Ciclo De Vida De Desarrollo Colaborativo
0062 Calm Ciclo De Vida De Desarrollo Colaborativo0062 Calm Ciclo De Vida De Desarrollo Colaborativo
0062 Calm Ciclo De Vida De Desarrollo Colaborativo
 
Arquitectura de software
Arquitectura de softwareArquitectura de software
Arquitectura de software
 
Clases 30 05
Clases 30 05Clases 30 05
Clases 30 05
 
Arquitectura SOA y herramientas .net
Arquitectura SOA y herramientas .netArquitectura SOA y herramientas .net
Arquitectura SOA y herramientas .net
 
Clase002
Clase002Clase002
Clase002
 
Atraer, Convertir, Sostener Claves para la rentabilidad de un E-commerce
Atraer, Convertir, Sostener Claves para la rentabilidad de un E-commerceAtraer, Convertir, Sostener Claves para la rentabilidad de un E-commerce
Atraer, Convertir, Sostener Claves para la rentabilidad de un E-commerce
 
Gestión del Cloud Computing
Gestión del Cloud ComputingGestión del Cloud Computing
Gestión del Cloud Computing
 
Presentacion.qo s desarrollo sw
Presentacion.qo s desarrollo swPresentacion.qo s desarrollo sw
Presentacion.qo s desarrollo sw
 
Patron mvc struts
Patron mvc strutsPatron mvc struts
Patron mvc struts
 
Arquitectura multicapa
Arquitectura multicapaArquitectura multicapa
Arquitectura multicapa
 
Presentacion Arquitectura
Presentacion ArquitecturaPresentacion Arquitectura
Presentacion Arquitectura
 
Arquitecturas de software
Arquitecturas de softwareArquitecturas de software
Arquitecturas de software
 
Aplicaciones En Capas
Aplicaciones En CapasAplicaciones En Capas
Aplicaciones En Capas
 
Silktest Tcm6 174179 Espanol
Silktest Tcm6 174179 EspanolSilktest Tcm6 174179 Espanol
Silktest Tcm6 174179 Espanol
 
10- Unidad 3: Webservices - 3.2 Uso de Web services (Introducción, Caracterís...
10- Unidad 3: Webservices - 3.2 Uso de Web services (Introducción, Caracterís...10- Unidad 3: Webservices - 3.2 Uso de Web services (Introducción, Caracterís...
10- Unidad 3: Webservices - 3.2 Uso de Web services (Introducción, Caracterís...
 
Arquitectura fisica y logica
Arquitectura fisica y logicaArquitectura fisica y logica
Arquitectura fisica y logica
 

Último

KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxRogerPrieto3
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 

Último (15)

KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptx
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 

Charla Atributos de calidad con .Net

  • 1. Atributos de Calidad con .Net Carlos Paez carlos.paez@snoopconsulting.com
  • 2. Agenda Contexto Nociones generales Atributos y su tratamiento con .Net Métodos de evaluación Conclusiones Links relacionados
  • 3. Contexto Si los sistemas fallan pueden causar diferentes consecuencias (perdidas tiempo, dinero) No es suficiente con satisfacer los requerimientos funcionales Existe un contexto tecnológico que debe analizarse
  • 4. Contexto Para implementar mejoras en la calidad primero debe ser medida y analizada. En ese contexto aparecen los Quality Attributes para medir y analizar la calidad.
  • 5. Nociones generales Atributos de calidad: elementos que caracterizan la calidad desde diferentes puntos de vista Adquieren relevancia cuando se ponen en el contexto adecuado
  • 7. Atributos de Calidad Accessibility Reliability Availability Robustness Extensibility Scalability Interoperability Security Maintainability Stability Modifiability Supportability Operability Testability Portability Usability
  • 8. Disponibilidad Es la característica de un sistema que mide el grado de operación continua durante un período determinado tiempo, dado un patrón de operación y requerimientos mínimos de uso.
  • 9. Disponibilidad Infraestructura IIS - Network Load Balancing Replicación de datos – Mirroring Política de Back-ups Failover Clustering Capacidad de switchear de forma autómatica a otro servidor redundante Implementada con Windows Server y SQL Server 2008 Failover Clustering Disaster recovery
  • 10. Escalabilidad Es una característica deseada de un sistema, la cual indica la habilidad de manejar el crecimiento del volumen de trabajo de una manera adecuada. Se destacan dos grandes maneras Escalar verticalmente: agregando mas recursos en un único nodo del sistema Escalar horizontalmente: agregando mas nodos al sistema
  • 11. Escalabilidad IIS Clustering Network Load Balancing (Server farm) Caching NHibernate.Caches (Add-In) Windows Server AppFabric (ex Velocity) Diseño y optimización de Capa de datos Desnormalización (Reporting) ORM -> Mapeos (Lazy Load) Queries (SQL / HQL) Optimización en capa de presentación Modularización (html + js + css) AJAX (bien utilizado) JSON (en lugar de xml) Optimización de imágenes
  • 12. Transaccionabilidad Es la característica de un sistema que garantiza que los procesos se manejan como operaciones individuales e indivisibles, llamadas transacciones. Cada transacción debe finalizar exitosamente o fallar como una unidad completa, no puede quedar en un estado intermedio.
  • 13. Transaccionabilidad System.Transactions Posibilidad de hacer transacciones entre varias Bases de datos Desde .Net Framework 2.0 Clase TransactionScope() A bajo nivel trabaja con COM+ NHibernate Transactions Manejo de transacciones propio Soporta System.Transactions
  • 14. Instrumentación (Robustez) Se refiere a la habilidad de monitorear y medir el nivel de performance, para diagnosticar errores y escribir información de traceo. Cuando una aplicación contiene código de instrumentación, puede ser administrada usando diferentes herramientas.
  • 15. Instrumentación (Robustez) Framework de Logging Log4Net Framework de Instrumentación Microsoft Enterprise Instrumentation Framework (EIF) ASP.NET Performance counters Escritura en EventLog de Windows
  • 16. Interoperabilidad Es una propiedad relacionada a la habilidad de un sistema de intercambiar datos vía un conjunto predeterminado de formatos y de usar protocolos comunes para su comunicación Puede implementarse con el uso de Web Services, los cuales manejan protocolos estándar Cuidar el diseño desde el inicio Pensar los servicios de forma atómica Es posible con protocolos interoperables elegir un mal diseño y hacer NO interoperable un sistema
  • 17. Usabilidad Denota la facilidad con la que las personas pueden utilizar una herramienta con el fin de llegar a su objetivo. Se refiere a la claridad con la que se efectúa la interacción de las personas con una interfaz de un sistema. Patrones UX Librerías para facilitar la interacción AJAX (JQuery, ASP.NET Ajax Library) Silverlight
  • 18. Seguridad Autenticación y autorización Identity y Principals (Customización) Certificados SSL Seguridad de contenido estático Soporte de encriptación .Net Framework Web Services WS-Security WS-Criptography
  • 19. Testabilidad Es la característica de un sistema, que indica su capacidad de ser sometida a pruebas. Generalmente se la asocia con el testing automatizado.
  • 20. Testabilidad Arquitectura en capas ASP.NET MVC Inyección de dependencias Spring.Net Castle Framework Mocking Rhino Mocks Moq NUnit Framework Visual Studio Team Foundation System
  • 21. Mantenibilidad Utilización de estándares Code analysis FXCop StyleCop Código documentado NDoc Políticas de Branching KISS
  • 22. Métodos de evaluación Quality Attributes Workshop (QAW) Architecture Tradeoff Analysis Method (ATAM) Software Architecture Analysis Method (SAAM) Active Reviews for Intermediate Designs (ARID)
  • 23. Quality Attributes Workshop El objetivo de QAW es identificar escenarios desde el punto de vista de los diversos participantes, identificar riesgos (p. ej. baja performance, denegación de servicio) y posibles estrategias de mitigación (p. ej. replicación, prototipado, etc)
  • 24. Quality Attributes Workshop - Pasos 1. Presentación e introducción al QAW 2. Presentación de Negocios/Misión 3. Presentación del Plan Arquitectónico 4. Identificación de los Drivers Arquitectónicos 5. Brainstorming de Escenarios 6. Consolidación de Escenarios 7. Priorización de Escenarios 8. Refinamiento de Escenarios
  • 25. Conclusión Tomar decisiones desde el inicio Encontrar balance entre los diferentes atributos Mantener la sencillez Trabajo iterativo Testear durante todo el ciclo de vida del proyecto Pruebas de carga Rendimiento Concurrencia Integrar continuamente
  • 26. Links relacionados Assessing quality in software architectures http://www.ibm.com/developerworks/library/ar-qualassess.html Software Architecture Quality Attributes http://bradapp.blogspot.com/2008/02/software-architecture-quality.html Windows Server AppFabric http://msdn.microsoft.com/en-us/windowsserver/ee695849.aspx Network Load Balancing http://technet.microsoft.com/en-us/library/cc758834%28WS.10%29.aspx SQL Server 2008 Failover Clustering http://msdn.microsoft.com/en-us/library/ms189134.aspx
  • 28. Muchas gracias! Carlos Paez carlos.paez@snoopconsulting.com