Arquitectura software

Enviado por Programa Chuletas y clasificado en Física

Escrito el en español con un tamaño de 7,34 KB

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.- 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: Accesibilidad-Disponibilidad-Extensibilidad-Interoperabilidad-Mantenibilidad-Modificabilidad-Operatividad-Portabilidad-Fiabilidad-Robustabilidad-Escalabilidad-Seguridad-Estabilidad-Soportabilidad-Testeabilidad-Usabilidad

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

Escalabilidad: Es una característica deseada de un sistema, la cualindica la habilidad de manejar el crecimiento del volumen de trabajo de una manera adecuada.Se destacan dos grandes manerasEscalar verticalmente: agregando mas recursos en un único nodo del sistema Escalar horizontalmente: agregando mas nodos al sistema.

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.

Robustez: Se refiere a la habilidad de monitorear y medir el nivel de performance, para diagnosticar errores y escribir información de traceo. ( 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.

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.

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

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)

QAW: 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)

QAW : 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

Reflexió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

Quality Attribute Workshops: El Quality Attribute Workshop (QAW) es un método facilitado que relaciona los stakeholders de un sistema de manera temprana en el ciclo de vida para descubrir los atributos de calidad clave en un sistema de software.

 

 

Entradas relacionadas: