• No se han encontrado resultados

Calidad en el proceso del software

N/A
N/A
Protected

Academic year: 2020

Share "Calidad en el proceso del software"

Copied!
128
0
0

Texto completo

(1)Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. UNIVERSIDAD NACIONAL DE TRUJILLO FACULTAD DE CIENCIAS FÍSICAS Y MATEMÁTICAS. C Y A M D A E T C E IE M N Á C T I IC A A S S FÍ. S. IC. A. S. ESCUELA ACADÉMICO PROFESIONAL DE INFORMÁTICA. “CALIDAD EN EL PROCESO DEL SOFTWARE”. TESINA. PARA OPTAR EL TÍTULO DE:. O. T. E. INGENIERO INFORMÁTICO. IB. LI. ALUMNO:. Ms. Ing. CASTILLO DIESTRA, CARLOS ENRIQUE. B. ASESOR:. Br. BENAVIDES ARÉVALO, CARLOS ALFREDO. TRUJILLO – PERÚ 2012. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.

(2) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. C Y A M D A E T C E IE M N Á C T I IC A A S S FÍ. S. IC. A. S. Dedicatoria. EL presente trabajo lo dedico con toda reverencia y amor:. A Dios que me permitió vivir y que me dio la oportunidad de creer en un mundo superior.. A mis padres que con su amor y ejemplo sembraron en mi la. A mis queridos hermanos, que siempre están y. estarán ahí, para brindarme su apoyo y comprensión.. B. IB. LI. O. T. E. semilla de la humildad, perseverancia y el respeto por los demás.. i Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.

(3) S. Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. C Y A M D A E T C E IE M N Á C T I IC A A S S FÍ. S. IC. A. Agradecimientos. A Dios Santo, por estar siempre a mi lado, dirigiéndome y trazando mi camino en la vida.. Al Ms. Ing. Carlos Enrique Castillo Diestra,. por sus valiosos consejos y asesoramiento, que me permitieron culminar. LI. O. T. E. satisfactoriamente este trabajo.. IB. A mi familia, por su apoyo incondicional;. B. porque siempre creyeron en mí.. ii Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.

(4) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. A. S. Presentación. C Y A M D A E T C E IE M N Á C T I IC A A S S FÍ. S. IC. Señores Miembros del Jurado:. De acuerdo con lo estipulado por el reglamento de grados y títulos de la Universidad Nacional de Trujillo, presento a vuestra consideración el siguiente informe de investigación bajo la modalidad de Examen de Capacidad Profesional, para su respectiva evaluación, con el cual, se optará el Titulo de Ingeniero Informático.. Someto a vuestra consideración el presente trabajo titulado “Calidad en el Proceso del Software”, que ha sido realizado aplicando los conocimientos adquiridos durante mi formación como profesional y que en mi estima se ajusta. Br. Carlos Alfredo Benavides Arévalo.. B. IB. LI. O. T. E. a lo exigido por la Escuela Académico Profesional de Informática.. iii Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.

(5) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. Resumen La creciente preocupación por la calidad en la industria del software tiene como objetivo principal el desarrollo sistemático de productos y servicios de mejor calidad, el cumplimiento de las necesidades y expectativas de los clientes e incluso de nosotros mismos. Es muy probable que hayamos sufrido los efectos. S. de falta de calidad en forma de retrasos, pérdidas (tiempo o dinero), etc. como. IC. A. simples ciudadanos. Lamentablemente, estos problemas pueden ser mucho más graves si afectan a sistemas críticos, es decir, aquellos cuyo fallo puede. C Y A M D A E T C E IE M N Á C T I IC A A S S FÍ. S. provocar graves pérdidas económicas o problemas ambientales/sociales e, incluso la pérdida de vidas humanas, he aquí la importancia de la calidad de un software y sus procesos para evitar todo tipo de fallos. Los fallos de software afectan a todos los sectores, a pesar de esto, actualmente se desarrolla software fiable a un coste razonable. Los profesionales y empresas bien organizadas que son prudentes y saben que deben aplicar distintas técnicas de control y prevención, se sirven de pasos, mecanismos, protocolos y modelos/estándares que facilitan llevar un mejor control de calidad del software, además de un buen proceso de su desarrollo. El control de calidad permite ahorrar la máxima cantidad de recursos cuando se realiza desde el. E. inicio del proceso de desarrollo de software.. T. En el presente trabajo se hace una introducción general a la calidad del. LI. O. software y a sus procesos enmarcados por los modelos de calidad CMM, ISO Spider, Bootstrap, etc., que permitirán a las empresas mostrar a sus clientes. B. IB. su nivel de calidad a la hora de realizar desarrollos de software.. Por lo tanto, con todo lo mencionado se da a conocer la importancia de llevar. un estricto control de calidad tanto a nivel de producto como de proceso, así, errores detectados al inicio del proceso de desarrollo de software serán más fáciles de resolver y menos costosos que los que se puedan detectar más adelante.. Palabras clave: Software, Calidad, Modelos, Procesos.. iv Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.

(6) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. Abstract The growing concern about the quality in software business has as a main objetive the systematic develompment of better quality products and services and the performance of necesities and expectations of clients and, even ourselves . Probably we had ever suffered the efects of the lack of quality as. S. delays, loss of time or money, etc. as simply citizens. Unfortunately, these. those. whose. failure. can. cause. serious. money. IC. words,. A. problems can be even more serious if they affect critical systems; in other loss. or. S. environmental/social problems or even, loss of human´s lives, here it is the. C Y A M D A E T C E IE M N Á C T I IC A A S S FÍ. importance of software quality and its processes; to prevent any kind of failure. Any mistake of the software affects every sector and country, in the spite of this; it is true that currently is developed reliable and correct software in a very reasonable cost. Those professionals and enterprises well-organized, who are prudent and know they must apply different control technics and prevention, help themselves with the use of certain steps, mechanisms, protocols and models/standards which make easier to keep under control the software quality, besides of a better process in the development.. In the current work a general introduction of Software Quality and its processes. E. is made, framed by the quality models CMM, ISO Spider, Bootstrap, etc., which. T. are going to make possible for enterprises to show their clients its level of. LI. O. quality at the time of developing software.. IB. The quality control makes possible to save the greatest quantity of resources. B. when it is carried out at the beginning of the process of development of software, therefore I hope that, reading this work, creates awareness in the reader of the importance of taking strict quality control as product level and as process level; thus, mistakes which can be detected at the beginning of the development will be easier and cheaper to fix than those which can be detected later. Key Words: Software, Quality, Models, Processes.. v Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.

(7) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. ÍNDICE GENERAL RESUMEN.................................................................................................................................. iv ÍNDICE DE FIGURAS ................................................................................................................ .x ÍNDICE DE TABLAS ................................................................................................................. xi. S. INTRODUCCIÓN ........................................................................................................................ 1. A. CAPITULO I: PLANEAMIENTO DEL ESTUDIO ..................................................................... 3. IC. 1.1 ESPECIFICACIÓN DEL CAMPO DE ESTUDIO ................................................................ 3. S. 1.2 JUSTIFICACIÓN DEL TRABAJO ........................................................................................ 5. C Y A M D A E T C E IE M N Á C T I IC A A S S FÍ. 1.3 OBJETIVOS ........................................................................................................................... 6 CAPITULO II: ESTADO DEL ARTE SOBRE CALIDAD DEL SOFTWARE ......................... 7 2.1 INTRODUCCIÓN .................................................................................................................. 7 2.2 DEFINICIÓN DE CALIDAD DE SOFTWARE .................................................................... 8 2.3 PASOS PARA EL DESARROLLO DE UN SOFTWARE DE CALIDAD ......................... 11 2.3.1 Especificación del programa ............................................................................................. 11 2.3.1.1 Determinación de objetivos del programa .......................................................... 11 2.3.1.2 Determinación de la salida deseada ................................................................... 11 2.3.1.3 Determinación de los datos de entrada ............................................................... 11 2.3.1.4 Determinación de los requerimientos de procesamiento .................................... 12 2.3.1.5 Documentación de las especificaciones del programa ....................................... 12 2.3.2 Diseño del programa .......................................................................................................... 12. T. E. 2.3.3 Codificación del programa ................................................................................................. 12. O. 2.3.4 Prueba y depuración del programa ..................................................................................... 13. LI. 2.3.4.1 Errores de sintaxis o de compilación ................................................................. 13. IB. 2.3.4.2 Errores de Ejecución ......................................................................................... 13. B. 2.3.4.3 Errores de Lógica .............................................................................................. 13 2.3.4.4 Errores de Especificación ................................................................................... 13 Chequeo de Escritorio ....................................................................................... 14 Prueba manual de datos de muestra ................................................................... 14 Intento de Traducción ....................................................................................... 14 Prueba de datos de muestra en la computadora ................................................. 14 Prueba por un grupo selecto de usuarios potenciales ........................................ 15. 2.3.5 Documentación del programa ............................................................................................ 15 2.3.6 Mantenimiento del programa ............................................................................................. 16 CAPITULO III: ESTADO DEL ARTE SOBRE MODELOS Y ESTÁNDARES DE. vi Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.

(8) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. CALIDAD DEL SOFTWARE...................................................................... .17 3.1 Estándares de Calidad del software a Nivel de Procesos .................................................... .22 3.1.1 ISO 9001:2000 ..................................................................................................... .23 3.1.2 ISO 90003:2004 ................................................................................................... .26 3.1.3 ISO/IEC 12207:1995 ............................................................................................. 28 Procesos Primarios del Ciclo de Vida ............................................................... 31 Procesos de Soporte del Ciclo de Vida .............................................................. 32. S. Procesos del Ciclo de Vida Organizacional....................................................... 34. A. 3.2 Modelos de calidad del software a Nivel de Procesos ......................................................... 35. IC. 3.2.1 CMM (Capability Maturity Model)....................................................................... 36. S. 3.2.1.1 Atributos del CMM ................................................................................ 38. C Y A M D A E T C E IE M N Á C T I IC A A S S FÍ. Madurez ............................................................................................................ 38 Capacidad.......................................................................................................... 39 3.2.1.2 Niveles de madurez ............................................................................... 39 Nivel Inicial ....................................................................................................... 40 Nivel Repetible................................................................................................... 41 Nivel Definido .................................................................................................... 44 Nivel Gerenciado o Gestionado ........................................................................ 45 Nivel Optimizado ............................................................................................... 46 3.2.1.3 Capability Maturity Model Integration (CMMI .................................... 47 3.2.1.3.1 ENFOQUE CONTINUO ....................................................... 50 Categoría 1: ‘PROCESS MANAGEMENT’ ........................................ 53. E. Categoría 2: ‘PROJECT MANAGEMENT’ ........................................ 53. LI. O. T. Categoría 3: ‘ENGINEERING’ ............................................................ 54 Categoría 4: ‘SUPPORT’ ..................................................................... 54 3.2.1.3.2 ENFOQUE ESCALONADO ................................................. 55. B. IB. 3.2.2 ISO SPICE ............................................................................................................. 58 3.2.2.1 Arquitectura del Modelo SPICE ............................................................ 62. 3.2.3Modelo Boostrap .................................................................................................... 63 3.2.4 Modelo TICKIT ................................................................................................... 72 3.2.4.1 Ciclo de Vida del Software .................................................................... 74 3.2.4.2 Soporte y Aseguramiento de Calidad .................................................... 75 3.2.5 Modelo MoProSoft ................................................................................................ 76 3.2.5.1 Esquema general .................................................................................... 78 Categoría de alta dirección (DIR) ......................................................... 78 Categoría de Gerencia (GER) ............................................................... 79 Categoría de Operación (OPE) ............................................................. 80. vii Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.

(9) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. 3.2.5.2 Patrón de procesos .............................................................................. 80 Definición general del proceso .......................................................... 80 Prácticas ............................................................................................ 82 Guías de ajuste .................................................................................. 82 CAPITULO IV: APLICACIONES Y CASOS DE ESTUDIO ............................................... 83 4.1 CASOS DE ESTUDIO....................................................................................................... 83 4.1.1 CASO DE ESTUDIO 1: Experiencia en la implantación de CMMI-DEV. S. v1.2 en una micropyme con metodologías ágiles y software libre ................... 83. A. 4.1.1.1 Introducción ....................................................................................... 83. IC. 4.1.1.2 Motivación para la certificación de UNKASOFT en el nivel 2 de. S. CMMI ................................................................................................. 84. C Y A M D A E T C E IE M N Á C T I IC A A S S FÍ. 4.1.1.3 Fases y recursos dedicados ................................................................ 85 4.1.1.4 Metodologías y herramientas ............................................................. 87 Subversión ......................................................................................... 88 Trac .................................................................................................... 88 Histórico de estimaciones .................................................................. 88 Wiki ................................................................................................... 88 Maven ................................................................................................ 88 Hudson ............................................................................................... 88 Herramientas ofimáticas .................................................................... 89. 4.1.1.5 Recomendaciones y lecciones aprendidas .......................................... 90 4.1.1.6 Conclusiones....................................................................................... 91. B. IB. LI. O. T. E. 4.1.2 CASO DE ESTUDIO 2: Mejora del Proceso Software de una Pequeña Empresa Desarrolladora de Software: Caso COMPETISOFT-PERÚ TAU .............. 91 4.1.2.1 Introducción ....................................................................................... 92 4.1.2.2 Descripción de la empresa ................................................................. 93 4.1.2.3 Evaluación inicial ............................................................................... 96 4.1.2.4 Mejora del Proceso ............................................................................ 98 4.1.2.5 Procesos actuales ............................................................................... 99 4.1.2.6 Propuesta de Plan de Mejora de Procesos......................................... 99 4.1.2.7 Procesos a ser mejorados ................................................................... 100 4.1.2.8 Recomendaciones ............................................................................... 105 4.1.2.9 Conclusiones....................................................................................... 106 4.1.3 CASO DE ESTUDIO: CMMI y su aplicación en Empresas en general y en PyMES ......................................................................................................................... 107 CAPITULO V: Conclusiones, aportes y sugerencias .............................................................. 111 5.1 CONCLUSIONES ............................................................................................................. 111 5.2 APORTES .......................................................................................................................... 112 5.3 RECOMENDACIONES Y/O SUGERENCIAS ................................................................ 113 REFERENCIAS ....................................................................................................................... 114. viii Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.

(10) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. ÍNDICE DE FIGURAS. Figura # 1: Modelo del enfoque basado en los procesos ................................................. 25. A. S. Figura # 2: Procesos del Ciclo de Vida según ISO/IEC 12207:1995 .............................. 31. IC. Figura # 3: Comparación entre una Organización madura e inmadura ........................... 39. C Y A M D A E T C E IE M N Á C T I IC A A S S FÍ. S. Figura # 4: Niveles de Madurez del CMM ...................................................................... 40 Figura # 5: Áreas clave del proceso según el Nivel de Madurez .................................... 46 Figura # 6: Niveles de Capacidad del CMMI .................................................................. 51 Figura # 7: Componentes del CMMI V1.1 según el Enfoque Continuo ......................... 52 Figura # 8: Componentes del CMMI V1.1 según el Enfoque Escalonado ..................... 56 Figura # 9: Comparativa entre El Enfoque Continuo y Escalonado................................ 57 Figura # 10: Componentes de SPICE .............................................................................. 61 Figura # 11: categorías del Modelo Bootstrap................................................................. 68. E. Figura # 12: Interacción entre procesos de la organización ............................................ 94. T. Figura # 13: Organigrama del SGC ................................................................................. 95. B. IB. LI. O. Figura # 14: Perfil de Capacidades – Inicia..................................................................... 97. ix Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.

(11) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. ÍNDICE DE TABLAS. Tabla # 1: Recursos de UNKASOFT .............................................................................. 87. A. S. Tabla # 2: Uso de software libre de apoyo para la implantación del modelo CMM. IC. v1.2 en Unkasoft ......................................................................................... 89. C Y A M D A E T C E IE M N Á C T I IC A A S S FÍ. S. Tabla # 3: Uso de herramientas de software libre de apoyo para la implantación de las prácticas genéricas del modelo CMMI v1.2 en Unkasoft ........................ 89. B. IB. LI. O. T. E. Tabla # 4: 1 Nivel de Cumplimiento de Procesos-Inicial ................................................ 97. x Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.

(12) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. Introducción. La calidad del software es uno de los puntos de atención de las organizaciones actuales, desde que el software se ha convertido en un activo que determina en. S. gran medida la operatividad en una organización. Ahora, si es Ud. un. A. desarrollador de software, administrador, o solo un encargado del cuidado del. IC. mismo, calidad debe estar a menudo en su mente. Pero ¿Qué es lo que. S. realmente quiere decir Software de Calidad? ¿Es la definición que tenemos. C Y A M D A E T C E IE M N Á C T I IC A A S S FÍ. cada uno de nosotros la más adecuada? ¿Es el software que Ud. produce mejor o peor de lo que a Ud. le gustaría que sea? En este escenario especial, ponemos la calidad del software a prueba, examinando ambas, definición y evaluación de nuestros procesos y productos de software.. En el pasado, cuando los informes de las cuentas que presentaban los bancos contenían errores o las redes telefónicas caían, el público en general. a. menudo culpaba a las computadoras, no haciendo distinción entre hardware y software. Sin embargo, desastres de alto perfil y los subsiguientes debates en la prensa están alertando a más y más gente de la naturaleza crucial de la. la. inquietud. T. de. E. calidad del software en su día a día. En breve, podemos esperar un aumento en. el. público. acerca. del. dominio. del. software.. O. Consiguientemente, nosotros como profesionales del software necesitamos. LI. preocuparnos por la calidad de los procesos y los productos desde los sistemas. B. IB. más grandes, complejos y autónomos hasta los más pequeños sistemas. Entonces ¿Cómo podemos evaluar la calidad “adecuada” en los procesos o en. el producto final de software? Definitivamente el contexto es importante. Errores tolerados en software de procesamiento de palabras no pueden ser aceptables en un software usado en una planta nuclear. Así, debemos reexaminar los significados de “seguridad crítica” y “misión crítica” en el contexto de la contribución del software a una más grande funcionalidad y calidad de los productos y negocios.. 1 Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.

(13) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. La obtención de un software con calidad implica la utilización de metodologías o procedimientos estándares para el análisis, diseño, programación y pruebas del software que permitan uniformar la filosofía de trabajo, para lograr una mayor confiabilidad, mantenibilidad y facilidad de prueba, a la vez que eleven la productividad, tanto para la labor de desarrollo como para el control de la. B. IB. LI. O. T. E. C Y A M D A E T C E IE M N Á C T I IC A A S S FÍ. S. IC. A. S. calidad del software.. 2 Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.

(14) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. CAPITULO I: PLANEAMIENTO DEL ESTUDIO. 1.1 Especificación del campo de estudio. La calidad es un término que ha adquirido gran relevancia con el paso del. S. tiempo, ya que es considerada como uno de los principales activos con los. A. que cuenta un país para mejorar su posición competitiva global. Para conseguir. IC. una buena calidad del software es esencial establecer un programa de medidas. S. a tomar con respecto a los suministradores. Es también importante utilizar los. mismo.. C Y A M D A E T C E IE M N Á C T I IC A A S S FÍ. modelos y métodos apropiados para controlar el proceso de desarrollo del. A la hora de definir la calidad de un software se debe diferenciar entre la calidad del producto software y la calidad del proceso de desarrollo de éste (calidad de diseño y fabricación). No obstante, las metas que se establezcan para la calidad del producto van a determinar los objetivos del proceso de desarrollo, ya que la calidad del primero va a depender, entre otros aspectos, de éstos. Sin un buen proceso de desarrollo es casi imposible obtener un buen. E. producto.. T. La ausencia de defectos, la aptitud para el uso, la seguridad, la confiabilidad y. O. la reunión de especificaciones son elementos que están involucrados en el. LI. concepto de calidad del software. Sin embargo, la calidad del software debe ser. IB. construida desde el comienzo, no es algo que puede ser añadido después. B. (Humphrey, 2001, p.4).. Es importante destacar que la calidad de un producto software debe ser considerada en todos sus estados de evolución (especificaciones, diseño, códigos, etc.) es decir, en sus procesos de desarrollo. No basta con verificar la calidad del producto una vez finalizado cuando los problemas de mala calidad ya no tienen solución o su reparación es muy costosa.. 3 Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.

(15) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. La problemática general a la que se enfrenta el software es (Moreno, Software Control de Calidad): . Aumento constante del tamaño y complejidad de los programas.. . Carácter dinámico e iterativo a lo largo de su ciclo de vida, es decir que los programas de software a lo largo de su vida cambian o evolucionan. S. de una versión a otra para mejorar las prestaciones con respecto a las. IC. Dificultad de conseguir productos totalmente depurados, ya que en. . C Y A M D A E T C E IE M N Á C T I IC A A S S FÍ. ningún caso un programa será perfecto.. S. . A. anteriores.. Se dedican elevados recursos monetarios a su mantenimiento, debido a la dificultad que los proyectos de software entrañan y a la no normalización a la hora de realizar los proyectos.. . No suelen estar terminados en los plazos previstos, ni con los costes estipulados, ni cumpliendo los niveles deseables de los requisitos especificados por el usuario.. . Incrementos constantes de los costes de desarrollo debido entre otros, a. T. Procesos artesanales de producción con escasez de herramientas.. LI. O. . E. unos niveles de productividad bajos.. Insuficientes procedimientos normalizados para estipular y evaluar la. IB. . B. productividad, costes, y calidad.. . Ausencia de la aplicación sistemática de métodos, procedimientos y normas de ingeniería del software.. . Escasez de uso de técnicas actuales y automatizadas para la gestión de proyectos.. . Escasez de personal con formación y experiencia en los nuevos métodos, normas y uso de entornos y utilidades de programación.. 4 Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.

(16) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. Por lo tanto, nos resulta de vital importancia resolver el problema de la carencia de calidad, pues actualmente sabemos que el software representa un papel preponderante para el desarrollo de las organizaciones, ya que día a día salen al mercado diferentes tipos de software, uno más complejo que el otro debido a las especificaciones que requiere el usuario y es que no solo es soporte para los procesos de negocio, productivos y administrativos, sino como. S. parte integral de las estrategias corporativas para la generación de ventajas. A. competitivas, lo cual permitirá a la empresa alcanzar un posicionamiento y. IC. reconocimiento local, nacional e internacional con productos competitivos de. C Y A M D A E T C E IE M N Á C T I IC A A S S FÍ. S. exportación.. 1.2 Justificación del trabajo. La calidad de un producto de software es el indicador que permite determinar si los procesos de construcción de software fueron apropiados. Es por esto que debe indagarse sobre los métodos y técnicas que garantizan calidad en los productos, con miras a generar propuestas concretas para aplicaciones con características específicas. Este trabajo ha sido desarrollado frente a la problemática. planteada con anterioridad y teniendo esto como base para el. E. desarrollo de una correcta gestión de calidad de software a fin de hacer cumplir. O. T. los requerimientos del cliente, asegurando un software de confianza.. LI. Los modelos y estándares (ISO 9001, CMM, SPIDER, BOOTSTRAP, etc.) que. IB. delimitan los parámetros de una gestión de calidad del software se basan en la. B. determinación y aplicación de las políticas de calidad de la empresa. La gestión o administración de la calidad se aplica normalmente a nivel empresa o dentro de la gestión de cada proyecto.. Si bien es cierto el uso de estos modelos/estándares se hacen tanto a nivel de producto y a nivel de proceso, siendo éste último el que determina con certeza la calidad del producto final y no al revés. La importancia de los procesos en la calidad del software es lo que queremos resaltar y como muchas veces es. 5 Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.

(17) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. dificultoso señalar una característica mesurable hemos tratado diferentes enfoques en el desarrollo de este trabajo.. 1.3 Objetivos:. A. S. Tenemos:. IC. - Dar a conocer los pasos para el desarrollo de un software de calidad, en. C Y A M D A E T C E IE M N Á C T I IC A A S S FÍ. S. términos generales.. - Identificar la importancia de la calidad en el proceso del software.. - Ofrecer una visión más detallada de los principales modelos, estándares y protocolos de calidad más usados en el proceso de desarrollo del software en la actualidad.. - Determinar que modelos/estándares se deben usar según los objetivos. B. IB. LI. O. T. E. específicos que se quieran alcanzar en el desarrollo de un software.. 6 Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.

(18) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. CAPITULO II: ESTADO DEL ARTE SOBRE CALIDAD DEL SOFTWARE. 2.1 Introducción. S. Para una empresa la preocupación permanente consiste en mejorar la. A. administración, finanza y producción. Esto ha conducido a la implementación. IC. de sistemas automáticos que facilitan las tareas mecánicas y rutinarias además. S. de evitar errores y mejorar la gestión de clientes y contabilidad. Esto repercute. C Y A M D A E T C E IE M N Á C T I IC A A S S FÍ. directamente en el incremento de calidad de una empresa.. Esta revolución empresarial ha venido apareciendo desde las últimas tres décadas en las que poco a poco se ha ido integrando los sistemas informáticos a los sistemas empresariales. La experiencia de las empresas que se ha adaptado a las nuevas tecnologías con su adelanto a sus rivales ha dejado claro que la adaptación a las nuevas tecnologías en una empresa es un sello de calidad.. Si bien la industria del software es nueva, ha tenido que madurar rápidamente,. E. tal como lo exigen los avances tecnológicos y su alta participación al interior de. T. las empresas. Esta industria comparte con las demás industrias el interés por la. LI. O. calidad y la competitividad.. IB. Los productos o servicios que ostentan certificados de calidad son preferidos. B. por los compradores porque trasmiten seguridad y confianza. Esto también constituye un atributo de valor para las estrategias de comercialización en el exterior.. 7 Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.

(19) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. 2.2 Definición de Calidad de Software:. Tenemos algunas definiciones de lo que se puede llamar Calidad del Software:. con. los. requisitos. A. “Concordancia. S. - Según la definición de R.S. Pressman (1993, p. 34):. IC. funcionales y de rendimiento explícitamente establecidos con los estándares de. S. desarrollo explícitamente documentados y con las características implícitas que. C Y A M D A E T C E IE M N Á C T I IC A A S S FÍ. se espera de todo software desarrollado profesionalmente. Ajustarse a requerimientos funcionales y de performance señalados explícitamente, estándares de desarrollo documentado explícitamente y características implícitas que se espera de un software desarrollado profesionalmente”.. - Según la definición de IEEE (IEEE Standard Glossary, 1990, p.11): “El grado en el cual un sistema, componente o. proceso cumple con exigencias especificas y satisface clientes o necesidades. E. de usuarios o expectativas”.. T. - Según la ISO 8402 (UNE 66-001-92) en su publicación (Gestión de la calidad y. LI. O. aseguramiento de calidad, 1995):. IB. “El conjunto de características de una. B. entidad que le confieren su aptitud para satisfacer las necesidades expresadas y las implícitas”.. - Otros: “Calidad. del Software. engloba. todo. el proceso,. y está. determinada por factores directos e indirectos. Calidad es un concepto complejo y multifacético, que puede describirse desde diversas perspectivas” (Moreno, Software Control de Calidad). 8 Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.

(20) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. “La Calidad del Software es el conjunto de cualidades que lo caracterizan y que determinan su utilidad y existencia. Es mesurable y varía de un sistema a otro o de un programa a otro”.. Entonces se podría decir que La Calidad del Software se define como un. S. patrón sistemático y planeado de todas las acciones necesarias para proveer. A. de un adecuado grado de confianza para que el proceso o producto se ajuste a. IC. las exigencias técnicas establecidas. Calidad del Software hace esto. C Y A M D A E T C E IE M N Á C T I IC A A S S FÍ. S. asegurándose que:. -Los procesos sean definidos de acuerdo a los estándares;. -Los procedimientos respondan de acuerdo a los procesos;. -Los productos sean implementados de acuerdo a los estándares.. La mayoría de nosotros estamos afectados en algún punto por la Calidad del Software que creamos porque la viabilidad de nuestras organizaciones depende de ello. Y las herramientas de software relacionado y métodos, incluyendo aquellos descritos en el software de IEEE señalan evaluar o mejorar la calidad del software de algún modo. Entonces tenemos que cuestionar lo. T. E. que nosotros y nuestros clientes queremos decir por “Software de Calidad”.. O. Una Buena definición debe dejarnos hacer una medición de calidad de un. LI. modo significativo. Las mediciones nos hacen saber si nuestras. técnicas. IB. realmente mejoran nuestro software, así como también como la calidad de los. B. procesos afectan la calidad del producto. También necesitamos saber en que medida la calidad que desarrollamos puede afectar el uso del producto después de su distribución si la inversión de tiempo y recursos para asegurar una alta calidad cosechan beneficios más altos, en otras palabras, lo que queremos saber es si”Buen Software” es sinónimo de “Buen Negocio”.. Entonces se hace indispensable de hacer un chequeo en el software, pero un chequeo completo nunca es posible, y la cantidad requerida depende del tipo de proyecto. Todos los proyectos deben hacer algunos chequeos pero aquellos 9 Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.

(21) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. que desarrollan proyectos de “seguridad-critica” deben ser chequeados más rigurosamente. Para garantizar la calidad del software es importante hacer una revisión temprana en los procesos del desarrollo del proyecto. La más importante selección de criterios para asegurar la calidad del software es aún arriesgada. Las áreas de riesgo más comunes en el desarrollo de un software son complejidad, novedad, capacidad del personal, experiencia del personal,. S. manuales de procedimientos y madurez organizacional. El personal que. A. asegura que la calidad del software sea garantizada debe concentrarse en. IC. aquellos ítems que tienen una fuerte influencia sobre la calidad del producto.. S. Se deben chequear tan pronto como sea posible que los proyectos estén. C Y A M D A E T C E IE M N Á C T I IC A A S S FÍ. organizados apropiadamente con un adecuado ciclo de vida:. -Los miembros del equipo de desarrollo hayan definido las tareas y responsabilidades;. o Planes de documentación son implementados; -La documentación contenga lo que debe contener;. -Estándares de documentación y codificación sean seguidos;. o Datos métricos sean recogidos y usados para mejorar productos y procesos;. -Revisiones y auditorias tengan lugar y sean apropiadamente conducidas;. E. -Pruebas sean especificadas y realizadas rigurosamente;. T. -Seguir pista y grabado de problemas que se presentan;. O. -Proyectos usen adecuadas herramientas, técnicas y métodos;. LI. o Software sea almacenado en librerías controladas;. IB. -Software de proveedores externos satisfagan estándares aplicables;. B. -Almacenamiento adecuado de registros en todas las actividades; -Personal sea apropiadamente entrenado; -Riesgos en el proyecto sean minimizados.. Dentro de un proyecto, diferentes grupos tienen sus propios requerimientos característicos para garantizar calidad del software. La administración del proyecto necesita saber que el software esta construido de acuerdo a los planes y procedimientos que se han definido. El personal necesita saber que su trabajo es de buena calidad y satisface los estándares. Los usuarios deben 10 Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.

(22) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. tener en claro de las actividades en el desarrollo del software, así ellos también podrán estar seguros de que el producto final encajara en sus propósitos.. S. 2.3 Pasos para el desarrollo de un software de Calidad.. IC. A. 2.3.1 Especificación del programa. S. Se conoce también como definición del problema o análisis del programa. En. C Y A M D A E T C E IE M N Á C T I IC A A S S FÍ. este paso se determinan la información inicial para la elaboración del programa. Es donde se determina qué es lo que debe resolverse con el computador, de qué presupuestos se debe partir en definitiva, el planteamiento del problema. Se requieren cinco tareas (De Lobos, Aprende a Programar, 2005).. 2.3.1.1 Determinación de objetivos del programa.. Debe definirse claramente los problemas particulares que deberán ser resueltos o las tareas que hay que realizar, esto nos permitirá saber qué es lo que se pretende solucionar y nos proporcionará información útil para el. E. planeamiento de la solución. Este paso es muy importante, ya que definirá uno. O. T. de los cimientos que determinarán la calidad en los procesos del software.. IB. LI. 2.3.1.2 Determinación de la salida deseada.. B. Los datos seleccionados deben ser arreglados en una forma ordenada para producir información. Esta salida podría ser una salida de impresión o de presentación en el monitor. 2.3.1.3 Determinación de los datos de entrada. Una vez identificada la salida que se desea, se pueden determinar los datos de entrada y la fuente de estos datos. Los datos deben ser recolectados y analizados.. 11 Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.

(23) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. 2.3.1.4 Determinación de los requerimientos de procesamiento. Aquí se definen las tareas de procesamiento que deben desempeñarse para que los datos de entrada se conviertan en una salida.. A. S. 2.3.1.5 Documentación de las especificaciones del programa.. IC. Es importante disponer de documentación permanente. Deben registrarse. C Y A M D A E T C E IE M N Á C T I IC A A S S FÍ. siguiente paso del diseño del programa.. S. todos los datos necesarios para el procesamiento requerido. Esto conduce al. 2.3.2 Diseño del programa. Es diseñar cualquier sistema nuevo o las aplicaciones que se requieren para satisfacer las necesidades. Esta actividad se debe dividir en:. - Operaciones de entrada/salida - Cálculos. E. - Lógica/ comparación. O. T. - Almacenamiento/ consulta. LI. En este paso se genera una solución con técnicas de programación como. IB. diseño descendente de programas, pseudocódigos, flujogramas y estructuras. B. lógicas. 2.3.3 Codificación del programa Es la generación real del programa con un lenguaje de programación. En esta etapa se hace uso de la lógica que desarrolló en el paso del diseño del programa para efectivamente generar un programa. Se debe seleccionar el lenguaje apropiado para resolver el problema.. 12 Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.

(24) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. 2.3.4 Prueba y depuración del programa Depurar es correr el programa en una computadora y corregir las partes que no funcionan. En esta fase se comprueba el funcionamiento de cada programa y esto se hace con datos reales o ficticios. Cuando los programas están. S. depurados, se prueban. Cuando los programas se depuran, se pueden. S. C Y A M D A E T C E IE M N Á C T I IC A A S S FÍ. 2.3.4.1 Errores de sintaxis o de compilación. IC. A. encontrar los siguientes errores:. Es una violación de las reglas del lenguaje de programación. Son más fáciles de corregir, ya que son detectados por el compilador (posible error de escritura), el cual dará información sobre el lugar donde está y la naturaleza de cada uno de ellos mediante un mensaje de error. 2.3.4.2 Errores de Ejecución. Se deben generalmente a operaciones no permitidas como dividir por cero, leer un dato no numérico en una variable numérica, exceder un rango de valores permitidos, etc. Se detectan porque se produce una parada anormal del. T. E. programa durante su ejecución.. LI. O. 2.3.4.3 Errores de Lógica. IB. Corresponden a la obtención de resultados que no son correctos y la única manera de detectarlos es realizando suficientes pruebas del programa. Son los. B. más difíciles de corregir, no sólo por la dificultad de detectarlos, sino porque se deben a la propia concepción y diseño del programa. 2.3.4.4 Errores de Especificación Es el peor tipo de error y el más difícil de corregir. Se deben a mal diseño del programa posiblemente por mala comunicación usuario programador y se detectan cuando ya se ha concluido el diseño e instalación del programa, lo cual puede implicar repetir gran parte del trabajo realizado.. 13 Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.

(25) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. Prueba: Consiste en verificar la funcionalidad del programa a través de varios métodos para detectar errores posibles. Métodos de Prueba:. S. Chequeo de escritorio. Prueba de datos de muestra en la computadora. C Y A M D A E T C E IE M N Á C T I IC A A S S FÍ. Prueba por un grupo selecto de usuarios potenciales.. S. Intento de traducción. IC. A. Prueba manual de datos de muestra. a. Chequeo de Escritorio:. El programador se sienta frente a un escritorio y corrige una impresión del programa. Revisa el listado línea por línea en busca de errores de sintaxis y lógica.. b. Prueba manual de datos de muestra:. Se corre el programa en forma manual aplicando datos tanto correctos como. E. incorrectos para comprobar que funciona correctamente.. O. T. c. Intento de Traducción:. LI. El programa corre en una computadora usando un programa traductor para. IB. convertirlo a lenguaje de máquina. Para ello debe estar ya libre de errores de. B. sintaxis, de lo contrario serán identificados por el programa de traducción. d. Prueba de datos de muestra en la computadora: Después del intento de traducción y corregidos los errores de sintaxis, se procede a buscar errores de lógica utilizando diferentes datos de muestra.. 14 Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.

(26) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. e. Prueba por un grupo selecto de usuarios potenciales: Esto se conoce como prueba beta. Se trata por lo general del paso final en la prueba de un programa. Usuarios potenciales ponen a prueba el programa y. IC. A. S. ofrecen retroalimentación.. C Y A M D A E T C E IE M N Á C T I IC A A S S FÍ. S. 2.3.5 Documentación del programa. Consiste en describir por escrito a nivel técnico los procedimientos relacionados con el programa y su modo de uso. También se debe documentar el programa para que sea más entendible. ¿Para quiénes son la documentación?. - Usuarios (Digitadores) - Operadores. - Programadores. E. - Analistas de sistemas. O. T. Documentos que se elaboran:. LI. Manual de Usuario y Manual del Analista. A los usuarios se les elabora un. IB. manual de referencia para que aprendan a utilizar el programa. Esto se hace a. B. través de capacitaciones y revisión de la documentación del manual de usuario. El manual del usuario no está escrito a nivel técnico sino al de los distintos usuarios previstos y explica en detalle cómo usar el programa. A los operadores por si se presentan mensajes de error, sepan cómo responder a ellos. Además que se encargan de darle soporte técnico al programa.. 15 Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.

(27) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. A los programadores a través del manual del analista para que recuerden aspectos de la elaboración del programa o en caso que otras personas puedan actualizarlo o modificarlo (darle mantenimiento) y no son necesariamente las personas que lo diseñaron. Es por ello, que la documentación debe contener algoritmos y flujogramas de los módulos que lo constituyen y sus relaciones (entre ellos); listados del programa, corridas,. S. descripción de variables en cada módulo y todo lo que sea de importancia para. IC. A. un programador.. S. A los analistas de sistemas que son las personas que deberán. C Y A M D A E T C E IE M N Á C T I IC A A S S FÍ. proporcionar toda la información al programador. Estos se encargan de hacer una investigación previa de cómo realizar el programa y documentar con las herramientas necesarias para que el programador pueda desarrollar el sistema en algún lenguaje de programación adecuado.. 2.3.6 Mantenimiento del programa. Es el paso final del desarrollo del software. Alrededor del 75% del costo total del ciclo de vida de un programa se destina al mantenimiento. El propósito del mantenimiento es garantizar que los programas en uso estén libres de errores. T. E. de operación y sean eficientes y efectivos, en pocas palabras que carezcan de. B. IB. LI. O. mecanismos que perjudiquen la calidad del software (producto y sus procesos).. 16 Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.

(28) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. CAPITULO III: ESTADO DEL ARTE SOBRE MODELOS Y ESTÁNDARES DE CALIDAD DEL SOFTWARE. El software juega un papel muy importante para el desarrollo de las organizaciones. Día tras día son liberados para su uso distintos tipos de. S. programas para diferentes clases de clientes, los hay para cada necesidad de. A. tal manera que resulta difícil imaginar alguna situación en la que el software no. IC. estuviera presente, dado que es uno de los componentes básicos de la. S. tecnología que se involucra en las empresas, no sólo como soporte a los. C Y A M D A E T C E IE M N Á C T I IC A A S S FÍ. procesos de negocio, productivos y administrativos, sino como parte integral de las estrategias corporativas para la generación de ventajas competitivas.. Es una gran oportunidad y un reto para la industria del software desarrollar las estrategias que le permitan un posicionamiento y un reconocimiento internacional con productos competitivos de exportación, lo que requerirá entre otras, de la elección e implantación del Modelo o Estándar de Calidad indicado, dejando de lado la informalidad que caracteriza a nuestra industria nacional de software. Pero este reto no es exclusivo de la industria del software. Las universidades tienen una alta participación y compromiso para apoyar dichas. E. iniciativas, incentivando la discusión académica de los temas relacionados con. T. la calidad en el proceso de desarrollo del software, desarrollando investigación. O. aplicada con la colaboración de los empresarios, grupos de estudiantes y. LI. profesores, generando casos de estudio que permitan una mayor proximidad. IB. con los distintos actores que tienen la responsabilidad de consolidar esta. B. industria en el país, como son el gobierno, las organizaciones de software y las universidades (Software Engineering Institute – Carnegie Mellon, CMMI. Overview).. Las propuestas de acción para el fortalecimiento de la industria del software han permitido que las empresas productoras de software identifiquen, como tarea imprescindible para tener éxito, alcanzar los niveles de competitividad de las organizaciones extranjeras con el fin de lograr una certificación. Esta búsqueda de reconocimiento internacional de calidad, que se ha iniciado en 17 Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.

(29) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. algunas empresas del sector, permitirá enfrentar los mercados con mayores posibilidades de éxito y abrirá las puertas para que otras empresas se animen a estos procesos y se desate en el medio un alto interés y compromiso hacia la incorporación de dichos Modelos y Estándares de Calidad del Software.. Los Modelos de Calidad son aquellos documentos que integran la mayor parte. S. de las mejores prácticas, proponen temas de administración en los que cada. IC S. procesos clave y permiten medir los avances en calidad.. A. organización debe hacer énfasis, integran diferentes prácticas dirigidas a los. C Y A M D A E T C E IE M N Á C T I IC A A S S FÍ. Los Estándares de Calidad son aquellos que permiten definir un conjunto de criterios de desarrollo que guían la forma en que se aplica la Ingeniería del Software. Los estándares suministran los medios para que todos los procesos se realicen de la misma forma y son una guía para lograr la productividad y la calidad.. Los Modelos y/o Estándares permiten que las Empresas de Software realicen sus tareas y funciones teniendo en cuenta la calidad. Cualquier organización que se dedica a la investigación, producción y comercialización de software debe considerar la calidad, hoy con más razón, donde existe un mercado en el. E. cual el cliente es cada vez más exigente, no sólo en lo que se refiere al precio,. T. sino sobre todo, en cuanto a los servicios y a la confiabilidad que brindan los. O. productos de software. La calidad desempeña un rol determinante para la. LI. competitividad de la empresa. Cuando una empresa está funcionando y decide. IB. implantar un Modelo / Estándar de Calidad del Software, es señal que la. B. empresa tiene el propósito de permanecer y crecer en el mercado, ser competitiva, proteger los intereses de los accionistas, cuidar la fuente de trabajo y mejorar la calidad de vida de su personal.. Implantar Modelos o Estándares de Calidad tiene como objetivo principal que las empresas desarrollen sistemáticamente, productos, bienes y servicios de mejor calidad y cumplan con las necesidades y deseos de los clientes. Para esto, se requiere de un Modelo / Estándar que: permita: (1) unir la misión de la empresa y el esfuerzo de cada área en una sinergia de resultados hacia la 18 Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.

(30) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. competitividad y la calidad de clase mundial; y (2) tener procesos y procedimientos ágiles; y comprensibles para todos los involucrados, pasando por las etapas de desarrollo, prueba, producción y satisfacción del cliente.. El objetivo del grupo de trabajo es implantar el Modelo / Estándar de Calidad del Software adecuado y aplicable a las características de la empresa de que. S. se trate. La base para diseñar e implantar un buen Modelo / Estándar de. A. Calidad es conocer profundamente las características y necesidades de la. IC. empresa que lo aplicará y los deseos y pretensiones de sus clientes actuales y. S. potenciales. Es necesario que todos los elementos del Modelo o Estándar de. C Y A M D A E T C E IE M N Á C T I IC A A S S FÍ. Calidad se estructuren en forma tal que permitan un control y aseguramiento de todos los procesos involucrados con la calidad (Scalone, Estudio Corporativo de los Modelos, 2006).. El Modelo / Estándar de Calidad del Software consiste en reunir todas las actividades y funciones de forma tal que ninguna de ellas esté subordinada a las otras y que cada una se planee, controle y ejecute de un modo formal y sistemático. Se requiere que los directivos y hombres clave responsables de implantar el Modelo / Estándar de Calidad comprendan que las empresas se forman por un conjunto de elementos interdependientes e interconectados que. E. buscan un mismo objetivo. Se requiere ver la empresa, como un ente dinámico. T. que se retroalimenta del interior y del exterior; y que tiene interacciones e. O. interdependencias con los diferentes actores relacionados con la empresa de. IB. LI. software (Proveedores, instituciones de crédito, clientes, personal, etc.).. B. Para tener éxito en la implantación de un Modelo / Estándar de Calidad del Software se requiere que los directivos comprendan la necesidad de fomentar en la empresa los siguientes conceptos:. (1) Establecer una cultura de calidad en la empresa. (2) Establecer la atención centrada en el cliente creando el máximo valor. (3) Inculcar en todos la premisa de hacerlo bien, a la primera vez y siempre. (4) Crear constancia y ser perseverante con el propósito de mejorar los productos de software y servicios. 19 Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.

(31) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. (5) Realizar propuestas de innovación para mejorar la efectividad de la cadena de valor. (6) Establecer que los procesos, los métodos y sistemas deben estar sujetos a ciclos de mejora continua. (7) Establecer un programa para el diseño e implantación de los procesos y sistemas que integran el Modelo / Estándar de Calidad del Software.. S. (8) Contribuir con la sociedad promoviendo los valores de calidad y generando. A. un compromiso con el bienestar de la sociedad y con la conservación del medio. S. IC. ambiente.. C Y A M D A E T C E IE M N Á C T I IC A A S S FÍ. Lo que se debe buscar es crear una cultura de calidad para que la mejora se vuelva automáticamente continua. Para ello, se debe, entre otras cosas, crear un “Comité de Administración de la Calidad”. Se deben definir los directivos que formarán parte del “Comité” que coordine, establezca y comunique lo siguiente: (1) Los objetivos y la política de calidad, (2) La organización del Modelo / Estándar de Calidad del Software, (3) La responsabilidad y jerarquía de cada puesto y persona, (4) El nombramiento de los líderes de los procesos, hombres clave, supervisores y técnicos, (5) El programa de trabajo general de todos los involucrados, (6) La implantación y seguimiento del Modelo / Estándar de Calidad del Software, (7) Las correcciones y adecuaciones que se requieran y. T. E. (8) La gestión de los recursos necesarios.. O. La correcta determinación e implementación del Modelo o Estándar de Calidad. LI. ayuda a que la empresa pueda disminuir sus costos de desarrollo, aumentar. IB. las ganancias y administrar mejor sus recursos. En los sistemas de garantía de. B. calidad, se observa: (1) relación entre los precios y costos que generan las fallas al producir software, (2) costos al volver a trabajar sobre un software ya desarrollado para reparar defectos y (3) una reducción de precios al obtener calidad. A mayor calidad, mayores son los costos al inicio y menores a largo plazo, y mayores también los beneficios obtenidos en la fase del mantenimiento del software. Este costo hay que considerarlo dentro de todo el ciclo de vida del proyecto.. 20 Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.

(32) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. Otra consecuencia de la aplicación de un Modelo o Estándar de Calidad del Software es la posible certificación, la cual permite acceder a nuevos mercados a través de la exportación.. La plena satisfacción de los clientes o usuarios del software contribuye al desarrollo económico de la Empresa. Según los continentes o países, los. S. Modelos y/o Estándares de Calidad del Software han tenido mayor o menor. A. repercusión. La implantación de un Modelo o Estándar de Calidad del Software. IC. implica un cambio de mentalidad y una formación en todo el personal de la. S. Empresa teniendo en cuenta qué tarea realiza cada persona. La Calidad en. C Y A M D A E T C E IE M N Á C T I IC A A S S FÍ. una Empresa de Software requiere un cambio de cultura muy significativo tanto en la forma de trabajar como de pensar. Hace algunos años, las Empresas de Software consideraban a la Calidad como un tema de segundo plano.. Hoy en día, las empresas que tienen como finalidad exportar software deben considerar a la Calidad como un factor fundamental para el desarrollo de su negocio. Las últimas tecnologías desarrolladas como ser e-business, ecommerce, aprendizaje on-line, correo electrónico (e- mail) y otras han producido un cambio en la sociedad no solo en el modo de trabajar sino en su vida cotidiana. Estas tecnologías manejan información que requieren un alto. E. grado de seguridad y confiabilidad, es decir, algunos de los factores que. T. afectan la calidad del software. Estas últimas tecnologías deberían ser. O. evaluadas a través del uso de Modelos y/o Estándares, los cuales podrán. IB. LI. asegurar la calidad de los mismos.. B. Estas tecnologías originan un cambio en la sociedad, lo cual trae como consecuencia que las Empresas de Software se preocupen por desarrollar productos. de. calidad. acordes. a. los. requisitos. establecidos. por. Normas/Estándares internacionales o por Modelos de Calidad. Para ello, se deberán evaluar los procesos que constituyen el desarrollo del software, es decir que exista calidad en el proceso de desarrollo. De este proceso, se obtendrá un producto de software que también será evaluado.. 21 Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.

(33) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. Ventajas de los Modelos / Estándares de Calidad del Software. Las ventajas de implantar Modelos o Estándares de Calidad del Software son:. -Tener una oportunidad para corregir los procesos de software que se hayan. S. desajustado con el tiempo.. A. -Clasificar a las empresas como de clase mundial.. mercados.. C Y A M D A E T C E IE M N Á C T I IC A A S S FÍ. -Cambiar la actitud del personal de la empresa.. S. IC. -Certificar la competitividad internacional requerida para competir en todos los. -Desarrollar y mejorar el nivel y la calidad de vida del personal.. -Realizar una mejora continua en la calidad de los procesos de software utilizados, servicios y productos de software.. -Lograr que la empresa de software sea más competitiva. -Reducir los costos en todos los procesos.. -Aumentar la productividad, efectividad y utilidad de la empresa. -Asegurar la satisfacción de los clientes internos y externos.. -Tener productos de software y servicios con valor agregado.. E. -Tener permanentemente mejores procesos, productos de software y servicios.. LI. O. T. 3.1 Estándares de Calidad del software a Nivel de Procesos. IB. Desde los primeros momentos en que se comenzó a desarrollar. programas de aplicaciones; los errores y defectos que éstas presentaban a la. B. hora de la entrega y puesta en explotación dejaron clara la necesidad de propiciar un ambiente de gestión de la calidad con el objetivo de garantizar el funcionamiento óptimo de las aplicaciones, mejorando el proceso de desarrollo para entregar al usuario un producto con calidad.. Hoy en día la calidad es importante para poder satisfacer a los clientes que pidan un sistema de calidad y cada vez hay mucho mayor competitividad en este mundo de la informática lo cual hace que cada uno de los desarrolladores. 22 Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.

(34) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. busque opciones del como poder desarrollar software de calidad y en ello se han creado desde hace mucho tiempo atrás los estándares que hoy en día rigen en torno a este mundo para el desarrollo correcto de aplicaciones de calidad cumpliendo con sus normas y parámetros en aras de conseguir la ansiada calidad (Scalone, Estudio Corporativo de los Modelos, 2006).. S. Los estándares de calidad más difundidos en la actualidad a nivel de procesos. A. con los cuales se garantiza dar seguimiento a los atributos de funcionalidad,. C Y A M D A E T C E IE M N Á C T I IC A A S S FÍ. S. IC. fiabilidad, usabilidad, eficiencia, mantenibilidad, portabilidad y conformidad son:. 3.1.1 ISO 9001:2000. La adopción de un SGC (Sistema de Gestión de Calidad) debería ser una decisión estratégica de la organización. El diseño y la implementación del SGC de una organización están influenciados por diferentes necesidades, objetivos particulares, productos suministrados, procesos empleados; y tamaño y estructura de la organización. No es el propósito de esta Norma Internacional proporcionar uniformidad en la estructura de los SGC o en la documentación.. E. Esta Norma Internacional pueden utilizarla partes internas y externas,. T. incluyendo organismos de certificación, para evaluar la capacidad de la. O. organización para cumplir los requisitos del cliente, los reglamentarios y los. LI. propios de la organización. En el desarrollo de esta Norma Internacional se han. IB. tenido en cuenta los principios de gestión de la calidad enunciados en las. B. Normas ISO 9000 (Irwin Professional Publishing and Dun & Badstreet Information Services, 1996) e ISO 9004 (Scalone, Estudio Corporativo de los. Modelos, 2006).. ISO/IEC 9001:2000 promueve la adopción de un enfoque basado en procesos cuando se desarrolla, implementa y mejora la eficacia de un SGC, para aumentar la satisfacción del cliente mediante el cumplimiento de sus requisitos. Para que una organización funcione de manera eficaz, tiene que identificar y gestionar numerosas actividades relacionadas entre sí. Una actividad que 23 Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.

Referencias

Documento similar

Con el fin de minimizar los problemas a los que se enfrentaban las pequeñas y medianas organizaciones a la hora de evaluar sus procesos con marcos muy complejos como CMMI, AENOR

Tabla 2. Punto de enlace en CMMI-DEV.. Es importante recordar que los modelos de calidad orientados al proceso incluyen prácticas para que la organización elija los métodos

De acuerdo a la Tabla 1.4, las áreas de proceso que serán tratadas para la evaluación de la empresa corresponden a las áreas de proceso del Nivel 2 del CMMI-DEV

1) Existirá una relación significativa entre las buenas prácticas del modelo CMMI – Nivel 2 y el costo de la calidad en el proceso de desarrollo de software en el

El CMMI está integrado por áreas de procesos, el área de proceso seleccionada para la definición del metamodelo es el área de procesos de validación, y su

ISACA es el acrónimo de Information Systems Audit and Control Association (Asociación de Auditoría y Control de Sistemas de Información), una asociación

 Presentación de los modelos CMMi continuo y discreto - CMMi como modelo de mejora continua - Áreas de proceso con mayor impacto en la calidad: Control de proyectos, Medición

Recibe original y copia de la Carta de Certificación de servicio social. Entrega Carta de Certificación