ingenieria de software avanzadarossainz/ingsw...desarrollo del software y comprobar que todos los...

38
INGENIERIA DE SOFTWARE Dr. Mario Rossainz López Fac. de Cs. de la Computación Benemérita Universidad Autónoma de Puebla Primavera 2020

Upload: others

Post on 27-Jun-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: INGENIERIA DE SOFTWARE AVANZADArossainz/ingSw...desarrollo del software y comprobar que todos los ingenieros los sigan. Sin embargo existen aspectos intangibles de la calidad del SW

INGENIERIA DE

SOFTWARE

Dr. Mario Rossainz López

Fac. de Cs. de la Computación

Benemérita Universidad Autónoma de Puebla

Primavera 2020

Page 2: INGENIERIA DE SOFTWARE AVANZADArossainz/ingSw...desarrollo del software y comprobar que todos los ingenieros los sigan. Sin embargo existen aspectos intangibles de la calidad del SW

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

Page 3: INGENIERIA DE SOFTWARE AVANZADArossainz/ingSw...desarrollo del software y comprobar que todos los ingenieros los sigan. Sin embargo existen aspectos intangibles de la calidad del SW

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)

Page 4: INGENIERIA DE SOFTWARE AVANZADArossainz/ingSw...desarrollo del software y comprobar que todos los ingenieros los sigan. Sin embargo existen aspectos intangibles de la calidad del SW

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.

Page 5: INGENIERIA DE SOFTWARE AVANZADArossainz/ingSw...desarrollo del software y comprobar que todos los ingenieros los sigan. Sin embargo existen aspectos intangibles de la calidad del SW

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

Page 6: INGENIERIA DE SOFTWARE AVANZADArossainz/ingSw...desarrollo del software y comprobar que todos los ingenieros los sigan. Sin embargo existen aspectos intangibles de la calidad del 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

Page 7: INGENIERIA DE SOFTWARE AVANZADArossainz/ingSw...desarrollo del software y comprobar que todos los ingenieros los sigan. Sin embargo existen aspectos intangibles de la calidad del SW

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

Page 8: INGENIERIA DE SOFTWARE AVANZADArossainz/ingSw...desarrollo del software y comprobar que todos los ingenieros los sigan. Sin embargo existen aspectos intangibles de la calidad del SW

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

Page 9: INGENIERIA DE SOFTWARE AVANZADArossainz/ingSw...desarrollo del software y comprobar que todos los ingenieros los sigan. Sin embargo existen aspectos intangibles de la calidad del SW

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

Page 10: INGENIERIA DE SOFTWARE AVANZADArossainz/ingSw...desarrollo del software y comprobar que todos los ingenieros los sigan. Sin embargo existen aspectos intangibles de la calidad del SW

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

Page 11: INGENIERIA DE SOFTWARE AVANZADArossainz/ingSw...desarrollo del software y comprobar que todos los ingenieros los sigan. Sin embargo existen aspectos intangibles de la calidad del SW

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.

Page 12: INGENIERIA DE SOFTWARE AVANZADArossainz/ingSw...desarrollo del software y comprobar que todos los ingenieros los sigan. Sin embargo existen aspectos intangibles de la calidad del SW

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.

Page 13: INGENIERIA DE SOFTWARE AVANZADArossainz/ingSw...desarrollo del software y comprobar que todos los ingenieros los sigan. Sin embargo existen aspectos intangibles de la calidad del SW

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

Page 14: INGENIERIA DE SOFTWARE AVANZADArossainz/ingSw...desarrollo del software y comprobar que todos los ingenieros los sigan. Sin embargo existen aspectos intangibles de la calidad del SW

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)

Page 15: INGENIERIA DE SOFTWARE AVANZADArossainz/ingSw...desarrollo del software y comprobar que todos los ingenieros los sigan. Sin embargo existen aspectos intangibles de la calidad del SW

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.

Page 16: INGENIERIA DE SOFTWARE AVANZADArossainz/ingSw...desarrollo del software y comprobar que todos los ingenieros los sigan. Sin embargo existen aspectos intangibles de la calidad del SW

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

Page 17: INGENIERIA DE SOFTWARE AVANZADArossainz/ingSw...desarrollo del software y comprobar que todos los ingenieros los sigan. Sin embargo existen aspectos intangibles de la calidad del SW

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

Page 18: INGENIERIA DE SOFTWARE AVANZADArossainz/ingSw...desarrollo del software y comprobar que todos los ingenieros los sigan. Sin embargo existen aspectos intangibles de la calidad del SW

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

Page 19: INGENIERIA DE SOFTWARE AVANZADArossainz/ingSw...desarrollo del software y comprobar que todos los ingenieros los sigan. Sin embargo existen aspectos intangibles de la calidad del SW

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.

Page 20: INGENIERIA DE SOFTWARE AVANZADArossainz/ingSw...desarrollo del software y comprobar que todos los ingenieros los sigan. Sin embargo existen aspectos intangibles de la calidad del SW

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.

Page 21: INGENIERIA DE SOFTWARE AVANZADArossainz/ingSw...desarrollo del software y comprobar que todos los ingenieros los sigan. Sin embargo existen aspectos intangibles de la calidad del SW

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.

Page 22: INGENIERIA DE SOFTWARE AVANZADArossainz/ingSw...desarrollo del software y comprobar que todos los ingenieros los sigan. Sin embargo existen aspectos intangibles de la calidad del SW

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

Page 23: INGENIERIA DE SOFTWARE AVANZADArossainz/ingSw...desarrollo del software y comprobar que todos los ingenieros los sigan. Sin embargo existen aspectos intangibles de la calidad del SW

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

Page 24: INGENIERIA DE SOFTWARE AVANZADArossainz/ingSw...desarrollo del software y comprobar que todos los ingenieros los sigan. Sin embargo existen aspectos intangibles de la calidad del SW

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

Page 25: INGENIERIA DE SOFTWARE AVANZADArossainz/ingSw...desarrollo del software y comprobar que todos los ingenieros los sigan. Sin embargo existen aspectos intangibles de la calidad 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

Page 26: INGENIERIA DE SOFTWARE AVANZADArossainz/ingSw...desarrollo del software y comprobar que todos los ingenieros los sigan. Sin embargo existen aspectos intangibles de la calidad del SW

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

Page 27: INGENIERIA DE SOFTWARE AVANZADArossainz/ingSw...desarrollo del software y comprobar que todos los ingenieros los sigan. Sin embargo existen aspectos intangibles de la calidad del SW

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

Page 28: INGENIERIA DE SOFTWARE AVANZADArossainz/ingSw...desarrollo del software y comprobar que todos los ingenieros los sigan. Sin embargo existen aspectos intangibles de la calidad del SW

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)

Page 29: INGENIERIA DE SOFTWARE AVANZADArossainz/ingSw...desarrollo del software y comprobar que todos los ingenieros los sigan. Sin embargo existen aspectos intangibles de la calidad del 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.

Page 30: INGENIERIA DE SOFTWARE AVANZADArossainz/ingSw...desarrollo del software y comprobar que todos los ingenieros los sigan. Sin embargo existen aspectos intangibles de la calidad del SW

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.

Page 31: INGENIERIA DE SOFTWARE AVANZADArossainz/ingSw...desarrollo del software y comprobar que todos los ingenieros los sigan. Sin embargo existen aspectos intangibles de la calidad del SW

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

Page 32: INGENIERIA DE SOFTWARE AVANZADArossainz/ingSw...desarrollo del software y comprobar que todos los ingenieros los sigan. Sin embargo existen aspectos intangibles de la calidad del SW

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

Page 33: INGENIERIA DE SOFTWARE AVANZADArossainz/ingSw...desarrollo del software y comprobar que todos los ingenieros los sigan. Sin embargo existen aspectos intangibles de la calidad del SW

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

Page 34: INGENIERIA DE SOFTWARE AVANZADArossainz/ingSw...desarrollo del software y comprobar que todos los ingenieros los sigan. Sin embargo existen aspectos intangibles de la calidad del SW

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

Page 35: INGENIERIA DE SOFTWARE AVANZADArossainz/ingSw...desarrollo del software y comprobar que todos los ingenieros los sigan. Sin embargo existen aspectos intangibles de la calidad del SW

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

Page 36: INGENIERIA DE SOFTWARE AVANZADArossainz/ingSw...desarrollo del software y comprobar que todos los ingenieros los sigan. Sin embargo existen aspectos intangibles de la calidad del SW

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.

Page 37: INGENIERIA DE SOFTWARE AVANZADArossainz/ingSw...desarrollo del software y comprobar que todos los ingenieros los sigan. Sin embargo existen aspectos intangibles de la calidad del SW

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.

Page 38: INGENIERIA DE SOFTWARE AVANZADArossainz/ingSw...desarrollo del software y comprobar que todos los ingenieros los sigan. Sin embargo existen aspectos intangibles de la calidad del SW

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