Documente Academic
Documente Profesional
Documente Cultură
Programa de la asignatura:
Modelos de calidad de software
ndice
Unidad 1. Fundamentos de calidad.................................................................................... 3
Presentacin de la Unidad ................................................................................................. 3
Propsitos.......................................................................................................................... 4
Competencia especfica..................................................................................................... 4
1.1. Perspectivas de calidad .............................................................................................. 4
1.1.1. De acuerdo a las ciencias de la computacin e ingeniera de software .................... 5
1.1.2. De acuerdo a las normas ISO ................................................................................ 12
Actividad 1. Perspectivas sobre conceptos de calidad ..................................................... 14
1.2. Gestin de calidad .................................................................................................... 15
1.2.1. Calidad de proceso y producto............................................................................... 22
1.2.2. Garanta de la calidad y estndares ....................................................................... 27
1.2.3. Aseguramiento de calidad de software .................................................................. 29
Autoevaluacin ................................................................................................................ 32
Evidencia de aprendizaje. Identificacin de estndares de gestin de calidad. ................ 32
Autorreflexiones ............................................................................................................... 33
Cierre de la Unidad .......................................................................................................... 33
Para saber ms ............................................................................................................... 34
Fuentes de consulta ........................................................................................................ 35
Presentacin de la Unidad
En esta unidad se exponen los aspectos bsicos sobre los fundamentos de calidad en el
desarrollo de software, hace algunos aos, hablar de calidad involucraba solamente la
satisfaccin de las necesidades del cliente dejando en segundo trmino cuestiones como
el tiempo invertido para la creacin de un producto, los procesos, etctera. En la industria,
un factor importante era el tiempo, porque de ello dependa la cantidad de productos que
se producan sin preocuparse por la calidad final. Esto sola suceder en productos
tangibles, imagnate!, con el avance de la tecnologa y el desarrollo de software, su
productividad y calidad tambin corran el riesgo de verse afectados si no se contaban
con caractersticas de calidad como: concluir en el tiempo planeado para su desarrollo,
considerar los lineamientos que el usuario solicita, supervisin y control de los
procesos, etctera. Para que estas caractersticas se cumplan, se han establecido
procesos de gestin de calidad y programas de aseguramiento de calidad del software,
en relacin con la calidad durante el proceso y producto final. Cules son estos procesos
y programas?, cmo benefician al desarrollo de software?, qu importancia tienen
dentro del desarrollo de software?, stas y otras preguntas las podrs responder al final
de la unidad.
La calidad tambin empieza a formar parte de las personas, realizar planes de calidad
que permitan fijar objetivos, delimitar responsabilidades, desarrollar habilidades
diversas de organizacin, colaboracin, etctera, cuestiones que se abordaron en
asignaturas como Mtricas de desarrollo de software y Desarrollo de software en equipo
TSP, en donde, con la realizacin de reportes, analizaste algunos problemas de calidad y
cmo se abordan mediante el equipo de trabajo, asimismo, identificaste la forma de
lograr la calidad en el desarrollo de software mediante algunas estrategias. Dichos
conocimientos te sern de utilidad en esta unidad para la comprensin de los
fundamentos de calidad en el producto y proceso de desarrollo de software, gestin de
calidad y aseguramiento de calidad, los cuales son temas que se abordarn en esta
unidad.
Esta unidad es la base para la comprensin de la asignatura Modelos de calidad de
software, en la cual aplicars un modelo de calidad de software de producto o proceso
para detectar su grado de calidad mediante casos representativos del desarrollo de
software; para lograrlo, iniciars en esta unidad con dos perspectivas de calidad:
1) De acuerdo a las ciencias de la ingeniera de software.
2) De acuerdo a las normas ISO.
Propsitos
Esta unidad tiene como propsitos que:
Competencia especfica
Identificar diversas perspectivas para comprender la importancia de la calidad y su
relacin con la gestin de sta en el desarrollo del software, a partir de un marco
contextual.
ciencias que se utilizan en la ingeniera del software, para aspectos determinados, son la
economa, psicologa, computacin, principios matemticos y fsicos en un sentido ms
amplio de los sistemas basados en computadora, etc. Por ejemplo, para el desarrollo de
un software en el rea de biotecnologa, sern necesarios ciertos conocimientos en
biologa (Snchez, Sicilia & Rodrguez, 2012).
Algunos de los problemas en el diseo y uso del software, que contemplaron las ciencias
de la computacin y la ingeniera del software, para el estudio de la calidad de ste
fueron:
- Tiempo de duracin del desarrollo de los proyectos de software, ya que se observaba
mucho retraso;
- Su desempeo final era demasiado pobre; probar el software para diferentes
condiciones de uso generaba altos costos en el software.
Estos problemas fueron el soporte en el diseo de herramientas, procesos y estndares
para el desarrollo del software y la obtencin de una solucin costeable (Sommerville,
2006).
Se ilustra, en la figura siguiente, la relacin de la ciencia de la computacin e ingeniera
de software.
Ciencias de la
computacin
Fundamentos de fsica
Fundamentos matemticos
Teoras
Compiladores
Autmatas
Algoritmias
Seguridad
Ingeniera de software
Problemas
Solucin
Estndares
Herramientas
Procesos
Cultura y tica
de la calidad
Valor y
costes de la
calidad
Calidad
Aseguramiento
de la calidad
Modelos de
calidad
Esforzarse por la alta calidad, costo aceptable y cronograma razonable, asegurando que
los aspectos significantes estn claros y sean aceptados por el empleador y el cliente, y
estn disponibles para consideracin del usuario y el pblico (IEEE-CS/ACM, pg. 4).
Este principio no es el nico que habla sobre calidad. Sin embargo, es el que brinda una
visin ms amplia sobre los aspectos que debe considerar el ingeniero del software para
asegurar que sus productos y/o modificaciones cumplan con los ms altos estndares
profesionales y de calidad. Si deseas consultar los dems principios consulta el apartado
Para saber ms.
2) Valor y costos de la calidad
Los costos de calidad son los gastos que la organizacin realiza para obtener un software
de calidad (Snchez, et al, 2012). Por ejemplo, cuando se inspecciona un proceso, la
organizacin requiere e invierte en personal especializado, recursos materiales y
tecnolgicos o por errores del software detectados cuando ya ha sido entregado al cliente,
en este caso los costos para la organizacin se elevan porque stos no fueron
considerados al inicio del proyecto, es necesario por ello, analizar los costos de calidad.
En la siguiente tabla se muestran los componentes de los costos de calidad a considerar
en el desarrollo del software.
Costos de calidad
De prevencin
Son gastos relacionados con los recursos
humanos, tecnolgicos y/o materiales, cuyo fin
es verificar que el proceso de produccin se
apegue a los criterios establecidos para
prevenir errores. Por ejemplo: para prevenir la
integracin de nuevos integrantes en el equipo
de desarrolladores y actividades que no se
contemplaron en la planeacin de desarrollo
de proyecto, quizs se requiera la realizacin
ms frecuente de informes de calidad, lo que
generara un costo de calidad de prevencin
en relacin con el proyecto.
De evaluacin de la
Son actividades que comparan lo obtenido con
calidad
los requisitos iniciales del proyecto.
De los fallos internos
Se consideran todos los defectos que se
encuentran en el software antes de ser
entregados al cliente.
De los fallos externos Reparaciones que se realizan durante el
proceso de garanta.
Descripcin de los componentes de los costos de calidad (Snchez, et al, 2012)
10
Los costos debern considerarse en un primer lugar en el desarrollo del software. Los
costos valdrn la pena de acuerdo al valor que aporten a la calidad del software.
Para una organizacin desarrolladora de software no es suficiente considerar los costos.
El valor agregado o aadido se presenta al poner especial atencin en diversos aspectos
durante el desarrollo del software. Por ejemplo, el modelo de cuatro dimensiones es uno
de los que ha tratado de determinar el impacto, en trminos de valor agregado, que la
calidad tiene en una organizacin. Basa la calidad en el estudio de las siguientes cuatro
dimensiones:
11
12
Rasgo diferenciador.
Requisito
Necesidad o expectativa
establecida, generalmente
implcita u obligatoria y
necesidad propia,
particular o explcita,
solicitada por el cliente.
Calidad enfocada a la caracterstica y requisito segn la norma ISO 9000. (Alcalde,
2009, pg. 7)
A continuacin, mediante un ejemplo, se ilustran estos dos aspectos, requisito y
caractersticas; se plantea la compra de un automvil, los requisitos del producto se
refieren a cmo tienen que ser las caractersticas, el color exacto, medida, etctera, segn
la necesidad o expectativa del cliente.
Caractersticas
Requisitos
Velocidad mxima
180 km/h
Aceleracin
8,6 seg. De 0-100 km/h
Consumo
5 litros/100 km
Largo
4,5 m
Capacidad del maletero
500 litros
Bolsas de aire (airbag)
Frontales y laterales (homologados)
Sistema de frenos antibloqueo (ABS)
Homologados
Aire acondicionado
Funcionamiento automtico (climatizador)
Color
Azul metalizado
Garanta
4 aos
Precio
Entre 12.000 y 18.000
Mantenimiento
Talleres cercanos
Marca
Que respete el medio ambiente
Plazo de entrega
7 das
Ejemplo de caractersticas y requisitos (Alcalde, 2009, pg. 8 y 9).
Una necesidad o expectativa (requisito) de un cliente puede estar implcita y/o explcita en
el producto o servicio. Continuando con el ejemplo anterior sobre la compra de un
automvil, la necesidad implcita est representada por el poder de traslado o la facilidad
para trasladarse de un lado a otro en diversas distancias que tendr el cliente, y la
13
necesidad explcita sern las caractersticas propias del automvil que se adaptan a las
exigencias del cliente, como son la velocidad mxima, aceleracin, ergonoma en la
construccin de los accesorios (volante, asientos, etctera) para mayor comodidad, entre
otros, y por lo general se especifican en el manual del propietario.
Estas caractersticas y requisitos se establecen con base en las necesidades del cliente,
que es a quien va dirigido el producto (persona, institucin, organizacin, etctera), por
ello es importante saber a quin va dirigido el producto para poder identificar las
necesidades o expectativas que ha de satisfacer el mismo. Es decir, quines son los
clientes u organizaciones interesados.
ISO utiliza el trmino stakeholder (parte interesada) para referirse a
cualquier colectivo interesado de una empresa o a los clientes
propiamente dichos, a propietarios, a los sindicatos, socios,
banqueros, clientes, etc. (Griful Ponsati & Canela Campos, 2005).
Se puede concluir que las normas ISO y la ingeniera del software se basan en las
necesidades o expectativas del cliente (requisitos) para el desarrollo un producto software
de calidad. Estas necesidades debern ser trasladas como caractersticas del producto
final y el cliente podr observar que el software desarrollado satisface sus necesidades.
Esto le dar un grado de calidad. Ser lo nico a considerar por parte de las normas ISO
en cuanto a calidad de software? El siguiente tema se enfoca a una serie de actividades
coordinadas para dirigir y controlar la gestin de la calidad del software desde la
perspectiva de las normas ISO.
14
15
16
Gestin de la calidad
Actividades coordinadas para
dirigir y controlar una
organizacin en lo relativo a
la calidad.
Planificacin de la calidad
Parte de la gestin de la calidad
enfocada al establecimiento de
los objetivos de la calidad y
especificacin de los procesos
operativos necesarios y de los
recursos relacionados para
cumplir los objetivos de la
calidad.
Control de la calidad
Parte de la gestin de la
calidad orientada al
cumplimiento de los
requisitos de la calidad.
Eficacia
Grado en que se realizan las
actividades planificadas y se
alcanzan los resultados
planificados.
Mejora continua
Accin recurrente para
mejorar la capacidad para
cumplir los requisitos.
Aseguramiento de la
calidad
Parte de la gestin de la
calidad orientada a
proporcionar confianza en
que se cumplirn los
requisitos de la calidad.
Mejora de la calidad
Parte de la gestin de la
calidad orientada a
aumentar la capacidad de
cumplir con los
requisitos de la calidad.
Eficiencia
Relacin entre el resultado
alcanzado y los recursos
utilizados.
17
18
los clientes, satisfacer sus requisitos y esforzarse en cumplir e incluso exceder sus
expectativas. El tomar estas acciones y utilizar hasta el ms mnimo recurso de la
organizacin para satisfacer sus expectativas, permitir contar con la fidelidad del cliente.
2) Liderazgo. Los lderes establecen la unidad de propsito para conseguir objetivos
comunes y la orientacin de la organizacin, es necesario que ellos creen y mantengan
un ambiente interno, en el cual, el personal pueda llegar a involucrarse totalmente con el
logro de los objetivos de la organizacin y reas que la conforman. Para este principio es
importante la comunicacin entre todas partes involucradas para el desarrollo del
software, como es el cliente, desarrolladores del software, proveedores, personal de la
organizacin, etctera.
3) Participacin del personal. El personal, en todos los niveles, es la esencia de una
organizacin o de un proyecto, y el que cuenten con un compromiso total, posibilita que
sus habilidades sean usadas para conseguir, adems de sus objetivos personales,
profesionales y laborales, adems de los fines de la organizacin.
4) Enfoque basado en procesos. Un resultado deseado se alcanza ms eficientemente
cuando las actividades y los recursos relacionados se gestionan como un proceso. Por
ejemplo: los clientes definen los requisitos como elementos de entrada, el proceso forma
parte de la realizacin del producto, evaluacin de la informacin de acuerdo a la
percepcin del cliente, etc. y la satisfaccin del cliente concluye con la salida del producto.
Algunas ventajas de este enfoque es el control continuo que proporciona sobre los
vnculos entre los procesos individuales dentro del sistema de procesos, as como su
combinacin e interaccin, reduccin de costos y tiempo mediante el uso eficaz de los
recursos; resultados mejorados, coherentes y predecibles.
5) Enfoque de sistema para la gestin. Identificar, entender y gestionar los procesos
interrelacionados con un sistema, contribuye a la eficacia y eficiencia de una organizacin
en el logro de sus objetivos.
6) Mejora continua. La mejora continua en el desempeo global de la organizacin
debera ser un objetivo permanente de sta, beneficia a la organizacin al incrementar la
ventaja competitiva a travs de la mejora de sus capacidades en el desempeo con sus
clientes.
7) Enfoque basado en hechos para la toma de decisiones. Las decisiones eficaces se
basan en el anlisis de los datos y la informacin. Asegura que los datos y la informacin
sean suficientemente precisos y fiables para la toma de decisiones.
19
20
Supervisin y revisin del proyecto. Es la actividad del gestor del software que
puede ser formal y/o informal, esta ltima predice situaciones de atraso o fallas, se
basa en las entrevistas directas al personal diariamente, mientras que la formal
contempla una revisin completa de progreso y de los desarrollos tcnicos del
proyecto.
21
Descripcin
Se reconoce que es difcil que el software, una vez construido,
tenga la perfeccin de un software ideal y que sirva para otros
clientes.
Del usuario
Cuanto mayor sea el grado de cercana entre las necesidades de
los usuarios y las caractersticas finales del software solicitadas,
aumentar la calidad del software ante el usuario.
Del proceso de
Identifica la calidad del producto con la calidad de los procesos
produccin
de produccin y post-venta. Todo producto fabricado, de acuerdo
con estndares regulados de calidad, podr ser considerado un
producto de calidad.
Del producto
Apunta a la calidad interna del software y lo relaciona con ciertas
caractersticas de ste, tales como la facilidad de mantenimiento,
la funcionalidad o su fiabilidad, etc.
Del valor
Establece una relacin entre la cantidad de dinero que el cliente
est dispuesto a pagar y la calidad del producto.
Categoras de calidad de software (Snchez, et al, 2012, pg. 383).
Como se puede identificar en la tabla anterior, las perspectivas estn directamente
relacionadas con la calidad de software. En el marco de esta asignatura se desarrollar lo
que respecta a la perspectiva de calidad, proceso de produccin y de calidad de producto;
22
en este subtema revisars una parte introductoria para el estudio de las dos perspectivas
y en la unidad 3 conocers los estndares de modelos de calidad ms comunes que se
utilizan para la evaluacin de la calidad de procesos y calidad de producto del desarrollo
de software.
Atributo
Efectividad
Predictibilidad
Repetibilidad
Descripcin
Un proceso es efectivo si realmente conduce a la
construccin de un producto correcto. Es de especial
importancia que el proceso permita recolectar correctamente
los requisitos de usuario, trasladarlos al software y, por
ltimo, verificar que realmente estn en el producto final.
Un aspecto fundamental de los procesos es que permitan
predecir el esfuerzo y tiempo necesarios para realizar los
proyectos, as como la calidad del producto. Adems, la
consistencia del proceso permite reutilizar la experiencia de
otros proyectos para predecir qu suceder en los que ahora
estamos comenzando.
Si un proceso funciona bien, se repetir en futuros
proyectos. Los procesos ad hoc o particulares no se pueden
replicar porque slo pueden volverlos a seguir las mismas
personas, por lo que un proceso exitoso se ha de
documentar y hacerse sistemtico.
23
Adaptabilidad
24
25
Figura. Caractersticas con atributos para la calidad del producto software. (Piattini, et al., 2012, pg. 102)
26
Los atributos de cada categora se tomarn como sugerencia para la evaluacin del
producto software, porque dependiendo del modelo de calidad del producto software a
utilizar en su evaluacin, encontrars caractersticas con atributos diferentes. Estos
atributos se explicarn a detalle en la unidad 3, segn el modelo de calidad que se
aborde.
Se puede concluir que la calidad de software est determinada por la calidad de proceso
de produccin y la calidad del producto terminado, cada una de ellas tienen atributos
diferentes para ser evaluados. Sin embargo, la adopcin de un modelo especfico para
evaluar la calidad de proceso o producto ser decisin estratgica de la organizacin.
Estos modelos se estudiarn en la unidad 3 de esta materia. Hay que recordar que
previamente la organizacin debe adoptar un sistema de gestin de calidad y establecer
garanta de calidad en las actividades que realice dentro del sistema de gestin de
calidad, ello para asegurar la calidad del software, de lo contrario, ser casi imposible que
un determinado producto tenga alta calidad si la organizacin no cuenta con el objetivo
para mejorar su calidad. En el siguiente tema se muestran las actividades para garantizar
la calidad del software, apoyada de estndares o patrones documentales.
27
Estndares de proceso
Conducto para la revisin del diseo
Proceso de entrega de versiones
Proceso de aprobacin del plan del proyecto
Proceso de control de cambios
Proceso de registro de pruebas
28
29
Etapa
Obligaciones
(En trminos de medicin)
Requisitos
Determinar viabilidad (estimar recursos en
funcin a las necesidades)
Especificacin y diseo
Inspecciones de la documentacin que se
genera.
Construccin
Validar y decidir cuando el producto est
listo para entregar al cliente.
Mantenimiento
Anlisis de defectos, planificacin de
mejora de los proceso de produccin y
auditoria del proyecto.
Obligaciones del aseguramiento de calidad en cada una de las etapas del ciclo de vida de
un proyecto software (Snchez, et al., 2012).
30
Planificar
la calidad
Desarrollar el
plan de gestin
del proyecto
Actualizaciones a
los documentos del
proyecto
Realizar el
control de
calidad
Mediciones de
control de calidad
Plan de gestin
de la calidad
Documentos
del proyecto
Dirigir y gestionar
la ejecucin del
proyecto
Realizar el aseguramiento de
calidad de software
Informacin sobre el
rendimiento del trabajo
Solicitudes de
cambio
Realizar el control
integrado de
cambios
Empresa/
organizacin
Realizacin del proceso de ejecucin del aseguramiento de la calidad de software. (Piattini, et al., 2012, pg. 270).
31
Autoevaluacin
El propsito de esta actividad es realizar un anlisis del avance que has tenido, para
detectar las reas de oportunidad respecto al estudio de la primera unidad.
Para realizar la Autoevaluacin, ingresa al listado de actividades en el aula.
32
Autorreflexiones
Adems de enviar tu trabajo de la Evidencia de aprendizaje, ingresa al foro Preguntas de
Autorreflexin y consulta los cuestionamientos que tu Facilitador(a) presente, a partir de
ellos elabora tu Autorreflexin en un archivo de texto llamado DMCS_U1_ATR_XXYZ.
Posteriormente enva tu archivo mediante la herramienta Autorreflexiones.
Cierre de la Unidad
En esta unidad se conocieron los conceptos necesarios sobre calidad y gestin de
calidad. La calidad ha representado, hasta nuestros das, un factor importante en la
realizacin de un producto o servicio. La motivacin para su estudio, por parte de las
ciencias de la computacin, ingeniera de software y las normas ISO, ha sido la
satisfaccin del cliente, el cumplir con los requisitos que solicita para ser trasladados o
integrados como caractersticas del producto final. Cada uno de ellos ha considerado
elementos importantes como la cultura y tica de calidad; valor de costos; gestin,
sistema de gestin, aseguramiento y modelos de calidad; entre otros. Aunque se han
abarcado desde estas dos perspectivas diferentes, coinciden en varios elementos y llegan
al mismo fin, que es disear un producto con un grado de calidad satisfactorio, tanto para
el cliente como para la organizacin.
La calidad puede abarcar a toda la organizacin, para esto ser implantando un sistema
de gestin de calidad a nivel organizacional o a nivel proyecto con un sistema de gestin
de proyecto, estos sistemas se basan en los principios de la gestin de calidad de la
norma ISO. En esta unidad fue importante abarcar desde un sistema de gestin de
calidad a nivel organizacin porque es recomendable que primero se inicie concientizando
al personal, aplicando principios de gestin, planificando actividades de mejora y
aseguramiento, entre otras tareas, o actividades a toda la organizacin y despus
enfocarse a un nico proyecto, donde se debern aplicar las mismas actividades
mencionadas slo que a nivel proyecto. Por ejemplo, al considerar desarrollar software se
valoran actividades que un gestor de proyecto debe realizar, la participacin que tiene
33
Para saber ms
Los siguientes recursos se recomiendan para comprender ms sobre el tema.
En este video observars una parte de la pelcula Ratatuille que se ha enfocado en el
tema de gestin y control de calidad, comprenders de manera divertida la importancia de
este tema en la elaboracin de un producto.
http://www.youtube.com/watch?v=Ff3CKVtQgV0&list=PL82BA597E43D76D18
34
Fuentes de consulta
Alonso, F., Martnez, L., & Segovia, F. J. (2005). Introduccin a la ingeniera del
software: Modelos de desarrollo de programas. Madrid, Espaa: Delta
publicaciones.
Garca, M. P., Quispe, C. A., & Raz, L. G. (2001). Serie de normas NTP ISO
9000:20001. Industrial Data.
Piattini, M. G., Garca, F. O., Garca, I., & Pino, F. (2012). Calidad de sistemas de
informacin. D.F., Mxico: Alfaomega.
35
Tuya, J., Ramos, I., & Dolado, J. (2007). Tcnicas cuantitativas para la gestin en
la ingeniera de software. Madrid: Gesbiblo, S. L.
36