Professional Documents
Culture Documents
Marcelo Jenkins Escuela de Ciencias de la Computacin e Informtica Universidad de Costa Rica San Pedro, Costa Rica 2060 Tel: (506) 207-4020 mjenkins@cariari.ucr.ac.cr
. RESUMEN
El uso sistemtico de los estndares de calidad para desarrollo de software puede ayudar a mejorar calidad del software. Este artculo describe una experiencia prctica de una organizacin financiera en el establecimiento de su sistema de administracin de la calidad del software. Explicamos cmo diseamos e implementamos nuestro sistema de calidad, cmo adaptamos los estndares de ingeniera de software de la IEEE a las necesidades y a los recursos disponibles de nuestra organizacin, y resumimos los beneficios que hemos obtenido de su uso. Este artculo puede interesar las organizaciones de sistemas de informacin que desean mejorar sus procesos de desarrollo y mantenimiento de software. Palabras claves: Sistemas y Tecnologas de Informacin, Administracin de la calidad del software, ISO 9000, estndares de calidad del software.
2. LA ORGANIZACIN
El Banco Nacional de Costa Rica (BNCR) es la institucin financiera ms grande del pas con ms 150 sucursales y 4.000 empleados. La divisin tecnolgica corporativa de informacin consiste en unas 150 personas. Cerca de 50 de ellas pertenecen a la divisin del desarrollo de software, que es responsable del desarrollo y mantenimiento de los sistemas de informacin. El Banco utiliza constantemente ms de 60 diferentes aplicaciones del software escritas en 5 lenguajes de programacin distintos que se ejecutan en 4 plataformas con diferentes sistemas operativos usando 4 diferentes sistemas administradores de bases de datos.
1. INTRODUCCIN
Durante los ltmios tres aos, el Banco Nacional de Costa Rica (BNCR) ha implementado un proyecto de mejora del proceso del software basado en ISO 9000:2000 [2]. Como toda institucin financiera, la tecnologa de informacin es un componente importante para mantener ventaja en un mercado muy competitivo. La disponibilidad y la calidad de todos los servicios financieros proporcionados a los clientes dependen directamente de una o ms aplicaciones de software. Por lo tanto, la calidad del software tiene un efecto directo en la calidad de los servicios que el banco ofrece a sus trescientos mil clientes. Este artculo describe la experiencia de una organizacin financiera al usar estndares de la tecnologa de dotacin lgica para establecer su sistema de la administracin de la calidad del software. Explicamos cmo diseamos e implementamos nuestro sistema de calidad, describimos cmo adaptamos los estndares de ingeniera de software de la IEEE [1] a las necesidades y a los recursos disponibles de nuestra organizacin, y resumimos las ventajas que hemos obtenido de su uso.
2. Proporcionar a nuestros usuarios productos y servicios de calidad que satisfagan sus necesidades y excedan sus expectativas. 3. Establecer y mejorar continuamente un sistema de administracin de la calidad basado en la norma ISO 9000:2000. 4. Promover una cultura de calidad en la DDSI que desarrolle un ambiente de trabajo basado en la excelencia y enfocado en la satisfaccin de los usuarios. 5. Utilizar las mejores metodologas y herramientas de aseguramiento de la calidad del software en la realizacin de proyectos informticos.
Nombre del documento de calidad 1. Manual de Calidad de Software 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Metodologa de Administracin de Proyectos Estndar BNCR-11 para la Elaboracin de Carteles de Licitacin para la Adquisicin de Sistemas. Estndar BNCR-21 para la Especificacin de Requerimientos del Software Estndar BNCR-31 para la Especificacin del Diseo del Software. Estndar BNCR-51 para Pruebas del Software Estndar BNCR-61 para Mantenimiento del Software Estndar BNCR-71 para la Documentacin de Sistemas. Estndar BNCR-72 para Mtricas de Software. Estndar BNCR-73 para la Revisiones y Auditoras Informticas Estndar BNCR-74 para Evaluaciones de Proveedores de Software.
Clusulas del ISO 9000:2000 que implementa 4.1, 4.2, 5.1, 5.2, 5.3, .5.4, .5.5, 6.1, 6.2, 6.3, 6.4 7.1 7.4 7.2 7.3 7.4 7.5 4.2 8.1, 8.3, 8.4, 8.5 8.2, 8.5 8.5
Tabla 1. Documentacin del sistema de calidad y cobertura del ISO 9000:2000 La Figura 2 muestra cmo los 9 estndares de calidad se acoplan dentro del proceso del software, constituyendo la piedra fundamental del mismo.
F O R M U L A C I N
P L A N IF IC A C I N
CONTROL & S E G U IM IE N T O
C IE R R E
M A N T E N IM IE N T O
Id e n tific a c i n y fo rm u la c i n
G u a p a ra E s tu d io s d e F a c tib ilid a d
E la b o ra c i n E sp e c ific ac i n R e q u e rim ie n to s
STD B N C R -2 1
STD B N C R -7 1
STD B N C R -1 1
STD B N C R -7 3
R e v is a r D is e o d e l so ftw a re
STD B N C R -3 1
STD B N C R -7 3
R e a liz a r p ru e b a s d e l s o ftw a re
STD B N C R -5 1
STD B N C R -7 1
C e rra r p ro y e c to
STD B N C R -7 2
M a n te n e r sis te m a
STD B N C R -7 4
STD B N C R -6 1
STD B N C R -7 3
1987 para pruebas de unidad del software y el estndar de IEEE STD 829-1998 para la documentacin de pruebas del software como guas de consulta. El proceso de pruebas tiene tres variaciones: el primero para el software desarrollado que es entregado por primera vez por un sub-contratista, el segundo para software desarrollado internamente, y el tercero para cambios producto del proceso de mantenimiento del software. La Figura 3 muestra el proceso de pruebas para un sistema de software (o el componente de un software) que est siendo entregado la primera vez por un subcontratista.
S u b -c o n tra tis ta
S o ftw a re
R e v is i n T c n ic a
S o ftw a re D e v u e lto
S o ftw a re R e v is a d o
P ru e b a s d e In te g ra c i n
S o ftw a re D e v u e lto
M d u lo s In te g ra d o s
P ru e b a s d e A c e p ta c i n
S o ftw a re A c e p ta d o
U s u a r io s
El sub-contratista somete los items del software (e.g., programas fuente y programas ejecutables, documentacin tcnica y del usuario) al la DDSI para que lo pruebe. Primero, el ingeniero de software asignado al proyecto utiliza los estndares de calidad del BNCR para realizar una revisin tcnica de los productos entregados para verificar cumplimiento con los estndares de tcnicos del BNCR. Como producto de esto, un informe de defectos es devuelto al sub-contratista junto con los itemes rechazados del software, quien debe corregir los problemas y someter los temes para una nueva prueba. Este proceso debe ser realizado hasta que se eliminen todos los defectos encontrados. Una vez que todos los temes del software hayan pasado la revisin tcnica, la fase II comienza. Las pruebas de integracin consisten en validar el producto entregado contra los requerimientos y el diseo del software. Una vez ms un informe de defectos de integracin es generado y devuelto al sub-contratista, quien debe corregir los problemas y entregar los temes. Este proceso debe ser realizado hasta que se eliminen todos los defectos encontrados.
Finalmente, la fase III consiste en llevar a cabo pruebas de aceptacin del software con participacin de los usuarios finales. Estas son un tipo de pruebas alfa con casos de prueba del usuario. Un informe de defectos de las pruebas de aceptacin se genera y se devuelve al sub-contratista, que corrige los problemas y somete los items para ser reprobados. El estndar BNCR-51 para las pruebas del software define detalladamente todos los procedimientos, tareas, formularios de registro, y formato de la documentacin que se debe utilizar para realizar estas pruebas. El estndar define variaciones de este proceso para software que se desarrolla internamente as como para los sistemas que estn en operacin y mantenimiento. Hemos utilizado nuestro estndar de prueba durante los ltimos 3 aos. Durante este perodo, hemos tenido que realizar cambios menores, pero se han seguido utilizando los procedimientos y las tareas principales bsicamente sin ningn cambio. El prximo paso es iniciar la automatizacin del proceso de pruebas mediante el uso de herramientas CASE.
6.2.2 Mtricas de productividad. Las mtricas de productividad estn orientadas hacia medir la eficiencia de las tareas o actividades de desarrollo y mantenimiento de software. La productividad se calcula usando la razn de la cantidad de salida producida entre el esfuerzo invertido para producirla. De esta manera, este tipo de mtricas tiene la siguiente forma:
Descripcin Tamao de la presa de trabajo (TPT) Controlar el tamao de la presa de trabajo de solicitudes de mantenimiento de cada plataforma del banco. TPT = # casos abiertos al final del perodo Para la plataforma X, al final del mes haba 35 casos pendientes de mantenimiento que no se haban cerrado. Entonces, el tamao de la presa de trabajo de la plataforma X al final de ese perodo es: TPT =35 casos Descripcin ndice de la presa de trabajo (IPT) Medir el ndice de crecimiento de la presa de trabajo de solicitudes de mantenimiento de cada plataforma del banco. IPT=# casos cerrados/mes X 100% # casos abiertos/mes Para la plataforma X, durante el mes se abrieron 11 casos y se cerraron 9. Entonces el ndice de la presa de trabajo (IPT) de la plataforma X durante ese perodo es: IPT = 9 X100% = 82% 11 Descripcin Tiempo promedio de respuesta (TPR) Medir el tiempo que se toma la DDSI para solucionar las solicitudes de mantenimiento de los usuarios de cada plataforma del banco. N TPR = i=1 Ti
___________
Campo
Nombre Objetivo Clculo Ejemplo
Descripcin Densidad de Defectos (DD) Medir el nivel de defectos de cada uno de los principales sistemas del banco. DD = # defectos reportados por mes # objetos del sistema / 1000 Para un sistema X que est compuesto de 354 objetos, se reportaron 17 problemas en un mes. De esos, 13 problemas se clasificaron como defectos del software. Entonces, la densidad de defectos (DD) del sistema X en ese perodo es: DD = 13 = 36.7 defectos/Kobjetos 354/1000
Descripcin Problemas reportados por mes usuario (PMU) Medir el nivel de problemas que reportan los usuario de cada uno de los principales sistemas. PMU =#problemas sistema por mes X100 # meses usuario en ese mes Para un sistema X, se encontraron 17 problemas reportados en un mes con un total de 255 usuarios. Entonces, la densidad de problemas reportados por mes usuario (PMU) del sistema X en ese perodo es PMU = 17 X 100 = 6.6 PMU 255
Ejemplo
N Donde: Ti es el tiempo en das naturales requerido para cerrar el caso i Para la plataforma X, durante el mes se cerraron 7 casos, cada uno de ellos necesit 15 12, 33, 3, 5, 22 y 17 das para cerrarlo. Entonces, el TPR de la plataforma X en ese perodo es: TPR=15+12+33+3+5+22+17 =15.3das 7
Descripcin Efectividad de la estimacin del tiempo (EET) Medir la exactitud de las estimaciones de tiempo de desarrollo de los proyectos de sistemas. IPT=duracin real proyecto X100% # duracin estimada proyecto Para el proyecto X, se haba estimado una duracin de 180 das naturales y se tard un total de 223 das naturales. Entonces, la efectividad de la estimacin del tiempo (EET) del proyecto X es: IPT = 223 X 100% = 124% 180 Descripcin Esfuerzo invertido (EI) Medir el esfuerzo invertido en un proyecto de software. Con esto se podr estimar el costo total del proyecto para el Banco. EI = # das persona usados en el proyecto En el proyecto X, participaron 3 funcionarios de la DDSI. El primero utiliz 13.25 das persona en el proyecto, el segundo 92.5 das persona, y el tercero 23 das persona. Entonces, el esfuerzo total invertido del proyecto X es: EI =13.25+92.5+23 =128.75 das persona Descripcin Productividad de la Fase de Pruebas (PFP) Medir la productividad de la fase de pruebas de los proyectos de software. PFP =# defectos fase pruebas # das persona fase pruebas El conteo del nmero de das persona invertidos por cada funcionario de la DDSI en las pruebas debe ser llevado manualmente. En las pruebas del proyecto X participaron 2 funcionarios de la DDSI con 6.5 y 14.5 das persona respectivamente. En total, se encontraron un total de 23 defectos en el software entregado. Entonces, la Productividad de la Fase de Pruebas (PFP) del proyecto X es: PFP= 23 =1.09 def./da persona 6.5+14.5 Descripcin Productividad de la Fase de Req. (PFR) Medir la productividad de la fase de levantamiento de requerimientos de los proyectos de software. PFR = # req. documentados # das persona utilizados En la especificacin de requerimientos del proyecto X participaron 2 funcionarios de la DDSI. con 7 y 21.5 das persona respectivamente, y se documentaron un total de 237 requerimien-tos. Entonces, la PFR del proyecto X es: PFR = 237 =8.31 req./da persona 7+21.5
7. CONCLUSIONES
En el establecimiento de nuestro SQMS, nos concentramos primero en definir e implementar los procedimientos, las tareas, las herramientas, y las formas de registro necesarias para que el SQMS sea efectivo. Lo hicimos elaborando e implementando un conjunto de 9 estndares de calidad que forman la base del SQMS y son un componente importante de nuestro proceso de software. Esta primera fase ha tomado 3 aos para completarla. El estndar del ISO 9000:2000 requiere organizaciones para desarrollar y mantener una amplia capacidad de documentacin, lo cual es difcil de elaborar e implementar. Hemos intentado mantener nuestro SQMS suficientemente simple para que pueda ser implementado en el ambiente de nuestra organizacin, pero suficientemente estricto como para llenar los requisitos de calidad definidos en las clusulas del ISO 9000:2000. La segunda fase de nuestro proyecto de SPI se concentrar en adquirir las herramientas CASE para ayudar a automatizar algunas de las actividades definidas en nuestros estndares. Esto incluye una herramienta CASE para pruebas, sustituir nuestra herramienta actual para administracin de la configuracin del software, e introducir el uso de herramientas CASE ms sofisticadas para administracin de requerimientos. Creemos que nuestro proceso de software ha sido bien definido y documentado y que nuestro SQMS podra estar listo para una certificacin ISO 9001 dentro de un ao o dos.
8. REFERENCIAS
[1]. IEEE. IEEE Standards Collection: Software Engineering, 1999 edition. IEEE Inc. 1999. [2] ISO. International Standard ISO 9001. ISO 2000. [3] ISO. Information Technology - Software Product Evaluation - Quality Characteristics and Guidelines for their use. ISO 1991. [4] M. Jenkins. Adopting Development Standards to Achieve Process Improvement. Proceedings Sixth International Conference on Software Quality, Montreal, Canada, 1996, pags. 111-120. [5] G.A. Kaplan. Secrets of Software Quality. Proceedings Fifth International Conference on Software Quality, Austin, Texas, 1995, pags. 15-27. [6] S.H. Kan. Metrics and Models in Software Quality Engineering, Addison-Wesley, 1995. [7] E. McGuire. Software Process Improvement: Concepts and Practices. Idea Group Publishing, 1999. [8] J.W. Moore. Software Engineering Standards: A Users Road Map. IEEE Inc., 2000. [9] M. Paulk, B. Curtis, M.B. Chrissis, C.V. Weber. The Capability Maturity Model: Guidelines for Improving the Software Process. Addison-Wesley, 1995. [10] Schulmeyer G.G., McManus J.I. Handbook of So ftware Quality Assurance. Prentice Hall, 1999.