Semana 1

25

description

1

Transcript of Semana 1

Presentacin de PowerPoint

La calidad de Software es 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 desarrollado profesionalmente1. Segn esta definicin, la calidad de un producto es directamente proporcional al cumplimiento de los requisitos del mismo.

Para hablar de calidad de un producto deben tenerse en cuenta diversos aspectos mediante los cuales se garantiza esta. Uno de estos aspectos es el buen manejo de los procesos de desarrollo de Software, mediante el cual se puedan alcanzar estndares de calidad que permitan implementar un buen desarrollo en los procesos de calidad interna y externa de la empresa.

1 Pressman, R.S: Ingeniera del Software. Un enfoque prctico. Libro Impreso Mc Graw Hill, 2002

Con el objetivo de garantizar estos procesos, se hace necesario seguir unas normas y estndares de calidad, por medio de los cuales se puede medir, ajustar y mejorar los procesos que garantizan la calidad en el desarrollo de Software.

IMPORTANTE: Existen caractersticas que hacen diferente a un producto Software de cualquier otro producto de fabricacin industrial, entre muchas otras encontramos las siguientes:

El Software es un producto intangible.El Software no se fabrica, se desarrolla.Los problemas presentados en la etapa de mantenimiento de Software estaban desde el principio del proyecto.El Software es artesanalEl mantenimiento de Software es mucho ms complejo que el mantenimiento de hardware.Los cambios suelen ser fciles pero siempre generan una reaccin en cadena en todos los componentes relacionados.Una aplicacin de Software aumenta constantemente de tamao y complejidad.Costos elevados de mantenimiento.Por lo general los plazos previstos suelen estar fuera de la realidad.Alta dependencia del cliente al proveedor.

Existen diversas definiciones acerca de la calidad que posee un producto, entre ellas encontramos: Calidad (1): Conjunto de caractersticas de un producto o una actividad que lo relacionan con la satisfaccin de los requerimientos dados (Deutsches Institut fr Normung).Calidad (2): Totalidad de las propiedades de un producto o servicio referidas a la satisfaccin de las necesidades dadas (American National Standards Institute).Control de calidad:Tcnicas y actividades operativas utilizadas para satisfacer los requisitos de calidad de un productoAseguramiento de calidad:Conjunto de acciones planificadas y sistemticas que son necesarias para brindar seguridad de que un producto cumple con los requisitos de calidad dadosPoltica de calidad:Directrices y objetivos relativos la calidadSistema de calidad:Conjunto de procesos, procedimientos y responsabilidades que se establecen para llevar a cabo la gestin de calidad

Definiendo calidad de software:

Es el grado con que un sistema, componente o proceso cumple los requerimientos especificados y las necesidades o expectativas del cliente IEEEConcordancia 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 profesionalmente1La totalidad de caractersticas de un producto Software permite clasificarlo de acuerdo a sus propiedades para satisfacer las necesidades, por ejemplo, la conformidad con los requerimientos es el grado por medio del cual un Software posee una combinacin de atributos deseadaEl grado en el que un cliente o usuario percibe que el Software cumple con sus expectativasLa composicin de caractersticas del Software que determinan el grado con el cual el Software cumplir con las expectativas del Cliente

Por ltimo para definir calidad en el mbito del Software, es importante diferenciar entre calidad del producto Software y la calidad del proceso de desarrollo, esta ltima fase, se refiere a la calidad de diseo y fabricacin del producto Software para la cual se establecen las metas y objetivos por medio de las cuales, se determina la calidad del producto Software. El Software, a diferencia de otros productos es intangible, por ello, solo se puede determinarse su impacto a partir de una medida que se establezca a partir del diseo o construccin

Desarrollado para la fuerza area de los EE.UU en 1977 por Jim MCCALL 1 este modelo busca reducir la relacin entre usuarios y desarrolladores teniendo en cuenta factores de calidad donde estn presentes las relaciones de ambos

Este modelo, tiene como fin especificar los requisitos de calidad del producto Software al comenzar el proyecto y en cada etapa del ciclo de vida de este, para este modelo se hace necesario evaluar cada factor de calidad estableciendo valores deseables para los criterios. Al finalizar el desarrollo del proyecto, es necesario comprobar si lo establecido inicialmente se cumpli

El modelo de MCCALL, organiza los factores en tres ejes o puntos de vista desde los cuales el usuario puede contemplar la calidad de un producto (Imagen 1). Estos son:Operacin del productoRevisin del productoTransicin del productoCada punto de vista se descompone en (11) once factores que determinan la calidad de cada uno (Imagen 1).

Estanio M. (2009) Modelos y mtricas para evaluar la calidad de software. Documento Pdf. Consultado 23 de diciembre de 2013. En: Ver

Cada Factor determinante de la calidad, se descompone, a su vez, en una serie de criterios o propiedades que determinan su calidad (Imagen 2). Los criterios pueden ser evaluados mediante un conjunto de mtricas. Para cada criterio, deben fijarse unos valores mximo y mnimo aceptables para cada criterio.

Antes de comenzar a utilizar el modelo de MCCALL hay que seguir las siguientes pautas: (1) Se aceptan los factores, criterios y mtricas que propone el modelo, (2) Se aceptan las relaciones entre factores y criterios, y entre criterios y mtricas; y (3) Se selecciona un subconjunto de factores de calidad sobre los que se aplican los requisitos de calidad establecidos para el proyecto.3

Scalone, Fernanda. (2006) Estudio comparativo de los modelos y estndares de calidad del Software. Documento Pdf. Consultado 23 de diciembre de 2013. En: VerImagen 2 - Visin de los factores de calidad segn el modelo MCCALL Fuente (Pressman)

Este Modelo se define a partir de los siguientes tems:

Presenta una jerarqua de caractersticas, cada una de las cuales contribuye a la calidad globalEl concepto de SW exitoso abarca las necesidades y expectativas de los usuarios (igual que MCCALL)Incluye caractersticas de desempeo de HW (omitidas en MCCALL)Utilidad General del SW: se afirma que el SW debe ser til por sobre todas las cosas. (Usuario Final, Usuario Mantenedor del Sistema y el Usuario Programador)El SW debe hacer lo que el usuario quiere que haga utilizando los recursos de la computadora de manera correcta y eficiente. El Software es fcil de aprender y usar para los usuarios. Est bien diseado, bien codificado y es probado y mantenido fcilmente. (Imagen 3)

Fillottrani, Pablo R. (2007) Calidad en el Desarrollo de Software. Modelos de calidad de Software. Documento Pdf. Consultado 23 de diciembre de 2013. En: Ver

Es un modelo con seis atributos principales que contribuyen a la calidad.

Esta parte de la ISO 9126, describe el modelo de calidad del producto de Software. La primera parte del modelo especifica 6 caractersticas de calidad interna y externa, las cuales estn divididas en sub-caractersticas, que son manifestadas externamente cuando el Software es utilizado como parte de un sistema, y son un resultado de atributos internos del Software.

La calidad externa, evala que el Software satisfaga las necesidades del usuario teniendo en cuenta las condiciones especificadas.5 Esta calidad es medible, en el comportamiento del producto. La calidad interna evala el total de atributos que un Software debe satisfacer teniendo en cuenta condiciones especificadas.6 Esta calidad es medible a partir de las caractersticas intrnsecas.

Las caractersticas definidas son aplicables a todo tipo de Software. Las caractersticas y sub-caractersticas proveen una terminologa consistente respecto de la calidad del producto del Software.

Esta norma, permite especificar y evaluar la calidad del Software desde distintas perspectivas, asociadas con la adquisicin, requerimientos, desarrollo, uso, evaluacin, soporte, mantenimiento, aseguramiento de la calidad, y auditoria del Software.

Puede ser usada por desarrolladores, evaluadores independientes y grupos de aseguramiento de la calidad, responsables de especificar y evaluar la calidad del Software.

5Norma ISO/IEC 9126-1:2001

Es un Enfoque de mejoramiento de procesos lanzado en el ao 2000 por el Instituto de Ingeniera de Software (SEI) de la universidad de Carnegie Mellon, bajo la batuta de Watts Humphrey. Dentro de sus objetivos ms importantes estn:

Identifica 5 niveles de madurez certificables, que identifican su nivel de estandarizacin de procesos en las reas evaluadasPermitir a organizaciones que desarrollan Software tener una gua de cmo controlar sus procesos de desarrollo y mantenimientoDeterminar la madurez de los procesos actuales de una organizacin e identificar los elementos crticos en el aseguramiento de calidad y mejoramiento de procesosIdentificar prcticas claves requeridas para el mejoramiento e incremento de la madurez de los procesos de desarrollo de SoftwareMientras que su padre CMM est enfocado en el modelo tradicional de cascada, CMMI est pensado en los modelos de desarrollo de Software iterativos, que se usan en la actualidadCMMI ayuda a integrar funciones organizacionales que estaban tradicionalmente separadas, se enfoca en mejorar las metas y prioridades del proceso, provee guas para procesos de calidad y un punto de referencia para valorar procesos reales

Los niveles de CMMI son los siguientes:

Inicial: Nivel de madurez 1 Procesos Caticos.Gestionando: Nivel de madurez 2 Consciencia de la direccin, gestin de procesosDefinido: Nivel de Madurez 3 Procesos caracterizados y comprendidosGestin cuantitativa: Nivel de Madurez 4 La organizacin establece objetivos medibles en cuanto a rendimiento de calidad del procesoEn optimizacin: Nivel de Madurez 5 Mejora continua de procesos basado en una comprensin cuantitativa

6CMMI: Gua Para La Integracin De Procesos y La Mejora De Producto consultado en la pgina oficial del SEI (CMMI Institude) en pdf descargable versin 1.3, Ver

Es un modelo de mejora y evaluacin de procesos de desarrollo y mantenimiento de sistemas o productos de Software, comnmente utilizado en Europa y basado en SPICE (Software Process Improvement and Capability).

Enfocado en la evaluacin, establece un marco para evaluar ms que ser un mtodo propiamente dichoComprende las siguientes reasMejora de procesosEvaluacin de procesosDeterminacin de capacidadEst alineado con el estndar ISO 12207 que define los procesos del ciclo de vida de desarrollo y mantenimiento de Software

Este estndar, no es especfico de la industria del Software y no se limita a manejar nicamente estndares de la calidad de Software sino que especifica los requisitos para un buen sistema de gestin de la calidad.

Describe el sistema de calidad, para el caso de un producto Software e incluye aquellas etapas de diseo, que especifican la funcionalidad, confiabilidad, usabilidad, eficiencia, facilidad de mantenimiento y portabilidad que son factores determinantes en la calidad de un Software.

Esta norma promueve el enfoque basado en procesos que mejoran la eficacia de un sistema de gestin de la calidad, aumentando la satisfaccin del cliente, con el cumplimiento de los requisitos.

Por ello, la organizacin debe planear los procesos necesarios para la realizacin del producto, en esta etapa se determinan los objetivos de la calidad, requisitos del producto, recursos, actividades de verificacin, validacin, seguimiento, medicin, inspeccin, pruebas y registro de evidencias. Esta metodologa, permite la operacin de la organizacin pues recibe los resultados de la planificacin.

La aplicabilidad de la ISO 9001 para la ingeniera de Software, est especificada en la ISO 9000-3, por lo tanto es la gua para la aplicacin de la ISO 9001 para el desarrollo, la aplicacin y mantenimiento de Software, debido a que incluye la planificacin de proyectos, beneficia los costos de produccin, beneficios de calidad, estrategias de mercado.