Sei sulla pagina 1di 17

Calidad de

Software
¿Qué es la calidad del
software?
“La concordancia con los requerimientos
funcionales y de rendimiento
explícitamente establecidos, con los
estándares de desarrollo documentados y
con las características implícitas que se
esperan de todo software desarrollado
profesionalmente”

Pressman, R.S: Ingeniería del Software. Un enfoque práctico. Mc


Graw Hill, 2002
 La Calidad del Software (CS) es una
disciplina más dentro de la Ingeniería del
Software.
 El principal instrumento para garantizar la
calidad de las aplicaciones sigue siendo el
Plan de Calidad, el cual se basa en
normas o estándares genéricos y en
procedimientos particulares. Los
procedimientos pueden variar en cada
organización, pero lo importante es que
estén escritos, personalizados,
adaptados a los procesos de la
organización y que se sean cumplidos.
Teniendo en cuenta la
definición anterior
se puede decir que los requisitos del software
son la base de las medidas de calidad y que la
falta de concordancia con los requisitos es una
falta de calidad.
Los estándares o metodologías definen un
conjunto de criterios de desarrollo que guían la
forma en que se aplica la Ingeniería del
Software. Si no se sigue ninguna metodología
siempre habrá falta de calidad. Todas las
metodologías y herramientas tienen un único fin
producir software de alta calidad.
 A la hora de definir la calidad del
software se debe diferenciar entre la
calidad del Producto de software y la
calidad del Proceso de desarrollo.
 No obstante, las metas que se
establezcan para la calidad del producto
van a determinar las metas a establecer
para la calidad del proceso de desarrollo,
ya que la calidad del producto va a estar
en función de la calidad del proceso de
desarrollo.
 Sin un buen proceso de desarrollo es casi
imposible obtener un buen producto.
Características especiales
software
 El software es un producto mental, no
restringido por las leyes de la Física o por
los límites de los procesos de fabricación. Es
algo abstracto, y su calidad también lo es.
 Se desarrolla, no se fabrica. El coste está
fundamentalmente en el proceso de diseño,
no en la producción. Y los errores se
introducen también en el diseño, no en la
producción.
 Elsoftware no se deteriora con el tiempo. No es
susceptible a los efectos del entorno, y su curva
de fallos es muy diferente a la del hardware.
Todos los problemas que surjan durante el
mantenimiento estaban desde el principio, y
afectan a todas las copias del mismo; no se
generan nuevos errores.
 Es artesanal en gran medida. El software, en su
mayoría, se construye a medida, en vez de ser
construido ensamblando componentes
existentes y ya probados, lo que dificulta aún
más el control de su calidad. Aunque se ha
escrito mucho sobre la reutilización del
software, hasta ahora se han conseguido pocos
éxitos tangibles.
 El mantenimiento del software es mucho
más complejo que el mantenimiento del
hardware. Cuando un componente de
hardware se deteriora se sustituye por una
pieza de repuesto, pero cada fallo en el
software implica un error en el diseño o en
el proceso mediante el cual se tradujo el
diseño en código de máquina ejecutable.
 Es engañosamente fácil realizar cambios
sobre un software, pero los efectos de
estos cambios se pueden propagar de
forma explosiva e incontrolada.
 Como disciplina, el desarrollo de
software es aún muy joven, por lo que
las técnicas de las que disponemos aún
no son totalmente efectivas o no están
totalmente calibradas.
 El software con errores no se rechaza.
Se asume que es inevitable que el
software presente errores.
Es importante destacar que …
 Lacalidad del software debe ser
considerada en todos sus estados de
evolución (especificaciones, diseño,
código, etc). No basta con tener en
cuenta la calidad del producto una vez
finalizado, cuando los problemas de
mala calidad ya no tienen solución o la
solución es muy costosa.
La problemática general a la
que se enfrenta el software es:
 1. Aumento constante del tamaño y
complejidad de los programas.
 2. Carácter dinámico e iterativo a lo
largo de su ciclo de vida, es decir que
los programas de software a lo largo de
su vida cambian o evolucionan de una
versión a otra para mejorar las
prestaciones con respecto a las
anteriores.
 3. Dificultad de conseguir productos
totalmente depurados, ya que en ningún
caso un programa será perfecto.
 4. Se dedican elevados recursos
monetarios a su mantenimiento, debido a
la dificultad que los proyectos de software
entrañan y a la no normalización a la hora
de realizar los proyectos.
 5. No suelen estar terminados en los plazos
previstos, ni con los costes estipulados, ni
cumpliendo los niveles deseables de los
requisitos especificados por el usuario.
 6. Incrementos constantes de los costes
de desarrollo debido entre otros, a los
bajos niveles de productividad.
 7. Los clientes tienen una alta
dependencia de sus proveedores por ser
en muchos casos aplicaciones a
"medida".
 8. Procesos artesanales de producción
con escasez de herramientas.
 9. Insuficientes procedimientos
normalizados para estipular y evaluar la
calidad, costes y productividad.
¿Es realmente posible encontrar
un conjunto de propiedades en
un software que nos den una
indicación de su calidad?
Para dar respuesta a esta pregunta
aparecen los Modelos de Calidad. En los
Modelos de Calidad, la calidad se define
de forma jerárquica y tienen como
objetivo resolver la complejidad mediante
la descomposición.
La Calidad del Software debe
implementarse en todo el ciclo de
vida del mismo
 Las distintas actividades para la
implantación del control de calidad en el
desarrollo de software son: (1) Aplicación de
metodología y técnicas de desarrollo, (2)
Reutilización de procesos de revisión
formales, (3) Prueba del software, (4)
Ajustes a los estándares de desarrollo, (5)
Control de cambios, mediciones y
recopilación de información; y (6) Gestión
de informes sobre el control de calidad.
Que es Calidad de Software
 LaCalidad del Software es el conjunto
de cualidades que lo caracterizan y que
determinan su utilidad y existencia, la
cual plantea un adecuado balanceo de
eficiencia, confiabilidad, facilidad de
mantenimiento, portabilidad, facilidad
de uso, seguridad e integridad.
Gestión de la Calidad
 Laimplantación de un Modelo o
Estándar requiere de una Gestión de la
Calidad del Software. La Calidad se
logra a través de la Gestión de la
Calidad, la cual, según ISO 9000:2000,
consiste en la realización de actividades
coordinadas que permiten dirigir y
controlar una organización en lo relativo
a la calidad.

Potrebbero piacerti anche