Material rap2(4)

Page 1

PROGRAMA DE FORMACIÓN CALIDAD EN EL DESARROLLO DE SOFTWARE

Material de formación actividad de aprendizaje núm. 2: Aseguramiento de la calidad del software 1 INTRODUCCIÓN El siguiente material de formación, busca ampliar diversos conocimientos fundamentales en el tema de aseguramiento de la calidad del software (SQA), que abarca el proceso de desarrollo de este, desde los requerimientos hechos por el cliente, hasta el desarrollo e implementación de herramientas que permitan llevar a cabo el proceso de desarrollo del producto (software).

DESCRIPCIÓN MATERIAL DEL PROGRAMA

El material de formación propuesto para la actividad de aprendizaje núm. 2 del programa de formación, busca describir de una forma fácil y práctica los temas a desarrollar, con el fin de que el aprendiz realice satisfactoriamente las actividades propuestas.


Contenido 1.

ASEGURAMIENTO DE LA CALIDAD DEL SOFTWARE (SQA) .......................................................... 3 1.1 Principios fundamentales para desarrollar sistemas de gestión de calidad: .......................... 3 Para establecer un sistema de gestión de calidad que permita realizar la trazabilidad en los procesos de producción de software, debe tenerse en cuenta lo siguiente: ................................. 3 1.2 Equipo de aseguramiento de la calidad del software ............................................................ 4

2. ACTIVIDADES DE SQA ...................................................................................................................... 4 2.1 Plan de SQA (SQAPLAN) ............................................................................................................ 5 2.2 Revisiones del software: ........................................................................................................... 5 2.2.1 Objetivos de la revisión: ..................................................................................................... 6 2.2.2 Reunión de revisión: .......................................................................................................... 6 2.2.3 Actividades importantes de una revisión: .......................................................................... 6 2.3 Gestión de la configuración....................................................................................................... 7 2.3.1 Actividades de gestión de la configuración ....................................................................... 7 2.3.2 Elementos que forman parte de la configuración............................................................. 8 2.4 Análisis cuantitativo (métricas) ................................................................................................. 9 2.4.1 Métricas ¿para qué se mide? ............................................................................................. 9 2.4.2 Características de una métrica ......................................................................................... 10 2.4.3 Métricas internas o externas............................................................................................ 11 3. CICLO DE VIDA DEL SOFTWARE ..................................................................................................... 12 3.1 El foco en la calidad cambia durante el ciclo de vida .............................................................. 13 3.2 Características de la calidad de uso ........................................................................................ 13 4. FACTORES DE CALIDAD ................................................................................................................. 14 5. Referencias……………………………………………………………………………………………………………………………….16 6.Control de documento………………………………………………………………………………………………………………17 7. Créditos…………………………………………………………………………………………………………………………………….18

2


1.ASEGURAMIENTO DE LA CALIDAD DEL SOFTWARE (SQA) El SQA1 revisa y audita los productos y procedimientos necesarios para la producción de software, verificando que cumplan con los estándares requeridos mediante la implementación de mecanismos que permitan la medición y generación de pruebas. Debido a lo anterior, el SQA, envuelve todo el proceso de desarrollo de software, monitoreando y mejorando el proceso a través de diversas pruebas que garantizan que los problemas de este, sean encontrados y solucionados, obteniendo así, calidad en los resultados. 1.1 Principios fundamentales para desarrollar sistemas de gestión de calidad: Para establecer un sistema de gestión de calidad que permita realizar la trazabilidad en los procesos de producción de software, debe tenerse en cuenta lo siguiente:        

Foco en el cliente x. Liderazgo. Resultados basados en los procesos. Gerencia de las interrelaciones entre procesos. Implicación del personal. Mejora continua. Relación con los proveedores. Decisiones basadas en el análisis de la información.

1. Cruz, M. (Sin fecha). UNIDAD 2 ASEGURAMIENTO DE LA CALIDAD DE SOFTWARE (SQA) Consultado el 26 de diciembre de 2013 en: www.itescam.edu.mx/principal/sylabus/fpdb/recursos/r63318.DOCX

3


1.2

Equipo de aseguramiento de la calidad del software

El equipo SQA, participa en la creación de la documentación y estructuración del proceso de desarrollo del proyecto, revisando las actividades de ingeniería de software mediante las cuales, se pueda verificar que se ajusten al proceso definido además de auditar los productos, para asegurar que las desviaciones se documenten de acuerdo con los procedimientos establecidos. EQUIPO O GRUPO SQA Grupo SQA Grupo de procesos Directores y gerentes Líderes

Desarrolladores

Imagen 1. Fuente: SENA.

2. ACTIVIDADES DE SQA Un listado de las acciones realizadas para implementar un sistema SQA 2, son las siguientes:    

Establecimiento de un plan de calidad para un proyecto. Evaluaciones a realizar. Auditorías y revisiones a realizar. Estándares que se pueden aplicar al proyecto.

 

Procedimientos para información y seguimiento de errores. Documentos producidos por el grupo de SQA.

4


     

Retroalimentación al equipo del proyecto. Participación en el desarrollo de la descripción del proceso de software del proyecto. Revisión de las actividades de ingeniería del software para verificar su ajuste al proceso de software definido. Auditoría de los productos de software designados para verificar el ajuste con los elementos definidos como parte del proceso de software. Asegurar que las desviaciones del trabajo y los productos del software se documenten y se manejen de acuerdo con el procedimiento establecido. Registrar e informar lo que no se ajuste a los requisitos.

2.1 Plan de SQA (SQAPLAN) El plan, describe las actividades necesarias para garantizar que el software, cumple con los requisitos del cliente y se encuentra acorde con los documentos contractuales y técnicos que se hayan suscrito con el solicitante. El plan de aseguramiento, también describe la manera por medio de la cual, el proyecto, será auditado para asegurar las políticas de cumplimiento del mismo por parte de la organización. Un ejemplo de Plantilla de SQAPLAN3, el cual, puede utilizar el usuario se encuentra en la siguiente dirección electrónica: http://www.vast.uccs.edu/~tboult/SE/DOCS/SQA_Plan_Template.doc%E2%80%8 E

2.2 Revisiones del software: Conjunto de actividades que se obtienen como resultado después de realizar el análisis, diseño y codificación realizado al software.

__________ 2. López, S. ( ). SQA Software Quality Assurance (Aseguramiento de la Calidad del Software) Instituto tecnológico superior de los reyes calidad de software. Documento pdf. Consultado el 24 de diciembre de 2013 en: http://itslralelopj.weebly.com/uploads/9/3/6/4/936494/sqa.pdf

5


Además se hace necesario para señalar las mejoras que se debe realizar a una persona o a un equipo. 2.2.1 Objetivos de la revisión:    

Mejorar las necesidades del producto (software). Decidir que partes del producto (software) no necesitan o no se deben mejorar. Obtener calidad uniforme o más predecible, facilitando el trabajo técnico. Usar como modelo para detectar errores.

2.2.2 Reunión de revisión:         

Revisar el producto, no al programador. Fijar una agenda y mantenerla. Limitar debates e impugnaciones. Enunciar las áreas de problemas, pero no intentar resolver cualquier problema que se ponga manifiesto. Tomar notas escritas. Limitar número de participantes e insistir en la preparación anticipada. Desarrollar una lista de comprobación para cada producto que se vaya a revisar. Entrenar a los revisores de una manera rigurosa. Repasar las revisiones anteriores.

2.2.3 Actividades importantes de una revisión: Las actividades que permiten materializar el monitoreo de procesos, la evaluación del producto y las auditorías al interior de una organización 4, son:  Estándares.  Revisiones.  Prueba.  Análisis de defectos.  Gestión de configuración. _______ 3. Vast lab. (Sin fecha). SQA Plan Template. Consultado el 24 de diciembre de 2013 en:http://www.vast.uccs.edu/~tboult/SE/DOCS/SQA_Plan_Template.doc%E2%80%8E

6


Los estándares en el sistema de calidad del software, son básicos, estos, proveen la base para la medición de las actividades y productos de trabajo durante el ciclo de vida del software. Las revisiones son la forma de monitorear la calidad de los productos de trabajo detectando defectos. La prueba es la última actividad de evaluación del producto y permite establecer el nivel de satisfacción de los requerimientos, aquí se incluye la planificación, diseño, ejecución y reporte sobre los diferentes niveles de pruebas existentes durante el proyecto. Los defectos ocurren durante todo el ciclo de vida del software, por ende es necesario concentrar esfuerzos en su detección y corrección, siendo el análisis de defectos la actividad responsable de corregir las deficiencias y disminuir defectos. El propósito de la gestión de configuración, es mantener la integridad de los productos a través de todo el ciclo de vida del software. 2.3 Gestión de la configuración Una disciplina fundamental en la ingeniería de software es la gestión de la configuración. 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 gestión de la configuración es el de tramitar la aprobación, rechazo o implementación de cambios en un proyecto o algún otro ítem que forme parte de la configuración. 2.3.1 Actividades de gestión de la configuración        

Identificar los productos. Definir estándares de nombramiento y control de versiones. Establecer la estructura de directorios. Definir las características de los elementos. Definir políticas, reglas y perfiles para la gestión de la configuración. Establecer las líneas base de trabajo. Gestionar los cambios. Definir el uso de herramientas.

7


   

Generar informes de estado de los productos. Establecer mecanismos de auditoría para la configuración. Generar informes de estado de los productos. Establecer mecanismos de auditoría para la configuración.

2.3.2 Elementos que forman parte de la configuración            

Planes de trabajo y cronogramas. Documentos de especificación de requerimientos. Documentos de análisis y diseño. Modelos de datos. Documentos de estándares. Procedimientos. Archivos de configuración. Scripts y código fuente del proyecto. IDE, ensambladores, compiladores y herramientas. Librerías propias y externas. Documentos planeación y ejecución de pruebas. Documentación del producto.

_____ 4. Universidad técnica Federico Santa María, Departamento de informática. (Sin fecha). Fundamentos SQA .Documento pdf. Consultado el 24 de diciembre de 2013 en: http://www.inf.utfsm.cl/~visconti/titulacion/FundamentosSQA.pdf

8


2.4 Análisis cuantitativo (métricas) Lo que no se mide no se puede mejorar, la medición entrega herramientas para que el usuario, sea exacto a la hora de tomar una decisión. Los procesos de ingeniería de software, logran medirse en cada una de sus fases (análisis, diseño, implementación o implantación) esto mediante la definición de métricas que permitan evaluar, predecir o mejorarse continuamente.

Actividades de medición

1. FORMULACIÓN DE MÉTRICAS

2. RECOLECCIÓN DE DATOS 3. ANALISIS DE INFORMACIÓN

4. INTERPRETACIÓN

5. RETROALIMENTACIÓN DEL PROCESO

Imagen 2. Fuente: SENA

2.4.1 Métricas ¿para qué se mide? Se definen métricas, para estimar costos y esfuerzos en la realización de un proyecto, además, 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.

9


Por medio del buen uso de la medición, se puede obtener información de calidad, complejidad, desempeño, funcionalidad, confiabilidad, o cualquier otro factor de calidad esbozado en el modelo MCCALL . IMPORTANTE: NO SE MIDE POR MEDIR 10

2.4.2 Características de una métrica Las buenas métricas deben cumplir con las siguientes características:      

Sencillas y exactas. Calculables. Intuitivas. Consistentes y objetivas. Consistencia con el uso de unidades. Tener su mecanismo definido para retroalimentación de alta calidad.

Los atributos de una métrica se muestran en el siguiente ejemplo de tabla: Nombre: Propósito: Método de aplicación: Tipo de escala: Fórmula:

Tipo de medida

Interpretación de resultados: Tabla 1. Fuente SENA


2.4.3 Métricas internas o externas La medición interna de un atributo de un sistema comprende especificación, documentación y procesos de desarrollo 5, aplican a un producto de software no ejecutable y permiten medir la calidad intermedia del proceso de desarrollo. A continuación se relacionan varios ejemplos de posibles métricas:     

11 Exactitud: ¿son fiables los cálculos del sistema? Compleción: ¿qué tan completa esta la implementación? Concisión: ¿qué tan compacta es la aplicación en términos de líneas de código? Estandarización de datos: ¿qué tan estandarizados están los tipos de datos, estructuras y almacenamiento utilizados? Modularidad: ¿qué tan independiente, desde lo funcional está el software?

La medición externa comprende operaciones, comportamiento del sistema, procesos y cumplimiento de requisitos. A continuación se presentan varios ejemplos de posibles métricas:     

Facilidad de auditoría: ¿se cumplen los estándares? Eficiencia de ejecución: ¿cuál es el desempeño del sistema? Expansión: ¿qué tanto puede crecer el producto? Independencia del hardware: ¿qué tan portable es el sistema? Operatividad: ¿qué tan fácil es operar el sistema?

____________ 5

Mendoza, G. (2006). ISO 9126-3: Métricas Internas de la Calidad del Producto de Software. Facultad de Informática. Universidad Autónoma de Querétaro. Consultado el 24 de diciembre de 2013 en: http://mena.com.mx/gonzalo/maestria/calidad/presenta/iso_9126-3/


3. CICLO DE VIDA DEL SOFTWARE Es el proceso de desarrollo de software, desde su fase de inicio hasta su fase final, mediante el aseguramiento y cumplimiento de los requisitos de aplicación y verificación en los diferentes procesos de desarrollo. Para lograr lo anterior, se debe tener en cuenta estos procedimientos:     

Definir objetivos. Análisis de requisitos y viabilidad. Diseño general y en detalle. Programación e implementación. Prueba de unidad.

12

1 Identificación de problemas, oportunidades y objetivos 5 Implementación del sistema.

2 Determinación de requerimientos de información

3 Análisis de las necesidades

5 Pruebas del sistema

5 Desarrollo y documentac ión del software

4 Diseño del sistema recomendado

Imagen 3. Ciclo de vida del software. Fuente: Ecured, 2010.


3.1 El foco en la calidad cambia durante el ciclo de vida En la fase de recopilación de requerimientos y análisis, la calidad de un software se establece a partir de los requisitos dados por los usuarios, esto apunta a que la calidad se concentra en un punto de vista externo. Mientras que en la fase de diseño e implementación, el diseño técnico, y la calidad externa, se obtienen confrontando el punto de vista de los desarrolladores sobre la calidad interna con los requisitos implícitos que el software debe cumplir.6 Esto se resume en los siguientes puntos:  La calidad final (la del uso) debe ser apropiada para los usuarios y el contexto de uso.  No existe una calidad perfecta o absoluta. Existe solamente una calidad necesaria y suficiente para un contexto dado.7 3.2 Características de la calidad de uso  Eficacia: capacidad de ayudar al usuario a realizar sus objetivos con exactitud y completitud, en un contexto dado.  Productividad: capacidad de ayudar al usuario en emplear una apropiada cantidad de recursos para obtener sus resultados.  Satisfacción: capacidad de complacer a un usuario en un contexto de uso dado.  Seguridad: capacidad de lograr niveles aceptables de riesgo para las personas, el ambiente de trabajo, y la actividad, en un contexto de uso determinado.

Imagen 4. Fuente: (Vidal, 2010)

13


4. FACTORES DE CALIDAD McCall propone tres factores de calidad:   

Revisión del producto: este incluye 3 factores de calidad, mantenibilidad, flexibilidad y testeabilidad. Transición del producto: incluye los siguientes factores: portabilidad, reusabilidad e interoperabilidad. Operación del producto, aquí se incluyen los siguientes factores de calidad, correctitud, confiabilidad, eficiencia, integridad y usabilidad. 8  La mantenibilidad es el esfuerzo requerido para localizar y corregir fallas.  La flexibilidad es la facilidad para realizar cambios.  La testeabilidad es la facilidad para realizar la prueba y asegurar que el producto no tenga errores.  La portabilidad es el esfuerzo requerido para transferir entre distintos ambientes de operación.  La reusabilidad es la facilidad de usar el software en distintos contextos.  La interoperabilidad comprende el esfuerzo requerido para acoplar el producto con otros sistemas.  La correctitud es el grado del producto que cumple con la especificación.  La confiabilidad es cuando el producto responde ante situaciones no esperadas.  La eficiencia hace referencia al buen uso de los recursos requeridos.  La Integridad es la protección de datos y del programa.  La Usabilidad hace referencia a la facilidad de operación del producto.

Imagen 5. Fuente: Vidal, 2011.

14


FACTORES DE CALIDAD DE SOFTWARE

15 Calidad interna y externa de software

Funcionalidad

Fiabilidad

Usabilidad

Eficiencia

Mantenibilidad

Portabilidad

Precisión Adecuado Interoperabilida d Conformidad Seguridad

Madurez Tolerante a errores Recuperabilid ad

Comprensibili dad Aprendibilidad Operatibilidad Atractividad

Tiempo de respuesta Recursos Utilizació n

Analizable Cambiable Estabilidad Comprobable

Adaptabilidad Instabilidad Coexistencia Reemplazable

Imagen 6. Fuente: (Garzas, 2009)

_____ 6. RAMÍREZ, P. y RAMÍREZ C. (2010) Estudio de las prácticas de calidad del software implementadas en las mipymes desarrolladoras de software de Pereira. Consultado el 24 de diciembre de 2013 en: http://repositorio.utp.edu.co/dspace/bitstream/11059/1977/1/0053R173e.pdf

7. Fillottrani, P. (2007). Calidad en el Desarrollo de Software. Introducción. Depto. Ciencias e Ingeniería de la Computación. Dpto. Ciencias e Ingeniería de la Computación. Pág 12. Consultado el 24 de diciembre de 2013 en: http://www.cs.uns.edu.ar/~prf/teaching/SQ07/clase2.pdf

8. Fillottrani, P. (2007). Ibíd. Pág 3.


5. Referencias Cruz, M. (Sin fecha). UNIDAD 2 ASEGURAMIENTO DE LA CALIDAD DE SOFTWARE (SQA) Consultado el 26 de diciembre de 2013 en: www.itescam.edu.mx/principal/sylabus/fpdb/recursos/r63318.DOCX 16 Fillottrani, P. (2007). Calidad en el Desarrollo de Software. Introducción. Depto. Ciencias e Ingeniería de la Computación. Dpto. Ciencias e Ingeniería de la Computación. Pág 12. Consultado el 24 de diciembre de 2013 en: http://www.cs.uns.edu.ar/~prf/teaching/SQ07/clase2.pdf Fuertes Castro, José L. (2008) Calidad del Software. Facultad de Informática. Universidad Politécnica de Madrid. Artículo pdf. Consultado el 25 de diciembre de 2013, en: http://www.iimv.org/actividades2/08_Tecnologia/Jose%20LuisFuertesCalidad%20d el%20Software.pdf Garzas Javier (2009). Calidad software: una guía de artículos imprescindibles. Consultado 23 de diciembre de 2013. En: http://www.javiergarzas.com/calidadsoftware López, S. ( ). SQA Software Quality Assurance (Aseguramiento de la Calidad del Software) Instituto tecnológico superior de los reyes calidad de software. Documento pdf. Consultado el 24 de diciembre de 2013 en: http://itslralelopj.weebly.com/uploads/9/3/6/4/936494/sqa.pdf Mendoza, G. (2006). ISO 9126-3: Métricas Internas de la Calidad del Producto de Software. Facultad de Informática. Universidad Autónoma de Querétaro. Consultado el 24 de diciembre de 2013 en: http://mena.com.mx/gonzalo/maestria/calidad/presenta/iso_9126-3/ RAMÍREZ, P. y RAMÍREZ C (2010) Estudio de las prácticas de calidad del software implementadas en las mipymes desarrolladoras de software de Pereira. Consultado el 24 de diciembre de 2013 en: http://repositorio.utp.edu.co/dspace/bitstream/11059/1977/1/0053R173e.pdf Vast lab. (Sin fecha). SQA Plan Template. Consultado el 24 de diciembre de 2013 en:http://www.vast.uccs.edu/~tboult/SE/DOCS/SQA_Plan_Template.doc%E2%80 %8E


6. CONTROL DE DOCUMENTO

Autores

Nombre

Cargo

Dependencia

Fecha

17 José Omar Mayorga Pabón

Expertos temáticos Yuely Adriana Arce Arias

Revisión

John Jairo Alvarado González Andrés Felipe Valencia Pimienta

Experto Temático

Sena - Centro de Comercio y Turismo Diciembre Regional Quindío. 18 de 2013

Experta Temática

Sena - Centro de Diseño e Innovación Diciembre Tecnológica Industrial –Regional Risaralda. 22 de 2013

Guionista

Sena - Centro de Diseño e Innovación Diciembre Tecnológica Industrial –Regional Risaralda. 27 de 2013

Líder línea Sena - Centro de Diseño e Innovación Diciembre de Tecnológica Industrial –Regional Risaralda 28 de 2013 producción


7. CRÉDITOS Elaboración de contenidos y experto temático: José Omar Mayorga Pabón. Centro de Comercio y Turismo - Regional Quindío Asesor pedagógico: Edward Abilio Luna Díaz.

Equipo Línea de Producción SENA Centro de diseño e innovación tecnológica industrial, Dosquebradas

Líder línea de producción: Andrés Felipe Valencia Pimienta. Apoyo línea de producción: Yuely Adriana Arce. Pavel Morales. Asesor Pedagógico: Edward Abilio Luna Díaz. Guionistas: John Jairo Alvarado González. Gabriel Gómez Franco. Diseñadores: Lina Marcela Cardona. Mario Fernando López Cardona.

18


Desarrolladores Front End: Julián Giraldo Rodríguez. Ricardo Bermúdez Osorio. Cristian Fernando Dávila López.

19


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.