Sie sind auf Seite 1von 42

Calidad de Software

Hermenegildo Romero

© 2009 DATABASE TEAM


http://www.db-team.com
© 2009 DATABASE TEAM -- www.db-team.com
© 2009 Hermenegildo Romero -- hromero@db-team.com
Calidad de software

• INDICE
– La Calidad del software
– ISO 9126
– CMMI

© 2009 DATABASE TEAM -- www.db-team.com


© 2009 Hermenegildo Romero -- hromero@db-team.com
LA CALIDAD DEL SOFTWARE

© 2009 DATABASE TEAM -- www.db-team.com


© 2009 Hermenegildo Romero -- hromero@db-team.com
Gestión de la Calidad

• Principios de la gestión de la calidad según ISO 9000:


2000
– Los ocho principios de la gestión de la calidad identificados para
lograr los objetivos de la calidad, según "ISO 9000:2000 Sistemas
de Gestión de la Calidad.
• Enfoque al cliente. Las organizaciones dependen de sus clientes y por
la tanto deberían comprender las necesidades actuales y futuras de los
clientes, satisfacer los requisitos de los clientes y esforzarse en exceder
las expectativas de los clientes.
• Liderazgo. Los líderes establecen la unidad de propósito y la
orientación de la organización. Ellos deberían crear y mantener un
ambiente interno, en el cual el personal pueda llegar a involucrarse
totalmente en el logro de los objetivos de la organización.
• Participación del personal. El personal, a todos los niveles, es la
esencia de una organización y su total compromiso posibilita que sus
habilidades sean usadas para el beneficio de la organización.

© 2009 DATABASE TEAM -- www.db-team.com


© 2009 Hermenegildo Romero -- hromero@db-team.com
Gestión de la calidad
• Enfoque basado en procesos. Un resultado deseado se alcanza más
eficientemente cuando las actividades y los recursos relacionados se
gestionan como un proceso.
• Enfoque de sistema hacia la gestión. Identificar, entender y
gestionar los procesos interrelacionados como un sistema, contribuye
a la eficacia y eficiencia de una organización en el logro de sus
objetivos.
• Mejora continua. La mejora continua del desempeño global de la
organización debería ser un objetivo permanente de ésta.
• Enfoque basado en hechos para la toma de decisiones. Las
decisiones eficaces se basan en el análisis de los datos y la
información.
• Relación mutuamente beneficiosa con el proveedor. Una
organización y sus proveedores son interdependientes, y una relación
mutuamente beneficiosa aumenta la capacidad de ambos para crear
valor.
– Estos ocho principios de gestión de la calidad constituyen la base
de las normas de sistemas de gestión de la calidad de la familia de
Normas ISO 9000.
© 2009 DATABASE TEAM -- www.db-team.com
© 2009 Hermenegildo Romero -- hromero@db-team.com
Gestión de la calidad
• Conceptos ISO 9000:2000
– Sistema de gestión: Sistema para establecer la política y los
objetivos, y para la consecución de dichos objetivos.
– Gestión de la calidad: Conjunto completo de procesos utilizados
en un sistema de gestión de la calidad.
– Política de la calidad: Intenciones y dirección global de una
organización relativas a la calidad tal como se expresan
formalmente por la alta dirección.
– Planificación de la calidad: Parte de la gestión de la calidad
enfocada al establecimiento e interpretación de la política de la
calidad y los requisitos de la calidad y específica cómo se va a
alcanzar.
– Mejora de la calidad: Parte de la gestión de la calidad orientada a
mejorar su eficacia y eficiencia.
– Proceso: Sistema de actividades, que utilizan recursos para
transformar entradas en salidas.

© 2009 DATABASE TEAM -- www.db-team.com


© 2009 Hermenegildo Romero -- hromero@db-team.com
La calidad del software

• Existen varios modelos de calidad de software


– El CMM - CMMI (Capability Maturity Model) es un
modelo de calidad del software que clasifica las
empresas en niveles de madurez. Estos niveles sirven
para conocer la madurez de los procesos que se realizan
para producir software.
– ISO 12207 – Modelos de Ciclos de Vida del Software.
– SPICE (Software Process Improvement and Capability
Determination) – ISO 15504.
– ISO 9126 es un estándar internacional para la evaluación
del Software. Está supervisado por el proyecto SQuaRE,
ISO 25000:2005, el cuál sigue los mismos conceptos.

© 2009 DATABASE TEAM -- www.db-team.com


© 2009 Hermenegildo Romero -- hromero@db-team.com
La calidad del software

• La obtención de un software con calidad implica la


utilización de metodologías o procedimientos
estándares para el análisis, diseño, programación y
prueba del software que permitan uniformar la
filosofía de trabajo, en aras de lograr una mayor
confiabilidad, mantenibilidad y facilidad de prueba,
a la vez que eleven la productividad, tanto para la
labor de desarrollo como para el control de la
calidad del software. Los requisitos del software
son la base de las medidas de calidad. La falta de
concordancia con los requisitos es una falta de
calidad.

© 2009 DATABASE TEAM -- www.db-team.com


© 2009 Hermenegildo Romero -- hromero@db-team.com
La calidad del software

• Los estándares o metodologías definen un


conjunto de criterios de desarrollo que guían la
forma en que se aplica la ingeniería del software.
Si no se sigue ninguna metodología siempre habrá
falta de calidad.
• Existen algunos requisitos implícitos o
expectativas que a menudo no se mencionan, o
se mencionan de forma incompleta que también
pueden implicar una falta de calidad.

© 2009 DATABASE TEAM -- www.db-team.com


© 2009 Hermenegildo Romero -- hromero@db-team.com
La calidad del software
• La política establecida debe estar sustentada sobre tres
principios básicos: tecnológico, administrativo y ergonómico.
– El principio tecnológico define las técnicas a utilizar en el proceso
de desarrollo del software.
– El principio administrativo contempla las funciones de
planificación y control del desarrollo del software, así como la
organización del ambiente o centro de ingeniería de software.
– El principio ergonómico define la interfaz entre el usuario y el
ambiente automatizado.
• La adopción de una buena política contribuye en gran
medida a lograr la calidad del software, pero no la asegura.
• Para asegurarse un nivel de calidad es necesario su control
o evaluación.

© 2009 DATABASE TEAM -- www.db-team.com


© 2009 Hermenegildo Romero -- hromero@db-team.com
La calidad del software
• La gestión de la calidad
– Gestión de la calidad: "Aspectos de la función de gestión que determinan y
aplican la política de la calidad, los objetivos y las responsabilidades y que
lo realiza con medios tales como la planificación de la calidad, el control de
la calidad, la garantía de calidad y la mejora de la calidad". Dentro de la
gestión de la calidad se observa:
– Gestión de la calidad de software (ISO 9000): Conjunto de actividades de
la función general de la dirección que determina la calidad, los objetivos y
las responsabilidades y se implanta por medios tales como la planificación
de la calidad, el control de la calidad, el aseguramiento (garantía) de la
calidad y la mejora de la calidad, en el marco del sistema de calidad
– Política de calidad (ISO 9000): Directrices y objetivos generales de una
organización, relativos a la calidad, tal como se expresan formalmente por la
alta dirección.
– La gestión de la calidad se aplica normalmente a nivel de empresa. También
puede haber una gestión de calidad dentro de la gestión de cada proyecto.

© 2009 DATABASE TEAM -- www.db-team.com


© 2009 Hermenegildo Romero -- hromero@db-team.com
La calidad del software

• El aseguramiento (assurance) de la calidad


– Aseguramiento de la calidad: "Conjunto de acciones
planificadas y sistemáticas necesarias para proporcionar
la confianza adecuada de que un producto o servicio
satisfará los requerimientos dados sobre calidad".
– Aseguramiento de la calidad de software: Conjunto de
actividades planificadas y sistemáticas necesarias para
aportar la confianza en que el producto (software)
satisfará los requisitos dados de calidad.
– El aseguramiento de calidad del software se diseña para
cada aplicación antes de comenzar a desarrollarla.

© 2009 DATABASE TEAM -- www.db-team.com


© 2009 Hermenegildo Romero -- hromero@db-team.com
La calidad del software

• El aseguramiento de calidad del software está


presente en:
– Métodos y herramientas de análisis, diseño,
programación y prueba.
– Inspecciones técnicas formales en todos los pasos del
proceso de desarrollo del software.
– Estrategias de prueba multiescala.
– Control de la documentación del software y de los
cambios realizados.
– Procedimientos para ajustarse a los estándares (y dejar
claro cuando se está fuera de ellos).
– Mecanismos de medida (métricas).
– Registro de auditorias y realización de informes.
© 2009 DATABASE TEAM -- www.db-team.com
© 2009 Hermenegildo Romero -- hromero@db-team.com
La calidad del software

• Las actividades para el aseguramiento de calidad


del software se detallan en:
– Métricas de software para el control del proyecto.
– Verificación y validación del software a lo largo del ciclo
de vida (Incluye las pruebas y los procesos de revisión e
inspección).
– La gestión de la configuración del software.

© 2009 DATABASE TEAM -- www.db-team.com


© 2009 Hermenegildo Romero -- hromero@db-team.com
La calidad del software

• Algunos métodos del aseguramiento:


– Revisiones técnicas y de gestión (su objetivo es la
evaluación).
– Inspección (su objetivo es la verificación).
• ¿Estamos construyendo el producto correcto?.
– Pruebas (su objetivo es la validación).
• ¿Estamos construyendo el producto correctamente?.
– Auditorias (su objetivo es la confirmación del
cumplimiento).

© 2009 DATABASE TEAM -- www.db-team.com


© 2009 Hermenegildo Romero -- hromero@db-team.com
La Calidad del Software

• El control de la calidad
– Control de calidad: "Conjunto de técnicas y actividades de carácter
operativo, utilizadas para verificar los requerimientos relativos a la
calidad del producto o servicio".
– Control de la calidad del software: Técnicas y actividades de
carácter operativo, utilizadas para verificar los requisitos relativos a
la calidad, centradas en mantener bajo control el proceso de
desarrollo y eliminar las causas de los defectos en las diferentes
fases del ciclo de vida.
– El control de la calidad del software está centrado en dos objetivos
fundamentales:
• Mantener bajo control un proceso.
• Eliminar las causas de los defectos en las diferentes fases del ciclo de
vida.

© 2009 DATABASE TEAM -- www.db-team.com


© 2009 Hermenegildo Romero -- hromero@db-team.com
ISO 9126

© 2009 DATABASE TEAM -- www.db-team.com


© 2009 Hermenegildo Romero -- hromero@db-team.com
ISO 9126

• ISO 9126 es un estándar internacional para la evaluación


del Software. Está supervisado por el proyecto SQuaRE,
ISO 25000:2005, y sigue los mismos conceptos.
• El estándar está dividido en cuatro partes
– modelo de calidad
– métricas externas
– métricas internas
– calidad en las métricas de uso.
• El modelo de calidad establecido en la primera parte del
estándar, ISO 9126-1, clasifica la calidad del software en un
conjunto estructurado de características y
subcaracterísticas

© 2009 DATABASE TEAM -- www.db-team.com


© 2009 Hermenegildo Romero -- hromero@db-team.com
ISO 9126

• Características
– Funcionalidad
• Un conjunto de atributos que se relacionan con la existencia de
un conjunto de funciones y sus propiedades específicas. Las
funciones son aquellas que satisfacen lo indicado o implica
necesidades.
• Subcaracterísticas
– Idoneidad
– Exactitud
– Interoperabilidad
– Seguridad
– Cumplimiento de normas.
– Conformidad

© 2009 DATABASE TEAM -- www.db-team.com


© 2009 Hermenegildo Romero -- hromero@db-team.com
ISO 9126

• ...Características
– Fiabilidad
• Un conjunto de atributos relacionados con la capacidad del
software de mantener su nivel de prestación bajo condiciones
establecidas durante un período de tiempo establecido.
• Subcaracterísticas
– Madurez
– Recuperabilidad
– Tolerancia a fallos
– Conformidad

© 2009 DATABASE TEAM -- www.db-team.com


© 2009 Hermenegildo Romero -- hromero@db-team.com
ISO 9126

• ...Características
– Usabilidad
• Un conjuntos de atributos relacionados con el esfuerzo
necesitado para el uso, y en la valoración individual de tal uso,
por un establecido o implicado conjunto de usuarios.
• Subcaracterísticas
– Aprendizaje
– Comprensión
– Operatividad
– Conformidad

© 2009 DATABASE TEAM -- www.db-team.com


© 2009 Hermenegildo Romero -- hromero@db-team.com
ISO 9126

• ...Características
– Eficiencia
• Conjunto de atributos relacionados con la relación entre el nivel
de desempeño del software y la cantidad de recursos
necesitados bajo condiciones establecidas.
• Subcaracterísticas
– Comportamiento en el tiempo
– Comportamiento de recursos
– Conformidad

© 2009 DATABASE TEAM -- www.db-team.com


© 2009 Hermenegildo Romero -- hromero@db-team.com
ISO 9126

• ...Características
– Mantenibilidad
• Conjunto de atributos relacionados con la facilidad de extender,
modificar o corregir errores en un sistema software.
• Subcaracterísticas
– Estabilidad
– Facilidad de análisis
– Facilidad de cambio
– Facilidad de pruebas
– Conformidad

© 2009 DATABASE TEAM -- www.db-team.com


© 2009 Hermenegildo Romero -- hromero@db-team.com
ISO 9126

• ...Características
– Portabilidad
• Conjunto de atributos relacionados con la capacidad de un
sistema software para ser transferido desde una plataforma a
otra.
• Subcaracterísticas
– Capacidad de instalación
– Capacidad de reemplazamiento
– Adaptabilidad
– Conformidad

© 2009 DATABASE TEAM -- www.db-team.com


© 2009 Hermenegildo Romero -- hromero@db-team.com
ISO 9126

• Cada subcaracterística (como adaptabilidad) está


dividida en atributos.
– Un atributo es una entidad la cual puede ser verificada o
medida en el producto software.
– Los atributos no están definidos en el estándar, ya que
varían entre diferentes productos software.
• Un producto software está definido en un sentido
amplio como: los ejecutables, código fuente,
descripciones de arquitectura, etc.
– La noción de usuario se amplía tanto a operadores como
a programadores, que son usuarios de componentes
software.
© 2009 DATABASE TEAM -- www.db-team.com
© 2009 Hermenegildo Romero -- hromero@db-team.com
ISO 9126
• El estándar provee un entorno para que las organizaciones
definan un modelo de calidad para el producto software.
– Cada organización tiene que especificar precisamente su propio
modelo.
– Esto podría ser hecho, por ejemplo, especificando los objetivos para
las métricas de calidad las cuales evalúan el grado de presencia de
los atributos de calidad.
• Métricas internas son aquellas que no dependen de la
ejecución del software (medidas estáticas).
• Métricas externas son aquellas aplicables al software en
ejecución.
• La calidad en las métricas de uso están sólo disponibles
cuando el producto final es usado en condiciones reales.
• Idealmente, la calidad interna determina la calidad externa y
esta a su vez la calidad en el uso.
© 2009 DATABASE TEAM -- www.db-team.com
© 2009 Hermenegildo Romero -- hromero@db-team.com
ISO 9126

• ISO 9126 distingue entre fallos y no conformidad


– fallo
• El no cumplimiento de los requisitos previos
– No conformidad
• Afecta a los requisitos especificados.

• Una distinción similar es hecha entre la validación y


la verificación.

© 2009 DATABASE TEAM -- www.db-team.com


© 2009 Hermenegildo Romero -- hromero@db-team.com
CMMI

© 2009 DATABASE TEAM -- www.db-team.com


© 2009 Hermenegildo Romero -- hromero@db-team.com
CMMI v1.2

• Capability Maturity Model Integration (CMMI) es un


modelo para la mejora de procesos.
• Proporciona los elementos esenciales para
procesos eficaces.
• Las mejores prácticas CMMI se publican en
documentos llamados modelos.
• Hay dos áreas
– Desarrollo
– Adquisición

© 2009 DATABASE TEAM -- www.db-team.com


© 2009 Hermenegildo Romero -- hromero@db-team.com
CMMI v1.2

• CMMI tiene tres constelaciones:


– CMMI para el desarrollo (Ago-2006)
• Desarrollo de productos y servicios
• Tiene dos modelos:
– CMMI-DEV
– CMMI-DEV + IPPD (Integrated Product and Process Development)
– CMMI para la adquisición (Nov-2007)
• Gestión de la cadena de suministro, adquisición y contratación
externa.
– CMMI para los servicios (borrador)
• Diseñado para cubrir todas las actividades que requieren
gestionar, establecer y entregar servicios.

© 2009 DATABASE TEAM -- www.db-team.com


© 2009 Hermenegildo Romero -- hromero@db-team.com
CMMI v1.2

• Independientemente de la constelación\modelo que


opta una organización, las prácticas CMMI deben
adaptarse a cada organización en función de sus
objetivos de negocio.
• Las organizaciones no pueden ser certificadas
CMMI. Por el contrario, una organización puede ser
evaluada (por ejemplo, usando un método de
evaluación como SCAMPI) y recibir una calificación
de nivel 1-5 si sigue los niveles de Madurez.

© 2009 DATABASE TEAM -- www.db-team.com


© 2009 Hermenegildo Romero -- hromero@db-team.com
CMMI v1.2

• El modelo CMMI v1.2(CMMI-DEV) contiene las siguientes


22 áreas de proceso:
– Análisis de Causas y Resolución (CAR)
– Gestión de la configuración (CM)
– Análisis de Decisiones y Resolución (DAR)
– Gestión Integrada de Proyectos (IPM)
– Medición y Análisis (MA)
– Innovación y Despliegue Organizacionales(OID)
– Definición de procesos organizacionales (OPD)
– Enfoque Organizacional en Procesos (OPF)
– Rendimiento de Procesos Organizacionales (OPP)
– Formación Organizacional (OT)
– Monitorización y Control de Proyecto (PMC)

© 2009 DATABASE TEAM -- www.db-team.com


© 2009 Hermenegildo Romero -- hromero@db-team.com
CMMI v1.2
– Planificación de proyecto (PP)
– Aseguramiento de calidad de Procesos y Productos (PPQA)
– Integración de Producto (PI)
– Gestión Cuantitativa de Proyectos (QPM)
– Gestión de Requerimientos (REQM)
– Desarrollo de Requerimientos (RD)
– Gestión de Riesgos (RSKM)
– Gestión de Acuerdos con Proveedores (SAM)
– Solución Técnica (TS)
– Validación (VAL)
– Verificación (VER)

© 2009 DATABASE TEAM -- www.db-team.com


© 2009 Hermenegildo Romero -- hromero@db-team.com
CMMI v1.2

• CMM-SW
– El modelo para software (CMM-SW) establece 5 Niveles
de Madurez (Maturity Level) para clasificar a las
organizaciones, en función de qué áreas de procesos
consiguen sus objetivos y se gestionan con principios de
ingeniería.
– Es lo que se denomina un modelo escalonado, o
centrado en la madurez de la organización.
– La selección de los Áreas de Proceso está prefijado,
habiendo 7 áreas de proceso para el nivel de madurez 2
(ML2), 11 para el ML3, 2 para el ML4 y 2 más para el
ML5.

© 2009 DATABASE TEAM -- www.db-team.com


© 2009 Hermenegildo Romero -- hromero@db-team.com
CMMI v1.2

• SE-CMM
– El modelo para ingeniería de sistemas (SE-CMM)
establece 6 Niveles de Capacidad posibles para cada
una de las 22 áreas de proceso implicadas en la
ingeniería de sistemas.
– La organización puede decidir cuales son las Áreas de
Proceso (PA) que quiere mejorar determinando así su
perfil de capacidad.
– Se le denomina modelo continuo.

© 2009 DATABASE TEAM -- www.db-team.com


© 2009 Hermenegildo Romero -- hromero@db-team.com
CMMI v1.2

• En el equipo de desarrollo de CMMI había defensores de


ambos tipos de representaciones. El resultado fue la
publicación del modelo con dos representaciones: continua
y escalonada.
• No son equivalentes, y cada organización puede optar por
adoptar la que se adapte a sus características y prioridades
de mejora.
• La visión continua de una organización mostrará la
representación de nivel de capacidad de cada una de las
áreas de proceso del modelo.
• La visión escalonada definirá a la organización dándole en
su conjunto un nivel de madurez del 1 al 5.

© 2009 DATABASE TEAM -- www.db-team.com


© 2009 Hermenegildo Romero -- hromero@db-team.com
CMMI v1.2

• Niveles de capacidad de procesos (modelo


continuo)
– Incompleto
• El proceso no se realiza, o no se consiguen sus objetivos.
– Ejecutado
• El proceso se ejecuta y se logra su objetivo.
– Gestionado
• Además de ejecutarse, el proceso se planifica, se revisa y se
evalúa para comprobar que cumple los requisitos.
– Definido
• Además de ser un proceso gestionado se ajusta a la política de
procesos que existe en la organización, alineada con las
directivas de la empresa.
© 2009 DATABASE TEAM -- www.db-team.com
© 2009 Hermenegildo Romero -- hromero@db-team.com
CMMI v1.2

– Cuantitativamente gestionado
• Además de ser un proceso definido se controla utilizando
técnicas cuantitativas.
– Optimizando
• Además de ser un proceso cuantitativamente gestionado, de
forma sistemática se revisa y modifica o cambia para adaptarlo a
los objetivos del negocio. Mejora continua.

© 2009 DATABASE TEAM -- www.db-team.com


© 2009 Hermenegildo Romero -- hromero@db-team.com
¿por qué adoptar CMMI?

• Muchas organizaciones valoran el medir su progreso


llevando a cabo una evaluación y ganando una clasificación
del nivel de madurez o de un nivel de capacidad de logro.
• Este tipo de evaluaciones son realizadas normalmente por
una o más de las siguientes razones:
– Para determinar que también los procesos de la organización se
comparan con las mejores prácticas CMMI y determinar qué
mejoras se pueden hacer.
– Para informar a los clientes externos y proveedores acerca de que
también los procesos de la organización se comparan con las
mejores prácticas CMMI.
– Para cumplir los requisitos contractuales de uno o más clientes.

© 2009 DATABASE TEAM -- www.db-team.com


© 2009 Hermenegildo Romero -- hromero@db-team.com
Evaluar CMMI

• Las valoraciones de las organizaciones utilizando


un modelo CMMI deben ajustarse a los requisitos
definidos en el documento "Appraisal
Requirements for CMMI" (ARC).
• La evaluación se enfoca en identificar
oportunidades de mejora, y comparar los procesos
de la organización con las mejores prácticas CMMI.
• Los equipos de evaluación usan el modelo CMMI y
un método para guiar su evaluación y reporte de
conclusiones.
• Los resultados de la evaluación son usados para
planear mejoras en la organización.
© 2009 DATABASE TEAM -- www.db-team.com
© 2009 Hermenegildo Romero -- hromero@db-team.com
Evaluación SCAMPI
• El Standard CMMI Appraisal Method for Process
Improvement (SCAMPI) es el método oficial para proveer
puntos de referencia de sistemas de calificación en relación
con los modelos CMMI.
• SCAMPI se usa para identificar fortalezas y debilidades de
los procesos, revelar riesgos de desarrollo/adquisición, y
determinar niveles de capacidad y madurez.
• Se utilizan ya sea como parte de un proceso o programa de
mejora, o para la calificación de posibles proveedores.
• El método define el proceso de evaluación
– Preparación
– actividades sobre el terreno
– observaciones preliminares
– conclusiones y valoraciones
– presentación de informes
– actividades de seguimiento.
© 2009 DATABASE TEAM -- www.db-team.com
© 2009 Hermenegildo Romero -- hromero@db-team.com
Muchas Gracias
Hermenegildo Romero
Database Team
hromero@db-team.com
www.db-team.com

© 2009 DATABASE TEAM -- www.db-team.com


© 2009 Hermenegildo Romero -- hromero@db-team.com

Das könnte Ihnen auch gefallen