Sunteți pe pagina 1din 7

Calidad de Software Qu significa la calidad?

*Propiedad o conjunto de propiedades inherentes a una persona o cosa que permiten diferenciarla con respecto a las restantes de su especia, como de mejor o peor calidad *Conjunto de caractersticas de un producto o servicio que le confieren su aptitud para satisfacer las necesidades expresadas e implcitas. (ISO 8402-UNE 66-001-92) *Todas las metodologas y herramientas tienen un nico fin producir software de gran calidad

La importancia econmica del SW


*El funcionamiento y equipamiento depende en gran medida del software. *No es posible imaginar grandes sistemas, en el mbito de las finanzas ni el control de trfico automotor, entre otros funcionando sin sw.

Pruebas para la mejora de la calidad


*Las pruebas y revisiones aseguran la mejora de la calidad de productos de software as como de la calidad del proceso de desarrollo en s. Ejemplo de fallo 1: Lanzamiento del Ariane 5 Vuelo 501, tuvo lugar el 4 de junio de 1996, fue la primera prueba de vuelo del sistema desechable de lanzamiento del Ariane5. No fue un xito, la lanzadera se destruy 37 segundos despus del lanzamiento debido a un mal funcionamiento del sw de control, haciendo del mismo defecto uno de los ms caros de la historia. El sw reutiliz las especificaciones del Ariane 4, pero la trayectoria de vuelo del Ariane 5 era considerablemente distinta y superaba el rango para el cual el cdigo reutilizado haba sido diseado. En partcular, la mayor aceleracin del Ariane 5 provoc un fallo en los ordenadores de respaldo (backup) y navegacin inercial primarios, tras la cual las toberas de la lanzadera fueron dirigidas por datos espurios. Las pruebas previas al vuelo nunca fueron ejecutadas sobre el cdigo reajustado bajo condiciones de vuelo simuladas del Ariane5, por lo tanto el error no fue descubierto antes del lanzamiento.

Definiciones de calidad del software?


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 [Pressman 93] Concordancia software producido con los requerimientos explcitamente establecidos, con los estndares de desarrollo prefijados y los requerimientos implcitos no establecidos formalmente, que desea el usuario [Pressman 98] - La concordancia con los requerimientos funcionales y de rendimiento explcitamente establecidos, con los estndares de desarrollo documentados y con las caractersticas implcitas que se esperan de todo software desarrollo profesionalmente [Pressman 2002] El conjunto de caractersticas de una entidad que le confieren su aptitud para satisfacer las necesidades expresadas y las implcitas ISO 8402 (UNE 66-001-92).[ISO][AENOR]

Ejemplo de fallo 2: Rayos X letales


Una serie de pacientes recibieron una dosis letal de radicacin debido a un fallo de sw. El Therac-25 era una mquina para radiacin teraputica. Estuvo involucrada con, al menos, seis accidentes conocidos entre 1985 y 1987, en los cuales los pacientes fueron objeto de una sobredosis masiva de radiacin, que en algunos casos fueron del orden de centenas de gray. Al menos cinco pacientes murieron por sobredosis. Estos accidentes destacan los riesgos del control de sistemas crticos en trminos de seguridad (safety-critical systems)

Conclusiones
Los requisitos del software son la base de las medidas de calidad. La falta de concordancia con los requisitos es una falta de calidad *Los estndares o metodologas definen un conjunto de criterios de desarrollo que guan la forma en que se aplica la ingeniera del software. Si no se sigue ninguna metodologa siempre habr falta de calidad *Existen algunos requisitos implcitos o expectativas que a menudo no se mencionan, o se mencionan de forma incompleta (por ejemplo el deseo de un buen mantenimiento) que tambin pueden implicar una falta de calidad. *Cada vez ms, la calidad de sw se ha convertido en un factor determinante del xito de sistemas y productos tcnicos o comerciales. La Calidad del Software debe implementarse en todo el ciclo de vida del mismo. Las distintas actividades para la implantacin del control de calidad en el desarrollo de software son: *Aplicacin de metodologa y tcnicas de desarrollo *Reutilizacin de procesos de revisin formales *Prueba de Software *Ajustes a los estndares de desarrollo *Control de cambios, mediciones y recopilacin de informacin *Gestin de informes sobre el control de Calidad Pressman, R.S.:Ingeniera del Software. Un enforque prctico. Mc Graw ill !""!

Causas de los fallos !failures"# software


Error humano Un defecto ha sido introducido en el cdigo de software, en los datos o en los parmetros de configuracin. Causas del error humano Plazos, demandas excesivas debidas a la complejidad, distracciones Condiciones ambientales Radiacin, magnetismo, campos electromagnticos, polucin, manchas solares, fallo de discos duros, fluctuaciones en el suministro de energa elctrica. Error (error), defecto (defect), fallo (failure) Error (IEEE 610), accin humana que produce un resultado incorrecto. Ejemplo un error de programacin Defecto, Desperfecto en un componente o sistema que puede causar que el

componente o sistema falle en desempear las funciones requeridas, por ejemplo una sentencia o una definicin de datos incorrectas. Si se localiza un defecto durante una ejecucin puede causar un fallo en el componente o sistema. Fallo, manifestacin fsica o funcional de un defecto. Si un defecto es encontrado durante la ejecucin de una aplicacin puede producir un fallo. Desviacin de un componente o sistema respecto de la prestacin, servicio o resultado esperados (Segn Fenton)

Un error introduce un defecto, un defecto causa un fallo. Proceso de pruebas durante el proceso de desarrollo$ mantenimiento % operaciones Mejora de la calidad de un producto de sw, el proceso de pruebas ayuda a proveer al software de los atributos deseados, por ejemplo retirar defectos que conducen a fallos. Reduccin del riesgo de detectar errores, actividades de pruebas de software adecuadas reducirn el riesgo de encontrar errores durante la fase de operaciones de software. Satisfacer compromisos, la ejecucin de pruebas puede ser un requisito obligatorio por parte del cliente, debido a normas legales as como al cumplimiento de estndares propios de la industria especfica.

Prcticas efectivas de Ingeniera de Software Control de todos los productos de trabajo de software y los cambios que generan Un procedimiento para asegurar estndares Mecanismos de medicin e informe. Es una actividad esencial en cualquier empresa de software para asegurar la calidad de sus productos, y la competitividad frente a la oferta del mercado. Es un conjunto de actividades de la funcin general de la Direccin que determina la calidad, los objetivos y las responsabilidades ISO 9000:2000 Desde el punto de vista de la calidad, la Gestin de la Calidad del Software est formada por 4 partes, las cuales son: (1) Planificacin de la CS, (2) Control de la CS, (3) Aseguramiento de la CS y (4) Mejora de la CS. Provee la comprobacin independiente de los procesos de desarrollo del software. Se comprueban las entregas del proyecto para asegurarse que concuerdan con los estndares organizacionales.

Calidad basada en procesos

&l costo de los defectos


El costo de eliminar defectos se incrementa con el tiempo durante el cual el defecto permanece en el sistema. La deteccin de errores en etapas tempranas permite la correccin de los mismos a costos reducidos. Definir estndares del proceso, como las revisiones a realizar. Supervisar el proceso de desarrollo para asegurar que se sigan los estndares. Hacer informes del proceso para el gestor del proceso y para el comprador del sw. 'arant(a de la Calidad % &st)ndares Es el proceso que define cmo lograr la calidad de software y cmo la organizacin de desarrollo conoce el nivel de calidad requerido en el software.

Dos tipos de estndares:


'estin de la Calidad Abarca un proceso de garanta de la calidad de software (SQA) Tareas especficas de aseguramiento y control de la calidad Estndares de Producto (documentacin, codificacin) Estndares de Proceso (especificacin, diseo, validacin), incluye la descripcin de los documentos que deben escribirse. Importancia: Captan el conocimiento que es el valor de la organizacin, evita repetir errores

Captan las mejores prcticas, el control de la calidad asegura que se sigan. Ayudan en la continuidad del trabajo, permiten que otra persona retome el trabajo, reduce el esfuerzo de aprendizaje.

Estndares para el intercambio de documentos (copias compatibles)

Se debe evitar estndares burocrticos e irrelevantes, no siempre aplicables a todos los proyectos. Importante: Involucrar a los ingenieros e incluir las razones para el uso de los estndares Revisar y modificar los estndares para que reflejen los cambios en la tecnologa. Proveer las herramientas de sw para apoyar los estndares donde sea necesario (facilitar su empleo) Conforme el equipo gana experiencia, se deben ampliar y modificar los estndares. *S+ ,--Es un conjunto de estndares internacionales que se pueden utilizar en el desarrollo de un sistema de gestin de calidad en todas las industrias. ISO 9001, es el ms general de los estndares, pero no es un especfico para el desarrollo de software , define principios generales que pueden aplicarse. Los procesos de garanta de calidad de una organizacin se documentan en el manual de calidad que define el proceso de la calidad.

Algunos estndares pueden ser bastante flojos y por lo tanto haran una pequea contribucin a la calidad del software. &st)ndares de documentacin Forma tangible de representar el sw y su proceso Estndares del proceso de documentacin (comprobacin y refinamiento) Estndares del documento (estructura y presentacin)

Ejemplos de estndares de documentos a desarrollar: Estndares de identificacin de documentos Estndares de estructura del documento (secciones, versiones) Estndares de presentacin de documentos (estilo) Estndares para actualizar los documentos Planificacin de la Calidad Segn la Norma ISO 9000:2000, la planificacin de la calidad es la parte de la gestin de la calidad enfocada al establecimiento de los objetivos de la calidad y a la especificacin de los procesos operativos necesarios y de los recursos relacionados para cumplir los objetivos de calidad. ISO 9000:2000 La Planificacin de la Calidad del Software es la parte de la Gestin de la Calidad encargada de realizar el proceso administrativo de desarrollar y mantener una relacin entre los objetivos y recursos de la organizacin; y las oportunidades cambiantes del mercado ISO/IEC 90003:2004 Los aspectos a considerar en la Planificacin de la CS son: Modelos/Estndares de CS a utilizar, Costos de la CS, Recursos humanos y materiales necesarios, etc. Los factores que determinan el Modelo o Estndar de CS a elegir son: (1) La complejidad del proceso de diseo, (2) La madurez del diseo, (3) La complejidad del proceso de produccin, (4) Las caractersticas del producto o servicio, (5) La seguridad del producto o servicio, y (6) Econmico. Segn Humphrey (1989) un plan de calidad puede tener la siguiente estructura: 1- Introduccin al Producto: una descripcin del producto, su objetivo en el mercado y expectativas de calidad del producto 2- Planes del producto: Fechas crticas respecto de la liberacin del producto y responsabilidades del producto respecto de su distribucin y servicio

3- Descripciones del proceso: Procesos de desarrollo y servicios que seran usados en el desarrollo y en la administracin 4- Objetivos de Calidad: Objetivos y planes de calidad del producto, los cuales incluyen la identificacin de los atributos de calidad del producto. 5- Manejo del riesgo: principales riesgos que pueden afectar la calidad del producto

./0*12/+S D& C.L*D.D


El plan de calidad define los atributos de calidad ms importantes para el producto a desarrollar. En general no es posible optimizar todos los atributos del sistema.

De acuerdo a la norma ISO/IEC 9126 la calidad de sw est constituida por:


Funcionalidad atributos funcionales Atributos no funcionales Fiabilidad Usabilidad Eficiencia Mantenibilidad Portabilidad 3uncionalidad Correccin, la funcionalidad satisface los atributos/capacidades requeridos Completitud, La funcionalidad satisface todos los requisitos (funcionales) Funcionalidad functionality incluye (segn ISOEC 9126) Adecuacin suitability Precisin accuracy Interoperabilidad interoperability Seguridad security Cumplimiento de la funcionalidad functionality compliance 3iabilidad !reliab%lit%" Madurez, tolerancia a defectos, recuperabilidad, cumplimiento de la fiabilidad. Caractersticas: en determinadas condiciones, el sw/sistema mantendr su capacidad/funcionalidad a lo largo de un periodo de tiempo. Fiabilidad= calidad/tiempo. 2sabilidad !usabilit%" Comprensibilidad, aprendibilidad, operabilidad, atractivo, cumplimiento de la usabilidad. Caractersticas: fcil de usar, fcil de aprender, conforme a normas, uso intuitivo. &ficiencia !efficienc%" Comportamiento temporal, uso de recursos, cumplimiento de eficiencia. Comportamiento del sistema: funcionalidad y respuesta temporal.

Caractersticas: El sistema requiere la utilizacin de un mnimo de recursos (ej. Tiempo del CPU) para ejecutar una tarea determinada 4antenibilidad !maintainabilit%" Analizabilidad, modificabilidad, estabilidad, testabilidad, cumplimiento de mantenibilidad. Caractersticas: medida del esfuerzo requerido para reducir cambios en un sistema / componentes. Portabilidad !portabilit%" Adaptabilidad, instalabilidad, consistencia, reemplazabilidad, cumplimiento de portabilidad. Capacidad del sw de ser transferido a un nuevo entorno (sw, hw, organizacin) Atributos de la calidad: Algunos atributos de la calidad de un producto de sw se incluyen mutuamente. Debido esta interdependencia y en funcin del objeto de prueba, los atributos debern ser caracterizados por una prioridad a los efectos de ser tenida en cuenta. Por ejemplo eficiencia verus portabilidad. Se realizarn distintos tipos de pruebas con el objeto de medir cada tipo de atributo. Control de la Calidad del Software Segn la Norma ISO 9000:2000, el control de la calidad es la parte de la gestin de la calidad orientada al cumplimiento de los requisitos de la calidad. El Control de la Calidad del Software son las tcnicas y actividades de carcter operativo, utilizadas para satisfacer los requisitos relativos a la calidad, centradas en 2 objetivos fundamentales: (1) mantener bajo control un proceso y (2) eliminar las causas de los defectos en las diferentes fases del ciclo de vida. Pressman, R.S: Ingeniera del Soft are. !n enfo"#e $r%&ti&o. '& (ra )ill, 2002 El Control de Calidad est formado por actividades que permiten evaluar la calidad de los productos de software desarrollados. El aspecto a considerar en el Control de la Calidad del Software es la Prueba del Software. 0e5isiones de calidad Son el mtodo ms utilizado para validar la calidad de un proceso o producto (se desea descubrir problemas potenciales). Las conclusiones de la revisin se registran formalmente y se pasan al responsable de su correccin.

Los documentos a revisarse deben distribuirse con anterioridad a la revisin, solo con una

comprensin previa se logra eficacia en la revisin. Se considera un miembro del equipo para presidir la revisin y documento debe estar presente. Si solo se detectan problemas menores no es necesaria otra revisin. El que preside es responsable de asegurar que se hagan todos los cambios requeridos. 4edicin % mtricas del software El proceso de revisin es costoso por ello es conveniente tener valoraciones automticas para comprobar que el software tiene el grado de calidad requerido e identificar las partes que deben ser revisadas. La medicin del software se refiere a derivar algn valor numrico desde algn atributo del software o del proceso de software. Sirven para: Hacer predicciones generales acerca del sistema. Identificar componentes anmalos (alta complejidad ms errores) Es importante que los procesos de software sean maduros para utilizar medidas. Las mtricas de control (ej. Tiempo promedio para reparar defectos) estn asociadas a los procesos Las mtricas de prediccin estn asociadas a los productos (ej. Complejidad en nmero de atributos).

atributos internos del producto y las caractersticas externas de la calidad. 0a6ones 7ue justifican la 4edicin del Software (1) Para indicar la calidad del producto, (2) Para evaluar la productividad de la gente que desarrolla el producto, (3) Para evaluar los beneficios (en trminos de productividad y calidad) derivados del uso de nuevos mtodos y herramientas de Ingeniera de Software, (4) Para establecer una lnea base de estimacin y (5) Para ayudar a justificar el uso de nuevas herramientas o formacin adicional.

Actividades del proceso de medicin


(1) Formulacin: Obtencin de medidas y mtricas apropiadas para la presentacin del software, (2) Coleccin: Mecanismo empleado para acumular datos necesarios para obtener las mtricas formuladas, (3) Anlisis: Clculo de las mtricas y aplicacin de herramientas matemticas, (4) Interpretacin: La evaluacin de los resultados de las mtricas es un esfuerzo por conseguir una visin interna de la calidad de la presentacin, (5) Retroalimentacin: Recomendaciones obtenidas de la interpretacin de mtricas y tcnicas transmitidas al equipo de desarrollo de software. &l proceso de 4edir

Los atributos son caractersticas observables del producto o del proceso de software, que proporciona alguna informacin til sobre el estado del producto o sobre el progreso del proyecto. El trmino producto se utiliza para referirse a las especificaciones, a los diseos y a los listados del cdigo. Los valores de las mtricas no se obtienen slo por mediciones. Algunos valores de mtricas se derivan de los requisitos del cliente o de los usuarios y, por lo tanto, actan como restricciones dentro del proyecto. Los principios bsicos de la medicin son: (1) los objetivos de la medicin deberan establecerse antes de empezar la recopilacin de datos, (2) todas las tcnicas sobre mtricas deberan definirse sin ambigedades, (3) las mtricas deberan obtenerse basndose en una teora vlida para el dominio de aplicacin, (4) hay que hacer las mtricas a medida para acomodar mejor los productos y procesos especficos, (5) siempre que sea posible, la recopilacin de datos y el anlisis debera automatizarse, (6) se deberan aplicar tcnicas estadsticas vlidas para establecer las relaciones entre los

Una vez que se recolecta una gran cantidad de mediciones, se hace la comparacin de los proyectos, y las mtricas especficas se refinan acorde a las necesidades organizacionales. Los sistemas mtricos necesitan tres tipos de valores: (1) Objetivos: Se basan habitualmente en consideraciones comerciales, (2) Predicciones: Indican la viabilidad de los objetivos. Se basan en las caractersticas del producto con el que tratamos. y (3) Valores reales: Pueden ser comparados con los objetivos para supervisar la progresin del proyecto. Son mediciones discretas de los atributos del software. Es preferible utilizar mediciones objetivas basadas en reglas. Algunas mediciones se basan en estimaciones donde un valor ms que medirse se evala. Las medidas de Calidad del Software deben comenzar desde la especificacin y terminar con la implementacin, implantacin y mantenimiento o post- implantacin. Debe aplicarse a lo largo de todo el proceso de Ingeniera de Software. Bsicamente, la medicin es una fase normal de cualquier actividad industrial Sin mediciones es imposible

perseguir objetivos comerciales normales de una manera racional. Existen mtricas a nivel: Proyecto Proceso Producto 4tricas del Pro%ecto Se consolidan para crear mtricas de proceso que sean pblicas para toda la organizacin del software. El uso de mtricas para el Proyecto tiene 2 aspectos fundamentales: (1) minimizar la planificacin del desarrollo haciendo los ajustes necesarios que eviten retrasos y reducir problemas/riesgos potenciales; y (2) evaluar la calidad de los productos en el momento actual y cuando sea necesario, modificando el enfoque tcnico que mejore la calidad. Los indicadores de proyecto permiten al gestor de proyectos de software: (1) evaluar el estado del proyecto, (2) seguir la pista de los riesgos potenciales, (3) detectar las reas de problemas antes de que se conviertan en "crticas", (4) ajustar el flujo y las tareas del trabajo; y (5) evaluar la habilidad del equipo del proyecto en controlar la calidad de los productos de trabajo del software. 4tricas del Proceso Se recopilan de todos los proyectos y durante un largo perodo de tiempo, para proporcionar indicadores a mejorar los procesos de software a largo plazo. Se tendrn mtricas asociadas a cada proceso del software (ej. mtricas de implementacin) lo que da visin ms profunda de la eficacia de un proceso ya existente y permiten que los gestores evalen lo que funciona y lo que no. Desarrollar mtricas para tener indicadores para obtener una estrategia de mejora. Las mtricas del proceso se caracterizan por: (1) El control y ejecucin del proyecto, (2) Medicin de tiempos del anlisis, diseo, implementacin, implantacin y postimplantacin, (3) Medicin de las pruebas (errores, cubrimiento, resultado en nmero de defectos y nmero de xito) y (4) Medicin de la transformacin o evolucin del producto. Las mtricas de Producto son privadas para un individuo y a menudo se combinan para desarrollar mtricas del proyecto que sean pblicas para un equipo de software. Estn enfocadas a predecir y controlar: (1) El tamao (lneas de cdigo, bytes de cdigo, operadores y operandos),

(2) La estructura (control de flujo, relacin entre componentes, cohesin y acoplamiento), (3) La complejidad (combinacin de tamao y estructura), (4) Los ndices para controlar la documentacin, (5) La calidad (independencia, completo, entendible, aumentado) (6) La estabilidad (los cambios aumentan el nmero de fallas, los cambios se pueden dar por definicin de requerimientos o por cambios del entorno). 4tricas del software Caractersticas: (1) Simple y fcil de calcular, (2) Emprica e intuitivamente persuasiva: Debe satisfacer las nociones intuitivas del desarrollador sobre el atributo del producto en evaluacin, (3) Consistente y objetiva: Presentar resultados sin ambigedad, (4) Consistente en el empleo de unidades y tamaos: Deben emplearse medidas que no conduzcan a extraas combinaciones de unidades, (5) Independiente del lenguaje de programacin y (6) Mecanismo para retroalimentacin de calidad: Debe proporcionar informacin para obtener un producto final de mayor calidad. Las mtricas a recabar dependen de los objetivos del negocio en particular. Los desarrolladores tienen a la vez objetivos comunes como, respetar el presupuesto y respetar los plazos, minimizar las tasas de defectos antes y despus de la entrega del producto e intentar mejorar la calidad y la productividad. Las mtricas deben ayudar a la evaluacin de las representaciones del modelo lgico y fsico, deben tener la capacidad de intuir sobre la complejidad del diseo y construccin; y deben ayudar en el diseo de casos de prueba. Los histricos de las mediciones se pueden utilizar para descubrir cmo se relacionan los atributos del producto de software con la calidad en la que est interesada la organizacin. Las mtricas del producto se dividen en dos clases: Las mtricas dinmicas, son recogidas por las mediciones hechas en un programa en ejecucin.(eficiencia , fiabilidad) Las mtricas estticas, son recogidas por las mediciones hechas en las representaciones del sistema como el diseo, el programa o la documentacin. (complejidad, comprensin y mantenibilidad.

Cuando se introduce una medida de software como parte del proceso de gestin de calidad, las organizaciones deben hacer experimentos para descubrir que mtricas son ms apropiadas para sus necesidades.

.n)lisis de las mediciones


Es fcil malinterpretar los datos y hacer inferencias incorrectas. Las mediciones se deben analizar cuidadosamente para comprender lo que realmente significan. Para analizar los datos de las peticiones de cambios, no basta con conocer el nmero de peticiones de cambio. Es necesario conocer quin hizo la peticin, cmo utiliza el software y por qu hizo la peticin. Es necesario saber si existen factores externos, como las modificaciones en el procedimiento de peticin de cambios o cambios de mercado, que podran tener algn efecto. La interpretacin de datos cuantitativos de un producto o proceso es un proceso subjetivo.

S-ar putea să vă placă și