Diseño y Evaluación de Arquitecturas de Software. Software con calidad



Documentos relacionados
ARQUITECTURAS DE SOFTWARE

Ingeniería en Sistemas Computacionales Clave de la asignatura: (Créditos) SATCA

Introducción. Por lo que existe una creciente preocupación por lograr que los productos software cumplan con ciertos criterios de calidad.

Ingeniería de Software II

Unidades temáticas de Ingeniería del Software. Fases del proceso de desarrollo 4ª edición (2008)

Calidad de Sistemas de Información

INGENIERÍA DE SOFTWARE. Sesión 3: Tipos

Evaluación del Software

Unidad V. Calidad del software

Elementos requeridos para crearlos (ejemplo: el compilador)

Temario. Calidad de software y Procesos. Éxito de un proyecto de software. 1- Calidad de software. Evolución de la calidad

Estándares para planes de calidad de software. Escuela de Ingeniería de Sistemas y Computación Desarrollo de Software II Agosto Diciembre 2008

Arquitecturas de Software

ACUERDO DE SERVICIO. Sistemas-Gestión de los Servicios Informáticos

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE

Fundamentos del diseño 3ª edición (2002)

CAPÍTULO 3 Servidor de Modelo de Usuario

UNIVERSIDAD TECNICA DE MANABI Facultad de Ciencias Informáticas Ingeniería en sistemas. SEGURIDAD INFORMATICA Tema:

Determinación del nivel de influencia

Resumen General del Manual de Organización y Funciones

Sistema Gestión Licitación para la compra del desarrollo y migración del Sistema de Gestión de Activos y Configuraciones para Plan Ceibal

Ingeniería del Software de Gestión II. Curso 2004/2005

NTE INEN-ISO/IEC Primera edición

Modelado y Diseño de Arquitectura de Software

Ciclo de vida del software

Software Architecture Assesment. Rosa Virginia Icedo Ojeda Jorge Moisés Trejo Vargas Mayo 2003

HP COSTA RICA R&D CENTER

CONSEJO DE NORMALIZACIÓN Y CERTIFICACIÓN DE COMPETENCIA LABORAL NORMAS TÉCNICAS DE COMPETENCIA LABORAL

CAPÍTULO 2. MODELOS Y ESTÁNDARES DE CALIDAD DE SOFTWARE

CAPÍTULO 1. INTRODUCCIÓN

Gestión de Configuración del Software

PROCEDIMIENTO ESPECÍFICO. Código G Edición 0

CONCEPTOS GENERALES SOBRE SEGURIDAD INFORMATICA

UN RECORRIDO POR LA FAMILIA ISO

Mantenimiento del Software

CONCEPTOS DE CALIDAD Y CALIDAD DEL SOFTWARE

SISTEMAS DE INFORMACIÓN III TEORÍA

12/07/2010. INGENIERIA DE SOFTWARE Tema 7: Mantenimiento del software. Contenido. 1. Aspectos Generales. 1. Aspectos Generales. 1. Aspectos Generales

Figure 9-1: Phase C: Information Systems Architectures

Calidad. Preparado por: Amelia Soriano. Referencias. Rational Unified Process Version Copyright Rational Software Corporation

Modelo de calidad del producto software

Capítulo 4. Prueba de Adaptabilidad

Definición del Sistema de Gestión de Seguridad de la Información (SGSI) ALCALDÍA DE SANTA ROSA DE OSOS

Al final del curso el estudiante:

CMM - Capability Maturity Model. Estructura de CMM... Componentes de CMM. Estructura de CMM

FÁBRICA DE SOFTWARE. Presentado por: Ing. Juan José Montero Román Gerente de Fábrica de Software USMP

CMMI (Capability Maturity Model Integrated)

Ingeniería de Software Calidad de Procesos y Productos de Software

Especificación de Requerimientos Funcionales y No Funcionales. Sistema Reservación Hotelera

Administración de Centros de Computo. ITIL. MSG.ING. DARWIN CERCADO B dcercado@primma.com.ec

Contenido. Dirección General de Servicio Civil Modelo de Calidad de Software para Desarrollo de Sistemas en la DGSC

UNIVERSIDAD CATÓLICA BOLIVIANA SAN PABLO FACULTAD DE CIENCIAS EXACTAS E INGENIERÍA INGENIERÍA DE SISTEMAS

ASIS Technology Partners. 1

INFORME TÉCNICO PREVIO DE EVALUACIÓN DE SOFTWARE N GRC/GGR/OSIE. 4. CARGO : Jefe de la Oficina de Sistemas, Informática y Estadística.

Mantenimiento Autónomo y Desarrollo Organizacional

Términos definiciones

TESTING. Universidad Simón Bolívar. Ing. de Software. Profa. Marlene Goncalves

Aplicación de una Metodología basada en Mediciones para la Gestión de Calidad de Software

RECOMENDACIONES DE INVESTIGACIÓN FUTURA.

PREPARADO POR: FECHA DE EMISIÓN: FECHA DE VALIDACIÓN:

Política de Gestión de Incidentes de Seguridad de la Información

Tema 2º: Calidad del software

Fundamentos de Desarrollo de Software

Calidad Escuela de Ingeniería de Sistemas y Computación Desarrol o de Software II Agosto Diciembre 2007

GESTIÓN DE LA CALIDAD Y COMPETITIVIDAD. MBA. Ing. Gustavo Montoya Cárdenas. Especialista en Sistemas de Calidad y Productividad

Enginyeria del Software III

<Generador de exámenes> Visión preliminar

Ingeniería de Software. Pruebas

SISTEMAS Y MANUALES DE LA CALIDAD

Figure 7-1: Phase A: Architecture Vision

ICTE NORMAS DE CALIDAD DE AGENCIAS DE VIAJES REGLAS GENERALES DEL SISTEMA DE CALIDAD. Ref-RG Página 1 de 9

Mejorando las competencias arquitectónicas en una empresa Mexicana de desarrollo de Software

ARQUITECTURA TÉCNICA ASIGNATURA: MATERIALES DE CONSTRUCCIÓN II CURSO: APUNTES TEMA 1: CONTROL DE CALIDAD

E a v l a ua u c a i c ón ó n de d l e Pr P oc o e c s e o s o de d Ing n e g n e i n er e ía a de d e So S f o twa w r a e

Sede Escazú, Plaza Tempo

Infraestructura Tecnológica. Sesión 5: Arquitectura cliente-servidor

Aseguramiento que el software crítico se construye fiable y seguro

INGENIERÍA DEL SOFTWARE I Tema 1. Introducción a la Ingeniería del Software. Univ. Cantabria Fac. de Ciencias Francisco Ruiz

Universidad Nacional del Sur Departamento de Ciencias e Ingeniería de la Computación Análisis y Diseño de Sistemas 1er.Cuatrimestre de 2006.

Ventajas del software del SIGOB para las instituciones

Tecnología de la Información. Administración de Recursos Informáticos

HISTORIAL DE CAMBIOS MOTIVO DEL CAMBIO. DESCRIPCION DEL CAMBIO Elaboración del Documento VERSION FECHA N/A

En un proyecto de desarrollo de software la metodología define Quién debe hacer Qué, Cuando y Como hacerlo. 6

Resumen General del Manual de Organización y Funciones

+ Cómo ahorrar dinero con Software Quality

Infraestructura Tecnológica. Sesión 12: Niveles de confiabilidad

CAPITULO 3 DISEÑO. El diseño del software es el proceso que permite traducir los requisitos

SISTEMAS DE PLANEACIÓN DE RECURSOS EMPRESARIALES 2008

Quito Ecuador EXTRACTO INFORMÁTICA SANITARIA. ARQUITECTURA DE SERVICIOS. PARTE 3: PUNTO DE VISTA COMPUTACIONAL (ISO :2009, IDT)

CAPÍTULO 2 DEFINICIÓN DEL PROBLEMA

MODELOS DE CALIDAD EN EL DESARROLLO DE SOFTWARE

Se aportan, para la configuración de este anexo, las categorías profesionales más habituales según la definición del MRFI-C:

Área Académica: Licenciatura Sistemas Computacionales. Profesor: Lic. Virginia Arguelles Pascual

Soluciones Informáticas para Teoría de Restricciones (TOC)

Prof. Juan José Díaz Nerio. Foro de Tecnología : Gestión de la Calidad del Software. Domingo 16 Noviembre 2014

UNIVERSIDAD AUTÓNOMA DEL CARIBE PROCEDIMIENTO DE ATENCIÓN DE INCIDENTES Y REQUERIMIENTOS PARA EQUIPOS DE CÓMUPUTO Y/O PERIFÉRICOS GESTIÓN INFORMÁTICA

PORTAFOLIO DE SERVICIOS

Capítulo 5. Cliente-Servidor.

Business Process Management(BPM)

Transcripción:

Diseño y Evaluación de Arquitecturas de Software Software con calidad César Julio Bustacara Medina Facultad de Ingeniería Pontificia Universidad Javeriana 11/09/2015 1

Arquitectura de Software

Introducción En un mundo cada vez más globalizado, donde cada día desaparecen las barreras comerciales y culturales, la calidad aparece como una necesidad, pues la calidad permite competir con mayores posibilidades de éxito.

Calidad de Software la concordancia con los requisitos funcionales y de rendimiento establecidos con los estándares de desarrollo explícitamente documentados y con las características implícitas que se espera de todo software desarrollado de forma profesional. Pressman 2002.

Calidad de Software la totalidad de rasgos y atributos de un producto de software que le apoyan en su capacidad de satisfacer sus necesidades explícitas o implícitas (ISO/IEC 9126, 1998). ISO/IEC (Intenational Standart Organitation)

Calidad de Software es el grado en el cual el software posee una combinación deseada de factores. IEEE, citado por (Barbacci et al, 1995)

Aseguramiento de la Calidad de Software Denominado en la mayoría de las empresas como QA o Quality Assurance, permite elaborar actividades sistemáticas que se necesitan para lograr la calidad en el producto, que en este caso es un software (Pressman, 2002).

Actividades para QA Evaluaciones en las etapas del desarrollo Auditorias y revisiones Estándares que se aplicarían al proyecto Mecanismos de medida (métricas) Métodos y herramientas de análisis, diseño, programación y prueba, y documentación Control de software.

Calidad Arquitectónica Barbacci et al. (1995) establecen que el desarrollo de formas sistemáticas para relacionar atributos de calidad de un sistema a su arquitectura provee una base para la toma de decisiones objetivas sobre acuerdos de diseño y permite realizar predicciones razonablemente exactas sobre los atributos del sistema que son libres de prejuicios y asunciones no triviales.

Calidad Arquitectónica Objetivo: lograr la habilidad de evaluar cuantitativamente y llegar a acuerdos entre múltiples atributos de calidad para alcanzar un mejor sistema de forma global.

Atributos de Calidad

Atributos de Calidad Propiedades de un servicio que presta el sistema a sus usuarios (Barbacci et al. 1995). Propiedades o características del sistema, que pueden afectar el grado de satisfacción de los interesados. Grado de concordancia entre las necesidades y el producto final.

Características Son propiedades caracterizadas por ser medibles. Los requisitos de calidad, se capturan generalmente como requerimientos no funcionales Juegan un papel muy importante en la definición de la arquitectura inicial.

Clasificación Bass et al. (1998) establece una clasificación de los atributos de calidad en dos categorías: Observables vía ejecución (Externos): aquellos atributos que se determinan del comportamiento del sistema en tiempo de ejecución. No observables vía ejecución (Internos): aquellos atributos que se establecen durante el desarrollo del sistema.

Atributos Observables Disponibilidad (Availability) Confidencialidad (Confidentiality) Funcionalidad (Functionality) Desempeño (Performance) Confiabilidad (Reliability) Seguridad Externa (Safety) Seguridad Interna (Security)

Atributos No Observables Configurabilidad (Configurability) Integrabilidad (Integrability) Integridad (Integrity) Interoperabilidad (Interoperability) Modificabilidad (Modifiability) Mantenibilidad (Maintainability) Portabilidad (Portability) Reusabilidad (Reusability) Escalabilidad (Scalability) Capacidad de Prueba (Testability)

Definiciones QA Observables Disponibilidad (Availability) Es la medida de disponibilidad del sistema para el uso (Barbacci et al., 1995). Confidencialidad (Confidentiality) Es la ausencia de acceso no autorizado a la información (Barbacci et al., 1995).

Definiciones QA Observables Funcionalidad (Functionality) Habilidad del sistema para realizar el trabajo para el cual fue concebido (Kazman et al., 2001). Confiabilidad (Reliability) Es la medida de la habilidad de un sistema a mantenerse operativo a lo largo del tiempo (Barbacci et al., 1995).

Definiciones QA Observables Desempeño (Performance) Grado en el cual un sistema o componente cumple con su funcionalidad, dentro de ciertas restricciones dadas, como velocidad, exactitud o uso de memoria. (IEEE 610.12). Se refiere a aspectos temporales del comportamiento del sistema. Capacidad de respuesta, ya sea el tiempo requerido para responder a aspectos específicos o al número de eventos procesados en un intervalo de tiempo. (Smith 1993). Se refiere además a la cantidad de comunicación e interacción existente entre los componentes del sistema. (Bass et al. 1998).

Definiciones QA Observables Seguridad Externa (Safety) Ausencia de consecuencias catastróficas en el ambiente. Es la medida de ausencia de errores que generan pérdidas de información (Barbacci et al., 1995). Seguridad Interna (Security) Es la medida de la habilidad del sistema para resistir a intentos de uso no autorizados y negación del servicio, mientras se sirve a usuarios legítimos (Kazman et al., 2001).

Definiciones QA No Observables Configurabilidad (Configurability) Posibilidad que se otorga a un usuario experto a realizar ciertos cambios al sistema (Bosch et al., 1999). Integrabilidad (Integrability) Es la medida en que trabajan correctamente componentes del sistema que fueron desarrollados separadamente al ser integrados. (Bass et al. 1998)

Definiciones QA No Observables Integridad (Integrity) Es la ausencia de alteraciones inapropiadas de la información (Barbacci et al., 1995). Interoperabilidad (Interoperability) Es la medida de la habilidad de que un grupo de partes del sistema trabajen con otro sistema. Es un tipo especial de integrabilidad (Bass et al. 1998)

Definiciones QA No Observables Modificabilidad (Modifiability) Es la habilidad de realizar cambios futuros al sistema. (Bosch et al. 1999). Mantenibilidad (Maintainability) Es la capacidad de someter a un sistema a reparaciones y evolución (Barbacci et al., 1995). Capacidad de modificar el sistema de manera rápida y a bajo costo (Bosch et al. 1999).

Definiciones QA No Observables Portabilidad (Portability) Es la habilidad del sistema para ser ejecutado en diferentes ambientes de computo. Estos ambientes pueden ser hardware, software o una combinación de los dos (Kazman et. al., 2001).

Definiciones QA No Observables Reusabilidad (Reusability) Es la capacidad de diseñar un sistema de forma tal que su estructura o parte de sus componentes puedan ser reutilizados en futuras aplicaciones (Bass et. al. 1998). Escalabilidad (Scalability) Es el grado con el que se pueden ampliar el diseño arquitectónico, de datos o procedimental (Pressman, 2002).

Definiciones QA No Observables Capacidad de Prueba (Testability) Es la medida de la facilidad con la que el software, al ser sometido a una serie de pruebas, puede demostrar sus fallas. Es la probabilidad de que, asumiendo que tiene al menos una falla, el software fallará en su próxima ejecución de prueba (Bass et al. 1998).

Modelos de Calidad McCall (1977), Dromey (1996), FURPS (1987), ISO/IEC 9126 (1991) ISO/IEC 9126 adaptado para arquitecturas de software, propuesto por Losavio et al. (2003).

Modelo ISO/IEC 9126

ISO/IEC 9126 adaptado para arquitecturas de software Losavio et. al. (2003) proponen una adaptación del modelo ISO/IEC 9126 de calidad de software. El modelo se basa en los atributos de calidad que se relacionan directamente con la arquitectura: funcionalidad, confiabilidad, eficiencia, mantenibilidad y portabilidad.

Taxonomía (Barbacci et. Al 1995) Servicio, Usuario y Evento son elementos para poder identificar el comportamiento del sistema. El servicio es iniciado por algún evento, el cual es un estimulo para indicar una necesidad. El estimulo puede generarse de manera interna o externa al sistema

Taxonomía Concerns Attribute specific factors Performance factors Dependability impairments Security factors Safety impairments Methods

Taxonomía

Bibliografía Len Bass, Paul Clements y Rick Kazman, Software Architecture in Practice, Third Edition, 2013. Capitulo 4: Understanding quality attributes. Mario Barbacci, Mark H. Klein, Thomas A. Longstaff y Charles B. Weinstock, Technical Report, CMU/SEI 95 TR 021, ESC TR 95 021, Quality Attributes, December 1995. Francisca Losavio, Ledis Chirinos, Nicole Lévy y Amar Ramdane Cherif, Quality Characteristics for Software Architecture*, 2003. Ian Gorton, Essential Software Architecture, Second Edition, Springer Verlag, 2011. Chapter 3 Software Quality Attributes. 34