Вы находитесь на странице: 1из 15

Calidad del Software.

Ing. Jos Luis Snchez Vzquez, UTTN. jose.sanchez@ticutt.mx


Resumen Los profesionistas egresados de las carreras relacionadas con las Ciencias Computacionales se confrontan al dilema, entre desarrollar software para un mercado local limitado o generar productos para competir en un mundo globalizado. Obviamente la segunda opcin es la ms atractiva, a pesar de que implica la produccin de software basada en normas y estndares internacionales, tambin representa mayores beneficios econmicos. Producir software por producir, pero producir software para satisfacer las necesidades reales de los usuarios, basados en estndares o modelos de calidad, aqu esta lo interesante. Este documento describe una revisin a la literatura de las principales normas y modelos aplicados para generar productos de software de calidad. Esta descripcin tiene como objetivo, motivar al lector a conocer los usos, costos y beneficios, de la aplicacin de la Calidad del Software.
Temas claves IEEE, ISO, SPICE, CMM, Boostrap, SQA, Moprosoft.

I. INTRODUCCIN

egn la IEEE 729-83[a], la calidad del software es:

Grado con el cual el cliente o usuario percibe que el software satisface sus expectativas. La norma ISO 8402:1984 [b], la define como Conjunto de propiedades y de caractersticas de un producto o servicio, que le confieren aptitud para satisfacer necesidades explcitas o implcitas. Roger Pressmann la define como :Concordancia del software producido con los requerimientos explcitamente establecidos, con los estndares de desarrollo prefijados y con los requerimientos implcitos no establecidos formalmente, que desea el usuario Hablar acerca de la calidad que un software debe de tener, es un tema bastante amplio y en ocasiones desconcertante. Por aos las Escuelas de Educacin Media Superior y Superior en Mxico, se han afanado en ofrecer a sus educandos, especialidades y carreras relacionadas con la generacin de productos de software, como por ejemplo: Tcnico analista programador, o Ingeniera en Sistemas Computacional; pero en los orgenes de la enseanza, se les proporciona a los estudiantes las bases para que sean programadores, ya durante la carrera, ven tpicos complementarios, los cuales los llevan al trmino de sta, a ser excelentes Ingenieros o Licenciados. Pero y dnde qued la calidad del software? Se supone que segn las definiciones, la calidad debe de estar inmersa a todo lo largo del ciclo de vida seleccionado, para elaborar el producto de software. En la realidad, las asignaturas, en ciertos planes de estudio, estn tan desvinculadas, que se considera a la calidad del software como un ente aparte, como un tpico complementario, como un aporte que no tiene nada que ver con las cuestiones de programacin. Entonces Cmo se

puede dar calidad a un software, bajo estas condiciones?

II. FUNDAMENTACIN Antes que nada se debe de entender la importancia de la calidad del software, en cmo influye en el proceso a automatizar, en las herramientas y mtodos a utilizar, incluso cmo impacta al usuario el estar utilizando normas y/o modelos de calidad, al momento del desarrollo del producto. Figura 0.

Figura 0. Impacto de la calidad del software , Segn el modelo de calidad descrito en la ISO 9126 [3] figura 1, la calidad de un proceso contribuye a mejorar la calidad del producto, y, a su vez, la calidad del producto contribuye a mejorar la calidad en su uso. La finalidad de la calidad en uso, es medir la efectividad, productividad, seguridad y la satisfaccin de los usuarios pertenecientes a perfiles determinados que interactan con el producto en escenarios especficos de uso [1] Cuando se habla de caractersticas de un producto, existen dos tipos de calidad: calidad de diseo, calidad de concordancia. Calidad de diseo, se refiere a las caractersticas que los diseadores especifican para un elemento. La calidad de concordancia es el grado en el que las especificaciones de diseo se aplican durante la fabricacin.
.

Fig. 1. Calidad del Proceso. ISO 9126 [9]

Al principio de ste artculo se mencion que la calidad del software puede ser desconcertante, Por qu?, porque desde el primer momento en que uno se sumerge en ste tpico, se abre ante nosotros un mundo totalmente nuevo y desconocido. Cada vez que uno camina un paso ms en el concepto de la calidad del software, se encuentra con informacin tan nueva, tan variada, tan amplia, que pareciera ser que no terminara nunca. Se empiezan a conocer, los modelos y las mtricas, cada una con sus conceptos, definiciones, alcances y aplicaciones. Todas igualmente importantes, todas igualmente complejas. Entonces, nos damos cuenta, de que cada paso del ciclo de vida para el desarrollo de productos de software, tiene una norma ISO. Empezamos a conocer las ventajas que tiene el trabajar bajo normas de calidad: disminucin de costos, eficiencia en el mantenimiento, construccin de mejores productos, aumento en la competitividad, funcionalidad, rendimiento, usabilidad y aseguramiento de la calidad. [2] Normalmente, se escucha o aplica, la norma ISO 9001:2000, para acreditar algn proceso administrativo u organizacin, pero Cuntas normas ISO conocemos para el desarrollo de productos de software?. La ISO 9126 [c] figura 2, (Internacional Standard Information technology Software Product Quality), define 6 caractersticas que debe de cumplir toda aplicacin para que sea un producto de calidad: [1]

Fig. 2. El estndar ISO 9126 [9] 1. Funcionalidad : Es la capacidad de un software de satisfacer los requisitos funcionales prescriptos y las necesidades implcitas de los usuarios 2. Fiabilidad : Es la capacidad de un software de mantener su nivel de desempeo, bajo condiciones establecidas, por un periodo de tiempo 3. Usabilidad: Es la capacidad de un software de ser comprendido, aprendido, usado, atractivo y conforme con las reglamentaciones y guas de usabilidad 4. Eficiencia: Es la capacidad de un software de proporcionar un rendimiento apropiado, de acuerdo a la cantidad de recursos usados bajo condiciones establecidas 5. Mantenibilidad: Es la capacidad de un software para ser modificado. Las modificaciones pueden incluir correcciones, mejoras o adaptacin del software a cambios en el entorno, en los requisitos o en las especificaciones funcionales 6. Portabilidad: Es la capacidad de un software de ser transferido de un ambiente a otro Nota: El ambiente puede ser organizacional, de software o de hardware [5] Pero hay muchos ms estndares en el mercado: ISO 9000-3 [d] , ISO 9004-2 [e] , ISO/IEC 12207 [f] , ISO/IEC 15504 [g] mejor conocida como SPICE y modelos: CMM (en todas sus versiones), Boostrap , WQM, PQM, PSP [6], PSE [6] y el estndar mexicano Moprosoft [3]. Algunos de los anteriores se aplican a la generacin del producto del software y algunos otros,

a medir la madurez de los procesos mediante los cuales se produce el mismo. II. PRINCIPALES CARACTERISTICAS DE NORMAS Y MODELOS ISO 9001 [h] e ISO 9000-3 [i] Figura 3: -Muy til en compaas que adems de software fabrican equipos Define los procesos de calidad tanto en compaas de hardware como de software. Muy utilizado en Europa.
.

Figura 3. Categoras del ISO 9000

CMM (Capability Maturity Model). Figura 4. El modelo ms empleado y maduro valora el desarrollo de software en sistemas de gran complejidad Visin completa del proceso de madurez organizacional Incluye mecanismos para mejora continua de los procesos

Figura 4. Niveles de madurez del CMM Bootstrap: Figura 5. Propone un mtodo y los instrumentos necesarios que permiten identificar los puntos dbiles de la organizacin, adems de presentar los cambios necesarios para obtener una mejora de la situacin. [7] Valora la madurez global de una organizacin -Examina procesos individuales de software y valora la conveniencia y el impacto de nuevas tecnologas

Figura 5. Proceso de valoracin del modelo Bootstrap SPICE: (Software Process Improvement and Capability Determination) Combina elementos de ISO, CMM y Bootstrap -Enfocado a estudiar el nivel de madurez de los procesos individuales (tiene en cuenta el contexto de los procesos evaluados). Figura 6. Incluye 6 niveles de madurez: No realizado. Es imposible identificar salidas en los procesos. Realizado informalmente. No se identifican muchos procesos y stos no estn debidamente planificados Planificado y seguido. Los procesos estn bien planificados y administrados. Bien definido. Procesos bien adaptados, planificados y documentados. Se inician con el estndar. Cuantitativamente Controlado. Hay medicin, control y retroalimentacin en los procesos. Mejoramiento continuo. Los procesos se basan en los objetivos de la organizacin, el estndar forma parte de su forma de trabajo y se busca la mejora continua. Objetivo: definir un marco comn de referencia en el que convivan el resto de los modelos mencionados. -Produce un perfil del proceso, en vez de un resultado vlido/no vlido.

Figura 6. Modelo SPICE Moprosoft (Modelo de procesos de la industrial del software) [3] Figura 7. -Cumple con los requerimientos expresados por la industria de software nacional Modelo alineado con SPICE y CMM Orientado a mejorar los procesos para contribuir a los objetivos del negocio y no simplemente ser un marco de referencia de certificacin Prctico y fcil de aplicar, sobre todo en organizaciones pequeas.

Figura 7. Categoras y procesos del Moprosoft [10]

Los anteriores, son de los ms usados, aunque eso no indica que sean los ms importantes, ya que todos fueron concebidos con un nico propsito: Brindar calidad al producto de software, satisfaciendo los requerimientos del cliente. Hasta el momento, se percibe que el mbito de la calidad del software es sumamente amplio, que va inmerso dentro del ciclo de vida y an ms all. Pero, es a caso que los programadores deben ser tambin expertos en calidad del software? Quin corrobora que se est aplicando realmente? Contestando la primera pregunta, los programadores y todos los que tienen que ver con el desarrollo de un producto de software, deben de conocer, el estndar de calidad sobre el cual se va a trabajar. Si el equipo de trabajo no lo conoce y no lo sabe aplicar, dudosamente se llegar a un producto terminado bajo un esquema de calidad.

III. ASEGURAMIENTO DE LA CALIDAD DEL SOFTWARE La calidad del software siempre va de la mano de otro tpico igual de importante, el SQA. No puede existir uno sin la presencia del otro. El aseguramiento de la calidad del software (SQA), es un conjunto de actividades planificadas y ejecutadas sistemticamente que aseguraran que el software que se est construyendo es de alta calidad. En los procesos de calidad del software actan dos tipos de integrantes diferentes: Los ingenieros de software que realizan el trabajo tcnico y, un grupo SQA que tiene la responsabilidad de planificar, supervisar, guardar registros, analizar y reportar la garanta de calidad, auxilian al equipo de desarrollo a obtener un producto final de alta calidad. [4] El grupo de SQA se encarga de: Preparar un plan de SQA para un proyecto. -Participar en el desarrollo de la descripcin del proceso de software del proyecto. Revisar las actividades de ingeniera del software Auditar productos de trabajo de software seleccionados Garantiza que las desviaciones en el trabajo de SW y en los productos de trabajo estn documentadas. Registra cualquier falta de ajuste Las revisiones del software son un filtro para el proceso de software, es un medio efectivo para descubrir errores y mejorar la calidad del software. Corroboran la fiabilidad del software Evalan continuamente la seguridad del software. Figura 8. Determinan la confiabilidad del software

Figura 8. Desglose de la evaluacin del software [6]

IV. COSTOS Y BENEFICIOS Como se puede observar, para el desarrollo de un producto de software, deben de intervenir dos equipos: el primero, el que generar el producto final basado en un estndar de calidad y el segundo, el que corroborar que ese estndar se encuentre bien aplicado. Todo lo anterior se lee fantstico, un producto de software, con una garanta asegurada de calidad, a la vista de usuario es una oportunidad nica de satisfacer sus necesidades y expectativas de una sola vez. Pero, Cunto cuesta?, los productos de software generados mediante esta va, son productos caros, porque es de todos sabido, que la calidad cuesta, tanto a quien la adquiere, como quien la aplica. La buena calidad cuesta mucho llevarla a cabo, (se invierte tiempo, dinero y mucho esfuerzo), pero es mayor el costo de la mala calidad, el mal servicio y no cumplir con los requerimientos especificados por el cliente. El llevar a una empresa arraigada en el mercado por la senda de los estndares de calidad del software, puede costarle aos de lucha constante, y demasiados gastos administrativos; pero el resultado final siempre es el mismo: La empresa logra reconocimiento no solo a nivel local, regional o nacional, obtiene un reconocimiento internacional. No volvern a ser una empresa ms en el mercado, sern una organizacin que marque la diferencia con respecto a las otras. Adems, el beneficio no solo ser organizacional, sino tambin personal, cada individuo que labore ah, tendr un crecimiento profesional, porque aprendern a trabajar con la calidad que su giro reclama.

Una empresa que obtenga acreditaciones bajo un estndar o modelo de calidad, garantiza que los productos de software generados en ella, cumplen los requerimientos explcitos de sus clientes.

10

V. CONCLUSIONES Al principio de este artculo haca una pregunta Dnde qued la calidad del software?: En ocasiones se trabaja de manera heurstica, tomando ideas de una u otra parte, leyendo libros o navegando en Internet. Se crean productos de software sin tener idea alguna de que existen estndares de calidad para ellos y grupos SQA, ni nada de lo que mencionamos anteriormente. Pero curiosamente esos productos de software funcionan y satisfacen las necesidades actuales del cliente, claro solo son, minoristas locales independientes. Con xito, pero solo eso, simples propuestas sin competitividad real. Al seguir al pie de la letra el ciclo de vida seleccionado, se est generando productos con una calidad mnima. Al revisar la ISO 9126, nuevamente, es claro, que los productos que se generan, siguen esos preceptos. Solamente que no se haba efectuado esa percepcin por desconocimiento de las normas. La calidad del software est ah, en espera de tomar la decisin y entrar en su mundo, solo hace falta dar el paso, ser constantes, poner todo nuestro empeo y dedicacin y sobre todo, no olvidar que est presente a todo lo largo del ciclo de vida. Con todo lo anterior, es claro que la calidad del software, definitivamente no es un tpico aparte, va de la mano, entrelazada, con las bases de datos, los sistemas distribuidos, en red, en Web y todos los dems desarrollos que realicemos. La actualizacin debe ser constante ya que este tpico, como todos los dems, en el rea de Sistemas e Informtica se mueve rpido. La calidad del software cada vez se hace ms indispensable en este mundo globalizado. Si se quiere competir y ganar el mercado, hay que utilizar estndares, en todos los mbitos. Seguir la senda de la calidad es la receta para tener un xito asegurado.

11

Glosario:
III. REFERENCIAS ISO significa Organizacin Internacional de Estandarizacin Reportes tcnicos: [1] Mtl Lourdes Cahuich, Calidad del software, apoyo SSD4 Disponible en: http://www.slideshare.net/lcahuich/calidad-del-software-presentation#stats-bottom [2] Dra. Coral Calero Muoz, Modelos de calidad. WQM, PQM, e-commerce, portlets. Calidad de sistemas de informacin. Departamento de Informtica, Universidad de Castilla.La Mancha. 9 de mayo del 2005. [3] Hanna Oktaba, AMCIS, UNAM y Claudia Alquicira Avantare Consultores. Modelo de Procesos para la Industria de Software MoProSoft. 30 dic 2008. [4] Dra. Coral Calero Muoz . Gestin de calidad. Procesos de ingeniera de software. Calidad de sistemas de informacin. Departamento de Informtica, Universidad de Castilla.La Mancha. 18 de junio del 2007. [5] Ing. Csar Chvarry Arias. Calidad del software. Semana de Ingeniera de Sistemas 2005. [6] Leonardo Sarango Romero y Ruth Hidalgo Tene. El proceso del software. 15 octubre 2008 [9] Abraham Dvila (edavila@pucp.edu.pe), Karin Melendez (melendez.ka@pucp.edu.pe) y Luis Flores (flores.la@pucp.edu.pe), Seccin Ingeniera Informtica, Pontificia Universidad Catlica del Per, Lima, Per. Determinacin de los requerimientos de calidad del producto software basado en normas internacionales [10] Paola Yuritzy Reyes Delgado1, Ma. Lourdes Y. Margain Fuentes1, Francisco Javier, lvarez Rodrguez2 , y Jaime Muoz Arteaga. Diseo de un Instrumento de Auto-evaluacin para Diagnosticar el Estatus de las Organizaciones en Mxico con Respecto al Modelo ProSoft: Proceso de Gestin de Procesos de la Categora de Gestin [11] Dr. Vidal Alonso Secades, Cesar Parejas Llanovarced, Propuesta de un modelo de calidad del software aplicado a la Web. Programa de doctorado en ingeniera en software. Universidad Pontificia de Salamanca. Facultad de Informtica. [12] Christian A. Estay-Niculcar, Fundamentos de gestin de proyectos: e la teora de proyectos a la gestin de proyectos segn el PMBOK. Libros [7] Jess Ma. Minguet Melin y Juan Francisco Hernndez Ballesteros. La calidad del software y su medida. Editorial: Centro de estudios Ramn Areces, S.A. ISBN: 84-8004-611-2 [8] Christian A. Estay-Niculcar, Dr . Fundamentos de gestin de proyectos. De la teora de proyectos a la gestin de proyectos segn PMBOK. Libro electrnico de Universidad Tcnica Federico Santa Mara-Chile. Departamento de Informtica. Estndares: [a] IEEE 729-83 [b] ISO 8402:1984 International standard, Quality management and quality assurance vocabulary international organisation for standarisation 1994 39 pp. [c] ISO/IEC 9126, Software engineering -Product quality 2001 [d] ISO 9000-3. Guideline for application of ISO 9001 to the development, supply and maintenance of software, 1991 [e] ISO 9004-2 Quality management and quality systems elements guideline-1987 [f] ISO/IEC 12207 Framework of software life cycle processes [g] ISO/IEC 15504 Information technology. Software proccess assessment [h] ISO 9001Revision of ISO 9000: 1994 WQM: Web Quality Model [11]. Modelo tridimensional de calidad

12

de los sitios web que puede utilizarse para clasificar tanto las mtricas web, como los trabajos de investigacin realizados sobre la misma. Fig. 11.

PQM: Tiene como objetivo definir un modelo de calidad para portales, denominado PQM, para lo que se ha utilizado el mtodo GQM. El modelo consta de 6 dimensiones: tangibles (adaptabilidad y transparencia), confiabilidad (disponibilidad y calidad en la bsquedas), capacidad de respuesta (escalabilidad y velocidad), aseguramiento (confidencialidad), empata (navegacin, presentacin, integracin y personalizacin) y calidad de los datos (calidad de los datos intrnseca, representacin, accesibilidad, calidad de los datos contextual).

13

PSP: Proceso de software personal, propuesto por Watts Humphrey.[6]. Figura 9.

Figura 9. Fases del PSP

PSE: Proceso de software en equipo, propuesto por Watts Humphrey [6]. Figura 10.

14

Trillium: Modelo de madurez de gestin de proyectos.2000. Figura 12. El modelo ha sido diseado para ser aplicado a sistemas de software empotrados tales como sistemas de telecomunicaciones, no obstante buena parte del modelo puede ser aplicado a otros segmentos de la industria del software como sera el rea de Management Information Systems [8]
.

15

Вам также может понравиться