Este documento presenta la Unidad 1 sobre los fundamentos de la calidad en el desarrollo de software. Expone dos perspectivas de calidad según las ciencias de la computación e ingeniería de software y las normas ISO. También describe los aspectos básicos de la gestión de calidad y su relación con la calidad del producto y proceso de desarrollo de software. El objetivo es que los estudiantes identifiquen los diferentes enfoques de calidad y comprendan la importancia de la gestión de calidad en el desarrollo de software.
0 calificaciones0% encontró este documento útil (0 votos)
113 vistas36 páginas
Este documento presenta la Unidad 1 sobre los fundamentos de la calidad en el desarrollo de software. Expone dos perspectivas de calidad según las ciencias de la computación e ingeniería de software y las normas ISO. También describe los aspectos básicos de la gestión de calidad y su relación con la calidad del producto y proceso de desarrollo de software. El objetivo es que los estudiantes identifiquen los diferentes enfoques de calidad y comprendan la importancia de la gestión de calidad en el desarrollo de software.
Este documento presenta la Unidad 1 sobre los fundamentos de la calidad en el desarrollo de software. Expone dos perspectivas de calidad según las ciencias de la computación e ingeniería de software y las normas ISO. También describe los aspectos básicos de la gestión de calidad y su relación con la calidad del producto y proceso de desarrollo de software. El objetivo es que los estudiantes identifiquen los diferentes enfoques de calidad y comprendan la importancia de la gestión de calidad en el desarrollo de software.
Este documento presenta la Unidad 1 sobre los fundamentos de la calidad en el desarrollo de software. Expone dos perspectivas de calidad según las ciencias de la computación e ingeniería de software y las normas ISO. También describe los aspectos básicos de la gestión de calidad y su relación con la calidad del producto y proceso de desarrollo de software. El objetivo es que los estudiantes identifiquen los diferentes enfoques de calidad y comprendan la importancia de la gestión de calidad en el desarrollo de software.
Descargue como PDF, TXT o lea en línea desde Scribd
Descargar como pdf o txt
Está en la página 1de 36
Modelos de calidad de software
Unidad 1. Fundamentos de calidad
Ciencias Exactas, Ingeniera y Tecnologa | Desarrollo de Software 1
Ingeniera en Desarrollo de Software 9 Cuatrimestre
Programa de la asignatura: Modelos de calidad de software
Unidad 1. Fundamentos de calidad
Clave: 150930831
Universidad Abierta y a Distancia de Mxico UnADM
Modelos de calidad de software Unidad 1. Fundamentos de calidad Ciencias Exactas, Ingeniera y Tecnologa | Desarrollo de Software 2
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
Modelos de calidad de software Unidad 1. Fundamentos de calidad Ciencias Exactas, Ingeniera y Tecnologa | Desarrollo de Software 3 Unidad 1. Fundamentos de calidad
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. Modelos de calidad de software Unidad 1. Fundamentos de calidad Ciencias Exactas, Ingeniera y Tecnologa | Desarrollo de Software 4 Lo anterior con la finalidad de identificar los conceptos, caractersticas, requisitos o atributos, etc. que cada autor determina segn su punto de vista sobre calidad. Posteriormente comprenders su importancia y relacin con la gestin de sta en la calidad del software, a partir de un marco contextual.
Propsitos
Esta unidad tiene como propsitos que:
Identifiques las perspectivas sobre calidad de software: segn la norma ISO e ingeniera de software, para comprender su importancia y la relacin entre stas.
Comprender los aspectos bsicos de la gestin de calidad en relacin con la calidad de software en diversos mbitos de desarrollo.
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.
1.1. Perspectivas de calidad
La palabra calidad tiene mltiples significados, se define de acuerdo a la perspectiva de aplicacin en que se considere. La Real Academia Espaola (2011) la define como propiedad o conjunto de propiedades inherentes a algo, que permiten juzgar su valor. sta es una definicin aplicable a cualquier producto o servicio. La calidad se presenta en diversos mbitos: educacin, medio ambiente, sector salud, industria, etc.
En la antigedad, la calidad se consideraba como una actividad de medida e inspeccin. Se creaba el producto, se verificaba y meda para confirmar que estaba bien hecho y se poda invertir el tiempo necesario para su inspeccin. En el mbito de la industria del software, al desarrollar un recurso, requera ser corregido de fallas o hacerle modificaciones de acuerdo a necesidades cambiantes, se realizaban grandes esfuerzos para su mantenimiento y su costo de inversin era mayor a medida que iba creciendo. Con el paso del tiempo, el aumento de la poblacin, el abarcar otros mercados, el surgimiento de la revolucin industrial y la valoracin de las necesidades del cliente, entre Modelos de calidad de software Unidad 1. Fundamentos de calidad Ciencias Exactas, Ingeniera y Tecnologa | Desarrollo de Software 5 otros factores, provocaron incrementar la produccin, abrir nuevos objetivos de la calidad y establecer la satisfaccin del cliente como requisito principal de calidad. Por lo tanto, los ingenieros desarrolladores del software y organizaciones de normatividad, se ven preocupados por cumplir con medidas (metrologa) y normas de calidad (normalizacin) aplicados al desarrollo de un producto de software, con el fin de satisfacer los requerimientos del cliente (Alcalde, 2009).
En el tema 1.1. Perspectivas de calidad, se conocern los puntos de vista sobre el concepto de calidad de software desarrollando los subtemas: 1) De acuerdo a las ciencias de la computacin e ingeniera de software. 2) De acuerdo a las normas ISO.
Visualizars la manera en que cada autor distingue a la calidad, su importancia en el desarrollo de software y posteriormente la relacin con las actividades necesarias para proporcionar la tranquilidad de que un producto o servicio va a satisfacer los requisitos del cliente abordando, lo cual se revisar en el subtema 1.2. Gestin de calidad.
1.1.1. De acuerdo a las ciencias de la computacin e ingeniera de software
Como ya se haba mencionado, surgen dos perspectivas interesadas por cumplir con medidas y normas de calidad en el desarrollo de un producto de software para satisfacer los requerimientos del cliente: 1) La ciencia de la computacin e ingeniera de software y 2) organizaciones de normatividad. A continuacin conocers la perspectiva de ciencias de computacin e ingeniera de software para el estudio de la calidad, en el siguiente tema 1.1.2 De acuerdo a las normas ISO, conocers la otra perspectiva del estudio de calidad.
La ciencia de la computacin comprende la teora y los fundamentos de las computadoras y los sistemas de software, mientras que en la Ingeniera de software se refiere a problemas prcticos de producir software. Los ingenieros de software requieren conocimientos de la ciencia de la computacin, de la misma forma que los ingenieros elctricos requieren conocimientos de fsica (Sommerville, 2006, pg. 7).
Se toma como ejemplo que la ingeniera del software contempla el diseo y uso del software utilizando el conocimiento y objeto de la ciencia de computacin. Es decir, comprende: las formas prcticas para desarrollar el software desde las etapas iniciales de la especificacin del sistema para entregar un software til; el mantenimiento del mismo; y tambin, despus de ser utilizado, para detectar o realizar alguna correccin. Algunas Modelos de calidad de software Unidad 1. Fundamentos de calidad Ciencias Exactas, Ingeniera y Tecnologa | Desarrollo de Software 6 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.
Figura. Relacin entre las ciencias de la computacin y la ingeniera de software (Snchez, et al., 2012, pg. 12).
Ciencias de la computacin Fundamentos de fsica Fundamentos matemticos Teoras Compiladores Autmatas Algoritmias Seguridad Problemas Ingeniera de software Solucin Herramientas Procesos Estndares Modelos de calidad de software Unidad 1. Fundamentos de calidad Ciencias Exactas, Ingeniera y Tecnologa | Desarrollo de Software 7
Cuando se habla de calidad del software, desde la perspectiva de la ingeniera del software, Snchez, et al. (2012) casi siempre se refiere a las fallas que son tolerables en un sistema. Por ejemplo, en un navegador web es posible comprender las deficiencias, pero en un sistema de control de aeronave comercial no sucede lo mismo porque las caractersticas del sistema de control de la aeronave comercial debern tener un grado de excelencia mximo, ya que algn error puede causar prdidas humanas, exigiendo por ello un nivel de tolerancia cero en cuanto a las fallas. Este ejemplo se relaciona con el concepto de calidad de Raymond Paul (Snchez, et al., 2012, pg.378) desde la perspectiva de ingeniera del software: es la caracterstica que distingue el grado de excelencia o superioridad de un proceso, producto o servicio, con base en ello, es posible comprender el ejemplo anterior. Este concepto es muy limitado porque la produccin del software de calidad tambin se construye de acuerdo a procesos preestablecidos y controlados para garantizar la calidad del producto final. Sin embargo, ste es en realidad la perspectiva de algunos de los modelos de calidad de software que se estudiarn en la unidad 3 de esta asignatura.
En el desarrollo de un sistema de software, la calidad aparece por primera vez en los requisitos, ah se establecen los parmetros y los criterios de calidad del software que se construir. Las caractersticas de calidad que se definan en ese momento sern la referencia de ah en adelante, por lo que todo aquello que se establezca como requisito de calidad en este punto, tendr una enorme influencia en los parmetros de calidad establecidos, si se cumplieron o no al final del desarrollo de un sistema de software, ser la manera de evaluar dicha calidad.
Las caractersticas de calidad es un aspecto en el cual se enfoca la ingeniera de software. La siguiente figura ilustra otros aspectos referentes al estudio de la calidad del software, los cuales se explicarn despus de la ilustracin.
Modelos de calidad de software Unidad 1. Fundamentos de calidad Ciencias Exactas, Ingeniera y Tecnologa | Desarrollo de Software 8
Los mltiples aspectos de la calidad en ingeniera del software (Snchez, et al., 2012, pg.378-379).
A continuacin se explicarn la cultura y tica de la calidad, as como el valor y costos de la calidad. El aseguramiento de la calidad se explicar en el subtema 1.2 porque tambin tiene un lugar importante como elemento de la gestin de calidad de esta unidad, en dicho subtema se hablar primeramente sobre la gestin de calidad y posteriormente se relacionar en especfico con la calidad del software. Los modelos de calidad (tema principal de la materia) se explicarn en la unidad 3, conocers los modelos clsicos de calidad, modelos de calidad de producto y calidad de proceso que se utilizan para guiar a la mejora de procesos o productos en un proyecto del desarrollo de software.
1) Cultura y tica de la calidad
Snchez, et al. (2012) y Sommerville (2006) exponen que el xito de un proyecto de software se basa en la cultura de la ingeniera de ste, ya que es el compromiso que tienen los ingenieros del software de una organizacin con el logro de las metas de calidad de su organizacin y, particularmente, con aqullas que tienen que ver con la obtencin de un software de calidad. Los ingenieros de software deben aceptar que su trabajo comprende responsabilidades ms amplias que simplemente la aplicacin de Calidad Cultura y tica de la calidad Aseguramiento de la calidad Modelos de calidad Valor y costes de la calidad Modelos de calidad de software Unidad 1. Fundamentos de calidad Ciencias Exactas, Ingeniera y Tecnologa | Desarrollo de Software 9 habilidades tcnicas; deben comportarse de una forma tica y moral responsable si es que desean ser respetados como profesionales. Deben conducirse con honestidad y responsabilidad para respetar la confidencialidad de sus empleados o clientes, aceptar conscientemente trabajos a su nivel, utilizar apropiadamente la informacin y tecnologa bajo su responsabilidad.
Por lo tanto, se han plasmado una serie de principios para la cultura de calidad y otros para el cdigo deontolgico de tica y ejercicio profesional del ingeniero del software. Aunque la cultura y la tica tienen sus propios principios, llevan al ingeniero del software a un mismo fin: la calidad en el software.
Algunos de los principios ms importantes de la cultura de calidad que Snchez, et al. (2012) resalta para el ingeniero de software como lder o integrante del proyecto de software son:
Trabajo en equipo: haz sentir a tus compaeros del proyecto que su trabajo es apreciado, no permitas que tu jefe, compaeros o cliente te propongan realizar mal tu trabajo. Recuerda que todos los integrantes del equipo de trabajo son responsables de su capacitacin continua.
,Involucrar al cliente durante todo el desarrollo del software: tu reto ser tener la misma visin del producto final que el cliente, esfurzate para que los errores en el desarrollo del software sean detectados por tus compaeros de equipo y no por los clientes, documenta y dirige correctamente los informes y solicitudes de cambios para controlar la calidad y mantenimiento del desarrollo del software. Recuerda que no debes cambiar todo a la vez, slo identifica aquellos cambios que aporten mayores beneficios en el desarrollo del software.
Por su parte, el cdigo deontolgico de tica y ejercicio profesional del ingeniero de software, fue desarrollado por la IEEE (Instituto de Ingenieros Elctricos y Electrnicos) y la ACM (Asociacin para Mecanismos de Computacin). Este cdigo resalta la importancia de la calidad como parte de buenas costumbres, regula la tica de la profesin de un ingeniero de software, inspira buenas conductas y expresa los ideales a los que se deben aspirar, de igual manera, enumera principios morales, derechos y responsabilidades de los profesionistas.
Ahora se hace referencia al principio 3.0.1 del cdigo deontolgico de tica y ejercicio profesional de ingeniera del software como muestra de la relevancia que tiene la calidad en el desarrollo de un producto software ante el ejercicio profesional de un ingeniero. Modelos de calidad de software Unidad 1. Fundamentos de calidad Ciencias Exactas, Ingeniera y Tecnologa | Desarrollo de Software 10 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 calidad Son actividades que comparan lo obtenido con 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)
Modelos de calidad de software Unidad 1. Fundamentos de calidad Ciencias Exactas, Ingeniera y Tecnologa | Desarrollo de Software 11
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:
El cliente: si no se consigue la satisfaccin del cliente, el software habr fracasado, por ello es necesario una mayor atencin al rea de atencin al cliente.
Los procesos: implementar procesos productivos donde est presente la calidad.
Valoracin de los recursos disponibles: el personal debe considerarse como una fuente de ideas para la bsqueda constante de la calidad.
Adaptacin al cambio: los cambios (en la organizacin y/o proceso de produccin) se asumen rpidamente para tener el menor impacto posible en los niveles de calidad. (Snchez, et al., 2012, pg. 380-383)
El anlisis en los costos y el valor agregado en el desarrollo del software conlleva a la incorporacin de la calidad, los beneficios obtenidos compensarn los costos.
En este tema has identificado el concepto de calidad de acuerdo a las ciencias de la computacin e ingeniera del software, donde los requisitos del cliente son la parte fundamental para la calidad del producto final. La cultura de la ingeniera del software que se implante dentro de la organizacin es el compromiso de los ingenieros para lograr un software de calidad y los costos de calidad son los gastos en la organizacin para el desarrollo del software, ya que se involucran recursos materiales, humanos, tecnolgicos, etc. Ante la ingeniera del software, estos aspectos son los que determinan el xito de la calidad del software. En el siguiente tema identificars el concepto de calidad y los aspectos importantes para las normas ISO, sern los mismos? o existirn aspectos diferentes? Un desarrollador de software motivado, crear productos que proporcionen valor a los clientes. 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.
Modelos de calidad de software Unidad 1. Fundamentos de calidad Ciencias Exactas, Ingeniera y Tecnologa | Desarrollo de Software 12 1.1.2. De acuerdo a las normas ISO
En este subtema se abordar lo referente a las normas ISO como otra perspectiva de calidad de software. Con base en esta perspectiva se establecen modelos de calidad en el software, ya se revis la perspectiva de acuerdo a las ciencias de la computacin e ingeniera de software donde el enfoque est basado en el cliente, en este subtema se abordar la perspectiva de las normas ISO donde se identifican los elementos que intervienen en el anlisis de la calidad del software.
Para poder abarcar este tema se define lo que es una norma, que segn la Real Academia Espaola (2011) es una regla que se debe seguir o regla que se deben ajustar a conductas, tareas, actividades, etctera; es decir, regula el comportamiento de algo o alguien, en el marco del tema relacionado con la calidad del software. La organizacin principal a nivel mundial que norma la calidad de diversas actividades, entre ellas, el desarrollo de software, es ISO (Organizacin Internacional de Normalizacin), la cual es una federacin mundial de organismos nacionales de normalizacin (organismos miembros de ISO) y tiene como objeto desarrollar normas internacionales que faciliten el comercio internacional. (ISO 9000, 2005). Las normas ISO son un conjunto de normas y directrices internacionales para la gestin de la calidad, que desde su publicacin en 1987, han tenido una presencia internacional.
Entre todas las normas que conforman la familia ISO, la norma ISO 9000 puede aplicarse a un amplio abanico de organizaciones, desde la manufactura hasta los servicios. ISO 9000 no es una norma especfica para el desarrollo del software, pero define principios generales que pueden aplicarse a ste, describe varios aspectos de calidad y define qu normas y procedimientos deben existir en una organizacin (Sommerville, 2006).
En las principales normas internacionales ISO, la calidad se define como un conjunto de propiedades o caractersticas de un producto o servicio que le confieren aptitud para satisfacer unas necesidades expresadas o implcitas (Piattinni, et al., 2012, pg. 33).
Otra definicin de calidad que se puede relacionar con el desarrollo de software, es la que se menciona en ISO 8402, la cual se enfoca en la calidad respecto a la ingeniera de software: conjunto de propiedades o caracterstica de un producto o servicio que le confieren actitud para satisfacer unas necesidades expresadas o implcitas (Piattini, 2012, pg. 33).
Es posible expresar que al trasladar las necesidades o expectativas, lo que se conoce como requisito de los clientes, a las caractersticas del producto o servicio, se alcanza un Modelos de calidad de software Unidad 1. Fundamentos de calidad Ciencias Exactas, Ingeniera y Tecnologa | Desarrollo de Software 13 grado de calidad. En la siguiente tabla se expone lo que se conoce como caracterstica y requisito.
Segn la norma ISO 9000
Caracterstica 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 Modelos de calidad de software Unidad 1. Fundamentos de calidad Ciencias Exactas, Ingeniera y Tecnologa | Desarrollo de Software 14 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.
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.
Actividad 1. Perspectivas sobre conceptos de calidad
El propsito de esta actividad es que identifiques, en forma colaborativa, diversos conceptos y perspectivas de calidad de software. Con base en las instrucciones del (de la) Facilitador(a) respecto a la conformacin de los equipos y el tema a desarrollar, realiza estos pasos:
1. Comuncate con tus compaeros de equipo mediante el Foro general de la asignatura para organizar las actividades con base en el tema y nombrar un representante de equipo.
2. Desarrolla en equipo la investigacin sobre el tema asignado.
3. Integren en la Wiki, mediante el representante del equipo, el resultado de la investigacin realizada sobre el tema. No olviden integrar los datos bibliogrficos de las fuentes de consultadas. 4. Ingresa al Wiki de la Actividad 1 y redacta una aportacin en forma individual 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). Modelos de calidad de software Unidad 1. Fundamentos de calidad Ciencias Exactas, Ingeniera y Tecnologa | Desarrollo de Software 15 acerca de la relacin del contenido de la Wiki con el contenido de la unidad respecto a los temas revisados: concepto de calidad de software, perspectivas de la calidad de software, caractersticas y ejemplos.
5. Redacta tus conclusiones integrando tus propias perspectivas sobre la calidad del software e intgralas en la Wiki, enriqueciendo la aportacin de alguno(a) de tus compaeros(as) o incluyendo tu propia aportacin.
6. Guarda tus conclusiones del paso cinco con el nombre DMCS_U1_A1_XXYZ. Sustituye las XX por las dos primeras letras de tu primer nombre, la Y por tu primer apellido y la Z por tu segundo apellido.
7. Enva tus conclusiones a tu Facilitador(a) mediante la herramienta Tarea actividad 1.
*No olvides consultar el documento Criterios de evaluacin de las actividades de la Unidad 1 para conocer los parmetros de esta actividad.
1.2. Gestin de calidad
La gestin de calidad es importante en el marco de los modelos de calidad de software porque se refiere a las actividades a realizar para obtener un producto de calidad.
La calidad en el desarrollo del software es apreciada desde dos puntos de vista segn Alcalde (2009):
1) Cliente: el software debe satisfacer las necesidades del cliente para que ste los considere como un producto con alto grado de calidad.
2) Proveedor del software: debe cumplir con especificaciones tcnicas o requisitos del software hasta llegar a trasladarlas como caractersticas del software.
Para ti como desarrollador de software, el tema gestin de calidad es importante porque puedes conocer las actividades o gestiones que se involucran en una organizacin para implantar o mejorar su sistema de calidad de software y cumplir con el objetivo, que bsicamente es que los clientes perciban el software con algn grado de calidad.
De acuerdo a la norma ISO 9000 (2000), la gestin de calidad consiste en la realizacin de actividades coordinadas que permiten dirigir y controlar una organizacin en lo relativo a la calidad. Esta definicin es la ms amplia porque comprende cuatro partes o Modelos de calidad de software Unidad 1. Fundamentos de calidad Ciencias Exactas, Ingeniera y Tecnologa | Desarrollo de Software 16 elementos y garantiza que la organizacin o producto obtenga una calidad ms consistente porque utiliza al aseguramiento de calidad y el control de los procesos para obtenerla. Estos elementos de gestin de calidad se explican a continuacin:
1. Planificacin de la calidad. Consiste en acciones dirigidas 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.
2. Control de la calidad. Se orienta al cumplimiento de los requisitos de la calidad.
3. Aseguramiento de la calidad. Se orienta a proporcionar confianza en que se cumplirn los requisitos de calidad (se explicar a detalle en el siguiente subtema 1.2.3 Aseguramiento de la calidad de software).
4. Mejora de la calidad. Se orienta al aumento de la capacidad de cumplir con los requisitos de la calidad, los cuales pueden estar relacionados con cualquier aspecto, tal como la eficacia, la eficiencia o la trazabilidad que se define como: posibilidad de identificar el origen y las diferentes etapas de un proceso de produccin y distribucin de bienes de consumo (RAE, 2013). Modelos de calidad de software Unidad 1. Fundamentos de calidad Ciencias Exactas, Ingeniera y Tecnologa | Desarrollo de Software 17
Elementos de la gestin de la calidad (ISO 9000, 2005, pg. 25).
Gestin de la calidad Actividades coordinadas para dirigir y controlar una organizacin en lo relativo a la calidad. Mejora continua Accin recurrente para mejorar la capacidad para cumplir los requisitos. 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. 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. Eficacia Grado en que se realizan las actividades planificadas y se alcanzan los resultados planificados. Eficiencia Relacin entre el resultado alcanzado y los recursos utilizados. Modelos de calidad de software Unidad 1. Fundamentos de calidad Ciencias Exactas, Ingeniera y Tecnologa | Desarrollo de Software 18
Las actividades de la gestin de calidad comprenden la garanta de la calidad que establece los estndares documentales e internacionales para el desarrollo del software, mismos que se explicarn a continuacin.
Recapitulando brevemente, es necesario enfatizar que para conducir y operar una organizacin en forma exitosa, se requiere que sta se dirija y controle en forma sistemtica y transparente. Se puede lograr el xito implementando y manteniendo un sistema de gestin de calidad que est diseado para mejorar continuamente su desempeo mediante la consideracin de las necesidades de todas las partes interesadas. Un sistema de gestin de calidad se define como un conjunto formado por la estructura organizacional de la empresa, procedimientos, procesos y recursos necesarios para asegurarse que los productos y servicios generados para el cliente cumplan sus necesidades o expectativas (Alcalde, 2009). Si requieres recordar el tema sobre gestin de calidad, es necesario que revises la asignatura Estructura organizacional.
Por su parte, las normas internacionales ISO 9000 se originan con la intencin de solucionar problemas de calidad e indicar cmo hay que organizar todas las actividades para establecer un sistema de gestin de calidad que consiga que las cosas se hagan siempre bien en una organizacin. La norma ISO 9001 (2008), que forma parte de la familia ISO 9000, establece que todos los requisitos de la norma se pretenden que sean aplicables a todas las organizaciones, incluyendo a quienes se dedican al desarrollo de software, sin importar su tipo, tamao y producto suministrado, y cuando algn tipo de requisito(s) no pueda aplicarse debido a la naturaleza de una organizacin y su producto, puede ser excluido. Por este motivo se toma como base la norma ISO 9000 para la gestin de calidad de software, la cual 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.
Principios de gestin de calidad El artculo de Garca, Quispe & Raz (2001) se fundamenta en ocho principios de gestin de calidad, los cuales son apoyo para las normas de sistemas de gestin de la calidad de la familia de Normas ISO 9000, estos principios se detallan a continuacin:
1) Enfoque al cliente. Los proveedores de software dependen de sus clientes para su crecimiento, por lo tanto, es necesario comprender las necesidades actuales y futuras de La gestin efectiva de un proyecto de software depende de planificar completa y minuciosamente el progreso del proyecto. Modelos de calidad de software Unidad 1. Fundamentos de calidad Ciencias Exactas, Ingeniera y Tecnologa | Desarrollo de Software 19 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.
Modelos de calidad de software Unidad 1. Fundamentos de calidad Ciencias Exactas, Ingeniera y Tecnologa | Desarrollo de Software 20 8) Relaciones mutuamente beneficiosas con el proveedor. Una organizacin y sus proveedores son interdependientes, y una relacin mutuamente beneficiosa aumenta la capacidad de ambos para crear valor. La comunicacin debe ser clara y abierta para transmitir sus experiencias y se vuelvan aliados del negocio.
La aplicacin de los principios dentro de un sistema de gestin de calidad es utilizada por la alta direccin con el fin de conducir a la organizacin hacia una mejora en su desempeo y para la obtener resultados planeados. El sistema de gestin de calidad debe adaptarse a las caractersticas de la empresa y no debe ser un proceso complejo para su aplicacin. Esto motivar a la organizacin a lograr una certificacin bajo una norma especfica sobre sistemas de gestin de la calidad mediante una entidad debidamente acreditada. El tema de certificacin se abarcar en la unidad 2, conocers los organismos certificadores, el proceso de certificacin y la familia de normas ISO y normas de calidad enfocadas al software.
La implantacin de un sistema de gestin de calidad cambiar de acuerdo a la norma en que la organizacin pretenda certificarse. Se sugiere detectar los procesos que existen en la organizacin para realizar una buena planificacin del proceso de implantacin. Para que este proceso tenga xito, la organizacin debe considerar las siguientes condiciones: compromiso de la direccin, motivacin del personal, disposicin de recursos, formacin y entrenamiento, informacin sobre el progreso del proyecto conseguido y reconocimientos de los xitos. Cuando alguna de estas condiciones no se considera, la implantacin del sistema de gestin de calidad estar destinado al fracaso. Por otro lado, la organizacin tambin debe establecer, documentar, implantar y mantener el sistema de gestin de calidad y mejorar continuamente su eficacia de acuerdo con los requisitos de la norma internacional (Gestin de la calidad (ISO 9001/2008) en hostelera, 2010).
Sommerville (2006) indica que los primeros en asimilar la implantacin del sistema de gestin de calidad debern ser el director general o el gerente y el equipo directivo. Posteriormente, al personal intermedio se le recomienda aplicar tcnicas de liderazgo, motivacin, comunicacin y de gestin para iniciar la implantacin de la calidad en la organizacin. Por ejemplo, en la industria del software, la mala administracin del sistema de gestin de calidad en un proyecto usualmente lleva al fracaso porque el software es entregado fuera de tiempo, los requerimientos no se cumplen o los costos son mayores de los estimados. Por estos motivos, el gestor del proyecto de software debe asegurarse que se cumplan las restricciones que indica la organizacin (tiempo, presupuesto, personal, etc.) y entregar el software de acuerdo a los requisitos del cliente u organizacin.
Modelos de calidad de software Unidad 1. Fundamentos de calidad Ciencias Exactas, Ingeniera y Tecnologa | Desarrollo de Software 21 A continuacin se indican las actividades de un gestor de proyecto de software al implantar un sistema de gestin de calidad. Sin embargo, stas pueden variar dependiendo de la organizacin:
Redaccin de la propuesta. Describe objetivos, procedimiento, estimaciones de coste y tiempo del proyecto. No existe una gua especfica para la redaccin de la propuesta.
Planificacin y calendarizacin del proyecto. Se encarga de identificar las actividades del proyecto y asignarles tiempos de acuerdo a su desarrollo.
Estimacin de costos del proyecto. Esta actividad se relaciona con la estimacin de recursos requeridos para llevar a cabo el plan del proyecto.
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.
Seleccin y evaluacin del personal. Se refiere a realizar la seleccin de personas con habilidades y experiencia adecuada para trabajar en el proyecto.
Redaccin y presentacin de informes. Implica redactar una propuesta para realizar el proyecto e ir presentando informes del proyecto durante su desarrollo.
Recuerda que implantar un sistema de gestin de calidad mejorar el rendimiento del negocio y productividad, permitir alcanzar la satisfaccin del cliente, la calidad en los productos o servicios, le otorgar al cliente la confianza de que se hacen las cosas bien por adquirir una certificacin, entre otras. El sistema de gestin de calidad puede ser implantado en cualquier tipo de organizacin, por lo que los trminos que conociste puedes aplicarlos en cualquier rea y en especfico para la mejora de algn producto diseado de la ingeniera de software. El software no se manufactura, sino que se disea, lo cual provoca que el software sea evaluado para su calidad desde cinco perspectivas. Cules son esas perspectivas?, en qu consisten?, en el siguiente tema las conocers y se har un enfoque a los conceptos bsicos de calidad de proceso y producto.
Modelos de calidad de software Unidad 1. Fundamentos de calidad Ciencias Exactas, Ingeniera y Tecnologa | Desarrollo de Software 22 1.2.1. Calidad de proceso y producto
En este subtema abordars la relacin e importancia de la gestin en la calidad del software para lograr la satisfaccin del cliente, adems comprenders la relacin entre la gestin de calidad y la calidad del software, para ello es necesario tener presente que la calidad se refleja bsicamente en el producto que ofrece el proveedor de software. Las normas de calidad establecen categoras de evaluacin de objetos de software para evaluar un producto o servicio, con base en estas categoras y mediante ellas, es posible pensar en evaluar un software, pero ste es un producto intangible, de tal manera que surgen las interrogantes acerca de qu se evaluar del software para demostrar su calidad?, pueden ser sus recursos?, se pueden evaluar sus procesos?, o incluso es posible evaluar las herramientas de produccin? (Calero, Moraga, & Piattini, 2010), estas interrogantes pueden ser las categoras de evaluacin de objetos de software. Las normas ISO homologaron muchas de estas categoras de evaluacin de objetos de software. En este subtema se explicarn dos de las ms importantes en la que se basa la calidad del software: proceso y producto.
Snchez, et al. (2012) resalta que uno de los ms influyentes estudiosos de la calidad del software, David Garvin, contempla diferentes categoras para evaluar la calidad del software, las cuales se exponen a continuacin:
Perspectiva Descripcin La visin trascendental 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 produccin Identifica la calidad del producto con la calidad de los procesos 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; Modelos de calidad de software Unidad 1. Fundamentos de calidad Ciencias Exactas, Ingeniera y Tecnologa | Desarrollo de Software 23 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.
Categora de calidad de proceso
Un proceso en el desarrollo de software se entiende como la secuencia de pasos que se realizan con un propsito establecido, el proceso se define tambin segn los requerimientos del cliente, como sucede con el desarrollo un producto, es decir, con las necesidades de los clientes, y se termina con su integracin a otros procesos y su correcto funcionamiento. El proceso de software determina cmo ser el trabajo tcnico y de gestin para el desarrollo del software, adems define los mtodos y recursos que se utilizarn para su realizacin. Se considerar como calidad de proceso a la aplicacin de los elementos de la gestin de calidad aplicados en un proceso de desarrollo de software. La gestin de la calidad del proceso implica: hacer informes del proceso para el gestor del proyecto y el cliente, supervisar cada proceso en desarrollo de software, realizar revisiones de diseo, etctera (Sommerville, 2006).
La calidad del proceso se determina cuando la gestin y el trabajo tcnico minimizan los defectos en el software entregado. Para evaluar un proceso en el desarrollo de software y otorgar la confianza de obtener un buen producto final, se deben aplicar los siguientes criterios o atributos de calidad:
Atributo Descripcin Efectividad 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. Predictibilidad 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. Repetibilidad 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. Modelos de calidad de software Unidad 1. Fundamentos de calidad Ciencias Exactas, Ingeniera y Tecnologa | Desarrollo de Software 24 Adaptabilidad La implantacin de un proceso en una organizacin no da resultados de forma inmediata, al contrario, se necesita tiempo y experiencia para que el proceso d los frutos deseados. Puesto que la tecnologa y las herramientas cambian, los procesos deben evolucionar y adaptarse. Es recomendable, por tanto, que el proceso no sea excesivamente rgido ni en su aplicacin ni en su forma, para facilitar la adaptacin y mejora continua. Seguimiento El proceso debe facilitar la gestin, esto es, debe permitir el seguimiento del estado de los proyectos, su medicin y su comparacin. Sin los elementos suficientes para un buen seguimiento, los proyectos nunca sern predecibles. Facilidad de mantenimiento (del producto) Prcticamente todo software evolucionar despus de su entrega. Un buen proceso hace que el diseo del software se exponga de forma que sea fcil de comprender por personas diferentes a las que los desarrollaron. Esto reduce significativamente el esfuerzo necesario para hacer correcciones o cambios. Calidad (del producto) Un buen proceso se dirige a que el producto final se ajuste a los requisitos para los que fue concebido y debe poder evolucionar si esas necesidades cambian. La calidad es un aspecto transversal al proceso y, de hecho, la facilidad de mantenimiento puede considerarse uno de los aspectos de la calidad. Atributos deseables para un proceso de software (Snchez, et al., 2012, pg. 38).
Los atributos anteriores forman parte de la calidad del software, aunque pueden variar de un sistema a otro dependiendo del tipo de software que se va a desarrollar. En la unidad 3 de esta asignatura conocers los modelos que permiten evaluar la calidad de proceso del software. A continuacin se exponen los aspectos bsicos sobre calidad de producto e identificars los atributos para evaluar la calidad desde la perspectiva de producto software.
Categora de calidad de producto
La calidad de producto software se refiere a las caractersticas del producto final que sean adecuadas con las expectativas del cliente, las cuales se puede evaluar a travs de medidas internas, directas de las propiedades inherentes del software o mediante medidas externas, indirectas del comportamiento del sistema del que forma parte. Sin embargo, estas medidas pueden cambiar dependiendo del propsito de la evaluacin del software ante la aplicacin de un modelo de calidad (Piattini, et al., 2010). En la unidad 3. Modelos de calidad de software, conocers los modelos de calidad de producto software Modelos de calidad de software Unidad 1. Fundamentos de calidad Ciencias Exactas, Ingeniera y Tecnologa | Desarrollo de Software 25 ms utilizados en las organizaciones.
En el siguiente esquema se muestran las caractersticas de calidad para un producto software. Por ejemplo: funcionalidad, fiabilidad, eficiencia, usabilidad, seguridad, compatibilidad, mantenimiento y portabilidad. Cada una de estas caractersticas contiene sus respectivos atributos que son considerados para la evaluacin de calidad del producto software. Modelos de calidad de software Unidad 1. Fundamentos de calidad Ciencias Exactas, Ingeniera y Tecnologa | Desarrollo de Software 26
Figura. Caractersticas con atributos para la calidad del producto software. (Piattini, et al., 2012, pg. 102) Modelos de calidad de software Unidad 1. Fundamentos de calidad Ciencias Exactas, Ingeniera y Tecnologa | Desarrollo de Software 27 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.
1.2.2. Garanta de la calidad y estndares
La garanta de calidad en el desarrollo de software se ha presentado casi en paralelo con la aparicin de la calidad. Durante los primeros aos de la informtica, la calidad era responsabilidad nicamente del programador (Sommerville, 2006). Despus se introdujeron estndares o documentos de garanta de calidad para el software y se han extendido rpidamente a los desarrollos de software. Se entiende por garanta de calidad al seguimiento de las acciones planificadas que se requieren para asegurar la calidad del software (Roger, 2005). Los involucrados para llevar a cabo esta garanta de calidad son varias personas que forman la organizacin, entre ellos ingenieros de software, jefes de proyectos, clientes, vendedores y en especfico aquellas personas que desarrollan el software, a todos ellos se les conoce como el grupo de garanta de calidad de software, ellos realizan funciones de: servir como representante del cliente dentro de la organizacin y visualizar el software como si fuera el cliente, trabajos tcnicos asociadas a los ingenieros de software y responsabilidad de la planificacin de garanta de calidad, Se puede distinguir la calidad de un producto comparando sus atributos con los de otro, en el caso de la calidad de un software, se determina mediante la ausencia de fallos. Modelos de calidad de software Unidad 1. Fundamentos de calidad Ciencias Exactas, Ingeniera y Tecnologa | Desarrollo de Software 28 supervisin, mantenimiento de registros, anlisis de informes, desarrollar estndares de documentacin, etc. Estas acciones se realizan en forma planificada (Roger, 2005).
Cuando se establecen las garantas de calidad, es necesario configurar estndares o documentacin que se tomar como punto de partida para la evaluacin de la calidad de un producto software. Sommerville (2006) menciona que los estndares forman parte de las actividades que dan soporte escrito a la garanta de la calidad. Dichos estndares sern realizados por el grupo de garanta de calidad del software con la participacin de los ingenieros de software, los cuales se apoyan de los estndares organizacionales basados tambin en los nacionales e internacionales para la creacin de un manual, en el cual se mencionan los estndares propios de la organizacin. La siguiente tabla ejemplifica los estndares de documentos que pueden ser incluidos en un manual para una organizacin.
Estndares de producto Estndares de proceso Formulario para revisin del diseo Conducto para la revisin del diseo Formato del encabezado del mtodo Proceso de entrega de versiones Estilo de programacin en Java Proceso de aprobacin del plan del proyecto Formato del plan del proyecto Proceso de control de cambios Formulario de peticin de cambios Proceso de registro de pruebas
Estndares de documentacin de producto y proceso (Sommerville, 2006, pg. 592).
Cada gestor de proyecto tiene la facultad de modificar los estndares de documentacin de acuerdo a circunstancias particulares. Sin embargo, los estndares relacionados con la calidad del producto y del proceso posterior a la entrega, slo deben cambiarse despus de cuidadosas consideraciones que no alteren la calidad del producto.
La garanta de calidad y los estndares aseguran que los procedimientos realizados en la organizacin y en el desarrollo del producto de software lleven a la calidad del producto final, siendo la base para la gestin de calidad por su participacin directa con el ingeniero de software y desarrolladores del software. Ahora, recuerda que la elaboracin de un estndar necesita que la informacin se apoye de los diferentes tipos de manuales que hay dentro de una organizacin y estn basados en estndares nacionales e internacionales. Cuando se realiza esta accin, la garanta de calidad pasa a formar parte Los estndares y procedimientos son la base de la gestin de calidad, y los gestores de calidad experimentados, conocen que hay aspectos intangibles en la calidad del software. Modelos de calidad de software Unidad 1. Fundamentos de calidad Ciencias Exactas, Ingeniera y Tecnologa | Desarrollo de Software 29 de una nueva idea de las organizaciones bajo la denominacin de aseguramiento de la calidad, que llevar la garanta de sta (Barbancho, 2004), considerando al aseguramiento parte de la gestin de la calidad orientada a proporcionar confianza en que se cumplirn los requisitos de la calidad (ISO 9000, 2005). Por tal motivo, a continuacin se tocan aspectos relacionados al aseguramiento de calidad al software.
1.2.3. Aseguramiento de calidad de software
Recuerda que a partir del avance de la tecnologa y la economa surgen nuevas industrias, donde la calidad debe ser total. No se permiten fallas. Por ejemplo, en aeronutica, telecomunicaciones, etctera, no deben existir fallas, ya que una en alguna de estas actividades representa prdidas de gran magnitud, humanas y materiales. Se considera ms importante prevenir fallas de calidad que corregir, los costos de las correcciones suelen ser ms elevados por los recursos que no se tenan contemplados a utilizar. El trmino prevenir se desarrolla sobre la idea de organizaciones industriales donde la garanta o aseguramiento de calidad debera de estar presente de ah en adelante. Las organizaciones industriales se favorecen con este nuevo concepto. En la ingeniera de software se considera la definicin por el glosario IEEE, el cual menciona que el aseguramiento de calidad es un patrn sistemtico y planificado de todas las acciones necesarias para afirmar con certeza que un producto es conforme con los requisitos tcnicos establecidos. (Snchez, et al., 2012, pg. 393).
El aseguramiento de la calidad dentro de sistema de gestin de calidad, a nivel organizacional o proyecto, sirve como una herramienta de gestin y, en situaciones contractuales, se utiliza para establecer la confianza con el cliente. Est principalmente enfocado en el producto que se pretende (ISO 9000, 2005). En el desarrollo de software hay que considerar que el aseguramiento de calidad confirma que el software que se entregue al cliente, cumpla con la calidad requerida como producto y que durante el proceso de produccin se hayan ejecutado los requerimientos de calidad.
El aseguramiento de la calidad de software, durante el ciclo de vida de un proyecto de software, se debe considerar como una actividad continua. Ser aplicado en cada etapa del ciclo de vida del proyecto, como se define a continuacin en la tabla de obligaciones del aseguramiento de calidad; algunas de estas actividades se llevan a cabo a lo largo de varias etapas, aunque para su mejor compresin se ha limitado de acuerdo a las etapas del ciclo de vida de un proyecto software.
Modelos de calidad de software Unidad 1. Fundamentos de calidad Ciencias Exactas, Ingeniera y Tecnologa | Desarrollo de Software 30 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).
La finalidad de llevar a cabo las obligaciones de aseguramiento de la calidad de software es auditar los requisitos y resultados obtenidos con las mediciones de control de la calidad en cada etapa y compararlos con el objetivo, ratificar que se utilizan los estndares de calidad y las definiciones operacionales adecuadas y, por consecuencia, mejorar la calidad del producto (Piattini, et al., 2012). En la siguiente figura se muestra la relacin del proceso de ejecucin del aseguramiento de la calidad con otros procesos del rea de gestin de la calidad y la gestin de proyectos en general.
Modelos de calidad de software Unidad 1. Fundamentos de calidad Ciencias Exactas, Ingeniera y Tecnologa | Desarrollo de Software 31
Realizacin del proceso de ejecucin del aseguramiento de la calidad de software. (Piattini, et al., 2012, pg. 270). Dirigir y gestionar la ejecucin del proyecto Realizar el control integrado de cambios Documentos del proyecto Actualizaciones a los documentos del proyecto Mediciones de control de calidad Plan de gestin de la calidad
Plan de mejoras del proceso Actualizaciones al plan de gestin del proyecto Empresa/ organizacin Activos de los procesos de la organizacin Solicitudes de cambio Informacin sobre el rendimiento del trabajo Desarrollar el plan de gestin del proyecto Planificar la calidad Realizar el control de calidad Realizar el aseguramiento de calidad de software Modelos de calidad de software Unidad 1. Fundamentos de calidad Ciencias Exactas, Ingeniera y Tecnologa | Desarrollo de Software 32 Desde el punto de vista econmico, con el aseguramiento de calidad de software, las organizaciones desean proveer productos con calidad, y la mejor manera de hacerlo es a travs de la certificacin con la norma ISO. En el campo de las tecnologas de informacin, desde 1987, ISO e IEC (La Comisin Electrotcnica Internacional) trabajan de forma conjunta a travs del JTC1 (Comit tcnico conjunto nmero 1), para el establecimiento de normas de calidad de software (Calero, Moraga, & Piattini, 2010). Por ejemplo: en el caso del desarrollo de software, la norma ISO/IEC 9000-3-1997 constitua una gua de implantacin de la norma ISO 9001:1994 para el desarrollo, suministro y mantenimiento del software. Con la aparicin de la ltima versin en el ao 2000, las normas ISO 9001, 9002 y 9003 se unificaron en una sola, tomando el nombre de ISO 9001:2000 y especifica los requisitos para un sistema de gestin de calidad de software (Tuya, Ramos, & Dolado, 2007). En la unidad 2 de la materia, se conocern las normas ms relevantes de calidad de proceso y producto software.
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.
Evidencia de aprendizaje. Identificacin de estndares de gestin de calidad
El propsito de la actividad es que identifiques los principios y procesos de calidad desde las perspectivas ISO e ingeniera de software en relacin con requerimientos especficos en un caso. Para ello, realiza los siguientes pasos:
1. Lee detenidamente el caso que se presenta y analiza el o los procesos.
2. Identifica en el o los procesos los principios de gestin de calidad en el desarrollo de software aplicados en los mismos.
3. Elabora un esquema donde expongas la relacin entre el proceso y el principio involucrado en el mismo.
4. Explica la relacin del proceso y principio identificados.
5. Guarda tu evidencia con la nomenclatura DMCS_U1_EA_XXYZ. Sustituye las XX por las dos primeras letras de tu nombre, la Y por tu primer apellido y la Z por el segundo apellido. Modelos de calidad de software Unidad 1. Fundamentos de calidad Ciencias Exactas, Ingeniera y Tecnologa | Desarrollo de Software 33
6. Enva tu evidencia al Portafolio de evidencias.
*Consulta el documento EA. Rbrica de evaluacin de la unidad 1 para que consideres los parmetros de evaluacin de esta actividad.
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 Modelos de calidad de software Unidad 1. Fundamentos de calidad Ciencias Exactas, Ingeniera y Tecnologa | Desarrollo de Software 34 dentro de un grupo de garanta de calidad de software para establecer estndares documentales basados en estndares internacionales, etc. Tambin se distingue la calidad de proceso y producto del software, ya que la calidad del software est determinada por stas y les compete un sistema de gestin de calidad que posteriormente le llamaremos modelo de calidad de software, el cual ser explicado en la unidad 3 de esta materia. Con este marco contextual se cubre la competencia de la unidad: 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.
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
En el siguiente enlace, el organismo nacional espaol de normalizacin, AENOR, presenta un foro de sistema de gestin para la pequea y mediana empresa. AENOR es una asociacin privada con asociados de diferentes tipos de entidades, estn reconocidos en el mbito nacional, internacional y comunitario. Participan organismos europeos como CEN Y CENELEC, con la organizacin internacional ISO. http://www.youtube.com/watch?v=v-AZtKLt3U4 La pgina oficial de ISO brinda informacin de gestin de calidad, sistemas de gestin de calidad, aseguramiento de calidad, entre otras, basada en los normas. Aqu podrs consultar a detalle los temas. La pgina oficial est en ingls, puedes utilizar el traductor de Google para cambiar el idioma. http://www.iso.org/iso/home.html El siguiente documento se recomienda para consultar el tema de los ocho principios del cdigo de tica y ejercicio profesional de ingeniera de software. IEEE (Instituto de Ingenieros Elctricos y Electrnicos) y la ACM (Asociacin para Mecanismos de Computacin). [En lnea] http://chapters.computer.org/Dominicana/contribuciones/Codigo_Etica_Ing_Software.pdf
Modelos de calidad de software Unidad 1. Fundamentos de calidad Ciencias Exactas, Ingeniera y Tecnologa | Desarrollo de Software 35
Fuentes de consulta
Alcalde, P. (2009). Calidad. Madrid, Espaa: Thomson Paraninfo.
Alonso, F., Martnez, L., & Segovia, F. J. (2005). Introduccin a la ingeniera del software: Modelos de desarrollo de programas. Madrid, Espaa: Delta publicaciones.
Barbancho, M. (2004). Aseguramiento de la calidad. Medelln, Colombia.
Calero, C., Moraga, M. ., & Piattini, M. G. (2010). Calidad de producto y proceso software. Madrid: Ra-Ma.
Garca, M. P., Quispe, C. A., & Raz, L. G. (2001). Serie de normas NTP ISO 9000:20001. Industrial Data.
Griful, E. & Canela, M. . (2005). Gestin de la calidad. Barcelona: Ediciones de la Universidad Politcnica de Catalunya, SL.
IEEE-CS/ACM. (s.f.). chapters.computer.org. Recuperado el 14 de agosto de 2013, de chapters.computer.org: chapters.computer.org/Dominicana/.../Codigo_Etica_Ing_Software.pdf
ISO. (s.f.). Recuperado el 2 de Agosto de 2013, de ISO: http://translate.google.com.mx/translate?hl=es- 419&sl=en&u=http://www.iso.org/&prev=/search%3Fq%3Dpagina%2Bprincipal%2 Bde%2BISO%26biw%3D774%26bih%3D603
ISO. (9000:2005). Norma Internacional ISO 9000, traduccin oficial en espaol. Ginebra, Suiza: Secretaria oficial ISO.
ISO 9001/2008 (2010). Gestin de la calidad en hostelera. Espaa: Publicaciones Vrtice S. L.
Piattini, M. G., Garca, F. O., Garca, I., & Pino, F. (2012). Calidad de sistemas de informacin. D.F., Mxico: Alfaomega.
Real Academia Espaola. (Diciembre de 2011). Calidad. Real Academia Espaola. Recuperado el 4 de agosto de 2013, de http://lema.rae.es/drae/?val=hardware Modelos de calidad de software Unidad 1. Fundamentos de calidad Ciencias Exactas, Ingeniera y Tecnologa | Desarrollo de Software 36
Roger, S. (2005). Ingeniera del software. Un enfoque prctico. Mc Graw Hill/Interamericana.
Snchez, S., Sicilia, M. ., & Rodrguez, D. (2012). Ingeniera del software. Un enfoque desde la gua Swebok. D.F., Mxico: Alfaomega.
Sommerville, I. (2006). Ingeniera del software. Madrid, Espaa: Pearson Educacin, S. A.
Tuya, J., Ramos, I., & Dolado, J. (2007). Tcnicas cuantitativas para la gestin en la ingeniera de software. Madrid: Gesbiblo, S. L.