te le )r. )$ �$ LA CALIDAD DEL SOFTWARE COMO EJE TEMÁTICO DE 1 NVESTIGACIÓN ;e e. '5 e ·o a a n CELIO Gil Ingeniero de Sistemas Universidad Distrital. Especialistc;i en Administración cte Empresas, Oooente Investigador. Universidad Ubre. a s y s ;, RESUMEN PALABRAS CLAVE e El propósito de este artículo es contribuir con el Aseguramiento de la Calidad en la Industria Nacional del Software y resaltar como factor diferenciador del Ingeniero de Sistemas Unilibrista: La Capacidad de Implementación y Gestíón del Aseguramiento d e la Calidad. La Calidad del Software (SQA, Software Quality la Calidad, Industria del Software, Métricas. Metodologías, ISO, SQA, Factores de Calidad, Modelo de Madurez. �/ l. s e 4 es una actividad que se aplica a lo largo de la cadena productiva de software. La SQA comprende procedimientos para la aplicación efectiva de métodos y herramientas. revisiones técnicas formales. técnicas y estrategias de prueba, procedi mientos de control, procedi­ mientos de garantía y mecanismos de medida (métricas). Assurence}, Para contribuir con la Gestión e Implementación del Aseguramiento de la Calidad del Software, el programa de Ingeniería de Sistemas ha desarrollado el Eje Temático denominado: Calidad de Software. esto con el fin de contribuir con el desarrollo de la Industria del Software en Colombia. Fecha de recepción dél artículo: 12 de diciembre de 2005. Fecha de aceptación <1e1 artículo: 15 de marzo de 2006. Aseguramiento de ABSTRACT The intention of this article is to contribute with the Securing of the Quality in the National lndustry of Software and to stand out like differentiating factor of the Systems e n gineer Unilibrista: The Capacityof lmplementation and Management of the Securing of the Quality. The Quality of Software (SQA, Software Quality Assurence) is an activity that is applied ali along of the productive chain of software. The SQA includes/ understands procedures for the effective application of methods and tools, formal technical revisions, techníques and strategíes of test, control procedures. procedures of guarantee and mechanísms of measurement (metric). In order to contribute with the Management and lmplementation of the Securing of the Quality of Software. the program of Engineenng of Systems has Proponer y desarrollar proyectos que busquen developed the denommated Thematic AxíS: Quality of generar o aplicar conoomoento para el desarrollo Software, de nuevos pro ductos . this w1th the purpose of contributmg w1th the development m the National lndustry of Software in Colombia. Difundir e l trabajo realizado a través de seminarios. congresos nacionale s . KEYS WORD Securing of the Quality, Trains of Software. M et rlc . M et ho dolog i e s. ISO, SQA, Factors of Qualit y and . Model of Maturity. Analizar ras metodologías existentes y elaborar o proponer nuevos paradigmas que respondan a las características de los productos de Software actuales y futuros. INTRODUCCIÓN Proponer una metodología de Aseguramiento de la calidad e n los procesos de desa r r oll o d e software. El presente articulo tiene como objetivo la apropiación Contribuir con el desarrollo de la industria del IS Cl y el desarrollo del conocimiento relacionados con el Software en Colombia a través de las empresas tema del aseguramiento de la caridad en la Industria desarrolladoras de software. sensibilizándolas en PI del Software. Al abordar la Galidad dentro del contexto los procesos de calidad de software y fortalecer general omploca relacionar temáticas como: Procesos y la calidad de los productos de software, de tal forma que e r SQA s e convierta en un factor de ventaja competitiva en la ondustroa del software. IS Metodologías, Gestión de Proyectos, Normas y Estándares. Productos. Métricas y Factores de Calidad. D entro del desarrollo de cada una de ras tem áticas propuestas se formulan entre otras las soguoentes preguntas de investigación: ¿Cómo obtener un Software con calidad?, ¿Cómo evaluar la calidad del Software?. ¿Cómo co nt ro lar la Madurez del Software? Los crecientes cambios y perspectivas Impulsan a obtener como resultados esperados del presente proyecto estudios comparativos de metodologías de desarrollo, aplicación de las métricas de software y poder evaluar el estado del arte del software en la ciudad de Bogotá. 1. OBJETIVOS 1.1 General Apropiar y desarrollar conocimientos relacionados con el t e m a del Ase g ura mient o de la C ali dad en ra Industria del Software que permita consolidar los fundamen tos teóricos prácticos, la difusión del trabajo realizado e incentivar la creación de métricas aplocables en la Indust ria del Software Nacional. 1.2 Específicos Le re 2. CONTEXTO té lé La calidad en el desarrollo y mantenimiento del software se ha convertido hoy en día en uno de los principales objetivos estratégicos de ras organizaciones desarrolladoras de so ftware debido a q ue cada vez más. los procesos principales de las organizaciones pi dependen de m El aseguramiento de la Calidad de Software. implica 'ª' . básicamente de los sistemas información. se dt ac M abordar. estudiar, investigar y relacionar temáticas de como: Procesos y metodolog ías, Gestión de proyectos, fa• Normas y Herramientas, Productos. Métricas y Factores de Calidad. Ver Figura 1. di: Los Indicadores de p roce s o s ' permiten a una orga nización de ingeniería del software tener una visión profunda de la eficacia de un proceso ya existente. Los indicadores de proyectos permiten al gestor de proyectos del software : l·Evaluar el estado del proyecto en curso: 2·Seguir ra pista de los riesgos potenciales; 3-Detectar las áreas de problemas antes de que se 2 de un De ca conviertan en críticas; 4-Ajustar el flujo y las tareas Conformar una base de investigadores que estén en in se capacidad de formular proyectos de 1nvest1gac1ón y productos que tengan como base la aplicación de ras diferentes métricas. del trabajo; y S·Evaluar la habilidad del equipo del P<oyectO en IJ(o de la Gahdad de los productos. Para la industria del software las normas y e stándares relevantes son: 'SI wa fe . Un en foq u e pr ac u co. 5 edi ci ón . Mc G raw Hill. 1 Rogcr P ressm a n. Ingenier ía del Soft 54 1\VAN(('t ll'lv1·.,h��1c1dn eo lngenietí.1. 2006 No. 4 'M ' El Figura 1. Mapa Conceptual .quen Ante esta situación. se hace necesario pensar en herramientas que permitan comprobar y verificar la 1rrollo calidad de un producto de software, aplicable a un Normas y H errami en t� arios, t 1rar o determinado sector de la industria o sector de la comunidad. y de esta manera contribuir al desarrollo y fortalecimiento de la ingeniería en el país. Ascgar Ami� nto de I• C•lidad a las Son · u. rr \vare Fact OfCS de i Udad C 3. MARCO TEÓRICO Antes de empezar hablar acerca de que podría ser la :o de calidad de los productos de software, se debe definir o de qué se entiende por calidad? ¿a qué es aplicable? y ¿de qué forma puede ser relacionada con productos del 1 esas s en ISO 9001. Este estándar describe el sistema de calidad utilizado para mantener el desarrollo de un producto que implique diseño. ecer ISO 9003. Este es un documento específico que tal interpreta el ISO 9001 para el desarrollador de e r de ire. software. de software? Según el diccionario, calidad' se puede definir como: "una característica o atributo de una cosa". Uno de los principales objetivos de dar calidad a los productos es minimizar las diferencias entre unidades producidas. Estas diferencias tienen diversos Los ingenieros de software afrontan la calidad (Y orígenes y. por tanto. distintas y amplias formas de realizan garantía de calidad) aplicando métodos corregirlos, dependiendo de l a naturaleza del técnicos sólidos y medidas. realizando revisiones p ro duct o. Lo primordial es tener en cuenta el técnicas formales y llevando a cabo pruebas de concepto de brindar calidad a l o que s e está los software bien planificadas. El instituto de Ingeniería realizando. lnes del Software [SE1]2 recomienda un conjunto de vez actividades de SQA que se enfrentan con la >nes planificación de garantía de calidad. supervisión, del ? de que serán utilizados por otras personas. McCall y sus colegas3 propusieron una serie de 3.1 Calidad en los productos Software factores de calidad como los primeros pasos hacia el icas desarrollo de métricas de la calidad del software. Estos tos. factores evalúan el software desde tres puntos de vista y distintos: 1· Operación del producto (utilizándolo) 2- Revisión del producto (cambiándolo) 3· Transición Jna :;ión �te. de produce productos mantenimiento de registros. análisis e informes. ilica IS De este modo. el brindar calidad es una actividad esencial para un negocio que del producto (modificándolo para que funcione en un entorno diferente). La calidad de Software tiene diferentes significados para distintos grupos. Hasta e l momento puede dilucidarse algunos de los atributos que hacen comparable un producto de otro. Quizás podemos considerar formas. colores. tamaños. manejabilidad. entre otro s. Estas características pueden ser físicamente mensurables y, por ello, fácilmente De otra parte. el software es un producto con unas comparables. Observando desde esa perspectiva, características muy específicas: ¿De qué manera puede ser aplicada la calidad a los ?cto Se desarrolla. no se fabrica en el sentido clásico les: del término. se gas Se trata de un producto lógico, sin existencia física. del No se degrada con el uso. Es extraordinariamente flexible. productos de software? ¿Cómo controlar la variación entre un producto de este tipo? Así como existen medidas para atributos físicos, para el software también existen medidas que pueden hacerlo comparables. tales como puntos de función, líneas de código y otras. res 2 3 SEi. S oftware Eng ¡ neer l ng lnstltut e. McCélll. J. A.. y J. P. cavano. <<A ftamework for the Measurement ot Software Quality>>. /JCM Software Quahty Assurance. • El American Heritage Oictionary. AVANCE� lnVP<;1tgación en lng�nieria • 2006 No. -1 SS La principal meta de un equipo desarrollador de software debería ser siempre producir software y con las características 1mplíc1tas que se esperan de todo software desarrollado profesionalmente·. catalogado como de alta calidad. Pero, para ello se deben tener en cuenta algunas ideas previas · Los productos de software son realizados por personas para personas. Así. las personas desa rrolladoras deben de DE INVESTIGACIÓN Desde la década del 70. este tema ha sido motivo de tener en cuenta claramente que son otras personas preocupación las que utilizarán sus productos, los que pueden estar inves tigadores y c om erc 1 a llzadores de software, sujetos a fallos constantes. A pesar de los avances actuales en Inteligencia Artificial, los asistentes software para el desa r ro l lo de software no son demasiado confiables como para que la mano humana no intervenga en este proceso. El desarrollo de productos software es una actividad sujeta a muchos factores que la pueden hacer poco confiable. espe cialistas . ingenieros , quienes han realizado cantidad de investigaciones al respecto sobre los sig uientes objetivos: La la cie En cal ¿Cómo obtener un Software con calidad? err ¿Cómo evaluar la calidad del Software? COI ¿Cómo controlar la Madurez del Software? La Los principales problemas se refieren precisamente fre Ingenieros Eléctricos y a la aplicación inadecuada de las técnicas de ap Electrónicos (IEEE)'. es el grado en que un sistema. Ingeniería de S oftware y a la no ut1hzac1ón de los roles en apropiados para el desarrollo de las tareas de la ap especificados y las necesidades del cliente. En la empresa de software. CIY definición de la Norma IS0.9000 de la Organización La mayoría de los productos desarrollados no han Para e l Instituto de componente o proceso cumple con los requisitos Internacional para la Estandarización (IS0)6, la calidad do software es el grado (pobre, bueno o excelente) en que un conjunto de características inherentes del software cumplen con los requisitos del sistema. empleado técnicas adecuadas de análisis y diseño. además no se cuenta con la documentación técnica de los productos de la empresa; lo cual dificulta software. con los re quisitos funcionales y de rendimiento Además, no está formalizado el proceso de desarrollo desarrollo explícitamente documentados, y con las características implícitas que se espera de todo software desarrollado profesionalmente. No hay duda que esta definición puede ser ampliada y nos sirve para hacer hincapié en tres puntos importantes: Los requis itos del software son la base de las medidas de la calidad. La falta de concordancia ha 5. Lo� considerablemente el desarrollo de proyectos de La calidad del software se define como: Concordancia explícitamente establecidos. con los estándares de • de software. ya que no existen procedimientos ni métricas que permitan planificar y controlar estos • procesos. De otra parte. el proceso de prueba de los productos es de baja calidad así como el análisis preliminar de nuevos requerimien tos. La principa l causa de que todo esto suceda es la falta 81 GL de industnahzación de la producción de software, es 2C Pll Los estánda res especificados definen un conjunto decir, la tendencia a no usar procedimientos estándares a la hora de producir software que permitan planificar y de criterios de desarrollo que guían la forma en controlar adecuadamente un proyecto de software. 20 ¿Estado Actual del aseguramiento de la Calidad del so con los requisitos es una falta de calidad. que se aplica la ingeniería de software. Sino se siguen esos criterios. casi siempre habrá falta de calidad. Segun. Roger S. Pressman' define la cali dad como la ·concordancia con los requerimientos funcionales y Con respecto a la mnovac1ón. Colombia ocupa el puesto 53 a nivel mundial y el sexto en América Launa. de ren d1m1ento explícitamente establecidos. con los La producción de software local presenta un crecimiento promisorio, a pesar de la volatilidad de ANSI/IEEE Std 729·1983. IEEE Standaod Glossary 01 Soltware Eng,neermg Termonology. IEEE lnc. http:/www.iso.org Ro&e1 Pressman. lngenieria del Sofu,•are. Un enfoque pr6clleo. 5 odlc16n. McGraw Hill. 1\VAN(f\ ln11C"'ilig..1ndn PO lngeoie1(J 2006 No. 4 • PR Software en Colombia? estándares de desarrollo explícitamente documentados " ISO 9000-3:1997. Sf1 Es 4. PROBLEMAS O PREGUNTAS para la i de IN hit hit e I� . ( 'º ( de las empresas del sector; esto tiende a cubrir la • demanda nacional. Este desarrollo se ha logrado gracias a las d1f1cu1tades de la adecuación del software importado, e l mantenimiento y el soporte de los programas • )$, · e. al La aplicación de programas de calidad ha contribuido a la profesion a lización .. de las empresas y a la con cientízacion hacia la búsqueda de nuevos mercados. • " En la parle de implementación de programas de Base de datos para la catalogac1on de las Normas y Estándares para la auditoria de la C ahdad en Software . . de Instructivos sobre técnicas a utilizar en el proceso de desarrollo de software. • Co nf orm ación de u na Base de datos sobre métricas en la Calidad d e Software. Parámetros de evaluación del Estado del Software en Bogotá. calidad solo un 25% tiene certificación IS09000". sin embargo los resultados siguen siendo baios comparados con otros sectores i ndustr i al es. 1te je es la Las empresas colombianas están en desventajas frente a niveles de competitividad basados en la apl1cac16n de programas de calidad. Mientras que en Estados Unidos cuenta con 1700 empresas que aplican programas como el modelo CMM' y el modelo CMMI' en Colombia solo hay cinco empresas que han aplicado estos modelos. CONCLUSIONES La garantía de calidad del software es una actividad que se aplica en todo el proceso del desarrollo de software. La SQA comprende proced1m1entos para la aplicación efectiva de métodos y herramientas. revisiones técnicas formales y estrategias de prueba. • :in 'º· vertiginoso en la última década. razón por l a cual este sector h a contribuido al fortalecimiento de la ca 5. RESULTADOS ESPERADOS ta Los siguientes son los resultados esperados: je 110 íll os Estudios com parativos de: economía nacional. Ante esta situación la Universidad L ib re a través del programa d e Ingeniería de Sistemas h a propuesto dentro de l a Metodologías de desarrollo de Software. - La Industria del Software ha tenido un crecimiento Aplicación de las métricas de Software. Productos de Software de aplicación espec1f1ca desarrollados con Estánda re s de Cahd ad . línea de Ingeniería de Softwa re la creación del Eje Temático denominado: Calidad de Software. para contribuir al engrandecimiento de este sector de 'ª economía además de ser un factor d1ferenc1ador del programa. . BIBLIOGRAFÍA Ita es es ry Guías Ge n eral es de Desarrollo de Software ASOCIACIÓN COLOMBIANA DE INGENIEROS DE SISTEMAS. ACI S . PIATIINI, M.G y G arcía F.O. " Calida d en el desarrollo y mantenimiento de Software·. Editorial RAMA. 2003 PRESSMAN, Roger, "Ingeniería del Software un Enfoque Práctico". Tercera edic ión. Madrid. Me GRaw Hill. 2003. tel SOMERVILLE. lan. "Ingeniería de Soft w are . México. Pearson Educación, 2003. ;to INFOGRAFÍA JO je . 2002. · http://www.ac1s.gov.co tittp:f/www.fedesoft.org.co ISO. lnternat 1ona Orga.nization for Standard11.at1on. nttp;//www.lso.ch. CMM Capabihty Maturity Moclel. 1 CMMI Capeb1hty Maturity Model lntegrated.