Upload
hurkth
View
830
Download
2
Embed Size (px)
Citation preview
A Elmer Coyla Idme, tutor y maestro
en el largo camino hacia la
excelencia académica.
1
PRESENTACIÒN.
Como consecuencia de los problemas que actualmente se presenta en la
industria del software es la ausencia de calidad en los productos, por lo
tanto esta línea de investigación se ocupará de investigar acerca de las
propuestas existentes que dan solución a dichos problemas, con el fin de
proponer soluciones para aplicar procesos que mejoren la calidad de
software.
En ese sentido, La Ingeniería de software, se vale y establece a partir de
una serie de modelos que establecen y muestran las distintas etapas y
estados por lo que pasa un producto software, desde su concepción inicial,
pasando por su desarrollo, puesta en marcha y posterior mantenimiento,
hasta la retirada del producto.
Cabe indicar que se ha desarrollado el modelo Boehm, el cual consiste en
una serie de ciclos que se repiten en forma de espiral, comenzando desde
el centro. Se suele interpretar como que dentro de cada ciclo de la espiral
se sigue un Modelo Cascada, pero no necesariamente debe ser así. El
Espiral puede verse como un modelo evolutivo que conjuga la naturaleza
iterativa y con aspectos controlados y sistemáticos.
2
INTRODUCCIÓN
En esta presente monografía está dedicada al concepto de Calidad de
Software esencialmente del Modelo de calidad de Boehm.
La calidad, según la ISO 8402, es la totalidad de las características de
un producto o servicio que le confieren aptitud para satisfacer
necesidades establecidas e implícitas. Según Pressman (1995), y desde
el punto de vista de la IS, la calidad del software es la concordancia del
software producido con los requisitos funcionales y de rendimiento
explícitamente establecidos con los estándares de desarrollo
documentados y con las características implícitas que se espera de todo
software desarrollado profesionalmente.
La calidad de software es el conjunto de cualidades que caracterizan a
un software y que determinan su utilidad y existencia. La calidad es
sinónimo de eficiencia, flexibilidad, corrección, confiabilidad,
mantenibilidad, portabilidad, usabilidad, seguridad e integridad.
El Modelo de Boehm es similar al modelo de Calidad de McCall, ya que
también presenta un modelo de calidad jerárquica estructurada en torno
a las características de alto nivel, las características de nivel intermedio.
Pero se verá que la calidad no es tan fácil de definir, incluso no existe
una definición única, completa y definitiva. Algunos autores sostienen
que la calidad es indefinible porque es simple, inmediata y directa.
3
RESUMEN
A través de este documento se detallan diferentes conceptos que son
necesarios conocer a la hora de introducirse en el tema. Se explica lo que
es el modelo de Boehm, la importancia de tener en cuenta este tema en la
calidad de software.
En relación al tema se exponen los métodos, características, ventajas,
desventajas, factores de dicho método, entre otros elementos a conocer.
Además, se desarrolla dicho modelo de calidad de software existente en
dicho trabajo por cada integrante del grupo.
La creciente preocupación por la calidad en la industria del software tiene
como objetivo principal el desarrollo sistemático de productos y servicios de
mejor calidad y el cumplimiento de las necesidades y expectativas de los
clientes. En el presente trabajo se hace una introducción a la calidad y al
modelo de Boehm. Pretendemos unir esfuerzos con esta iniciativa y motivar
a la comunidad académica a trabajar en el desarrollo de la calidad de
software para mejorar la competitividad y la calidad global de esta industria.
4
ABSTRACT
Through this document outlines various concepts that are necessary to
know when to get into the subject. It explains what Boehm model, the
importance of taking into account this issue in the quality of software.
On the issue describes the methods, features, advantages, disadvantages,
factors that method, among other things to know. In addition, the model
develops quality software on such work for each group member.
The growing concern for quality in the software industry's main objective is
the systematic development of products and services of better quality and
meeting the needs and expectations of customers. In the present work is an
introduction to the quality and Boehm model. We intend to join forces with
this initiative and encourage the academic community to work on developing
quality software to improve competitiveness and overall quality of this
industry.
PROLOGO
5
El presente trabajo tiene como objetivo principal que los lectores cuenten en
forma integra con los alcances mas relevantes del Modelo de Boehm
considerando la calidad de desarrollo del software.
El trabajo, ha sido elaborado siguiendo una metodología dinámica, propia
del grupo, lo cual garantiza a nuestros lectores un ágil manejo y acceso a la
información que se desee consultar.
MODELO BOEHM
6
CAPITULO 1: INTRODUCCIÒN
ROGER S. PRESSMAN (2005)1, en su libro “Ingeniería de Software un
Enfoque Practico” indica que:
“La calidad está de moda, en todos los aspectos, pero especialmente en
el desarrollo de software. El interés por la calidad crece de forma
continua, a medida que los clientes se vuelven más selectivos y
comienzan a rechazar productos poco fiables o que realmente no dan
respuesta a sus necesidades. Ahora bien, ¿qué es la calidad del
software?
La Calidad del Software es 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. 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
1 ROGER S. PRESSMAN. Ingeniería de Software un Enfoque Práctico (2005). España.
7
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.”
BORIA, JORGE LUIS (1987)2. En su libro “Ingeniería del Software”
concluye indicando que:
“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.”
CAPITULO 2: MODELOS DE CALIDAD DE SOFTWARE
2 BORIA, JORGE LUIS. Ingeniería del Software (1987). Ed. Kapeluz . Argentina.
8
PIATTINI GARCÍA, MARIO (2003)3 , En su libro “Calidad en el Desarrollo y
Mantenimiento del Software” Indica que:
“Los Modelos de Calidad son aquellos documentos que integran la
mayor parte de las mejores prácticas, proponen temas de administración
en los que cada organización debe hacer énfasis, integran diferentes
prácticas dirigidas a los procesos clave y permiten medir los avances en
calidad. Los Estándares de Calidad son aquellos que permiten definir un
conjunto de criterios de desarrollo que guían la forma en que se aplica la
Ingeniería del Software. Los estándares suministran los medios para que
todos los procesos se realicen de la misma forma y son una guía para
lograr la productividad y la calidad.”
ROGER S. PRESSMAN (2005)4, en su libro “Ingeniería de Software un
Enfoque Practico” indica que:
“Los Modelos y/o Estándares permiten que las Empresas de Software
realicen sus tareas y funciones teniendo en cuenta la Calidad. Cualquier
organización que se dedica a la investigación, producción y
comercialización de software debe considerar la calidad, hoy con más
razón, donde existe un mercado en el cual el cliente es cada vez más
exigente, no sólo en lo que se refiere al precio, sino sobre todo, en
cuanto a los servicios y a la confiabilidad que brindan los productos de
software. La calidad desempeña un rol determinante para la
competitividad de la empresa. Cuando una empresa está funcionando y
decide implantar un Modelo / Estándar de Calidad del Software, es señal
que la empresa tiene el propósito de permanecer y crecer en el
mercado, ser competitiva, proteger los intereses de los accionistas,
cuidar la fuente de trabajo y mejorar la calidad de vida de su personal.”
2.1 Ventajas de los Modelos / Estándares de Calidad del Software
3 PIATTINI GARCÍA, MARIO “Calidad en el desarrollo y mantenimiento del software”, RA-MA Editorial, Madrid, 20034 ROGER S. PRESSMAN. Ingeniería de Software un Enfoque Práctico (2005). España.
9
Cuatrecasas, Luis (2000)5, En su libro “Gestión Integral de la Calidad;
Gestión 2000” concluye indicando las siguientes ventajas sobre los modelos
de la calidad de software:
“Las ventajas de implantar Modelos o Estándares de Calidad del
Software son:
- Tener una oportunidad para corregir los procesos de
software que se hayan desajustado con el tiempo.
- Clasificar a las empresas como de clase mundial.
- Certificar la competitividad internacional requerida para
competir en todos los mercados.
- Cambiar la actitud del personal de la empresa.
- Desarrollar y mejorar el nivel y la calidad de vida del
personal.
- Generar una cultura organizacional enfocada a cumplir con
los requisitos de los clientes.
- Realizar una mejora continua en la calidad de los procesos
de software utilizados, servicios y productos de software.
- Lograr que la empresa de software sea más competitiva.
- Reducir los costos en todos los procesos.
- Aumentar la productividad, efectividad y utilidad de la
empresa.
- Asegurar la satisfacción de los clientes internos y externos.
- Tener productos de software y servicios con valor
agregado.
- Tener aceptación total de los clientes.
- Tener permanentemente mejores procesos, productos de
software y servicios.
- Tener criterios de medición e indicadores congruentes que
se utilizan en la empresa para comparar respecto de las
mejores prácticas, para conocer fortalezas y debilidades de
la empresa; y establecer las estrategias necesarias para
5 Cuatrecasas, Luis,“Gestión Integral de la Calidad”; Gestión 2000, Barcelona, 2006
10
realizar mejoras.”
CAPITULO 3: MODELO BOEHM
11
FILLOTTRANI, PABLO R. (2007) 6 , En su trabajo ” Calidad en el desarrollo
de Software: Modelos de calidad de software” manifestó:
“… el segundo modelo de calidad más conocido es el presentado por Barry
Boehm en 1978 este modelo introduce características de alto nivel,
características de nivel intermedio y características primitivas, cada una de
las cuales contribuye al nivel general de calidad.
Las características de alto nivel representan requerimientos generales de
uso pueden ser:
- Utilidad per-se cuan (usable, confiable, eficiente) es el producto en sí
mismo.
- Mantenibilidad cuán fácil es modificarlo, entenderlos y retestearlo.
- Utilidad general si puede seguir usándose si se cambia el ambiente.
Las características de nivel intermedio representan los factores de calidad
de Boehm:
- Portabilidad (utilidad general).
- Confiabilidad (utilidad per-se).
- Eficiencia (utilidad per-se).
- Usabilidad (utilidad per-se).
- Testeabilidad (mantenibilidad).
- Facilidad de entendimiento (mantenibilidad).
- Modificabilidad o flexibilidad (mantenibilidad).
El nivel más bajo corresponde a características directamente asociadas a
una o dos métricas de calidad:
- De portabilidad:
6 Fillottrani, Pablo R. (2007) Depto. Ciencias e Ingeniería de la Computación Universidad Nacional del Sur. ARGENTINA
12
o Independencia de dispositivos
o Auto-contención
- De confiabilidad:
o Auto-contención
o Exactitud
o Completitud
o Consistencia
o Robustez/integridad
- De eficiencia:
o Accesibilidad
o Eficiencia de uso de dispositivos
- De usabilidad:
o Robustez/integridad
o Accesibilidad
o Comunicación
- De testeabilidad:
o Comunicación
o Auto descripción
o Estructuración
- De entendibilidad:
o Consistencia
o Estructuración
o Concisidad
13
o Legibilidad
- De modificabilidad:
o Estructuración
o Aumentabilidad …”
El modelo de Boehm (1978) agrega algunas características a las existentes
en el modelo de McCall y representa una estructura jerárquica de
características, cada una de las cuales contribuye a la calidad total.
Consiste en un modelo de descomposición de características de calidad del
software en 3 niveles (usos principales, componentes intermedios y
componentes primitivos) previos a la aplicación de métricas. Este modelo
plantea factores de calidad formados por criterios de calidad y métricas
respectivas.
FIGURA Nº 1: MODELO BOEHM
3.1 FACTORES DE CALIDAD SEGÚN BOEHM
14
El modelo que presenta Boehm presenta una jerarquía de características
donde cada una de ellas contribuye a la calidad global. Se centra en:
- Sus características operativas.
- Su capacidad para soportar los cambios.
- Su adaptabilidad a nuevos entornos.
- La evaluación del desempeño del hardware.
El modelo comienza con la utilidad general del software, afirmando que el
software es útil, evitando pérdida de tiempo y dinero.
La utilidad puede considerarse en correspondencia a los tipos de usuarios que
quedan involucrados. El primer tipo de usuarios queda satisfecha si el sistema
hace lo que el pretende que haga; el segundo tipo es aquel que utiliza el
sistema luego de una actualización y el tercero, es el programador que
mantiene el sistema.7
FIGURA Nº 2: FACTORES DE CALIDAD
7 Universidad de Morón - Facultad de Informática, Ciencias De la Comunicación y Técnicas EspecialesHerramientas de Software
15