550 likes | 1.2k Views
Conceptos Básicos de la Calidad del Software Introducción Calidad del Software Evolución de las Propuestas de Calidad. Fundamentos de la Calidad del Software. Introducción.
E N D
Conceptos Básicos de la Calidad del Software Introducción Calidad del Software Evolución de las Propuestas de Calidad Fundamentos de la Calidad del Software
Introducción • Los computadoras están siendo usadas en una amplia y creciente variedad de áreas de aplicación y su operación correcta es a menudo crítica para el éxito de los negocios y la seguridad humana
Introducción • Hoy en día programas altamente complejos controlan aspectos fundamentales de nuestras vidas, desde cuestiones mínimas como el funcionamiento de nuestro teléfono móvil hasta situaciones esenciales, como las constantes vitales de un enfermo • Desarrollar o seleccionar productos de software de alta calidad es por lo tanto un asunto de primera importancia
Introducción • La calidad en el desarrollo y el mantenimiento del software se ha convertido hoy en día en uno de los principales objetivos estratégicos de las organizaciones, debido a que cada vez más, los procesos principales de las organizaciones – y su supervivencia - dependen de los sistemas informáticos para su buen funcionamiento
Introducción • Parece claro que todas las aplicaciones que pueden tener el software deben ser productos de alta calidad: fáciles de usar, confiables y seguros, tan rápidos como necesite el cliente, baratos en relación con sus prestaciones, flexibles y fáciles de mantener y modificar • En cierto sentido no debe hacerse distinción entre construir un programa y fabricar cualquier otro bien de consumo
Introducción • Sin embargo la realidad nos muestra cómo estamos acostumbrados a buscar el certificado de calidad cuando adquirimos, por ejemplo, una lavadora, pero por otro lado, aceptamos que muchas aplicaciones que usamos no cumplan con mínimos requisitos de calidad exigibles a cualquier otra mercancía
Introducción • La similitud no sólo alcanza a las características del producto, sino que cada vez más afecta a su proceso de producción; así pues se habla acerca del concepto de fábrica del software
Introducción • Además, en la industria, normas internacionales hablan acerca de que la especificación de gran amplitud y la evaluación de los productos de software son un factor clave para asegurar la calidad adecuada del software (ISO/IEC 9126-1:2001) • Otro de los conceptos que se maneja es el de Ingeniería del Software que incluye una serie de principios, metodologías, técnicas y herramientas para el desarrollo de software
Introducción • El objetivo primordial de la ingeniería de software es producir un sistema, aplicación o producto de software de alta calidad • Para lograr este objetivo, los ingenieros del software deben aplicar métodos efectivos junto con herramientas modernas dentro del contexto de un proceso maduro de desarrollo de software
Introducción • Existen estudios y estadísticas que representan con claridad la problemática del desarrollo de software “Sólo el 51% de los proyectos de software tienen éxito” Standish Group, CHAOS Report, 2004
Introducción • Existe una mejora al revisar los datos de años anteriores, pues se han implantado prácticas de calidad de software, tales como la aplicación de programas de mejora de procesos
Introducción * Miles de millones http://www.standishgroup.com/chaos.html
Definición de Calidad • Por lo anterior, se hace necesario de principio, definir qué es Calidad • Una definición es la siguiente • “Es la totalidad de las características de una entidad que dan soporte a su capacidad de satisfacer necesidades manifiestas e implícitas” ISO 8402:1994 • La entidad relevante en nuestro caso es un producto de software
Definición de Calidad del Software • “Concordancia con los requisitos funcionales y de rendimiento explícitamente establecidos, con los estándares de desarrollo explícitamente establecidos, con los estándares de desarrollo explícitamente documentados y con las características implícitas que se espera de todo software desarrollado profesionalmente” [Pressman 98]
Definición de Calidad del Software • La definición anterior sirve además para hacer hincapié en tres aspectos: • Los requisitos (requerimientos) de software se deben cumplir, en caso contrario, indican claramente la falta de calidad • Los estándares definen un conjunto de criterios de desarrollo que deben seguirse de manera explícita • Las características implícitas de calidad, a menudo no mencionadas, también deben ser cumplidas
Definición de Calidad del Software • Según la norma IEEE 1601 la calidad de un producto de software se define como el grado en que posee una combinación adecuada de determinadas características como son el rendimiento, la fiabilidad o la seguridad • Como se puede observar, se puede considerar esta definición un tanto vaga debido a la subjetividad inherente en el término
Definición de Calidad del Software • Por la razón anterior, son muchos los autores que han propuesto marcos de trabajo en los que caracterizan la calidad y trabajan con ella de una forma sistemática
Evolución de las Propuestas de Calidad • MacCall y otros en 1977, y Cavano y MacCall en 1978, fueron de los primeros que ofrecieron propuestas en este sentido • Según los autores, la calidad puede llegar a cuantificarse tan sólo mediante el análisis de un conjunto de factores
Evolución de las Propuestas de Calidad • Estos factores se agrupan de acuerdo con las características operativas del software, su capacidad para aceptar cambios y su adaptabilidad a nuevos entornos
Evolución de las Propuestas de Calidad • Los factores que considera esta propuesta están organizados según 3 grupos: • Factores de Revisión • Factores de Transición • Factores de Operación
Evolución de las Propuestas de Calidad • Los Factores de Revisión incluyen: • Flexibilidad • Mantenibilidad • Contestación • Los Factores de Transición incluyen: • Portabilidad • Reusabilidad • Interoperabilidad
Evolución de las Propuestas de Calidad • Los factores de Operación incluyen: • Eficiencia • Integridad • Usabilidad • Fiabilidad • Corrección
Evolución de las Propuestas de Calidad • Dado que en la mayoría de los casos es casi imposible realizar medidas directas de los mismos también definieron un conjunto de atributos de calidad que cuantificados subjetivamente entre 0 y 10 permiten valorar la calidad de un producto como una medida ponderada de esos valores
Evolución de las Propuestas de Calidad • Otros autores como Boehm y otros (1978), Grady y Caswell (1987) y la ISO (1991) siguieron los pasos de MacCall y Cavano y profundizaron en el conocimiento de los factores más comunes que influyen en la calida del software
Evolución de las Propuestas de Calidad • El resultado más significativo de esta primera generación de marcos de calidad fue la creación de un conjunto de catálogos jerárquicos de factores de calidad, así como una primera aproximación sistemática al proceso de evaluación de la misma, aún cuando tuviese una fuerte componente subjetiva
Evolución de las Propuestas de Calidad • Por desgracia, ninguna de estas propuestas deslindaba claramente el concepto de atributo de calidad (medidas) y requisito de calidad (restricciones sobre estas medidas), por lo que en muchas ocasiones resultaban confusos
Evolución de las Propuestas de Calidad • Más adelante, Gilb (1998), Keller y otros (1995) y Olsina (1999), profundizaron en el problema y llegaron a la conclusión de que no es posible determinar un conjunto de atributos universalmente válido, por lo que sus marcos estaban basados en la creación de catálogos ad hoc que en algunas ocasiones se obtenían como concreciones de normas internacionales
Evolución de las Propuestas de Calidad • Además, se empezó a separar claramente entre ofertas y demandas de calidad, aunque el concepto de atributo, por desgracia, aún se confundía con el de requisito
Evolución de las Propuestas de Calidad • Una limitación común a todos los marcos de segunda generación es la falta de lenguajes formales para expresar la calidad • Estos marcos proponen plantillas, técnicas o métodos para trabajar con ella, pero nunca un lenguaje dotado de una semántica rigurosamente definida que permita construir herramientas útiles a su alrededor
Evolución de las Propuestas de Calidad • Frølud y Koistinen, Franch (en 1998) y Burgués y Franch (2000), entre otros, son los abanderados de una tercera generación de marcos de calidad en los que el objetivo ha sido proporcionar estos lenguajes
Evolución de las Propuestas de Calidad • Existen también hoy en día propuestas para una posible cuarta generación orientada principalmente a la calidad en aplicaciones en servicios web utilizados en portales y comercio electrónico, tales como la de Ruiz-Cortés (2000) y Corchuelo y otros (2002)
Conceptos Básicos de la Calidad del Software Introducción Calidad del Software Evolución de las Propuestas de Calidad Fin de la PresentaciónContinúe en la siguiente actividad