Calidad del software. Métricas y fiabilidad de aplicaciones (2ª parte) (DV00104A)



Documentos relacionados
La ayuda y referencia de Visual Basic y otros recursos como herramientas para los programadores. (CU00306A)

MICROSOFT ACCESS 2007

PROCEDIMIENTO DE EVALUACIÓN Y ACREDITACIÓN DE LAS COMPETENCIAS PROFESIONALES CUESTIONARIO DE AUTOEVALUACIÓN PARA LAS TRABAJADORAS Y TRABAJADORES

El alumno deberá contestar al bloque de respuesta obligada y elegir una de las dos alternativas. BLOQUE DE RESPUESTA OBLIGADA

BOLETÍN OFICIAL DEL ESTADO

Microsoft Access 2003 (Completo)

Bloque 1. La sociedad de la información y el ordenador

TEMA 10: Metodologías de desarrollo de aplicaciones. El ciclo de vida según Métrica.

TÉCNICO SUPERIOR EN AUDITORÍA Y GESTIÓN DE LA CALIDAD

1. (10 min 1p) Cómo puede saber una empresa española si es mejor o peor que otra en el ámbito de la calidad total? Justifique la respuesta.

CÓMO SELECCIONAR LA INFORMACIÓN

Avance, situación y evolución de la Agenda 21 Local en la Comunidad de Madrid

1 Dirección y motivación de equipos 2 Delegación de funciones 3 Cómo organizar su equipo

Teoría de la decisión Estadística

MASTER UNIVERSITARIO EN DIRECCIÓN DE ORGANIZACIONES E INSTALACIONES DE LA ACTIVIDAD FÍSICA Y DEL DEPORTE

ITIL V3 Entender el enfoque y adoptar las buenas prácticas

PREGUNTAS DE EJEMPLO MATEMÁTICA SEGUNDO CICLO MEDIO

Gestión y organización de artículos Clasificación en secciones, categorías y subcategorías Joomla. Ejemplos. (CU00422A)

MÁSTER INTERNACIONAL EN TRÁFICO, TRANSPORTES Y SEGURIDAD VIAL

INTRODUCCIÓN A LA ECONOMÍA La Demanda de Bienes La Demanda de Bienes TEMA 6. DEMANDA AGREGADA

CURSO DE CREACIÓN DE EMPRESAS

DOSSIER DE PRESENTACIÓN CONSULTORÍA EN IMPLANTACIÓN PLANES DE MEJORA

MICROSOFT ACCESS 2013 (COMPLETO)

PLATAFORMA DE HACIENDA LOCAL DE espublico La herramienta para el equipo económico de tu Ayuntamiento.

SISTEMA DE INFORMACIÓN PARA LA DIRECCIÓN SOBRE EL ÁREA DE TRIBUTOS (HACIENDA TRIBUTARIA DE NAVARRA)

DOCUMENTO 3: DISTRIBUCIÓN DE PROBABILIDAD DE V. A. CONTINUA: LA DISTRIBUCIÓN NORMAL

INFORMACIÓN SOBRE LA PRUEBA DE ACCESO (PAU) A LA UNIVERSIDAD DE OVIEDO. CURSO 2015/2016

UNIVERSIDAD DE CHILE FACULTAD DE CIENCIAS FÍSICAS Y MATEMÁTICAS DEPARTAMENTO DE INGENIERÍA INDUSTRIAL CONTROL #3

De qué hablamos cuando nos referimos a las PYMEs?

1 Sistema de información de ejemplo.

CONFIGURACIÓN BÁSICA DE NOTEPAD++ PARA CREAR PÁGINAS PHP. ALGUNAS VENTAJAS DE ESTE EDITOR COMO SUS EXTENSIONES O PLUGINS.

Ingeniería Informática

CONCEPTO O DEFINICIÓN DE HERENCIA EN JAVA Y EN PROGRAMACIÓN ORIENTADA A OBJETOS. QUÉ ES? EXTENDS. EJEMPLOS. (CU00684B)

Diseño de una empresa de outsourcing en el área de recursos humanos para las pequeñas y medianas empresas de San Salvador

ENSEÑANZAS DE GRADO EN ECONOMÍA

AYMING PRESENTA SU BARÓMETRO DE ABSENTISMO EN ESPAÑA 2016

MANUAL DE EXCEL AVANZADO

OLIMPIADA ESTADÍSTICA 2016:

Cuaderno de Actividades 4º ESO

CAPITULO 5 LA DETERMINACIÓN DEL INGRESO DE EQUILIBRIO

Sistemas de gestión de compras Norma UNE-CWA 15896: Gestión de compras de valor añadido

FORMACIÓN E-LEARNING. Curso de Protección de Datos Personales en el Sector Sanitario

BOLETÍN OFICIAL DEL ESTADO

La automatización de los. información y gestión documental mediante tecnologías ICR / OCR

QUÉ ES JAVASCRIPT? PRINCIPALES USOS. SERVIDOR Y CLIENTE. HTML, CSS Y PROGRAMACIÓN. EFECTOS DINÁMICOS (CU01103E)

GENERAR NÚMEROS O SECUENCIAS ALEATORIOS EN C. SRAND Y RAND. TIME NULL. RAND_MAX. (CU00525F)

Diplomado en Mercadeo Estratégico

Gerencia de la Informática

Reglamento de Practicas. Facultad de Ingeniería. Página 1

BOLETÍN OFICIAL DEL ESTADO

INDICADORES DE GÉNERO: HERRAMIENTAS PARA EL DISEÑO Y EVALUACIÓN DE PROYECTOS

Participantes ÍNDICE

Norma ISO 15189: 2013

PLIEGO DE PRESCRIPCIONES TÉCNICAS

FORMACIÓN E-LEARNING. Curso de Elaboración, Gestión y Control Presupuestario

Experto en Creación de Tiendas Virtuales y Portales Web + SEO

Probabilidad y Estadística

DEFINICIÓN DE LOS PROBLEMAS; IDENTIFICACIÓN DE LOS FACTORES Y LOS OBJETIVOS. UNIVERSIDAD EL BOSQUE. HÉCTOR IVÁN HURTATIS ESPINOSA.

Además, el programa realiza un seguimiento en el tiempo de los resultados de las iniciativas implementadas.

Uso de centinelas para la toma de decisiones. Esquemas y diagramas de flujo. Ejemplos resueltos. (CU00167A)

Integración del Análisis del Ciclo de Vida en la Enseñanza del Diseño de Procesos

TEMA 5: INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE. Definición de Ingeniería del Software

Tecnologías de la Información y las Comunicaciones en España: situación empresarial y mercado laboral

Excel 2007 Completo. Duración: Objetivos: Contenido: 75 horas

CAPITULO 5 - LA PERSPECTIVA DEL PROCESO INTERNO

Ciclo de vida de un producto (CVP)

EXAMEN DE PRINCIPIOS DE ECONOMÍA. Nombre y Apellidos:... GRUPO:... NIU:... PROFESOR:... Firma:

CURSO. Dirección y Gestión de Proyectos TI bajo la Metodología PMI con Microsoft Project (35 Horas)

ARATECNIA Informática Profesional e Industrial

El usuario selecciona el botón crear proyecto (Uniprograma o Interprograma).

Resumen de la clase de hoy

CONFIGURACIÓN BÁSICA DE NOTEPAD++. AUTOCOMPLETAR Y OTRAS VENTAJAS DE NOTEPAD++. (CU00709B)

INSTITUTO DE NUTRICIÓN DE CENTRO AMERICA Y PANAMA INCAP CONSIDERACIONES TECNICAS PARA ANÁLISIS DE FUENTES INFORMACIÓN

1. DEFINICIÓN DEL PROGRAMA EDUCATIVO

BORRAR DATOS EN TABLAS CON PHP Y MySQL. DIFERENCIA ENTRE DELETE Y TRUNCATE. SELECT CON WHERE. (CU00844B)

Permite al interesado tener una idea clara sobre el artículo o la investigación propuesta, sin necesidad leerlo completamente.

El número de empresas activas disminuye un 2,0% durante 2009 y se sitúa en los 3,29 millones. El 53,9% de las empresas no emplea a ningún asalariado

GRADUADOS DE LA FACULTAD DE INGENIERIA CUC: UNA REVISIÓN DESDE EL SECTOR EMPRESARIAL

Sede Electrónica de la Seguridad Social. Una vez obtenga el Informe de Vida Laboral vuelva a esta página y lea la siguiente información:

Servicio Mentoring. Emprendedores

DESTREZAS BÁSICAS EN MATEMÁTICAS

PRUEBA DE CONOCIMIENTOS

GRADO EN ARQUITECTURA TÉCNICA

1.1. Resumen Introducción Objetivos del resumen automático

Anexo Estadístico Electrónico

FORMACIÓN PRÁCTICA: Al propio ritmo de aprendizaje, sin condicionantes de grupo y atendido personalmente por un profesorado especializado.

Resolución provisional de reconocimiento de créditos para el título de Grado en Ingeniería Informática

HERRAMIENTAS PARA LA GESTIÓN DE LA CALIDAD. Francisco Javier Miranda González

PRÁCTICA 4. EL ENTORNO DE UN ROBOT EN C++

PERFIL COMPETENCIA ANALISTA DESARROLLADOR DE APLICACIONES DE SOFTWARE (TIC-PROG)

Programación en Capas con Visual C#: desarrollo rápido de aplicaciones

CALIDAD 1 JOSÉ MANUEL DOMENECH ROLDÁN PROFESOR DE ENSEÑANZA SECUNDARIA

Tema 3.2 Comienzo de proyecto y estudios de viabilidad

PRESTACIÓN DEL SERVICIO DE

PP04002 Planeación de Plantas Industriales. Objetivo de aprendizaje del tema

Estadística Descriptiva

RESOLUCIÓN DE PROBLEMAS DE PROGRAMACIÓN LINEAL CON LA CALCULADORA

EJERCICIOS PARTE I: 1. Cómo se llamaba anteriormente a las hojas de cálculo? 2. Qué es una hoja electrónica de cálculo?

Parte I : Características generales de Joomla. FrontEnd, BackEnd,plantillas, etc. (CU00405A)

CAPÍTULO 1. Introducción. la competitividad exige actualización y mejora continua por parte de todos y cada uno

Transcripción:

aprenderaprogramar.com Calidad del software. Métricas y fiabilidad de aplicaciones (2ª parte) (DV14A) Sección: Divulgación Categoría: Tendencias en programación Fecha revisión: 229 Autor: César Krall Resumen: Este artículo explica cuestiones básicas sobre la calidad del software y sobre qué son las métricas, norma CMMI, etc. Resume y comenta una conferencia impartida por Ramiro Carballo (Ingeniero de la empresa GESEIN) en la Escuela de Ingeniería Informática de la Universidad de Sevilla. 29

CONTINUACIÓN: CALIDAD DEL SOFTWARE POR QUÉ DEDICAR RECURSOS A LA CALIDAD? Un error común es pensar que si un proyecto de software con una persona se desarrolla en 12 meses, con dos personas se desarrollará en 6 meses o con tres personas en 4 meses. Esto no es así por muchos motivos, entre otros porque hay fases como las pruebas y el diseño que no pueden solaparse. La búsqueda del software perfecto puede ser contraproducente: dedicar tiempo a eliminar errores muy pequeños o de muy escasa probabilidad de que se produzcan significa que tendremos más gastos. Por tanto lo que interesa es un software con la calidad adecuada para la satisfacción del cliente, no un software perfecto. Si nos planteamos entregar software sin defectos, posiblemente nunca lleguemos a entregar un proyecto. Hay que buscar un equilibrio: ni perfecto, ni demasiado imperfecto Cuando se entrega un proyecto de software a un cliente lo normal es que se le ofrezca un periodo de garantía. Durante ese periodo pueden ocurrir varias cosas: a) Hay fallos pero el cliente no los encuentra. No supone ningún problema. b) El cliente encuentra un número moderado de fallos. Nos supondrá tener que realizar cierto número de correcciones, lo cual debíamos haber contemplado dentro del presupuesto y no suponernos ningún problema. c) El cliente encuentra un número elevado de fallos o el producto le resulta no satisfactorio. Esta es la situación que resulta problemática (y no tan infrecuente como sería deseable) y que nos obliga a realizar una inversión de tiempo y recursos humanos para hacer una corrección en profundidad. Con el riesgo añadido de que al introducir cambios significativos nos arriesgamos a generar nuevos fallos o problemas que eternicen el proyecto. Evitar estas situaciones es lo que justifica utilizar modelos de procesos como CMMI y dedicar suficientes testers y tiempo a las pruebas. Los atajos en la producción de software suelen ser a la larga una mala solución. CRITICIDAD DE LOS FALLOS Y EVOLUCIÓN DE LOS FALLOS EN EL TIEMPO Un fallo en el software puede tener distintos niveles de criticidad. No es lo mismo un fallo en el diseño de la base de datos que obligue a replantear una parte importante del proyecto que un error en la sintaxis del código que no tiene mayores implicaciones para el proyecto en su conjunto. Por tanto cuando realizamos control de calidad del software además de registrar el número de fallos debemos registrar su relevancia. La evolución habitual de los fallos en los proyectos es la siguiente: al iniciar las pruebas los fallos van en ascenso hasta un nivel máximo a partir del cual descienden. Este descenso nos indica que el código va quedando limpio.

1 8 6 4 2 Nº de fallos frente a tiempo 2 4 6 8 1 A medida que se van encontrando menos fallos se va retirando personal de pruebas (testers). El criterio para retirar un tester suele ser un indicador del tipo: Retirar tester cuando se produce: Rendimiento Horas de tester / Fallos encontrados < Umbral. Cuando son necesarias más horas de tester que las económicamente asumibles, se retira el tester. Si analizamos el número de líneas de código por etapas lo normal es que sea de este tipo: Líneas de código 6 5 4 3 2 1 diseño Fin diseño desarrollo Fin desarrollo pruebas Fin pruebas Líneas de código Durante el diseño y pruebas el código no crece o lo hace mínimamente. Parece que estuviéramos parados, sin embargo son etapas fundamentales para que un proyecto pueda llegar a buen puerto. MÉTRICAS, REPOSITORIOS Y PLANES DE PROYECTO Con todos los datos que vamos acumulando durante el ciclo del software, como número de testers dedicados, tiempo de pruebas, programadores dedicados, número de reclamaciones del cliente, tiempo medio entre reclamaciones del cliente, etc. obtenemos medidas (métricas) que nos permiten extraer conclusiones a partir del análisis estadístico. Estas métricas nos permiten poder evaluar cómo se va a comportar un proyecto en el futuro: cuánto personal va a consumir, número de errores previsible, satisfacción del cliente esperable, etc.

Es importante mantener bien almacenados en una base de datos los parámetros que definen los proyectos que hayamos hecho. Estas bases de datos se llaman repositorios. Existen repositorios públicos pero los realmente potentes son los propios de una empresa porque reflejan fielmente lo que sucede en ella. En un repositorio podemos citar algunos datos fundamentales por proyecto como: a) Tamaño. Medido por ejemplo como número de líneas de código o número de puntos función. b) Esfuerzo en recursos humanos: horas de trabajo por categorías. c) Duración del proyecto. d) Defectos encontrados durante el proyecto. e) Tipo de proyecto incluyendo datos relativos al lenguaje utilizado, sector del cliente (gestión, telecomunicación, tiempo real, etc.) f) Presión del cliente en cuanto a plazos. g) Relación entre parámetros en el tiempo (productividad). h) Número de fases en que se desarrolló el proyecto. Con los datos disponibles en el repositorio de nuestra empresa podremos analizar el encargo de un cliente y hacer un plan de proyecto donde plasmamos lo que se puede prever que va a suponer ese proyecto: cuánto va a durar el desarrollo, cuántas líneas de código vamos a tener cada mes durante el desarrollo, cuánto personal va a haber por fases y cuáles van a ser los gastos previstos en el tiempo. Una vez en marcha el proyecto, compararemos las previsiones contempladas en el plan de proyecto con lo que realmente esté sucediendo. Los resultados pueden ser de este tipo: 35 Evolución real frente a prevista Horas 3 25 2 15 1 5 Horas dedicadas (previsión) Horas dedicadas (reales) 1 2 3 4 5 6 7 8 9 1 11 12 El jefe de proyecto deberá manejar gráficos y tablas de datos de este tipo para conocer en todo momento la marcha del proyecto y poder tomar las decisiones oportunas. Con un panel de gráficos y tablas podrá conocer en cualquier momento cómo evoluciona el proyecto respecto a lo previsto en sus diferentes parámetros: nivel de gastos, nivel de fallos en el código, satisfacción del cliente, etc.

Con CMMI se consigue optimizar el proceso de creación y entrega de software. A la larga tiene diferentes ventajas como ser más eficiente, lograr mayores niveles de satisfacción del cliente y obtener beneficios económicos para la empresa. La implantación de CMMI debe ser gradual. Lo normal es empezar con el nivel 1, el más sencillo, y progresivamente ir implantando niveles hasta llegar al nivel 5, el más exigente. REFERENCIAS Y MÁS INFORMACIÓN Este artículo resume y comenta la conferencia pública impartida por Ramiro Carballo, Ingeniero Informático de la empresa GESEIN, en el marco de las Jornadas Imaginática: La informática del futuro, que tuvieron lugar en la Escuela Técnica Superior de Informática de la Universidad de Sevilla (España) y a las que tuvimos la oportunidad de asistir. Gesein es una empresa con sede en Madrid que cuenta con unos 25 empleados. Cuentan con una sección de consultoría para la optimización del desarrollo del software. Trabajan en la implantación de modelos de procesos como ISO 91, CMMI, etc. Para más información: Asociación Española para la calidad: www.aec.es; www.gesein.com.