Sunteți pe pagina 1din 6

UNIDAD 5 – CALIDAD DEL SOFTWARE

5.1 Definición de calidad


Se basa en la conformidad con una especificación de producto detallada y la
noción de tolerancia La suposición subyacente era que los productos podían
especificarse por completo y establecerse procedimientos que comprobaran si un
producto manufacturado cumplía o no con su especificación. Desde luego, los
productos nunca cumplirán exactamente una especificación, pues se permite
cierta tolerancia. Si el producto era “casi bueno”, se clasificaba como aceptable.

No existe una definición única de calidad, ya que:

 Es un concepto relativo (es una compleja mezcla de factores que varía para
las diferentes aplicaciones y los clientes que las solicitan).

 Es un concepto multidimensional, referido a muchas cualidades.

 Está ligada a restricciones (por ejemplo, el presupuesto).

 Está ligada a compromisos aceptables (por ejemplo, plazos de fabricación).

 No es ni totalmente subjetiva ni objetiva.

5.2 Importancia de la calidad


Las posibilidades de que aparezca el fallo humano en el proceso de desarrollo de
software son enormes.

Es complicado realizar un buen software, y muchos de los productos que se


construyen tienen calidad insuficiente, además de no acertar con las estimaciones
de tiempo y recursos inexactos para la construcción de los mismos.

Todos los métodos, herramientas y procedimientos que constituyen la Ingeniería


del Software van orientados a un único fin: producir software de calidad.

Administración de la calidad del software

• Se refiere a lograr un nivel de calidad requerido en el producto de software

• Involucra a la definición de estándares de calidad apropiados y procedimientos


que permitan asegurar que estos se cumplan.

• Debe llevar a desarrollar una cultura de calidad en donde la calidad es


responsabilidad de todos

• Comprobación independiente de los procesos de desarrollo

Los productos resultantes de los procesos se introducen en el proceso de


administración de la calidad para asegurar su consistencia con estándares y
objetivos de calidad

• Equipo de aseguramiento y control: independientes de los equipos de desarrollo

• Responsabilidad de la administración de la calidad

• Visión objetiva del proceso

• Informan de problemas y dificultades a los administradores principales de la


organización

5.3 Factores de la calidad


La calidad del software no sólo se trata de si la funcionalidad de éste se
implementó correctamente, sino también depende de los atributos no funcionales
del sistema. Boehm y sus colaboradores indican que existen 15 importantes
atributos de calidad de software. Dichos atributos se relacionan con la
confiabilidad, usabilidad, eficiencia y mantenibilidad del software. por lo general se
considera que los atributos de confiabilidad son los atributos de calidad más
importantes de un sistema. Sin embargo, también es significativo el rendimiento
del software. Los usuarios rechazarán el software que sea demasiado lento.

Atributos de calidad del software


 Protección
 Comprensibilidad
 Portabilidad
 Seguridad
 Comprobabilidad
 Usabilidad
 Fiabilidad
 Adaptabilidad
 Reusabilidad
 Flexibilidad
 Modularidad
 Eficiencia
 Robustez
 Complejidad
 Facilidad para que el usuario aprenda a utilizarlo

5.4 Aseguramiento de la calidad


Las normas ISO 9000 establecen que el aseguramiento de la calidad son todas las
acciones sistemáticas y planificadas, necesarias para proporcionar una confianza
adecuada de que un producto o servicio satisfaga los requisitos dados de calidad.
Para conseguir, mantener y mejorar la calidad, las organizaciones desarrollan y
utilizan su Sistema de Calidad. Estos sistemas de calidad deben diseñarse de
acuerdo con ISO 9004 y evaluarse de acuerdo con la norma apropiada, que en el
caso del software es ISO 9001.

Los productos no pueden cumplir los estándares ISO 9001, las organizaciones si,
y eso es lo que se pretende: garantizar el uso de un sistema de calidad por el cual
se asegura que el proceso de fabricación del software cumple los requisitos
establecidos por la calidad.

5.5 Estándares y métricas de calidad


Los estándares de software tienen una función muy importante en la gestión de
calidad del software. Como se indicó, un aspecto importante del aseguramiento de
calidad es la definición o selección de estándares que deben aplicarse al proceso
de desarrollo de software o al producto de software. Como parte de este proceso
QA, también pueden elegirse herramientas y métodos para apoyar el uso de
dichos estándares.

Los estándares de software son importantes por tres razones:

1. Los estándares reflejan la sabiduría que es de valor para la organización. Se


basan en conocimiento sobre la mejor o más adecuada práctica para la compañía.
Con frecuencia, este conocimiento se adquiere sólo después de gran cantidad de
ensayo y error. Configurarla dentro de un estándar, ayuda a la compañía a
reutilizar esta experiencia y a evitar errores del pasado.

2. Los estándares proporcionan un marco para definir, en un escenario particular,


lo que significa el término “calidad”. Como se dijo, la calidad del software es
subjetiva, y al usar estándares se establece una base para decidir si se logró un
nivel de calidad requerido. Desde luego, esto depende del establecimiento de
estándares que reflejen las expectativas del usuario para la confiabilidad, la
usabilidad y el rendimiento del software.
3. Los estándares auxilian la continuidad cuando una persona retoma el trabajo
iniciado por alguien más. Los estándares aseguran que todos los ingenieros
dentro de una organización adopten las mismas prácticas. En consecuencia, se
reduce el esfuerzo de aprendizaje requerido al iniciarse un nuevo trabajo.

Existen dos tipos de estándares de ingeniería de software relacionados que


pueden definirse y usarse en la gestión de calidad del software:

1. Estándares del producto Se aplican al producto de software a desarrollar.


Incluyen estándares de documentos (como la estructura de los documentos de
requerimientos), estándares de documentación (como el encabezado de un
comentario estándar para una definición de clase de objeto) y estándares de
codificación, los cuales definen cómo debe usarse un lenguaje de programación.

2. Estándares de proceso Establecen los procesos que deben seguirse durante el


desarrollo del software. Deben especificar cómo es una buena práctica de
desarrollo.

Los estándares de proceso pueden incluir definiciones de especificación, procesos


de diseño y validación, herramientas de soporte de proceso y una descripción de
los documentos que deben escribirse durante dichos procesos.

Los estándares de calidad de software son normas emitidas por organismos


específicos, que sirven para sentar un marco con el que comparar si un proceso
de desarrollo es o no de calidad. Las normas de calidad del software más
conocidas han sido desarrolladas por ISO, y son la serie ISO-9000.

1.-ISO 9000

Las normas ISO-9000 son un estándar de calidad para todo tipo de industrias;
contiene una normativa específica para el desarrollo de software, la ISO-9003.
Consiste en una serie de cláusulas que deben aplicarse en el marco de trabajo, en
el ciclo de vida del proyecto y en las actividades de apoyo al mismo.

2.-CMMI

CMM fue desarrollado por el Software Engineering Institute en estados unidos,


sirve para comprobar la habilidad de los procesos de las organizaciones para
realizar determinados proyectos.

Las métricas del producto son una medida cuantitativa que permite a la gente del
software tener una visión profunda de la eficacia del proceso del software y de los
proyectos que dirigen utilizando el proceso como un marco de trabajo; son
analizadas y evaluadas por los administradores del software.
Las métricas de software pueden ser métricas de control o de predicción. Como el
nombre lo dice, las métricas de control apoyan la gestión del proceso, y las
métricas de predicción ayudan a predecir las características del software. Las
métricas de control se asocian por lo general con procesos de software. Ejemplos
de las métricas de control o de proceso son el esfuerzo promedio y el tiempo
requerido para reparar los defectos reportados. Las métricas de predicción se
asocian con el software en sí y a veces se conocen como métricas de producto.

5.6 Modelos de madurez


El grado en el cual una organización, o una unidad organizacional desarrollan,
asimila e implementa buenas prácticas en dirección de proyectos, programas y
portafolios, se conoce como madurez en administración/dirección de proyectos.

El nivel de madurez en administración de proyectos de una organización u unidad


organizacional, es factible de ser medido mediante modelos de madurez.

Un modelo de madurez, es un conjunto estructurado de elementos (buenas


prácticas, herramientas de medición, criterios de análisis, etc.), que permite
identificar las capacidades instaladas en dirección de proyectos en la
organización, compararlas con estándares, identificar vacíos o debilidades y
establecer procesos de mejora continua.

CMM fue desarrollado por el Software Engineering Institute en estados unidos, y


sirve para comprobar la habilidad de los procesos de las organizaciones para
realizar determinados proyectos. Se desarrolló a petición del departamento de
defensa de USA, y servía para evaluar a sus proveedores.

Dado que CMM se comenzó a utilizar para medir la capacidad de otras áreas
distintas al desarrollo de software, evolucionó a la versión CMMI, más general.

SPCE es el modelo de madurez propuesto por ISO, similar a CMMI. Clasifica las
organizaciones en seis niveles de madurez

CMMI y SPICE clasifica el grado de madurez de las empresas en seis niveles:

1. Incompleto Al menos no se satisface una de las metas específicas asociadas co


el área de proceso. No hay metas genéricas en este nivel, pues no tiene sentido la
institucionalización de un proceso incompleto.

2. Realizado Las metas asociadas con el área de proceso están satisfechas, y


para todos los procesos el alcance del trabajo a realizar se estableció de manera
explícita y se comunicó a los miembros del equipo.
3. Gestionado En este nivel se satisfacen las metas asociadas con el área de
proceso y se establecen políticas organizacionales que determinan cuándo debe
usarse cada proceso. Tiene que haber planes de proyecto documentados que
establezcan las metas del proyecto. En la institución debe haber procedimientos
para la gestión de recursos y la monitorización de procesos.

4. Definido Este nivel se enfoca en la estandarización organizacional y el


despliegue de procesos. Cada proyecto tiene un proceso gestionado que se
adapta a los requerimientos del proyecto desde un conjunto definido de procesos
organizacionales.

Deben recopilarse activos y mediciones de proceso, además de usarse para


futuras mejoras de proceso.

5. Gestionado cuantitativamente En este nivel hay una responsabilidad


organizacional cuya finalidad es usar métodos estadísticos y cuantitativos para
controlar los subprocesos; esto es, deben utilizarse mediciones recopiladas de
proceso y producto en la gestión del proceso.

6. Optimizado En este nivel superior, la organización debe usar las mediciones de


proceso y producto para impulsar la mejora de los procesos. Hay que analizar las
tendencias y adaptar los procesos a las necesidades cambiantes de la empresa.

S-ar putea să vă placă și