Sie sind auf Seite 1von 37

Unidad I 1 Conceptos bsicos de calidad. 1.1 Definicin de calidad. 1.2 Definicin de calidad de software. 1.3 Quin define la calidad.

1.4 Importancia de la calidad. 1.5 La calidad y el mundo globalizado. 1.6 Calidad de vida. 1.7 Calidad total. 2 Aseguramiento de la calidad del software ( SQA ). 2.1 Relacin de la Ingeniera del software con SQA. 2.2 Definicin y propsito del SQA. 2.3 Problemas que resuelve la SQA. 2.4 Calidad del software en el ciclo de vida del mismo. 2.5 Roles y responsabilidades de los equipos de desarrollo. 2.6 Habilidades y capacidades del personal del SQA. 2.7 Actividades del SQA. 2.8 Mtodos y herramientas. 3 Estndares de calidad aplicados al software. 3.1 ISO 3.2 SPICE 3.3 CMM 3.3.1 Definicin del modelo. 3.3.2 Nivel inicial. 3.3.3 Nivel repetido.

3.3.4 Nivel definido. 3.3.5 Nivel administrado. 3.3.6 Nivel optimizado. 4 Calidad enfocada al desarrollo de software. 4.1 Qu es la calidad del software. 4.2 Cmo obtener calidad de software (mtodos, metodologas, estndares). 4.3 Cmo controlar la calidad del software. 4.4 Costo de la calidad del software. 4.5 Nomenclatura y certificacin ISO 9001:2000. 4.6 La norma ISO/IEC 9126. 4.7 Anlisis de factores que determinan la calidad del software. 4.8 Anlisis del proceso del ciclo de vida del software. 4.9 Funciones de evaluacin del software.

1.1. Definicin de calidad


En el diccionario Webster, la calidad se define como "las caractersticas esenciales de algo, un carcter inherente o distinguir, el grado, o grado de excelencia. Otra definicin de la calidad, es el cliente. Con esta definicin, el cliente define la calidad en cuanto a si el producto o servicio cubre las necesidades del cliente. CALIDAD, en algunos aspectos, es una caracterstica difcil de alcanzar, no porque es difcil de lograr (una vez que decidimos lo que es), sino porque es difcil de describir. Los atributos de calidad se describen en los requisitos de las especificaciones del cliente. Por ejemplo, incluyen: la facilidad de uso, la relativa facilidad con la que un usuario se comunica con la aplicacin; la portabilidad, la capacidad de Reutilizacin, la capacidad de transferencia de componentes de software construidas en un software sistema a otro.

Concepto de la calidad No es absoluta Est sujeta a restricciones Trata de compromisos aceptables Es multidimensional Los criterios de calidad no son independientes

1.2 Definicin de Calidad de Sw


Calidad del software: es el desarrollo de software basado en estndares con la funcionalidad y rendimiento total que satisfacen los requerimientos del cliente. La calidad del software es el conjunto de cualidades que lo caracterizan y que determinan su utilidad y existencia. La calidad es sinnimo de eficiencia, flexibilidad, correccin, confiabilidad, mantenibilidad, portabilidad, usabilidad, seguridad e integridad. De acuerdo a la definicin del Instituto de Ingenieros Elctricos y Electrnicos (IEEE, Std. 610-1990): La calidad del software es el grado con el que un sistema, componente o proceso cumple los requerimientos especificados y las necesidades o expectativas del cliente o usuario. Factores que determinan la calidad del software Se pueden clasificar en dos grandes grupos (Pressman): Factores que pueden ser medidos directamente Factores que solo pueden ser medidos indirectamente Se centran en tres aspectos importantes de un producto software (McCall): Caractersticas operativas Capacidad de soportar los cambios Adaptabilidad a nuevos entornos Caractersticas operativas Correccin. Hace lo que quiero? Fiabilidad. Lo hace de forma fiable todo el tiempo? Eficiencia. Se ejecutar en mi hardware lo mejor que pueda? Seguridad (Integridad). Es seguro? Facilidad de uso. Est diseado para ser usado? Capacidad de soportar los cambios Facilidad de mantenimiento. Puedo corregirlo?

Flexibilidad. Puedo cambiarlo? Facilidad de prueba. Puedo probarlo? Adaptabilidad a nuevos entornos Portabilidad. Podr usarlo en otra mquina? Reusabilidad. Podr reutilizar alguna parte del software? Interoperabilidad. Podr hacerlo interactuar con otro sistema? Situacin actual La industria del software no ha acabado de salir de la fase artesanal Padecemos de prisa patolgica, que es consecuencia directa de: Desorganizacin Falta de planificacin Alta dependencia de los hroes Dedicamos nuestros esfuerzos de hoy a arreglar lo que se hizo mal ayer. El producto (software) es algo intangible y no limitado por las leyes fsicas. La disciplina, ingeniera del software, es relativamente reciente y muchos de sus conceptos importantes estn an inmaduros Carencia de un corpus de conocimiento aceptado mayoritariamente que sirva como fundamentos Escasa presin del mercado En una organizacin inmadura: Procesos software normalmente improvisados Si se han especificado, no se siguen rigurosamente Organizacin reactiva (resolver crisis inmediatas) Planes y presupuestos excedidos sistemticamente, al no estar basados en estimaciones realistas En una organizacin inmadura (cont.):

Si hay plazos rgidos, se sacrifican funcionalidad y calidad del producto para satisfacer el plan No existen bases objetivas para juzgar la calidad del producto Cuando los proyectos est fuera de plan, las revisiones o pruebas se recortan o eliminan El 90% de los proyectos no alcanzan los objetivos El 40% fracasan por completo El 29% no se entregan nunca Gastos de adaptacin tecnolgica al ao 2000

1.3 quien define la calidad


El cliente Debe entenderse que el cliente/usuario es quien define la calidad; debiendo la empresa complacer a los clientes, y no contentarse slo con librarlos de sus problemas inmediatos, sino ir ms all para entender a fondo sus necesidades presentes y futuras, a fin de sorprenderlos con productos y servicios que ni siquiera imaginaban. Este conocimiento ya no debe ser slo del dominio exclusivo de grupos especiales de una organizacin; sino que debe ser compartido y desarrollado por todos los empleados. Una empresa que define la calidad sin tomar en cuenta a los consumidores corre con el riesgo de producir bienes y servicios con escasa o nula demanda, ya sea porque los clientes tienen otras expectativas y necesidades, o bien porque los competidores estn generando bienes con un mayor valor agregado. Por tales motivos es esencial para las empresas practicar tanto la investigacin de mercado, como la inteligencia competitiva y el benchmarking. Conocidos los deseos y necesidades de los consumidores, estos deben ser traducidas en trminos cuantitativos y tangibles. Este proceso de traduccin no es sencillo y requiere de la integracin de conocimientos de mercadotecnia con ingeniera y administracin, para que las necesidades del consumidor y las expectativas que desarroll durante el proceso de seleccin del producto, puedan ser satisfechas completamente.

Entre la tcnica ms importante para tales fines tenemos el Despliegue de la Funcin de Calidad (QFD), el cual sirve para realizar todo este proceso de traduccin, ayudando a que la voz del cliente se despliegue a travs de toda la organizacin. (QFD traduce lo que el cliente quiere en lo que la organizacin produce) La funcin de despliegue de la calidad tiene como objetivo asegurar que se cumplan las expectativas del cliente desde el diseo del producto, durante su proceso de manufactura, y hasta que es utilizado por el consumidor.

1.4 importancia de la calidad


La calidad le permite a la empresa: Aumentar su productividad Tener competitividad Mantenerse en el mercado Mejorar su rentabilidad Obtener reconocimiento Por qu la calidad es importante para la empresa? La respuesta es calificada por Deming como la reaccin en cadena. Se grafica de la siguiente manera: Mejorar la calidad Disminuir los costos Mejorar la productividad Conquistar el mercado con mejor calidad y precio bajo Permanecer en el mercado Generar ms empleos

Por qu disminuyen los costos?

Porque hay menos desperdicios, menor reproceso, menos errores, menos retrasos, se aprovecha mejor el tiempo de mquinas, slo se emplean los insumos necesarios. Por qu mejora la productividad? Porque las horas hombre y las horas mquina no se malgastan, se aprovechan mejor. Los recursos renovables no se deterioran. Por qu se conquista el mercado? Porque se planifica y se produce en relacin con las preferencias y requerimientos del cliente, y se mejora continuamente en ese sentido.

Por qu se permanece en el negocio? Porque el cliente satisfecho volver a comprar y recomendar hacer los mismo a otros clientes. Por qu se genera ms empleos? Porque el mercado ha sido conquistado y est en aumento. El operario est orgulloso de su trabajo y la empresa crece.

1.5 La calidad y el mundo globalizado


Hoy en da las compaas de todo el mundo industrializado reconocen que la calidad del producto se traduce en ahorro de costos y en una mejora general. La industria de desarrollo de software no es la excepcin, por lo que en los ltimos aos se han realizado intensos trabajos para aplicar los conceptos de calidad en el mbito del software. Hablar de calidad del software implica la necesidad de contar con parmetros que permitan establecer los niveles mnimos que un producto de este tipo debe alcanzar para que se considere de calidad. El problema es que la mayora de las caractersticas que definen al software no se pueden cuantificar fcilmente; generalmente, se establecen de forma cualitativa, lo que dificulta su medicin, ya que se requiere establecer mtricas que permitan evaluar cuantitativamente cada caracterstica dependiendo del tipo de software que se pretende calificar.

En este sentido se han realizado muchos trabajos que establecen propuestas para el establecimiento de los factores cualitativos que afectan la calidad del software. Entre los principales estn los factores de calidad de McCall y aquellos propuestos por Hewlett-Packard (FURPS: Funcionality, Usability, Reliability; Performance, Supportability) . Adems se han hecho varios intentos por estandarizar los mecanismos de evaluacin de calidad del software. Entre los principales estn: la familia de normas ISO 9000 (en especial la ISO 9001 y la ISO 90032), el modelo de niveles madurez CMM (Capability Maturity Model), el estndar para el aseguramiento de planes de calidad del IEEE 730:1984, el plan general de garanta de calidad del Consejo Superior de Informtica

1.6 Calidad de vida


Es una hecho que el ser humano es un ser social. En sus dimensiones, fsica, mental, espiritual, econmica y emocional est presente este aspecto. La mayora de las personas entiende la dimensin social de manera fragmentaria, es decir, desde el punto de vista de otros; "Mi imagen ante los dems, determina mi imagen ante mi mismo" cuando la realidad es al revs. Inconscientemente, todos hacemos una diferencia entre lo que somos realmente a nivel individual y nuestro comportamiento a nivel profesional. Por eso vemos a diario: mdicos (promotores de la salud) enfermos, abogados (luchadores por la justicia) deshonestos, etc, como dice el dicho "nadie es profeta en su tierra". Casi nadie se excluye de este fenmeno, es raro aquel que mantiene una congruencia entre lo que es como individuo y su comportamiento hacia el pblico. En la mayora de los casos, todava separa su desarrollo individual del profesional y constantemente los contrapone. Esto se observa mucho actualmente en la cultura empresarial. Dos tercios del tiempo total de un da, la pasamos trabajando. Sin embargo, en ese tiempo, alguno de nosotros tratamos de aparecer:

"lo menos humanos posible" Por qu? "Est mal visto mostrar las emociones" "Aqu lo que importa es cunto dinero se le produce a la empresa al mes, no las personas" Pareciera que el concepto de "humanidad" y "productividad" estuvieran divorciados, por aquello de "Es de humanos cometer errores" El resultado es el mismo; dosis industriales de estrs y temor, desconfianza de unos hacia otros, y al final la calidad del trabajo es del 50% de su potencial, porque al fin y al cabo, para no cometer errores, cada quien hace solamente el mnimo para conservar su trabajo. Hasta ahora, con los cambios econmicos, polticos y sociales, el mundo empieza a tomar en cuenta que la calidad la hacen los seres humanos y no las mquinas. Se ha estado gestando una transicin de conciencia en lo anterior, debido al surgimiento de las nuevas teoras de calidad total.

En pases con una cultura avanzada como Japn son conscientes de la importancia de crear las condiciones para lograr aumentos de calidad, productividad y mejoras impresionantes en el ambiente laboral. Se dieron cuenta de que aunque implementaran procesos de cambio como el rediseo, calidad total, reingeniera, etc., no obtenan los resultados esperaban. Haba que "re humanizar" a las corporaciones. Atender y entenderse como personas; El resultado fue sorprendente. Lograron una mejora notable en el ambiente laboral, se propici un clima de mayor comunicacin y mejor interaccin... Empezaron a surgir equipos de trabajo unidos hacia las metas, pues al darle importancia a las personas, las diferencias y barreras interpersonales se desvanecen dando paso al compromiso de trabajo basado en la confianza mutua entre los empleados, as como en la confianza personal que cada uno experimenta como resultado del proceso vivencial intenso llevado a cabo. Mayor y mejor trabajo en equipo, resultando en un ambiente de trabajo ms positivo, clido y orientado a la cooperacin. Independencia, seguridad y autoconfianza de la gente para llevar a cabo sus responsabilidades y a concretar el desempeo de sus funciones.

Una implementacin ms rpida y efectiva de los cambios. Gente ms creativa y mayor contribucin de ideas, gente con sensibilidad personal para redescubrir todos sus potenciales internos.

1.7 calidad total


El concepto de la calidad total es una alusin a la mejora continua, con el objetivo de lograr la calidad ptima en la totalidad de las reas. Es un concepto que explica cmo ofrecer el mayor grado de satisfaccin a un cliente por medio de un bien o servicio. Para lograr la calidad total se debe mejorar continuamente en la totalidad del bien o servicio, consiguiendo con ello un bien o servicio de calidad total, medido por la satisfaccin total del cliente. Siempre se est en constante perfeccionamiento manteniendo el objetivo de calidad total, la cual es alcanzable en la medida en que la necesidad de los clientes se satisface. Una mayor satisfaccin del cliente crea una mayor percepcin de la calidad en el bien o servicio. En el momento que se satisface la necesidad de un cliente de forma total, se estar dando un producto de calidad total, entendiendo esto como el momento en que se satisface una necesidad anteriormente dada. Ishikawa, un autor reconocido de la gestin de la calidad, proporcion la siguiente definicin respecto a la Calidad Total: "Filosofa, cultura, estrategia o estilo de gerencia de una empresa segn la cual todas las personas en la misma, estudian, practican, participan y fomentan la mejora continua de la calidad" Como ejemplo, podemos referirnos a la necesidad que surge de comunicarnos usando el sentido del odo de manera especfica, en el momento en que se instala una lnea telefnica fija que permite satisfacer esa necesidad en especfico, se est dando un servicio de calidad total. Despus surgir la exigencia del cliente de que esa lnea telefnica sea mvil, y ser en el momento en que se adquiera un telfono celular cuando se est satisfaciendo totalmente esa necesidad de movilidad. A lo que mercadotecnia se refiere, la calidad est directamente relacionada con la satisfaccin del cliente, as es que se dice que a mayor satisfaccin del cliente, el producto o servicio prestado adquiere mayor grado de calidad.

UNIDAD 2 Aseguramiento de la calidad del software ( SQA ). 2.1 Relacin de la ingeniera del software con SQA
La mayor parte de nuevas empresas de software necesitan desarrollar sus productos y lanzarlos al Mercado rpidamente. Muchas de las veces, la presin de las metas lleva a muchos desarrolladores a tener dentro del cdigo o dentro de la funcionalidad de sus aplicaciones deficiencias tanto por errores funcionales, de especificaciones, de rendimiento, etc. y para cubrir estas deficiencias, tradicionalmente las empresas se han visto en la necesidad de contratar dentro de sus propias empresas equipos de personas para que detecten estos errores, los documenten y los enven a los desarrolladores para resolverlos. Esta formacin de equipos complementarios para pruebas, normalmente lleva a las empresas a adquirir equipamiento, y encontrar personal con las competencias necesarias para estas tareas. El Aseguramiento de la Calidad del Software es uno de los elementos de la ingeniera del software. Tiene como principal objetivo el dar confianza al usuario de un software que satisface los requisitos del cliente acordados con el Equipo de IOUP Desarrollo y que esta libre de defectos. El aseguramiento de la calidad del software es el conjunto de actividades planificadas y sistemticas necesarias para aportar la confianza en que el producto (software) satisfar los requisitos dados de calidad. El Aseguramiento de Calidad del Software se disea para cada aplicacin antes de comenzar a desarrollarla y no despus. Algunos prefieren decir garanta de calidad en vez de aseguramiento. o Garanta, puede confundir con garanta de productos. o Aseguramiento pretende dar confianza en que el producto tiene calidad. El aseguramiento de calidad del software est presente en: Mtodos y herramientas de anlisis, diseo, programacin y prueba. Inspecciones tcnicas formales en todos los pasos del proceso de desarrollo del software. Estrategias de prueba multiescala. Control de la documentacin del software y de los cambios realizados. Procedimientos para ajustarse a los estndares (y dejar claro cuando se est fuera de ellos) o Mecanismos de medida (mtricas) Registro de auditorias y realizacin de informes.

Actividades para el aseguramiento de calidad del software o Mtricas de software para el control del proyecto o Verificacin y validacin del software a lo largo del ciclo de vida Incluye las pruebas y los procesos de revisin e inspeccin. o La gestin de la configuracin del software. EN QUE CONSISTE: El desarrollo o mantenimiento de software, es un proceso que por su naturaleza abstracta y carente de visibilidad fsica, se puede volver complejo. El Aseguramiento de la Calidad del Software se realiza mediante diferentes actividades a lo largo del ciclo del desarrollo o mantenimiento. Se intercalan actividades y tareas especficas a lo largo del desarrollo o mantenimiento de una aplicacin, con la intencin de reducir errores. PROPOSITO: Este libro tiene por objetivo definir y organizar las responsabilidades al interior de la estructura organizacional de la gerencia SQA. Estas responsabilidades son necesarias para el correcto funcionamiento de la gerencia de manera de que los integrantes de la gerencia puedan ejecutar los procesos definidos en el documento de procesos de la gerencia SQA. Se debe tener en cuenta de que el objetivo final es producir los documentos SQAP/XX para lograr el asegurar la calidad del software, de acuerdo a la adherencia de los estndares de la fbrica. ALCANCE: Este documento pretende ser una gua para las relaciones jerrquicas que existen al interior de la gerencia SQA y no es modelo de proceso. Esta gua pretende que los integrantes de la gerencia conozcan el alcance de sus responsabilidades en los procesos de la gerencia.

2.2 Definicin y propsito del SQA


Aunque el aseguramiento de calidad se llega a considerar importante en el desarrollo de software, se trata con posterga miento y/o con insuficiencia de prioridad y recursos. De tal forma que los proyectos de software terminan fuera de calendario, con aplicaciones no completamente satisfactorias o en un fracaso rotundo. El aseguramiento de calidad (SQA tiene en s costos, riesgos y complicaciones. Un programa de aseguramiento de calidad muy complejo o demandante, puede al igual que un proyecto de software, fallar; por lo que se sugiere comenzar con un plan ms sencillo que pueda operar y poco a poco ir evolucionando. Uno de los primeros pasos es comprender el concepto de calidad en el software y su administracin, la cual contempla el poder establecer metas, actividades y productos entregables, as como, el proceso requerido para lograrlos y una estrategia de desarrollo. Muchas entidades de desarrollo desean producir software de alta calidad, pero qu es la calidad del software?

En trminos generales podemos definir la calidad del software como un atributo de los sistemas de software que tienen concordancia con los requisitos definidos explcita e implcitamente. Entre los principales objetivos del SQA son la confiabilidad, el desempeo, la funcionalidad y el rehso. Y entre los principales elementos para la aplicacin de pruebas estn la experiencia, guas y estndares, mtricas, revisiones, pruebas y el rehso. Las actividades del aseguramiento de la calidad del software contemplan aquellas tareas del proceso de desarrollo de software que buscan asegurar el diseo, desarrollo y distribucin de una aplicacin exitosa u otra forma de tecnologa de software. Ocurre durante todo el proceso de desarrollo, y cada persona involucrada en este proceso tiene un impacto en la calidad de la aplicacin resultante, es importante concentrarse que el aseguramiento de la calidad no es una actividad separada que puede obtenerse fuera de la organizacin.

2.3 Problemas que resuelve la SQA


El SQA, como actividad de proteccin en el proceso de desarrollo, comprende procedimientos para la aplicacin efectiva de mtodos y herramientas, revisiones tcnicas formales, tcnicas y estrategias de prueba, dispositivos paka-yoke, procedimientos de control de cambios, procedimientos de aseguramiento de ajuste a los estndares y mecanismos de medida e informacin. Los principales elementos del SQA son los siguientes 1. Definicin y experiencia 2. Guas y estndares 3. Mtricas 4. Revisiones a) Auto revisiones b) Revisiones informales c) Revisiones de paso d) Inspecciones 5. Pruebas a) Unitarias b) Mdulo c) Integracin d) Sistemas 6. Anlisis y Reporte o software del proyecto; revisar las actividades de ingeniera de software para verificar su ajuste al proceso definido; auditar los productos de software designados para verificar el ajuste con los definidos como parte del proceso; asegurar que las desviaciones del trabajo y los productos del software se documenten y se manejen de acuerdo con un procedimiento establecido y registrar lo que no se ajuste a los requisitos, e informar a los superiores.

Asimismo, coordina el control y administracin de cambios, aunado a recopilar y analizar las mtricas del software. Uno de los elementos importantes del proceso de SQA son las revisiones tcnicas, las cuales se constituyen en reuniones conducidas por personal tcnico para personal tcnico, donde se analizan detalladamente los productos generados, los eventos que surgen en forma imprevista, etc. Para esta etapa el uso de mtricas es esencial. Una rama importante de esta disciplina es el SQA estadstico, donde los datos histricos permiten una mejora continua tanto del producto generado en el proyecto, como de proyectos posteriores. Es importante aseverar que la ingeniera de pruebas es otro factor fundamental para el SQA. Muchas de las actividades a realizar deben estar incorporadas al proceso de desarrollo utilizado por la organizacin; cabe recalcar que primeramente la organizacin deber tener definido su proceso o procesos de desarrollo de software. Aunado a ello, si existen herramientas automatizadas que dan soporte al SQA para probar aplicaciones y componentes de stas, registrando y ejecutando casos de prueba, as como generndolos en forma automtica se logra conseguir una productividad alta.

2.4 Calidad del software en el ciclo de vida del mismo


Dado que la calidad del software est presente en todo su proceso de desarrollo, y siendo ms precisos, en su ciclo de vida; la presencia de estndares asociados directa e indirectamente son abundantes. Considerar la calidad del software como importante debe concretarse en entender inicialmente el concepto de calidad del software, crear el conjunto de actividades para su implantacin, llevar a cabo tales actividades en todo proyecto, utilizar mtricas para desarrollar estrategias que mejoren el proceso del software y, como consecuencia, mejoren la calidad del producto final. Una consecuencia indirecta y ms importante de no contar con la administracin de la calidad es el inventar el hilo negro cada vez que se inicia un proyecto de software, se hacen trabajos, particularmente a niveles abstractos, por ejemplo el no aplicar un mtodo o metodologa especfica. El uso de estndares ha permitido un entendimiento ms claro, o por lo menos, ms consistente y un primer acercamiento entre los actores participantes de la industria del software; y dicha tendencia tender a incrementarse drsticamente en los siguientes diez aos.

2.5 Roles y responsabilidades de los equipos de desarrollo


El responsable de la gerencia es el Gerente SQA. Es la mxima autoridad en la gerencia. El Gerente SQA, ser el responsable de la gerencia ante los cargos superiores de la fbrica tal como el Gerente General, y tambin ante las dems gerencias de la fbrica, por lo tanto es el responsable de que el producto resultante de los proyectos ejecutados por la fbrica, sea software de calidad. Como apoyo al trabajo del gerente, debe existir un subgerente. Este cargo es necesario para que funcione la gerencia. El subgerente reemplazar al gerente cuando ste lo solicite, o bien cuando lo estime necesario en circunstancias de fuerza mayor. Fuera de estos eventos, el subgerente apoyar al gerente directamente al recibir la responsabilidad de tareas asignadas al gerente, de manera que las actividades se repartan en forma equitativa. Es responsabilidad del gerente SQA formar un equipo y definir su estructura organizacional para que las actividades de la Gerencia SQA sean compatibles con los proyectos que desarrolle la fbrica. El requisito tanto para los cargos del gerente y subgerente es que las personas que los desempeen sean expertas en el uso de estndares para el desarrollo de software. No basta que conozcan los estndares relativos a SQA, sino de todas las gerencias. Dependiendo del o de los proyectos a realizar, el trabajo del Gerente y Subgerente, estar apoyado por Ingenieros de Especialidad, en un nmero relativo a la cantidad y envergadura de los proyectos que se ejecuten. Es deber del gerente y subgerente velar para que estos ingenieros estn capacitados profesionalmente, y es obligacin del gerente y subgerente, entrenarlos en el uso de estndares para que puedan desempear su labor. Los Ingenieros de Especialidad ejecutarn en detalle las tareas definidas en el documento de procesos de la gerencia SQA. A continuacin se presenta el organigrama de la gerencia, como se observa en el diagrama, el Gerente de SQA responde directamente al gerente general. El subgerente de SQA, a su vez, le responde al gerente, los ingenieros de especialidad reciben instrucciones del gerente, delegadas por medio del subgerente de SQA. Las decisiones al interior de la gerencia estarn a cargo del Gerente SQA. El Subgerente SQA ser su colaborador en todas las decisiones gerenciales.

Es obligacin del gerente SQA tomar las decisiones previa discusin con el Subgerente y en acuerdo con ste. Gerente General Gerente SQA Subgerente SQA Ingeniero de Especialidad 1 Ingeniero de Especialidad En caso de haber discrepancias stas deben solucionarse en concordancia con los objetivos de la gerencia, cualquier decisin que el Gerente haga sin aprobacin del subgerente se considerar una falta de protocolo. En casos extremos, el gerente, previo aviso al subgerente, podr tomar decisiones solitariamente; en este caso la responsabilidad recaer en forma total sobre el gerente. Es por esta razn que tanto el gerente como el subgerente deben ser profesionales de alta calidad y con un gran conocimiento en el uso de estndares de fabricacin de software. El objetivo operacional de la gerencia es producir todas las versiones del documento SQAP/XX. Los procesos y actividades necesarias para la realizacin de estos documentos se encuentra detallada en el documento Proceso de la Gerencia SQA v 0.3. El responsable de que se apliquen los procedimientos descritos en el proceso para la Gerencia SQAP es el gerente SQA. Todo documento que salga de la Gerencia deber estar revisado y validado por el Gerente y Subgerente SQA. Para producir los documentos SQAP/XX, se necesitan distintos documentos de entrada segn la fase que se est implementando. Es responsabilidad del Gerente SQA, definir y planificar los plazos de entrega de los documentos con las otras gerencias de la fbrica. Para materializar estos intercambios de documentos, delegar estas funciones con el Subgerente de SQA, el cual ejecutar estas acciones, pudiendo delegarlas por proyectos o por especializaciones en los ingenieros de especialidad. En cuanto a los Ingenieros de Especialidad, stos tendrn que ejecutar en detalle las actividades definidas por el Gerente y Subgerente en los plazos a convenir. Todos los trabajos de los Ingenieros de Especialidad deben ser verificados por la Gerencia y Subgerencia. Es tambin responsabilidad de la Gerencia definir las actividades y plazos para que los Ingenieros de Especialidad ejecuten las actividades. Tambin es responsabilidad del Gerente y Subgerente apoyar el trabajo de los Ingenieros de Especialidad, Monitorearlo y evaluarlo de manera de que se cumplan las actividades de acuerdo a los procedimientos definidos en los estndares de la Gerencia.

2.6 Habilidades y capacidades del Personal SQA


Detalle del proceso operacional Gerente SQA El gerente de SQA deber realizar estas actividades en cada una de las fases de la fbrica de software, detalladas en el proceso de la gerencia. Estimar tiempo necesario para planificacin, de acuerdo a antecedentes histricos y/o datos de referencia. Construir WBS general de la gerencia. Detallar estructura organizacional de la gerencia. Determinar necesidades de recursos. Definicin de herramientas, mtodos y tcnicas a ser usadas. Definir soporte admini strativo necesario. Generar carta Gant general. Caminatas y reuniones de miembros de la gerencia. Caminatas y reuniones con las dems gerencias. Responsabilidad total de la gerencia ante cualquier proyecto. Responsabilidad de cumplimiento de plazos.

Responsabilidad ante la gerencia general 2 Borradores de SQAP/XX. Delegar tareas y funciones adicionales a integrantes de la gerencia. Subgerencia SQA El subgerente de SQA realizar las actividades que se detallan a continuacin: Reemplazar al gerente cuando ste lo solicite, o bien cuando lo estime necesario en circunstancias de fuerza mayor. Apoyar a gerencia directamente, colaborando en las tareas asignadas al gerente. Ejecutar el intercambio de documentos con las otras gerencias de la fbrica. Apoyar, monitorear y evaluar el trabajo de los Ingenieros de Especialidad, velando por que se cumplan las actividades de acuerdo a los procedimientos definidos en los estndares de la Gerencia Caminatas y reuniones de miembros de la gerencia. Caminatas y reuniones con las dems gerencias. Responsabilidad de cumplimiento de plazos. Responsabilidad ante el gerente de SQA Colaborar en la confeccin de los documentos SQAP/XX. Delegar tareas y funciones adicionales a Ingenieros de Especialidad. Ingeniero especialidad SQA A.- Planificaciones Planificacin SQAP/UR Revisin del URD

Revisar consistencia y completitud de los requisitos del usuario. Enviar revisiones al usuario para chequear la correctitud de los requisitos. Registre Tiempos y Defectos en Formularios.

2.7 Actividades del SQA


Es conveniente destacar que hay dos tipos de acciones importantes: las prcticas y las acciones. Entre las prcticas que ayudan a desarrollar una aplicacin sin defectos destacan: a) La Administracin de requerimientos; b) La Administracin de las versiones de los diferentes elementos que forman el software (documentos, programas, etc.) c) Administracin y autorizacin de cambios a las especificaciones iniciales del cliente; d) Administracin del proyecto; e) Ciclo de desarrollo cclico o en espiral; f) Administracin de riesgos; A continuacin alguna de las acciones especficas para Asegurar la Calidad: a) Verificacin de que elaboraron los productos intermedios o entregables de cada actividad o tarea; b) Inspeccin de los productos elaborados por un colega en busca de defectos; c) Desarrollo de un prototipo; d) Pruebas de caja negra de funcionalidad, integracin y regresin; e) Pruebas de volumen y estrs. El Aseguramiento de la Calidad no nicamente depende de las acciones sealadas, sino que adems requiere como prerequisito: a. Compromiso de la alta direccin para desarrollar o mantener software con un proceso de calidad; b. Seleccin y adopcin de un proceso de desarrollo o mantenimiento de software; c. Capacitacin al personal tcnico en el proceso de desarrollo o mantenimiento de software; d.Capacitacin sobre calidad a todo el personal; e. Capacitacin al personal que desarrolle actividades de liderazgo o administracin; f. Desarrollo de un sistema de gestin de calidad, preferentemente basado en la ISO-15504; g. Compromiso en desarrollar capacidad y madurez de competencias como organizacin (se puede evaluar a travs de la ISO-15504). h. Capacitacin al personal en las herramientas tcnicas utilizadas durante el proyecto. Los elementos anteriores no garantizan el desarrollo o mantenimiento de una aplicacin libre de defectos; sin embargo, reducen notablemente el riesgo de que ocurran. El futuro del Aseguramiento de la Calidad del Software en Mxico, es bastante promisorio. Se est sensibilizando la industria nacional. La Secretara de Economa est integrando el Aseguramiento de la Calidad a su proceso de software.

Quiz, lo mas evidente es la certificacin ISO-9000:2000 al sistema de gestin de la calidad del proceso de desarrollo y mantenimiento de software; sin embargo, el verdadero objetivo es desarrollar y mantener las aplicaciones, satisfaciendo los requisitos de los usuarios, superando sus expectativas y entregando las aplicaciones en fecha y libre de defectos.

2.8 Mtodos y herramientas


Gestin de la calidad del software (Software Quality Management) Gestin de la calidad (ISO 9000) o Conjunto de actividades de la funcin general de la direccin que determina la calidad, los objetivos y las responsabilidades, y se implanta por medios tales como la planificacin de la calidad y la mejora de la calidad, en el marco del sistema de calidad. Poltica de calidad (ISO 9000) o Directrices y objetivos generales de una organizacin, relativos a la calidad, tal y como se expresan formalmente por la alta direccin. La gestin de la calidad se aplica normalmente a nivel de empresa. Tambin puede haber una gestin de calidad dentro de la gestin de cada proyecto. Control de la calidad del software (Software Quality Control) Son las tcnicas y actividades de carcter operativo, utilizadas para satisfacer los requisitos relativos a la calidad, centradas en dos objetivos fundamentales: o Mantener bajo control un proceso. o Eliminar las causas de los defectos en las diferentes fases del ciclo de vida. En general son las actividades para evaluar la calidad de los productos desarrollados. Sistema de calidad Sistema de calidad o Estructura organizativa, procedimientos, procesos y recursos necesarios para implantar la gestin de calidad. El sistema de calidad se debe adecuar a los objetivos de calidad de la empresa. La direccin de la empresa es la responsable de fijar la poltica de calidad y las decisiones relativas a iniciar, desarrollar, implantar y actualizar el sistema de calidad.

Un sistema de calidad consta de varias partes o Documentacin Manual de calidad. Es el documento principal para establecer e implantar un sistema de calidad. Puede haber manuales a nivel de empresa., departamento, producto, especficos (compras, proyectos.) o Parte fsica: locales, herramientas, computadoras, etc. o Aspectos humanos: Formacin de personal. Creacin y coordinacin de equipos de trabajo. Normativas o ISO ISO 9000: Gestin y aseguramiento de calidad (conceptos y directrices generales) Recomendaciones externas para aseguramiento de la calidad (ISO 9001, ISO 9002, ISO 9003) Recomendaciones internas para aseguramiento de la calidad (ISO 9004) Certificacin de la calidad (Quality Certification) Un sistema de certificacin de calidad permite una valoracin independiente que debe demostrar que la organizacin es capaz de desarrollar productos y servicios de calidad. Los pilares bsicos de la certificacin de calidad son tres: o U na metodologa adecuada. o Un medio de valoracin de la metodologa o La metodologa utilizada y el medio de valoracin de la metodologa deben estar reconocidos ampliamente por la industria.

Unidad 3 Estndares de calidad aplicados al software Introduccin. Como hemos visto a lo largo de esta materia la calidad hace referencia a un conjunto de caractersticas explicitas e implcitas que hace de un producto en este caso un software cumpla con esas propiedades para que satisfaga las necesidades que el cliente requiera, pero no solamente es el desarrollo del software sino todo el proceso de aseguramiento que se aplique con el fin de elaborarlo de la mejor calidad posible llevando esto al seguimiento y utilizacin de estndares ya establecidos para lograr ese objetivo que es muy difcil de lograr. Estndares de calidad aplicada al software Entremos en detalle hoy en da la calidad es importante para poder satisfacer a los clientes que pidan un sistema de calidad y cada vez hay mucho mayor competitividad en este mundo de la informtica lo cual hace que cada uno de los desarrolladores busque opciones del como poder desarrollar software de calidad y en ello se han creado desde hace mucho tiempo atrs los estndares que hoy en da rigen en torno a este mundo para el desarrollo correcto de aplicaciones de calidad cumpliendo con sus normas y parmetros en aras de conseguir la ansiada calidad, y en este trabajo hablaremos especficamente de 3 estndares aplicados al desarrollo de software y esos son: ISO SPICE CMM

3.1 ISO
La Organizacin Internacional para la Estandarizacin, mejor conocida como ISO, es la agencia especializada en estandarizacin, fue establecida oficialmente el 23 de febrero de 1947 con el objeto de promover la estandarizacin internacional, de tal manera que se facilitara el intercambio internacional de bienes y servicios casi como el desarrollo cientfico y tecnolgico. Actualmente abarca los estndares nacionales de 91 pases y en los Estados Unidos, la representacin se llama The American National Standards Institute (ANSI).ISO comprende alrededor de 180 Comits tcnicos. Cada uno es responsable de una o ms reas de especializacin, abarcan desde las abreviaturas de los sistemas de medicin hasta la especificacin de protocolos de transferencia, pasando por especificacin de tornillos, lentes, contenedores martimos, medios magnticos, hojas de papel, cables, elementos estructurales, pruebas de seguridad, simbologa, medio ambiente, etc., y por supuesto software. Que son la serie de estndares ISO?????Las series de ISO 9000 son un grupo de 5 individualidades, pero relacionadas entre s, siendo estndares internacionales de administracin de la calidad y aseguramiento de la misma. Algunos de los beneficios que se alcanzan al instrumentar estas series en la empresa, son: La

posibilidad de darle calidad al producto o servicio. Evitar costos de inspecciones finales, costos de garantas y procesos. Puede reducirse el nmero de auditoras de los clientes a los procesos de operacin. Mayor aceptacin por parte de los clientes y acogida en los mercados tanto nacionales como internacionales. Hablemos de nuestro estndar el ISO 9000-3En estos das & quot; alidad & quot; es la palabra que ocupa gran relevancia ya que los consumidores esperan productos de calidad para satisfacer sus necesidades, soluciones a sus problemas y obtener beneficios de la misma. Sin embargo como es de suponerse dentro de la industria del software, la & quot; calidad & quot; no ha sido el fuerte dentro de la rama. Las tres fallas predominantes que existen dentro de la industria del software son los altos costos en cuanto a depuracin de un sistema, tiempo perdido en la correccin del sistema y la falla de conocer todas las necesidades del usuario, trayendo como consecuencia la perdida de clientes ya que se dejan insatisfechos con los pobres resultados de la inversin hecha por el cliente. Hoy en da la industria del software est implementando modelos para mejorar sus operaciones y corregir sus fallas y la expectativa es colocar el desarrollo de software bajo un control estadstico para verificar cules son las actividades repetitivas que continuamente se tienen que programar, y que producen exactamente el mismo resultado. Uno de estos modelos base son las normas estndares de calidad ISO 9000 que en especial han creado un inters masivo para la industria de software a causa de su aceptacin a nivel internacional de muchas componas importantes. ISO 9000-3 Generalidades Ttulo: Normas de gestin de la calidad y garanta de la calidad. Parte 3: Orientaciones para la aplicacin de la Norma ISO 9001 al desarrollo, suministro y mantenimiento del software. Naturaleza: Internacional. mbito: Desarrollo de Sistemas de Informacin, Procesos del ciclo de vida, Calidad del software. Campo de aplicacin y alcance: Esta parte de la ISO 9000 contiene orientaciones que facilitan la aplicacin de la Norma ISO 9001 a las organizaciones dedicadas al desarrollo, suministro y mantenimiento del software. Se pretende con ella dar orientaciones en relacin con situaciones en las que un contrato entre dos partes exija la demostracin de la capacidad de determinado proveedor para desarrollar, suministrar y mantener productos de software. Estructura Sistema de la calidad. Responsabilidad de la gestin. Sistema de la calidad. Auditoras internas al sistema de la calidad. Acciones correctivas. Sistema de la calidad . General.

Anlisis del contrato Especificacin de los requisitos del comprador Planificacin del desarrollo Planificacin de la calidad Proyecto e implementacin Pruebas y validaciones Aceptacin Reproduccin, entrega e instalacin Mantenimiento Sistema de la calidad - actividades de apoyo (independientes de cualquier fase) Gestin de la configuracin Control de documentos Registros de la calidad Medicin Reglas, prcticas y convenciones Herramientas y tcnicas Aprovisionamento Productos de software incluidos

Secciones de la norma ISO 9000-3 Responsabilidades de la direccin Sistemas de calidad Revisin del contrato Control de documentos y datos Productos provistos por el comprador Identificacin y trazabilidad del producto Inspeccin y pruebas Equipos de Inspeccin, medicin y pruebas Estado de Inspeccin y pruebas Control de producto no conforme Acciones correctivas y preventivas Manejo, almacenaje, empaque, preservacin y embargue Control de registros de calidad Auditoras internas de calidad Capacitacin Tcnicas estadsticas

3.2 Estndar SPICE


SPICE es una importante iniciativa internacional para apoyar el desarrollo de una Norma Internacional para la Evaluacin de Procesos de Software. El proyecto tiene tres objetivos principales: Para desarrollar un proyecto de trabajo para un estndar para la evaluacin de procesos de software. Para llevar a cabo los ensayos de la industria de la norma emergente. Para promover la transferencia de tecnologa de la evaluacin de procesos de software en la industria mundial del software a nivel mundial. Por qu una norma internacional? Los mtodos de Evaluacin de Procesos de Software vienen ms en general a utilizar en la gestin de desarrollo de software, adquisicin y utilizacin, frente a la evidencia sustancial del xito de estos mtodos en el impulso de mejoras en la calidad y la productividad. El impulso principal para el uso de la evaluacin no ha venido de la corriente principal de la industria de desarrollo de software, sino ms bien a los adquirentes de las grandes crticas de software sistemas intensivos - en particular en los sectores de defensa y telecomunicaciones. El creciente nmero de mtodos de evaluacin disponibles, y la creciente utilizacin de la tcnica comercial en reas sensibles, fueron los factores clave que impulsaron el desarrollo y la aceptacin de una propuesta para desarrollar un estndar internacional para la evaluacin de procesos de software. Una Norma Internacional sobre Evaluacin de Procesos de Software ofrecer los siguientes beneficios a la industria y los usuarios del software: Beneficios para la Industria del Software Los proveedores de software se someter a un solo esquema de proceso de evaluacin. Las organizaciones de desarrollo de software tendr una herramienta para iniciar y sostener un proceso continuo de mejora. Los directores de programas tendrn un medio para garantizar que su desarrollo de software est en consonancia con, y apoya, las necesidades comerciales de la organizacin Beneficios para los compradores de software de: Los compradores podrn determinar la capacidad de los proveedores de software y evaluar el riesgo implicado en la seleccin de un proveedor sobre otro. Todas las industrias dependen ahora de software para la ventaja competitiva. El crecimiento slo se conseguir si cumple con la industria e incluso supera las normas internacionales y mundos mejores prcticas. Al contribuir al desarrollo de esta nueva norma, los pases participantes y organizaciones se asegurar de que estn a la vanguardia de esta nueva tecnologa y dispuesto a cumplir la norma cuando llegue a la situacin de una Norma Internacional.

3.3 Estndar CMM


CMM es el mximo estndar en ingeniera de software Innovacin, velocidad y satisfaccin del cliente se han convertido en la consigna de las organizaciones que quieren sobrevivir y crecer en el cada vez ms competitivo mundo moderno. Como las tecnologas de informacin resultan fundamentales para lograrlas, el software se ha constituido en la piedra angular sobre la cual se soportan la gran mayora de los nuevos modelos de empresa. La creciente necesidad, sumada a dcadas de promesas incumplidas en cuanto a calidad, costos y cumplimiento en el desarrollo de software, condujo al Instituto de Ingeniera de Software de los Estados Unidos a desarrollar el modelo CMM (CapabilityMaturityModel - Modelo de Madurez de Capacidad).El CMM est compuesto de 316 prcticas claves agrupadas en 18 reas y distribuidas en una jerarqua de cinco niveles, a travs de los cuales una organizacin progresivamente alcanza mayor calidad, productividad y menores costos en el desarrollo de software. Los niveles progresan desde el 1, que representa el estado catico, hasta el nivel 5, que representa el estado de optimizacin continua.

Niveles del Estndar CMM Nivel 1. Inicial. En este nivel, los procesos y mtodos de ingeniera no se encuentran definidos. Por esa razn, los proyectos son adelantados de manera incoherente, incontrolada y poco profesional. Nivel 2. Repetible. Se establecen algunos procesos y mtodos de ingeniera a nivel de proyectos, an incipientes.

Nivel 3. Definido. Los procesos, actividades y mtodos relacionados con la ingeniera y administracin de proyectos se encuentran documentados, estandarizados y construidos alrededor de un marco integrado para toda la compaa. Nivel 4. Administrado. La compaa opera bajo Control Estadstico de Procesos, tanto en procesos como en productos. Nivel 5. Optimizacin. En este nivel, las organizaciones se encuentran en un proceso de mejoramiento continuo. Todos los procesos y tcnicas modernas estn en pie, lo mismo que la administracin cuantitativa.

Unidad 4 Calidad enfocada al desarrollo de software

4.1 Que Es La Calidad Del Software?


. La calidad del software es el conjunto de cualidades que lo caracterizan y que determinan su utilidad y existencia. La calidad es sinnimo de eficiencia, flexibilidad, correccin, confiabilidad, mantenibilidad, portabilidad, usabilidad, seguridad e integridad. La calidad del software es medible y vara de un sistema a otro o de un programa a otro. Pero esto puede resultar muy costoso si se detectan problemas derivados de imperfecciones en el diseo, por lo que es imprescindible tener en cuenta tanto la obtencin de la calidad como su control durante todas las etapas del ciclo de vida del software.

4.2 Como obtener Calidad de Software (mtodos, metodologas, estndares)


La obtencin de un software con calidad implica la utilizacin de metodologas o procedimientos estndares para el anlisis, diseo, programacin y prueba del software que permitan uniformar la filosofa de trabajo, en aras de lograr una mayor confiabilidad, mantenibilidad y facilidad de prueba, a la vez que eleven la productividad, tanto para la labor de desarrollo como para el control de la calidad del software. La poltica establecida debe estar sustentada sobre tres principios bsicos: tecnolgico, administrativo y ergonmico. El principio tecnolgico define las tcnicas a utilizar en el proceso de desarrollo del software.

El principio administrativo contempla las funciones de planificacin y control del desarrollo del software, as como la organizacin del ambiente o centro de ingeniera de software. El principio ergonmico define la interfaz entre el usuario y el ambiente automatizado. La adopcin de una buena poltica contribuye en gran medida a lograr la calidad del software, pero no la asegura. Para el aseguramiento de la calidad es necesario su control o evaluacin. 4.3-

4.3 Como Controlar la Calidad del Software


Definir los parmetros, indicadores o criterios de medicin. Una vez seleccionados los ndices de calidad, se debe establecer el proceso de control, que requiere los siguientes pasos: Definir el software que va a ser controlado: clasificacin por tipo, esfera de aplicacin, complejidad, etc., de acuerdo con los estndares establecidos para el desarrollo del software. Seleccionar una medida que pueda ser aplicada al objeto de control. Para cada clase de software es necesario definir los indicadores y sus magnitudes. Crear o determinar los mtodos de valoracin de los indicadores: mtodos manuales como cuestionarios o encuestas estndares para la medicin de criterios periciales y herramientas automatizadas para medir los criterios de clculo. Definir las regulaciones organizativas para realizar el control: quines participan en el control de la calidad, cundo se realiza, qu documentos deben ser revisados y elaborados, etc.

4.4 Costo de la Calidad del Software


El Costo de la Calidad del Software CoQ, es una tcnica introducida por Juran en 1996 con el fin de proporcionar a los directores de proyectos instrumentos que les permitan justificar la promocin de mejoras en el proceso de desarrollo. Costos de Prevencin: planificacin de la calidad, revisiones tcnicas formales, equipo de pruebas, formacin. Costos de Evaluacin: inspeccin de cada proceso y entre procesos, pruebas. Costos de Fallos Internos: antes de la entrega. (Reparacin, revisin, anlisis) Costos de Fallos Externos: despus de la entrega. (Resolucin, soporte, reemplazo)

4.5 Nomenclatura y Certificacin ISO 9001 2000


La norma ISO 9001, es un mtodo de trabajo, que se considera tan bueno, Que es el mejor para mejorar la calidad y satisfaccin del consumidor. La versin actual, es del ao 2000 ISO 9001:2000, que ha sido adoptada como modelo a seguir para obtener la certificacin de calidad por todas las empresas. Estos principios bsicos de la gestin de la calidad, son reglas de carcter social encaminadas a mejorar la marcha y funcionamiento de una organizacin mediante la mejora de sus relaciones internas. La certificacin en la norma 9001, es un documento con validad legal que acredita y que certifica, que usted cumple las ms estrictas normas de calidad, en aras a una mejora de la satisfaccin del cliente. Hay dos tipos de certificaciones, de empresa y de producto. Estas ltimas, solo tienen en cuenta la calidad tcnica del producto. Y no la satisfaccin del cliente, de la que se ocupara la certificacin de empresa. Si una empresa est certificada, todos sus productos lo estn.

4.6 La Norma Iso Iec 9126


ISO/IEC 9126-1: Tecnologa de dotacin lgica calidad del producto ISO/IEC 9126 (1991) ha sido substituido recientemente por un nuevo estndar de cuatro partes que ha reconciliado los dos acercamientos a la utilidad. ISO/IEC 9126-1 describe las mismas seis categoras de la calidad del software que son relevantes durante el desarrollo de producto: funcionalidad, confiabilidad, utilidad, eficacia, capacidad de mantenimiento y portabilidad. Calidad del software cuando el producto es funcionando. El objetivo total es alcanzar la calidad funcionando, para el usuario final y el usuario de la ayuda. La funcionalidad, la confiabilidad, la eficacia y la utilidad determinan la calidad funcionando para un usuario final en un contexto particular. El usuario de la ayuda se refiere a la calidad funcionando de tareas del mantenimiento y de la portabilidad.

4.7 Anlisis Factores Determinan Calidad Software


Los factores que determinan la calidad se pueden clasificar en 2 grandes grupos: 1- Factores que se pueden medir directamente (Ej. errores / unidad de tiempo) 2- Factores que slo pueden ser medidos indirectamente (Ej. facilidad de mantenimiento) En ambos casos, se puede obtener una medida. Pero estas medidas deben ser comparadas con alguna referencia o indicador para poder llegar a una indicacin de la realidad Mc Call clasifica los factores de calidad en: 1- Caractersticas Operacionales Correccin: Es el grado en que un programa satisface sus especificaciones y consigue los objetivos pedidos por el cliente. Este factor tiene una pregunta asociada: Hace lo que quiero? Confiabilidad: Es el grado en que se puede esperar que un programa lleve a cabo sus funciones esperadas con la precisin requerida. La pregunta asociada a este factor sera: Lo hace de forma fiable todo el tiempo? Eficiencia: La cantidad de recursos de computadoras y de cdigo requeridos por un programa para llevar a cabo sus funciones. La pregunta asociada a este factor sera: Se ejecutar en mi hardware lo mejor que pueda?

2- Capacidad de Soportar Cambios Facilidad de Mantenimiento: Es el esfuerzo requerido para localizar y arreglar un error en un programa. La pregunta asociada a este factor sera: Puedo corregirlo? Flexibilidad: Es el esfuerzo requerido para modificar un programa operativo. La pregunta asociada a este factor sera: Puedo cambiarlo? Facilidad de Prueba: Es el esfuerzo requerido para probar un programa de forma que se asegure que realiza su funcin requerida. La pregunta asociada a este factor sera: Puedo probarlo?

3- Adaptabilidad de nuevos entornos Portabilidad: Es el esfuerzo requerido para transferir el programa desde un hardware y/o un entorno de sistema de software a otro. Este factor tiene una pregunta asociada: Podr usarlo en otra mquina?

Reusabilidad: Es el grado en que un programa (o partes de este) se pueden rehusar en otras aplicaciones. Este factor tiene una pregunta asociada: Podr rehusar alguna parte del software? Facilidad de Interoperacin: Es el esfuerzo requerido para acoplar un sistema a otro. Este factor tiene una pregunta asociada: Podr hacerlo interactuar con otro sistema?

2- Mtricas de Calidad Es difcil desarrollar medidas directas de los anteriores factores de calidad. Por eso, se definen un conjunto de mtricas para cada uno de los factores de calidad. Generalmente estas mtricas definidas por MacCall solo pueden ser medidas en forma subjetiva. Las mtricas pueden estar listas de comprobaciones para obtener el grado de los atributos especficos del software. El esquema de graduacin propuesto por McCall va en una escala de 0 (bajo) a 10 (alto). En este esquema se usan las siguientes mtricas: Facilidad de Auditoria La facilidad con que se puede comprobar la conformidad con los estndares Exactitud

La precisin de los clculos y el control Normalizacin de las Comunicaciones El grado en que se usan el ancho de banda, los protocolos y las interfaces estndar Completitud

El grado en que se ha conseguido la total implementacin de las funciones requeridas Concisin

Lo compacto que es el programa en trminos de lneas de cdigo Consistencia

El uso de un diseo uniforme de tcnicas de documentacin a los largo del proyecto de desarrollo de software Estandarizacin en los datos

El uso de estructuras de datos de tipos estndar a lo largo de todo el programa Tolerancia de Errores El dao que se produce cuando el programa encuentra un error Eficiencia en la Ejecucin El rendimiento en tiempo de ejecucin de un programa Facilidad de expansin El grado en que se puede ampliar el diseo arquitectnico de datos o procedural Generalidad

La amplitud de aplicacin potencial de los componentes del programa Independencia del Hardware El grado en que el software es independiente del hardware en que opera Instrumentacin

El grado en que el programa muestra su propio funcionamiento e identifica errores que aparecen Modularidad

La independencia funcional de los componentes del programa Facilidad de Operacin La facilidad de operacin de un programa Seguridad

La disponibilidad de mecanismos que controlen o protejan los programas o datos Auto-Documentacin

El grado en que el cdigo fuente proporciona documentacin significativa

4.8 Analisis Proceso Ciclo Vida Software


Etapas en el ciclo. Veamos, a grandes rasgos, una pequea descripcin de etapas con que podemos contar a lo largo del ciclo de vida del software. Expresin de necesidades

Esta etapa tiene como objetivo la consecucin de un primer documento en que queden reflejados los requerimientos y funcionalidades que ofrecer al usuario del sistema a desarrollar (qu, y no cmo, se va a desarrollar). Dado que normalmente se trata de necesidades del cliente para el que se crear la aplicacin, el documento resultante suele tener como origen una serie de entrevistas cliente-proveedor situadas en el contexto de una relacin comercial, siendo que debe ser comprendido por ambas partes (puede incluso tomarse como base para el propio acuerdo comercial). Especificaciones Ahora se trata de formalizar los requerimientos; el documento obtenido en la etapa anterior se tomar como punto de partida para esta fase. Su contenido es an insuficiente y lleno de imprecisiones que ser necesario completar y depurar. Por medio de esta etapa se obtendr un nuevo documento que definir con ms precisin el sistema requerido por el cliente (el empleo de los casos de uso, use cases, de Jacobson es una muy buena eleccin para llevar a cabo la especificacin del sistema). Del sistema a la primera; sern necesarias sucesivas versiones del documento en que irn quedando reflejada la evolucin de las necesidades del cliente (por una parte no siempre sabe en los primeros contactos todo lo que quiere realmente, y por otra parte pueden surgir cambios externos que supongan requerimientos nuevos o modificaciones de los ya contemplados). Anlisis Es necesario determinar que elementos intervienen en el sistema a desarrollar, as como su estructura, relaciones, evolucin en el tiempo, detalle de sus funcionalidades, que van a dar una descripcin clara de qu sistema vamos a construir, qu funcionalidades va a aportar y qu comportamiento va a tener. Para ello se enfocar el sistema desde tres puntos de vista relacionados pero diferentes: Funcional. Esttico. Dinmico.

Diseo Tras la etapa anterior ya se tiene claro que debe hacer el sistema, ahora tenemos que determinar como va a hacerlo (cmo debe ser construido el sistema?; aqu se definirn en detalle entidades y relaciones de las bases de datos, se pasar de

casos de uso esenciales a su definicin como casos expandidos reales, se seleccionar el lenguaje ms adecuado, el Sistema Gestor de Bases de Datos a utilizar en su caso, libreras, configuraciones hardware, redes, etc.). Implementacin Llegado este punto se empieza a codificar algoritmos y estructuras de datos, definidos en las etapas anteriores, en el correspondiente lenguaje de programacin y/o para un determinado sistema gestor de bases de datos. Pruebas El objetivo de estas pruebas es garantizar que el sistema ha sido desarrollado correctamente, sin errores de diseo y/o programacin. Es conveniente que sean planteadas al menos tanto a nivel de cada mdulo (aislado del resto), como de integracin del sistema (segn sea la naturaleza del proyecto en cuestin se podrn tener en cuenta pruebas adicionales, p.ej. de rendimiento). Validacin Esta etapa tiene como objetivo la verificacin de que el sistema desarrollado cumple con los requisitos expresados inicialmente por el cliente y que han dado lugar al presente proyecto (para esta fase tambin es interesante contar con los use cases, generados a travs de las correspondientes fases previas, que servirn de gua para la verificacin de que el sistema cumple con lo descrito por estos Mantenimiento y evolucin Finalmente la aplicacin resultante se encuentra ya en fase de produccin (en funcionamiento para el cliente, cumpliendo ya los objetivos para los que ha sido creada). A partir de este momento se entra en la etapa de mantenimiento, que supondr ya pequeas operaciones tanto de correccin como de mejora de la aplicacin (p.ej. mejora del rendimiento), as como otras de mayor importancia, fruto de la propia evolucin (p.ej. nuevas opciones para el usuario debidas a nuevas operaciones contempladas para el producto).

4.9 Funciones Evaluacin del Software


Las tcnicas de evaluacin esttica se aplican en el mismo orden en que se van generando los distintos productos del desarrollo siguiendo una filosofa top-down. Esto es, la evaluacin esttica acompaa a las actividades de desarrollo, a diferencia de la evaluacin dinmica que nicamente puede dar comienzo cuando finaliza la actividad de codificacin, siguiendo as una estrategia botomup. La evaluacin esttica es el nico modo disponible de evaluacin de artefactos para las primeras fases del proceso de desarrollo (anlisis y diseo), cuando no existe cdigo. As pues, la importancia de las tcnicas estticas de evaluacin a la hora de controlar el nivel de calidad con el que se est llevando a cabo el desarrollo es crucial, la estimacin de faltas que an quedan en un producto utilizando datos de las revisiones permite dos acciones que ayudan a prevenir futuros defectos en el proyecto: Seguir revisando el producto para disminuir el nmero de faltas remanentes. Tomar medidas correctivas del desarrollo si las estimaciones indican que se est llevando a cabo un trabajo pobre. Es decir, si las estimaciones de faltas.

Bibliografa
http://translate.googleusercontent.com/translate_c?hl=es&sl=en&u=http://www.sqi. gu.ed

http://cronicasdel.wordpress.com/2011/06/04/unidad-4-calidad-enfocada-aldesarollo-del-software/

http://www.buenastareas.com/ensayos/Calidad-Del-Software/1209577.html#

Das könnte Ihnen auch gefallen