Muchos descubrimientos se han hecho a travs del mundo hoy en da. El
progreso de la tecnologa figura casi en todas las noticias. Las necesidades aumentan en todos lados especialmente en la ciencia. Las tecnologas se mueven a gran velocidad. Todo va muy rpido.
Los desarrolladores por su parte, elaboran software usando los nuevos descubrimientos. Dado que el mercado es muy competitivo, el software es desarrollado con precipitacin. A menudo, esto se considera como una de las razones por las cuales que no se cumplen las tareas y se respetan los factores y criterios de elaboracin.
Conociendo la importancia del software, las necesidades del mercado y cuan exigente es el cliente. Pueden los desarrolladores permitirse desarrollarlo de cualquier manera? Las preguntas son numerosas como: Es que se debe desarrollar un software solo por desarrollar sin darse cuenta de los estndares? Qu tipo de software puede satisfacer el usuario? Qu necesita el usuario? Un software por poco tiempo? Busca la calidad en el software? Cmo desarrollar un producto de software de calidad? Por qu enfatizar la calidad como parte muy importante en la elaboracin y especficamente en el diseo? Son preguntas que el autor va tratar de responder basndose en el anlisis de varios investigadores. Adems, acentuar el rol de la calidad en el desarrollo de software e insistir en la garanta que necesita el usuario y su importancia.
El articulo habla del uso de los Estndares de Calidad ISO 9000 que describe un sistema de garanta de calidad en trminos genricos que se aplican a cualquier negocio sin importar los productos o servicios, ofreciendo un sistema de garanta de calidad, bien estructurado, organizacional, con responsabilidades y procedimientos.
El artculo propone un sistema para garantizar que el software sea representado de acuerdo con los estndares, y mejorar el proceso eliminando las causas originales de los defectos as controlar el proceso para asegurar que no se repitan las causas de los mismos.
Tambin se aborda el proceso a seguir para poder desarrollar un software de calidad.
Tambin tiene como objetivo enfatizar la importancia del producto. Basndose en las normas de estndares y los resultados de los investigadores. Con el objetivo de presentar un modelo adecuado al usuario. Porque la calidad del software es un problema cotidiano. Se lo encuentra de una forma u otra en nuestra vida diaria. Cuando en un cajero se pide una cantidad de dinero y recibe otra cantidad de otro tipo de billete, Es que eso no puede ser un problema de software? Cuando en un restaurante se bloquean los terminales de cobro y anotacin de pedidos, No estamos ante un problema de calidad del software? As profundizaremos y analizaremos el impacto de los defectos en la calidad del software. Considerando igualmente los puntos anteriormente mencionados y propondremos algunos elementos de solucin como veremos a continuacin.
1. DEFINICIN DE LA CALIDAD DE SOFTWARE
Primeramente definimos la calidad relacionado al desarrollo de software. Segn Pressman y la calidad del software es la concordancia con los requisitos funcionales y de rendimiento explcitamente establecidos, con los estndares de desarrollo explcitamente documentados y con las caractersticas implcitas que se espera de todo software desarrollado profesionalmente.
Segn el Departamento de Defensa de los Estados Unidos es la capacidad de un producto software para satisfacer sus requerimientos especficos.
Se define como la capacidad del producto de software para permitirles a usuarios especficos lograr las metas propuestas con eficacia, productividad, seguridad y satisfaccin, en contextos especificados de uso. Se considera como la totalidad de las caractersticas de un producto o servicio que le confieren su aptitud para satisfacer unas necesidades expresadas o implcitas por Norma UNE 66-001-92 traduccin de ISO 8402.
La calidad del software la obtencin de un software con calidad implica la utilizacin de metodologas o procedimientos estndares para el anlisis, diseo, programacin y prueba del software que permitan uniformar la filosofa de trabajo, en aras de 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 calidad del software.
Del mismo modo se define de las maneras siguientes:
1. La totalidad de las funciones y caractersticas de un producto software que influyen en su capacidad de satisfacer determinadas necesidades; por ejemplo, el cumplimiento de las especificaciones.
2. El grado en el que el software posee una combinacin de atributos deseada.
3. El grado en el que un cliente o usuario percibe que el software satisface sus expectativas globales.
4. Aquellas caractersticas globales del software que determinan el grado en el que el software que se est utilizando satisfar las expectativas del cliente. Segn Enrique J. Abril Prez.
La calidad del software puede ser entendida como el grado con el cual el usuario percibe que el software satisface sus expectativas IEEE 729-83.
La calidad del software es el grado con el que un sistema, componente o proceso cumple los requerimientos especificados y las necesidades o expectativas del cliente o usuario. IEEE, Std. 610-1990.
Tambin la calidad del software es el conjunto de cualidades que lo caracterizan y que determinan su utilidad y existencia. La calidad es sinnimo de eficiencia, flexibilidad,correccin, confiabilidad, mantenibilidad, portabilidad, usabilidad, seguridad e integridad.
2. IMPACTO DE LA CALIDAD SOBRE EL PRODUCTO
Los fallos de software afectan a todos los sectores y a todos los pases, como puede constatarse en la recopilacin de incidentes documentados por Peter Neumann desde 1987.
Un ejemplo, las deficiencias en el software de manejo de equipajes retrasaron durante 16 meses la inauguracin del nuevo Aeropuerto de Denver, desde octubre de 1993 a febrero de 1995. Como consecuencias, Segn Jones, presidente de la firma Software Productivity Research, el retraso cost a las lneas areas y a la ciudad de Denver un milln de dlares al da.
Otro ejemplo bien documentado se produjo con el lanzamiento en 1996 del primer cohete Arianne 5 de la Agencia Espacial Europea. Este ingenio que cost 10 aos y 7.000 millones de euros desarrollar, explot por un defecto en el software de control interno antes de que pasara un minuto de vuelo.
Cuando el ordenador intento convertir un dato de velocidad lateral del coche de 64 bits a 16 bits hubo erro de overflow.
Es muy probable que hayamos sufrido los efectos de estos problemas de calidad en forma de retrasos, prdidas de tiempo o dinero, etc. como simples ciudadanos.
Lamentablemente, estos problemas pueden ser mucho ms graves si afectan a sistemas crticos; es decir, aquellos cuyo fallo puede provocar graves prdidas econmicas o problemas ambientales o sociales e, incluso, la prdida de vidas humanas.
Adems, El impacto de los errores de software va mucho ms all del coste de su reparacin. La prdida de ingresos, las oportunidades de mercado perdidas, los pedidos tramitados incorrectamente y los errores de facturacin, son factores todos ellos que hacen perder dinero a la empresa. Y hay que tener en cuenta tambin el coste de la insatisfaccin de los clientes, intangible pero real.
3. CULES SON LAS PRINCIPALES CAUSAS DE LOS FALLOS DE UN SOFTWARE?
Como es por muchos conocidos, la presin de tiempo para las pruebas (se hacen al final de los proyectos, cuando se acumulan retrasos), la tentacin de recortar en calidad cuando hay problemas de tiempo o de recursos, la falta de formacin de profesionales y directivos, as como las deficiencias en esta rea en la educacin universitaria son los factores que ms influyen en que exista esta situacin.
De dnde proceden los problemas del software?
Requerimientos insuficientemente comprendidos: 50% Diseo no comprendido o incorrectamente trasladado de los requerimientos: 30% Codificacin (error de programacin o diseo mal comprendido): 20% "Software Quality", por Mordechai Ben-Benachem y Cary S. Marliss. Por otro lado, ms de un 50% del personal tcnico de software y un 70% de los directores de software tienen una formacin deficiente en control de calidad. Segn, Software Productivity Research.
4. CMO IDENTIFICAR UN PROBLEMA DE CALIDAD DE SOFTWARE?
Administrar unas pruebas al software permite de descubrir si es de calidad o no. Las Pruebas de software: un aspecto clave en la calidad.
De la misma forma, la pantalla azul que aparece en una computadora o un mensaje de error es la manifestacin de un problema de calidad de software; Los mensajes de errores,las respuestas equivocadas son algunos factores indicativos de problema de calidad del software.
Cmo evaluar la calidad del software?
Se evala el proceso con el que se desarrolla el software, mediante una auditoria de proceso frente a un modelo de buenas prcticas reconocidas por la industria o un estndar CMMI, SPICE o ISO 9000.
5. CULES SON LOS ESTNDARES DE ELABORACIN DE SOFTWARE?
Para Ramiro Carballo, la solucin para una mejora del proceso de software pasa por realizar una evaluacin del Proceso de Desarrollo en base a un modelo de buenas prcticas reconocido, como CMMI, SPICE u otros.
5.1. Cmo obtener un software con calidad?
La calidad del producto software viene determinada por la calidad del proceso con el que se desarrolla. Teniendo un proceso definido y aplicando mejoras sobre este proceso, podremos incrementar la calidad de nuestros productos continuamente.
5.2. Cmo evaluar la calidad del software?
Se evala el proceso con el que se desarrolla el software, mediante una auditoria de proceso frente a un modelo de buenas prcticas reconocidas por la industria o un estndar CMMI, SPICE o ISO 9000.
5.3. Cmo controlar la calidad del software?
El control de la calidad es la fase tradicional de pruebas, en la que se intenta dejar libre de defectos el producto antes de su puesta en produccin o su entrega al cliente. A diferencia del aseguramiento de la calidad, que intenta mejorar el proceso de produccin para reducir el nmero de defectos introducidos, y realizar menos esfuerzo en las pruebas.
Hay otros estndares como los IEEE, IBM, HP_Merccury Compuxares, McCall, etc.
Que se usa para el desarrollo de software de calidad. Por ejemplo un software de calidad debe ser desarrollado segn el modelo de calidad.
5.4. Que es un modelo de calidad de software?
Es un conjunto de buenas prcticas para el ciclo de vida del software, enfocado en los procesos de gestin y desarrollo de proyectos.
6. CMO DESARROLLAR UN PRODUCTO DE SOFTWARE DE CALIDAD?
Hablar de calidad del software implica la necesidad de contar con parmetros que permitan establecer los niveles mnimos que un producto de este tipo debe alcanzar para que se considere de calidad.
Los expertos en calidad sugieren adoptar los pasos siguientes para mejorar la calidad del software:
Establecer un sistema de evaluacin y medicin para determinar en qu medida se est actuando correctamente. Elegir unos pocos proyectos tpicos completados. Calcular el tiempo, el esfuerzo, los errores y el tiempo necesarios para la correccin.
Documentar el proceso de desarrollo actual, por muy catico que sea.
Calcular el coste de corregir errores de software en trminos de las mercancas o servicios vendidos por la compaa. Hacer pblico este coste en toda la organizacin informtica.
Hacer lo necesario para eliminar errores en requerimientos y diseo.
Entrevistar cuidadosamente a usuarios y directores y verificar que se ha comprendido lo que necesitan. Mostrarles prototipos de diseo. Cualquier gasto adicional generado ser compensado en el resto del proceso de desarrollo.
Realizar pruebas (tests) pronto y con frecuencia. Iniciar la planificacin de las pruebas (tests) tan pronto como se haya completado la definicin de los requerimientos.
Comprobar mdulos segn van siendo desarrollados, sin esperar a que estn integrados. Un buen conjunto de pruebas (tests) ser aquel que demuestre que existen errores, no que no existen.
El mejorar la calidad del software no es algo que sucede una vez y queda ah para siempre, ni tampoco es cuestin de realizar un drstico cambio en el proceso de desarrollo y pensar entonces que el problema de la calidad ha quedado definitivamente resuelto. Es algo 8 similar a cmo adquirir una forma fsica excelente. No basta con hacer ejercicio una vez y olvidarse de ello. Es un proceso continuo.
Algo que se convierte en una forma de vida. Bill Gates en "Focus", una revista alemana declara:"No conozco un motivo menos relevante para una actualizacin que las correcciones de fallos. El motivo para las actualizaciones es presentar nuevas funciones y caractersticas."
7. CULES SON LOS FACTORES DE CALIDAD?
Los factores que determinan la calidad del software se clasifican en tres grupos:
7.1. Operaciones del producto: caractersticas operativas
Correccin (Hace lo que se le pide?)
El grado en que una aplicacin satisface sus especificaciones y consigue los objetivos encomendados por el cliente
Fiabilidad (Lo hace de forma fiable todo el tiempo?)
El grado que se puede esperar de una aplicacin lleve a cabo las operaciones especificadas y con la precisin requerida
Eficiencia (Qu recursos hardware y software necesito?)
La cantidad de recursos hardware y software que necesita una aplicacin para realizar las operaciones con los tiempos de respuesta adecuados
Integridad (Puedo controlar su uso?)
El grado con que puede controlarse el acceso al software o a los datos a personal no autorizado
Facilidad de uso (Es fcil y cmodo de manejar?)
El esfuerzo requerido para aprender el manejo de una aplicacin, trabajar con ella, introducir datos y conseguir resultados.
7.2. Revisin del producto: capacidad para soportar cambios
Facilidad de mantenimiento (Puedo localizar los fallos?)
El esfuerzo requerido para localizar y reparar errores
Flexibilidad (Puedo aadir nuevas opciones?)
El esfuerzo requerido para modificar una aplicacin en funcionamiento
Facilidad de prueba (Puedo probar todas las opciones?)
El esfuerzo requerido para probar una aplicacin de forma que cumpla con lo especificado en los requisitos
7.2. Transicin del producto: adaptabilidad a nuevos entornos
Portabilidad (Podr usarlo en otra mquina?)
El esfuerzo requerido para transferir la aplicacin a otro hardware o sistema operativo
Reusabilidad (Podr utilizar alguna parte del software en otra aplicacin?)
Grado en que partes de una aplicacin pueden utilizarse en otras aplicaciones
Interoperabilidad (Podr comunicarse con otras aplicaciones o sistemas informticos?
El esfuerzo necesario para comunicar la aplicacin con otras aplicaciones o sistemas Informticos, Juan Manuel
8. CUALES SON LA IMPORTANCIA Y EL BENEFICIO DE DESARROLLAR UN SOFTWARE DE CALIDAD?
El control de calidad permite ahorrar la mxima cantidad de dinero cuando se realiza al comienzo del proceso de desarrollo de software.
No es sorprendente que los errores detectados en los comienzos del proceso de desarrollo de software sean ms fciles de resolver y menos costosos que los que se detectan ms adelante.
En su libro "Software Economics", publicado en 1981, Barry Boehm afirma que un defecto cuya correccin requiere una hora en el momento en que se definen los requerimientos del sistema requerir al menos 100 horas si no se detecta hasta que el sistema est en fase de produccin. Este es un argumento muy poderoso a favor de aplicar un nfasis especial a la mejora de la calidad al comienzo del proceso.
En pocas palabras, educar a los profesionales informticos sobre la importancia de la calidad no cuesta nada, y puede producir rpidamente resultados beneficiosos.
9. CONCLUSIN
A pesar de estudiar y de analizar los resultados de las investigaciones, concluimos que la calidad en el desarrollo de producto de software tiene una importancia clave.
Pues, la definicin de Calidad del Software, entendida como la satisfaccin de las necesidades del cliente en el plazo y presupuesto adecuado, evoluciona cada vez ms hacia un concepto de valor global aportado al cliente en trminos de servicio.
La calidad de un producto no es algo que se aade al final como si se pintara de un color su exterior, es algo que se cuida a lo largo de todo el proyecto de construccin. Y la falta de calidad puede causar problemas graves al 10 producto.
Tambin puede provocdar prdidas inestimables y consecuencias enormes. Entonces es mejor desarrollar el software con la calidad ms alta que posible. La ausencia de defectos, la aptitud para el uso, la seguridad, la confiabilidad y la reunin de especificaciones son elementos que estn involucrados en el concepto de calidad del software. Sin embargo, la calidad del software debe ser construida desde el comienzo, no es algo que puede ser aadido despus Humphrey.
La calidad es un trmino que ha adquirido gran relevancia con el paso del tiempo, ya que es considerada como una de los principales activos con los que cuenta un pas para mejorar su posicin competitiva global Ivanisevich. Para conseguir una buena calidad del software es esencial establecer un programa de medidas a tomar con respecto a los proveedores. Es tambin importante utilizar los modelos y mtodos apropiados para controlar el proceso de desarrollo del mismo.
As que lograr el xito en la produccin de Software es hacerlo con calidad y demostrar su buena calidad. Esto slo es posible con la implantacin de un Sistema para el Aseguramiento de la Calidad del Software directamente relacionado con la poltica establecida para su elaboracin y que est en correspondencia con la definicin internacional ISO de calidad, amplia mente aceptada, y por los estndares del grupo ISO 9000.