calidad en el desarrollo de software

21
Calidad en el Desarrollo de Software INTEGRANTES: MOCTEZUMA DIRCIO NOE NOHPAL TUXPAN CRISTIAN

Upload: noe-moctezuma

Post on 13-Aug-2015

28 views

Category:

Education


2 download

TRANSCRIPT

Calidad en el Desarrollo de SoftwareINTEGRANTES:

MOCTEZUMA DIRCIO NOE

NOHPAL TUXPAN CRISTIAN

Calidad

Es el conjunto de propiedades y características de un producto o servicio que le confieren capacidad de satisfacer necesidades, gustos y preferencias, y de cumplir con expectativas en el consumidor

Gestión de la calidad Total

Es una etapa del producto o servicio donde se busca la satisfacción del cliente, relacionados con sus principios.

Los objetivos principales de la gestión de calidad son:

Satisfacción del cliente.

Hacer las cosas bien.

Mejorar la capacidad de relación de SGC (Sistema de Garantía de Calidad)

Anticipar las necesidades del cliente.

Aseguramiento de calidad

Son las acciones realizadas para el producto o servicio cumpla los requerimientos de calidad, aquí se maneja el manual de calidad que puede ir a las normas del ISO 9000

Pasos para asegurar la calidad:

1.- Establecer un sistema y la forma de evaluarlo.

2.- Auditar el sistema para ver que se cumplan las actividades.

3.- Revisar el sistema periódicamente.

Instituciones que realizan metodologías, normas, estándares para desarrollar y manejar Software

SEI (Software Engineering Institute)

IEEE (Institute of Electrical and Electronics Engineers)

ISO (International Organization for Standardization)

SPICE (Software Process Improvement And Capavility Determination)

UNAM (Universidad Nacional Autónoma De Mexico)

CMMI Capability Maturity Model Integration

IQC (Institute of Quality and Control)

PROSOFT

ITS

CISCO

Generalidades de La calidad

Calidad de diseño (Especificaciones para el tipo de calidad, tolerancia y tipo de rendimiento.

Garantía de Calidad: Su objetivo es informar datos sobre la calidad del producto.

Calidad De Software: Contar con lineamiento y herramientas de apoyo en el desarrollo para medir la calidad durante el desarrollo y no al final.

Normas: Son patrones, modelos que definen las características de un producto y puede ser internacional ejemplo (La norma Oficial Mexicana).

Estándares: Son normas y protocolos internacionales, para distribuir y consumir productos o servicios.

¿Cómo se desarrollan los estándares?

El desarrollo de estándares sigue seis pasos:

Se crea un acta de constitución del proyecto y un comité para desarrollar un estándar específico. Este comité incluye un Presidente, Vice Presidente y a los voluntarios. También se asigna a un individuo del personal del PMI como un recurso.

El comité se reúne durante un periodo de tiempo de varios meses para realizar un borrador del estándar y refinarlo.

El grupo de consejo de miembros sobre los estándares (MAG) y un grupo de expertos en el tema examinan el borrador y se lo devuelven al comité para su revisión.

El borrador expuesto para su revisión queda disponible para que el público lo comente, el comité considera dichos comentarios y lo revisa nuevamente.

El estándar finalizado se envía para que lo apruebe el cuerpo de consenso del PMI, que es un grupo independiente de miembros voluntarios responsables de validar el proceso del desarrollo de cada estándar.

Una vez que el gerente de estándares del PMI hace una recomendación, el presidente y Oficial Ejecutivo Principal (CEO) del PMI aprueba el nuevo estándar.

Procesos.

Conjunto de actividades coordinadas u organizadas que se realizan alternativa o simultáneamente para un fin determinado.

Entradas al proceso:

Pude ser la salida de otro proceso.

Personas, Usuarios.

Reportes generados(Sistemas, personas)

Información.

Hitos(Momento clave en el desarrollo de sistema puede ser una fecha o un evento)

CONCEPTOS DE CALIDAD EN EL DESARROLLO DE SOFTWARE

Para ello nos basamos en tresejes:1. Concordancia con los requerimientos.2. Cumplir con estándares especificados.3. Requisitos implícitos.

Costos de la calidad:• Prevención de futuros problemas.• Planificar.• Revisiones.• Capacitación.• Recursos Humanos.Costos de la no calidad:• Costos de corrección de errores.• Resolución de quejas.• Devolución.• Imagen.• Soporte.

Algunos FACTORES y/o características que determinan la calidad del software son:

1. FUNCIONALIDAD.- (¿Puedo probarlo?). El esfuerzo requerido para probar un programa con el fin deasegurar que realiza su función requerida.2. CORRECCIÓN.- (¿Hace lo que quiero?). El grado en que un programa satisface sus especificaciones yconsigue los objetivos de la misión encomendada por el cliente.3. CONFIABILIDAD.- (¿Lo hace de forma fiable todo el tiempo?). El grado en que un programa lleva a cabo susfunciones esperadas con la precisión requerida.4. EFICIENCIA.- (¿Se ejecutará en mi hardware lo mejor que pueda?). La cantidad de recursos decomputadora y de código requeridos por un programa para llevar a cabo sus funciones.5. USABILIDAD.- (¿Podré reusar alguna parte del software?). El grado en que un programa (o parte de unprograma) se puede reusar en otras aplicaciones. Esto va relacionado con el empaquetamiento y el alcancede las funciones que realiza el programa.6. MANTENIBILIDAD.- (¿Puedo corregirlo?). El esfuerzo requerido para localizar y arreglar un error en unprograma.7. PORTABILIDAD.- (¿Podré usarlo en otra máquina?). El esfuerzo requerido para transferir el programadesde un hardware y/o entorno de sistemas de software a otro).8. ROBUSTEZ.- (¿Es muy grande el programa?). Tamaño del programa.CALIDAD EN EL DESARROLLO DE SOFTWARE9. COMPATIBILIDAD.- (¿Podré hacerlo interactuar con otro sistema?). El esfuerzo requerido para acoplar unsistema a otro.

Norma ISO 14598

Sirve para la valoración de software, ayudando a evaluar y mejorarlo, con mediciones en el proceso de diseño, desarrollo y control de producto.

consta de seis partes que describen los requisitosdel proceso de evaluación en tres situaciones diferentes.

Requisitos para los comparadores.

Requisitos para los evaluadores.

Y otros como audiencia destino, proveedores y compradores de productos o software.

Esta norma también se usa en conjunto con la ISO/IEC 9126 se usan para tomar en cuenta a los proveedores, compradores de software organizaciones que evalúan productos y usuarios del producto

Alcance general de ISO/IEC 14590

Establecer los requerimientos de la evaluación siguiente:

Planear la ejecución.

Ejecutar la evaluación.

Especificar la evaluación.

Métricas de Software

Métrica: son las estimaciones de costo, esfuerzo al realizar el software y recolecta de datos cualitativos y cuantitativos para aumentar la calidad del software.

Porque se mide un producto: para evaluar la productividad de las personas indicando su calidad, justificando el uso de nuevas herramientas o información adicional.

Tipos de métricas de calidad de software.

Métricas Directas: se refieren al costo, esfuerzo en líneas de código, velocidad de ejecución, tamaño de memoria y defectos en periodo de tiempo.

Métricas indirectas: Se encuentra la funcionalidad, calidad, complejidad, eficiencia, fiabilidad, facilidad demantenimiento.

Métricas de software: son las que están relacionadas con el desarrollo del software comofuncionalidad, complejidad, eficiencia, y se explican a continuación:

Métricas de calidad: proporcionan una indicación de cómo se ajusta el software a los requisitosimplícitos y explícitos del cliente. Es decir cómo voy a medir para que mi sistema se adapte a los requisitos que me pide el cliente.

Métricas de productividad: Se centran en el rendimiento del proceso de la ingeniería del software. Es decir que tan productivo va a ser el software que voy a diseñar.

Métrica orientada a la persona: Proporcionan medidas e información sobre la forma que la gente desarrolla el software de computadoras y sobre todo el punto de vista humano de la efectividad de las herramientas y métodos. Son las medidas que voy a hacer de mi personal que va hará el sistema.

Métricas orientadas al tamaño: Es para saber en qué tiempo voy a terminar el software y cuantaspersonas voy a necesitar. Son medidas directas al software y el proceso por el cual se desarrolla, si unaorganización de software mantiene registros sencillos,

Resumen

Calidad de software

El software es un producto como cualquier otro, y por tanto podemos hablar de software de buena calidad y software de mala calidad. La calidad del software comprende distintos aspectos como estética, funcionalidad, eficiencia, etc. Lo que distingue al software de otros productos industriales es que no es de naturaleza material, no se puede tocar. Por tanto no resulta viable hacer una valoración del mismo en base a una impresión rápida o análisis del aspecto ni en base al coste de materiales componentes.

MÉTRICA Históricamente se habló de métrica en referencia a los sistemas que existían para escribir versos

diferenciados en base al número de sílabas que contenía cada verso, así como en referencia al estudio y “medición” de la cantidad de sílabas y estrofas que contenían los versos.

En informática, el término métrica hace referencia a la medición del software en base a parámetros predeterminados, como puede ser el número de líneas de código de que consta o el volumen de documentación asociada. A veces en vez de hablar de métrica se usa el término “Indicadores” del software. Algunos ingenieros lo usan como sinónimos mientras que otros les atribuyen significados distintos.

Algunas métricas o indicadores pueden ser:

a) Índice de productividad = tamaño / esfuerzo = líneas de código generado / horas trabajadas.

b) Tasa de defectos = defectos / tamaño = número de errores / líneas de código generadas.

 9001

La ISO 9001 es una normativa de cumplimiento opcional para el aseguramiento de la calidad en las empresas. Esta norma trata de definir los procesos que se siguen dentro de la empresa para estandarizarlos y controlarlos. Es de carácter genérico. El cumplimiento de la norma ISO 9001 no garantiza que se esté controlando que la calidad del producto final sea buena. Simplemente garantiza que la empresa ha adoptado una organización definida y controlada.

MODELOS CMMI

CMMI son las siglas de un modelo utilizado en el ámbito de la informática para evaluar si una empresa mantiene ciertos niveles de calidad en relación al software. CMMI es un estándar que cuenta con gran número de empresas seguidoras, pero hay otras normas y modelos que son seguidos por otras empresas, como CMM, ISO 9001, SPICE, PSP, TSP, ISO 20.000, ITIL, etc.

El modelo CMMI es gratuito. Está en internet y se puede descargar en formato pdf o doc. En la web de la Asociación Española de la Calidad (aec.es) podemos descargar una guía de CMMI para pequeñas organizaciones; en esta web, que abarca calidad en diversos sectores además del informático, se publican noticias interesantes sobre calidad en el software y las tecnologías de la información.

PRUEBAS EN EL SOFTWARE: DE LA TEORÍA A LA PRÁCTICA

Cuando el desarrollo de software adquiere forma comienza el desarrollo de pruebas. La inversión en pruebas es importante. En la fase de pruebas se utilizan los denominados casos de prueba: una secuencia de pasos que debe llevarnos a un resultado esperado. Cuando el resultado se desvía de lo esperado decimos que el resultado ha sido “un fallo”.

En teoría, nunca debe entregarse un proyecto que no haya sido sometido a pruebas rigurosas. En la práctica, normalmente los programadores trabajan con presión y el software se entrega al cliente antes de que se haya realizado un proceso de pruebas adecuado.

LAS PRUEBAS Y LAS MÉTRICAS EN EL CICLO DE VIDA DEL SOFTWARE

Cuando el cliente nos da una especificación de requisitos del software (ERS) se procede a cuantificar el tamaño y complejidad de lo que nos piden para poder hacer un presupuesto. La técnica más utilizada para estimar el tamaño es la técnica del punto función, una técnica que trata de enumerar las consultas, datos, informes, etc. que van a ser necesarios para obtener el producto terminado.

Las métricas nos permiten saber, entre otras cosas, el número o importancia de los errores que se detectan en los tests o correspondientes a reclamaciones recibidas del cliente. Si en cada proyecto medimos el grado de error con el tiempo tendremos un histórico que nos irá diciendo si vamos mejorando o no. También nos servirá para realizar predicciones sobre cómo el volumen de errores y tiempo de corrección que será necesario en nuevos proyectos antes de la fase de pruebas del mismo. En resumen, la información recopilada de cada proyecto nos servirá para el futuro.

Mapa Mental

Calidad de software