Upload
others
View
15
Download
0
Embed Size (px)
Citation preview
INGENIERIA DE
SOFTWARE
Dr. Mario Rossainz López
Fac. de Cs. de la Computación
Benemérita Universidad Autónoma de Puebla
Primavera 2020
Control de la Calidad del SW
Especificación
Del producto SW
Producto Desarrollado
o Implementación
Cumple???
Sí = Tiene calidad No = Sin calidad
CONCEPTO DE CALIDAD
Crosby 1979
Control de la Calidad del SW
CONCEPTO DE CALIDAD
Problemas para demostrar la calidad de un producto SW:
1. La especificación se orienta hacia las características del producto que el
consumidor quiere; pero la organización desarrolladora también tiene
requerimientos que no se incluyen en la especificación
2. No se sabe como especificar ciertas características de calidad de forma
no ambigua (por ejemplo el mantenimiento)
3. Es difícil redactar especificaciones concretas de SW (aunque un
producto este acorde con su especificación, los usuarios no lo
consideran un producto de calidad)
Control de la Calidad del SW
CONCEPTO DE CALIDAD
Control de la calidad o Administración:
Comprende definir procedimientos y estándares a utilizar durante el
desarrollo del software y comprobar que todos los ingenieros los sigan.
Sin embargo existen aspectos intangibles de la calidad del SW que son
difíciles de medir: elegancia, transparencia, portabilidad, eficiencia, etc., y
que no se incluyen en los estándares.
Control de la Calidad del SW
CONCEPTO DE CALIDAD
Actividades principales del control de la calidad del SW:
1. Aseguramiento de la Calidad: Generación de un marco de trabajo de
procedimientos y estándares organizacionales que conduce a software
de alta calidad
2. Planeación de la Calidad: Selección de procedimientos y estándares
adecuados a partir del marco de trabajo y la adaptación de éstos para un
proyecto SW específico.
3. Control de la Calidad: Definición y promulgación de procesos que
aseguran que los procedimientos y estándares para la calidad del
proyecto son seguidos por el equipo de desarrollo SW
Control de la Calidad del SW
CONCEPTO DE CALIDAD
Software developmentprocess
Quality managementprocess
D1 D2 D3 D4 D5
Standards andprocedures
Qualityplan
Quality review reports
Control de la Calidad del SW
CONCEPTO DE CALIDAD
El estándar internacional ISO 9000:
Se utiliza en el desarrollo de un sistema de administración de la calidad
en todas las industrias.
Es un conjunto de estándares que se aplican a una gran variedad de
organizaciones, desde las de manufactura hasta las de industrias de
servicios.
El ISO 9001 es el más general de éstos estándares y se aplica a las
organizaciones interesadas en el proceso de calidad de diseño,
desarrollo y mantenimiento de productos.
El ISO 9000-3 es un documento de ayuda que interpreta al ISO 9000
para el desarrollo de software
Control de la Calidad del SW
CONCEPTO DE CALIDAD
Áreas que cubre el ISO 9001:
Management responsibili ty Qual ity system
Control of non-conforming products Design control
Handling, storage, packaging anddelivery
Purchasing
Purchaser-supplied product s Product identification and traceabilit y
Process control Inspection and t esting
Inspection and t est equipment Inspection and t est status
Contract review Corrective action
Document control Quality records
Internal quality audits Training
Servicing Statistical techniques
Control de la Calidad del SW
CONCEPTO DE CALIDAD
El estándar internacional ISO 9000:
Los procedimientos de aseguramiento de la calidad en una organización
se documentan en un manual de calidad que define el proceso de ésta.
En algunos países, existen organizaciones que certifican que los
procesos de calidad, se apegan al ISO 9001.
Cada vez más, los clientes buscan que los proveedores tengan una
certificación ISO 9000 puesto que es un indicador de qué tan seriamente
este proveedor considera su calidad
Control de la Calidad del SW
CONCEPTO DE CALIDAD
Relación entre el ISO 9000, el manual de calidad y los planes de
calidad de un proyecto particular
Project 1quality plan
Project 2quality plan
Project 3quality plan
Project qualitymanagement
Organizationquality manual
ISO 9000quality models
Organiza tionquality process
is used to develop instantiated as
instantiated as
documents
Supports
Control de la Calidad del SW
ASEGURAMIENTO Y ESTÁNDARES DE CALIDAD (QA)
1. Estándares del Producto: Son estándares que se aplican al producto
de software a desarrollar. Incluyen estándares de documentos, como la
estructura del documento de requerimientos a producir, estándares de
documentación, como encabezados estándar de comentarios para
alguna definición y estándares de codificación, que definen cómo utilizar
un lenguajes de programación.
2. Estándares del Proceso: Son estándares que definen los procesos a
seguir durante el desarrollo del software. Incluyen definiciones de los
procesos de especificación, de diseño y de validación y una descripción
de los documentos a generar en el transcurso de estos procesos.
Control de la Calidad del SW
ASEGURAMIENTO Y ESTÁNDARES DE CALIDAD (QA)
¿Porqué los estándares de SW son importantes?
• Proveen un conjunto compacto de las mejores prácticas, o al menos de
las más apropiadas. Esto evita repetición de errores anteriores.
• Proveen un marco de trabajo alrededor del cual se implementa el
proceso de aseguramiento de la calidad
• Ayudan a la continuidad. Cuando una persona lleva a cabo el trabajo
otra lo continúa. En consecuencia, se reduce el esfuerzo de aprendizaje
cuando se comienza un nuevo trabajo.
Control de la Calidad del SW
ASEGURAMIENTO Y ESTÁNDARES DE CALIDAD (QA)
Organizaciones en la producción de Estándares:
Dpt. de defensa de los E.U.A.
ANSI
BSI
OTAN
IEEE
Control de la Calidad del SW
ASEGURAMIENTO Y ESTÁNDARES DE CALIDAD (QA)
Existen estándares que cubren la terminología de la Ing. de Software :
Lenguajes de Programación como Ada y C++
Símbolos de Diagramas
Procedimientos para derivar y redactar requerimientos de software
Procedimientos del aseguramiento de calidad
Procesos de Verificación y Validación de Software (V&V)
Control de la Calidad del SW
ASEGURAMIENTO Y ESTÁNDARES DE CALIDAD (QA)
Estándares de Documentación:
Un documento estandarizado tiene una apariencia, estructura y calidad
consistentes, y por tanto son más fáciles de leer y de comprender.
• Estándares del proceso de documentación: Definen el proceso a
seguir para la producción del documento.
• Estándares del documento: Gobiernan la estructura y presentación de
los documentos.
• Estándares para el intercambio de documentos: Aseguran que todas
las copias electrónicas de los documentos sean compatibles.
Control de la Calidad del SW
ASEGURAMIENTO Y ESTÁNDARES DE CALIDAD (QA)
Estándares del proceso de documentación:
Implica definir los procedimientos involucrados en:
- El desarrollo del documento
- Herramientas de SW utilizadas para la producción del documento
- Procedimientos de comprobación y refinamiento
Control de la Calidad del SW
PROCESO DE PRODUCCIÓN DE DOCUMENTOS CON CALIDAD
Createinitial draft
Reviewdraft
Incorporatereview
comments
Re-draftdocument
Proofreadtext
Producefinal draft
Checkfinal draft
Layouttext
Reviewlayout
Produceprint masters
Printcopies
Stage 1:Creation
Stage 2:Polishing
Stage 3:Production
Approved document
Approved document
Control de la Calidad del SW
ASEGURAMIENTO Y ESTÁNDARES DE CALIDAD (QA)
Estándares del documento:
- Se aplican a todos los documentos producidos en el transcurso del
desarrollo de SW
- Los documentos deben tener un estilo y una apariencia consistentes
- Los documentos del mismo tipo deben tener una estructura consistente
- Una buena práctica es utilizar el mismo estilo en todos los documentos
producidos por una organización
Control de la Calidad del SW
ASEGURAMIENTO Y ESTÁNDARES DE CALIDAD (QA)
Ejemplos de estándares de documentos a desarrollar:
1. Estándares de identificación de documentos: Cada documento debe
identificarse de forma única
2. Estándares de la estructura del documento: Cada clase de documentos
producida durante un proyecto de SW debe seguir alguna estructura estándar
(secciones a incluir, convenciones para numeración de páginas, encabezados,
pies de página, numeración de secciones y subsecciones, etc.)
3. Estándares de la presentación de documentos: Definen un estilo propio para
los documentos. Incluyen la definición de tipos de letra y estilos, uso de logotipos
y nombres de la compañía, uso de colores para resaltar la estructura del
documento, etc.
4. Estándares para actualizar los documentos: Se debe usar una forma
consistente para indicar los cambios en el documento. Se pueden utilizar colores
diversos de la portada para indicar una nueva versión del documento y cambiar
márgenes para indicar párrafos modificados o agregados.
Control de la Calidad del SW
ASEGURAMIENTO Y ESTÁNDARES DE CALIDAD (QA)
Estándares de Intercambio de documentos:
- Se pueden intercambiar copias electrónicas de los documentos
- La utilización de estándares de intercambio permite que los documentos
se transfieran electrónicamente y puedan reconstruirse en su forma
original.
- Los estándares de intercambio definen las convenciones para emplear
herramientas estándar en la elaboración de los documentos: Word,
StarOffice, Adobe Acrobat, Adobe Reader, Works, etc.
- Ejemplos de estándares de intercambio son: el uso de macros para dar
formato al texto, contar con una hoja de estilos en un procesador de
textos o bien una plantilla de elaboración de documentos.
Control de la Calidad del SW
ASEGURAMIENTO Y ESTÁNDARES DE CALIDAD (QA)
CALIDAD DEL PROCESO Y DEL PRODUCTO
La calidad del proceso de desarrollo afecta directamente a la calidad
de los productos a entregar
Esta suposición se deriva de los procesos de manufactura donde la calidad
del producto esta íntimamente relacionada a los procesos de producción:
Sistemas automáticos de producción en masa.
Control de la Calidad del SW
ASEGURAMIENTO Y ESTÁNDARES DE CALIDAD (QA)
CALIDAD DEL PROCESO Y DEL PRODUCTO
Define processDevelopproduct
Assess productquality
Standardizeprocess
Improveprocess
QualityOK
No Yes
Control de la Calidad del SW
ASEGURAMIENTO Y ESTÁNDARES DE CALIDAD (QA)
CALIDAD DEL PROCESO Y DEL PRODUCTO
El software no se manufactura, se diseña
El desarrollo del software es un proceso creativo más que mecánico
La influencia de las habilidades individuales y la experiencia es
importante
Los factores externos, como la novedad de la aplicación o la presión
comercial para entregar un producto, también afectan la calidad del
producto respecto al proceso utilizado
Control de la Calidad del SW
ASEGURAMIENTO Y ESTÁNDARES DE CALIDAD (QA)
CALIDAD DEL PROCESO Y DEL PRODUCTO
La administración de la calidad del proceso comprende:
1. La definición de estándares de proceso: revisiones a realizar, cuando
llevarlas a cabo, etc.
2. El supervisar el proceso de desarrollo para asegurar que se sigan los
estándares
3. La creación de informes del proceso para la administración del proyecto
y para el comprador del SW
Control de la Calidad del SW
PLANEACIÓN DE LA CALIDAD
Un plan de calidad define la calidad del producto deseado
Un plan de calidad define lo que significa software de “alta calidad”
El resultado de un proceso de planeación de la calidad es un plan de
calidad del proyecto
El plan de calidad selecciona aquellos estándares organizacionales
apropiados para un producto en particular y un proceso de desarrollo
Control de la Calidad del SW
PLANEACIÓN DE LA CALIDAD
Estructura para un plan de calidad (Humphrey 1989):
1. Introducción del producto: Contiene la descripción del producto, el
mercado al que se dirige y las expectativas de calidad del producto
2. Planes del producto: Contiene las fechas de terminación del producto y
las responsabilidades importantes junto con los planes para la
distribución y servicio
3. Metas de calidad: Contiene las metas y planes de calidad para el
producto, incluye una identificación y justificación de los atributos de
calidad importantes del producto
4. Riesgos y Administración de riesgos: Contiene los riesgos clave que
podrían afectar la calidad del producto y las acciones para abordar estos
riesgos
Control de la Calidad del SW
PLANEACIÓN DE LA CALIDAD
Atributos de calidad del Software:
Seguridad Comprensión Portabilidad
Protección Experimentación Usabilidad
Fiabilidad Adaptabilidad Reutilización
Flexibilidad Modularidad Eficiencia
Robustez Complejidad Aprendizaje
Control de la Calidad del SW
CONTROL DE LA CALIDAD
Implica vigilar el proceso de desarrollo de software para asegurar que se
sigan los procedimientos de aseguramiento y estándares de calidad
Existen 2 enfoques para el control de la calidad:
1. Revisiones de la calidad en las que el software, su documentación y los
procesos utilizados para producir ese software son revisados por un
grupo de personas.
2. Valoración automática del software en la que el software y los
documentos producidos se procesan por algún programa y se comparan
con los estándares que aplican a ese proyecto de desarrollo en
particular (uso de métricas de SW)
Control de la Calidad del SW
CONTROL DE LA CALIDAD
Revisiones de la calidad (tipos):
Tipos de Revisión Propósito Principal
Inspecciones de diseño Detectar errores finos en los
o programas requerimientos, el diseño o el código. La
revisión se conduce por una lista de
verificación de los posibles errores
Revisiones de Progreso Proveer información para administrar el
progreso completo del proyecto (costos,
planes y calendarización)
Revisiones de calidad Llevar a cabo un análisis técnico de los
componentes del producto o
documentación para encontrar
diferencias entre la especificación y el
diseño del componente, código y doc.
Control de la Calidad del SW
MEDICIÓN Y MÉTRICAS DE SOFTWARE
La medición del software se refiere a derivar un valor numérico para
algún atributo de un producto de software o proceso de software
HP (Grady, 1993) y AT&T (Barnad, Price, 1994) han introducido
programas de métricas
Una métrica de software es cualquier tipo de medida relacionada con
un sistema, proceso o documentación de software. Por ejemplo:
medidas para calcular el tamaño de un producto en líneas de código, el
número de fallas reportadas en un producto SW entregado, número de
personas-días requeridas para desarrollar un componente del sistema
Las métricas son de control o de predicción
Las métricas de control se asocian con los procesos del software. Ej:
el esfuerzo y tiempo promedio para reparar defectos reportados
Las métricas de predicción se asocian con los productos software. Ej:
la complejidad de un módulo, el número de atributos y operaciones
asociadas con los objetos de un diseño, etc.
Control de la Calidad del SW
MEDICIÓN Y MÉTRICAS DE SOFTWARE
Métricas de Predicción y Control
Managementdecisions
Controlmeasurements
Softwareprocess
Predictormeasurements
Softwareproduct
Control de la Calidad del SW
MEDICIÓN Y MÉTRICAS DE SOFTWARE
Relación entre los atributos de software externos (No medibles) e
internos (medibles)
Reliability
Number of procedureparameters
Cyclomatic complexity
Program size in linesof code
Number of errormessages
Length of user manual
Maintainability
Usability
Portability
Control de la Calidad del SW
EL PROCESO DE MEDICIÓN
Measurecomponent
characteristics
Identifyanomalous
measurements
Analyseanomalouscomponents
Selectcomponents to
be assessed
Choosemeasurements
to be made
MEDICIÓN Y MÉTRICAS DE SOFTWARE
Control de la Calidad del SW
EL PROCESO DE MEDICIÓN
1. Seleccionar las medidas a realizar: Se formulan las preguntas que la
medición debe responder y definir las medidas requeridas para resolver
estas preguntas.
2. Seleccionar los componentes a evaluar: No es deseable estimar los
valores de las métricas de todos los componentes de un sistema de
software. Se elige un conjunto representativo de componentes.
3. Medir las características de los componentes: Se miden los
componentes seleccionados y se calculan los valores de las métricas.
Se pueden utilizar algunas herramientas CASE
4. Identificar las mediciones anómalas: Se comparan las mediciones
obtenidas de los componentes con las mediciones previas registradas
en una BD de mediciones para identificar valores anómalos
5. Analizar los componentes anómalos: Se examinan los valores
anómalos identificados de los componentes para decidir si los valores de
la métrica indican que la calidad del componente esta en peligro
MEDICIÓN Y MÉTRICAS DE SOFTWARE
Control de la Calidad del SW
METRICAS DEL PRODUCTO
MEDICIÓN Y MÉTRICAS DE SOFTWARE
Métricas Dinámicas
Métricas Estáticas
Recolectadas por las
mediciones hechas en
un programa en
ejecución
Recolectadas por las mediciones
hechas en las representaciones
del sistema como el diseño, el
programa o la documentación
Control de la Calidad del SW
MEDICIÓN Y MÉTRICAS DE SOFTWARE
Métrica de Software Descripción
Fan-in / Fan-Out Fan-in es una medida del número de funciones que llaman a otra
función (por ejemplo X). Fan-out es el número de funciones que son
llamadas por una función X. Un valor alto de Fan-in significa que X
esta fuertemente acoplada al resto del diseño y que los cambios en X
tendrán efectos contundentes. Un valor alto de Fan-out sugiere que la
complejidad de X podría ser alto debido a la complejidad de la lógica
de control necesaria para coordinar los componentes llamados.
Longitud del código Es una medida del tamaño del programa. Generalmente, entre más
grande sea el tamaño del código de un componente del programa, más
complejo y susceptible a errores será el componente.
Complejidad Ciclomática Es una medida de la complejidad del control de un programa.
Longitud de los Es una medida de la longitud promedio de los diferentes identificadores
Identificadores en un programa. Entre más grande sea la longitud de los identificadores
es más probable que tengan significado y, por lo tanto, el programa
será más comprensible.
Control de la Calidad del SW
MEDICIÓN Y MÉTRICAS DE SOFTWARE
Métrica de Software Descripción
Profundidad de la Es una medida de la profundidad de anidamiento de las instrucciones
condicionalidad anidada if en un programa. Instrucciones if profundamente anidadas son
difíciles de comprender y son potencialmente susceptible a errores.
Índice de Fog Es una medida de la longitud promedio de las palabras y declaraciones
en los documentos. Entre más grande sea el valor del índice de Fog,
el documento será más difícil de comprender.
Control de la Calidad del SW
MEDICIÓN Y MÉTRICAS DE SOFTWARE
Comprensión
Complejidad
Mantenibilidad
Atributos de Calidad
Predictores
más
confiables
Longitud del
Código
Complejidad
Ciclomática
Métricas de Calidad