Semana 2

21

description

2

Transcript of Semana 2

Presentacin de PowerPoint

SQA Software Quality Assurance)

Debemos fabricar software de calidad, satisfaciendo las necesidades del cliente (usuario) bajo unos mtodos o herramientas efectivos y siguiendo unas revisiones tcnicas formales

El SQA Revisa y audita los productos y procedimientos verificando que cumplan con los estndares requeridos e implementando mecanismos de medicin y generacin de pruebas SQA envuelve todo el proceso de desarrollo de software, monitoreando y mejorando el proceso, asegurndose que los problemas sean encontrados y solucionados, obteniendo as la calidad del resultado

Principios fundamentales para desarrollar sistemas de gestin de calidad: Foco en el clienteLiderazgoResultados basados en los procesosGerencia de las interrelaciones entre procesosImplicacin del personalMejora continuaRelacin con los proveedoresDecisiones basadas en el anlisis de la informacin

El equipo SQA participa en el desarrollo de la documentacin y estructuracin del proceso de desarrollo del proyecto, revisa las actividades de ingeniera de software para verificar que se ajusten al proceso definido y audita los productos para asegurar que las desviaciones se documenten de acuerdo a los procedimientos establecidos

Establecimiento de un plan de calidad para un proyectoEvaluaciones a realizarAuditoras y revisiones a realizarEstndares que se pueden aplicar al proyectoProcedimientos para informacin y seguimiento de erroresDocumentos producidos por el grupo de SQARetroalimentacin al equipo del proyectoEstablecimiento de un plan de calidad para un proyectoParticipacin en el desarrollo de la descripcin del proceso de software del proyectoin de las actividades de ingeniera del software para verificar su ajuste al proceso de software definidoAuditora de los productos de software designados para verificar el ajuste con los elementos definidos como parte del proceso de softwareAsegurar que las desviaciones del trabajo y los productos del software se documenten y se manejen de acuerdo con el procedimiento establecidoRegistrar e informar lo que no se ajuste a los requisitos

Revisiones del software

Conjunto de actividades que obtenemos como resultado despus de realizar el anlisis, diseo y codificacin realizado al software.

Adems se hace necesario para sealar las mejoras que se le debe realizar a una persona o a un equipo.

Objetivos de la revisin Mejorar las necesidades del producto (software)

Decidir que partes del producto (software) no necesitan o no se deben mejorarObtener calidad uniforme o ms predecible, facilitando el trabajo tcnico.Usar como modelo para detectar errores.

Reunin de revisinRevisar el producto, no al programadorFijar una agenda y mantenerlaLimitar debates e impugnacionesEnunciar las reas de problemas, pero no intentar resolver cualquier problema que se ponga manifiestoTomar notas escritasLimitar nmero de participantes e insistir en la preparacin anticipadaDesarrollar una lista de comprobacin para cada producto que se vaya a revisarEntrenar a los revisores de una manera rigurosaRepasar las revisiones anteriores

Actividades Importantes antes de una revisin

Las actividades que permiten materializar el monitoreo de procesos, la evaluacin del producto y las auditoras al interior de una organizacin, son:

Estndares:Los estndares son bsicos en el sistema de calidad del software y proveen la base para la medicin de las actividades y productos de trabajo durante el ciclo de vida del softwareRevisiones:Las revisiones son la forma de monitorear la calidad de los productos de trabajo detectando defectosPrueba:La prueba es la ltima actividad de evaluacin del producto y permite establecer el nivel de satisfaccin de los requerimientos, aqu se incluye la planificacin, diseo, ejecucin y reporte sobre los diferentes niveles de pruebas existentes durante el proyectoAnlisis de defectos:Los defectos ocurren durante todo el ciclo de vida del software, por ende es necesario concentrar esfuerzos en su deteccin y correccin, siendo el anlisis de defectos la actividad responsable de corregir las deficiencias y disminuir defectosRevisiones:Las revisiones son la forma de monitorear la calidad de los productos de trabajo detectando defectos.Gestin de configuracin:El propsito de la gestin de configuracin, es mantener la integridad de los productos a travs de todo el ciclo de vida del software

GESTION DE LA CONFIGURACIN

La gestin de la configuracin cubre la administracin de los elementos tcnicos que forman parte del proyecto)

Una disciplina fundamental en la ingeniera de software es la gestin de la configuracin. Esta es donde se identifican, gestionan y auditan todos los recursos involucrados en un proyecto, con el objetivo de mantener la integridad de los productos de trabajo.

Otro rol de la gestin de la configuracin es el de tramitar la aprobacin, rechazo o implementacin de cambios en un proyecto o algn otro tem que forme parte de la configuracin.

Actividades de gestin de la configuracin

Identificar los productosDefinir estndares de nombramiento y control de versionesEstablecer la estructura de directoriosDefinir las caractersticas de los elementos.Definir polticas, reglas y perfiles para la gestin de la configuracin.Establecer las lneas base de trabajo.Gestionar los cambios.Definir el uso de herramientas.Generar informes de estado de los productos.Establecer mecanismos de auditora para la configuracin

Elementos que forman parte de la configuracin

Planes de trabajo y cronogramasDocumentos de especificacin de requerimientosDocumentos de anlisis y diseoModelos de datosDocumentos de estndaresProcedimientosArchivos de configuracinScriptsy cdigo fuente del proyectoIDE's, ensambladores, compiladores y herramientasLibreras propias y externasDocumentos planeacin y ejecucin de pruebasDocumentacin del producto

Lo que no se mide no se puede mejorar, la medicin entrega herramientas para ser exacto a la hora de tomar una decisin, los procesos de ingeniera de software logran medirse en cada una de sus fases (anlisis, diseo, implementacin o implantacin) esto mediante la definicin de mtricas que permitan evaluar, predecir o retroalimentar cada proceso.

Para qu se mide?

Se definen mtricas en un proyecto para ayudar a entender qu sucede y estimar costos y esfuerzos. Adems para saber exactamente el grado de avance y evaluar los riesgos.

Midiendo se pueden establecer planes de mejoras y ajustar flujos de trabajo o tareas.

Con la medicin podemos obtener informacin de calidad, complejidad, desempeo, funcionalidad, confiabilidad, o cualquier otro factor de calidad incluido en el modelo MCCALL referenciado anteriormente en este programa de formacin.

IMPORTANTE: NO SE MIDE POR MEDIR!!

Caractersticas de una mtricaSencillas y exactas.Calculables.Intuitivas.Consistentes y objetivas.Consistencia con el uso de unidades.Tener su mecanismo definido para retroalimentacin de alta calidad.

Caractersticas de una mtrica

Los atributos de una mtrica se muestran en el siguiente ejemplo de tabla

Mtricas Internas y Externas

La medicin interna de un atributo de un sistema comprende especificacin, documentacin y procesos de desarrollo, aplican a un producto de software no ejecutable y permiten medir la calidad intermedia del proceso de desarrollo. A continuacin se relacionan varios ejemplos de posibles mtricas:

Exactitud: son fiables los clculos del sistema?Complecin: qu tan completa esta la implementacin?Concisin: qu tan compacta es la aplicacin en trminos de lneas de cdigo?Estandarizacin de datos: qu tan estandarizados estn los tipos de datos, estructuras y almacenamiento utilizados?Modularidad: qu tan independiente, desde lo funcional est el software ?Facilidad de auditora: se cumplen los estndares?Eficiencia de ejecucin: cul es el desempeo del sistema?Independencia del hardware: qu tan portable es el sistema?Operatividad: qu tan fcil es operar el sistema?

Es el proceso de desarrollo de software desde su fase de inicio hasta su fase final, logrando un software que cumpla con los requerimientos exigidos, asegurando que se cumplan los requisitos de aplicacin y verificacin en los diferentes procesos de desarrollo

Para lograr esto, se debe tener en cuenta estos procedimientos:

Definir objetivosAnlisis de requisitos y viabilidadDiseo general y en detalleProgramacin e implementacinPrueba de unidad

Es el proceso de desarrollo de software desde su fase de inicio hasta su fase final, logrando un software que cumpla con los requerimientos exigidos, asegurando que se cumplan los requisitos de aplicacin y verificacin en los diferentes procesos de desarrollo

Al principio, durante la recopilacin de requerimientos y anlisis, la calidad se encuentra especicada por los requisitos de los usuarios, sobre todo desde el punto de vista externoEn la fase de diseo e implementacin, la calidad externa se traduce en un diseo tcnico, confrontndose con el punto de vista de los desarrolladores sobre la calidad interna y complementndose con los requisitos implcitos que el software debe cumplirLa calidad nal (la del uso) debe ser apropiada para los usuarios y el contexto de usoNo existe una calidad perfecta o absoluta. Existe solamente una calidad necesaria y suficiente para un contexto dado

Eficacia: capacidad de ayudar al usuario a realizar sus objetivos con exactitud y completitud, en un contexto dadoProductividad: capacidad de ayudar al usuario en emplear una apropiada cantidad de recursos para obtener sus resultadosSatisfaccin: capacidad de complacer a un usuario en un contexto de uso dadoSeguridad: capacidad de lograr niveles aceptables de riesgo para las personas, el ambiente de trabajo, y la actividad, en un contexto de uso determinado

McCall propone tres factores de calidad:

Revisin del producto: este incluye 3 factores de calidad, mantenibilidad, flexibilidad y testeabilidadTransicin del producto: incluye los siguientes factores: portabilidad, reusabilidad e interoperabilidadOperacin del producto, aqu se incluyen los siguientes factores de calidad, correctitud, confiabilidad, eficiencia, integridad y usabilidadLa mantenibilidad es el esfuerzo requerido para localizar y corregir fallasLa flexibilidad es la facilidad para realizar cambiosLa testeabilidad es la facilidad para realizar la prueba y asegurar que el producto no tenga erroresLa portabilidad es el esfuerzo requerido para transferir entre distintos ambientes de operacinLa reusabilidad es la facilidad de usar el software en distintos contextos

McCall propone tres factores de calidad:

Operacin del producto, aqu se incluyen los siguientes factores de calidad, correctitud, confiabilidad, eficiencia, integridad y usabilidad

La interoperabilidad comprende el esfuerzo requerido para acoplar el producto con otros sistemasLa correctitud es el grado del producto que cumple con la especificacinLa confiabilidad es cuando el producto responde ante situaciones no esperadasLa eficiencia hace referencia al buen uso de los recursos requeridosLa Integridad es la proteccin de datos y del programaLa Usabilidad hace referencia a la facilidad de operacin del productoEs el proceso de desarrollo de software desde su fase de inicio hasta su fase final, logrando un software que cumpla con los requerimientos exigidos, asegurando que se cumplan los requisitos de aplicacin y verificacin en los diferentes procesos de desarrolloAl principio, durante la recopilacin de requerimientos y anlisis, la calidad se encuentra especicada por los requisitos de los usuarios, sobre todo desde el punto de vista externoEn la fase de diseo e implementacin, la calidad externa se traduce en un diseo tcnico, confrontndose con el punto de vista de los desarrolladores sobre la calidad interna y complementndose con los requisitos implcitos que el software debe cumplirLa calidad nal (la del uso) debe ser apropiada para los usuarios y el contexto de usoNo existe una calidad perfecta o absoluta. Existe solamente una calidad necesaria y suficiente para un contexto dado