Unidad III Lineamientos Metodologicos SQA

32
Tomado de: http://64.233.161.104/search? q=cache:eAK9BdIxjSkJ:148.204.45.136:9000/labsiybd/artmin/ pdrtornes/linemientos/Lineam~1.htm+ %22aseguramiento+de+la+calidad+del+software %22&hl=es&lr=&strip=0 Lineamientos Metodológicos Generales para el Aseguramiento de la Calidad del Software (SQA) Autor: Dr. Agustín F. Gutiérrez Tornés Introducción El Aseguramiento de la Calidad del Software (SQA) es un proceso donde se establecen las políticas, los objetivos, las normas, los procedimientos, las actividades, los planes y los sistemas orientados a asegurar la calidad del software a través de todo su ciclo de vida, es decir, desde el inicio del proyecto hasta la retirada del software de su uso operacional. En el presente artículo se enuncian los lineamientos metodológicos generales para el SQA, a partir de los cuales cada organización productora puede elaborar los suyos propios, atendiendo a sus características particulares. Áreas con las que se relaciona el SQA El SQA se relaciona con diversas áreas de la actividad informática, pero principalmente con: 1. La ingeniería del software. Se refiere fundamentalmente a los lineamientos metodológicos sobre:

Transcript of Unidad III Lineamientos Metodologicos SQA

Page 1: Unidad III Lineamientos Metodologicos SQA

Tomado de: http://64.233.161.104/search?q=cache:eAK9BdIxjSkJ:148.204.45.136:9000/labsiybd/artmin/pdrtornes/linemientos/Lineam~1.htm+%22aseguramiento+de+la+calidad+del+software%22&hl=es&lr=&strip=0

Lineamientos Metodológicos Generales para el Aseguramiento de la Calidad del Software (SQA)Autor: Dr. Agustín F. Gutiérrez Tornés

Introducción

El Aseguramiento de la Calidad del Software (SQA) es un proceso donde se establecen las políticas, los objetivos, las normas, los procedimientos, las actividades, los planes y los sistemas orientados a asegurar la calidad del software a través de todo su ciclo de vida, es decir, desde el inicio del proyecto hasta la retirada del software de su uso operacional.

En el presente artículo se enuncian los lineamientos metodológicos generales para el SQA, a partir de los cuales cada organización productora puede elaborar los suyos propios, atendiendo a sus características particulares.

Áreas con las que se relaciona el SQA

El SQA se relaciona con diversas áreas de la actividad informática, pero principalmente con:

1. La ingeniería del software. Se refiere fundamentalmente a los lineamientos metodológicos sobre:

Selección del modelo de referencia del ciclo de vida del software. Clases de metodología.

Actividades de los procesos de desarrollo del software.

Administración de proyectos de software.

Métodos, técnicas y herramientas.

2. La documentación del software. Se refiere fundamentalmente a los lineamientos metodológicos sobre:

Administración de la documentación. Tipos de documentos.

Page 2: Unidad III Lineamientos Metodologicos SQA

Estructura general y formato de los documentos. Estructura, formato y contenido específico de los documentos que conforman la

documentación del software.

EL SQA es esencial para el éxito de cualquier proyecto de software. El SQA requiere el compromiso de tiempo, de esfuerzo y de dinero. Es responsabilidad de la administración asegurar la distribución efectiva de estos recursos, reconociendo la importancia del SQA para el éxito del producto de software.

Toda organización de producción de software que respete su profesionalidad debe tener instrumentado un mecanismo de SQA. La capacidad de una organización de asegurar la calidad del software a través de todo el ciclo de vida es la medida de la madurez en la ingeniería del software.

Este enfoque es aplicable a todos los tipos de organizaciones. Los principios de la administración del SQA son los mismos cualquiera sea su tamaño y complejidad. Para las pequeñas, gran parte del detalle dado en este capítulo puede no aplicarse, pero los principios siguen siendo los mismos. En organizaciones pequeñas puede que las funciones de SQA sean responsabilidad de una sola persona.

   

Page 3: Unidad III Lineamientos Metodologicos SQA

Figura 1. Relaciones del SQA con otras áreas.

EL SQA es un patrón sistemático y planificado de todas las acciones a seguir para proporcionar la confianza adecuada de que un producto de software o un elemento componente se realiza conforme a los requerimientos técnicos establecidos.

Papel de los administradores

La maximización del rendimiento de la inversión de la organización en la producción de software se logra si la administración asegura la calidad durante todo el proceso de elaboración.

Gran parte del rechazo de la administración para implementar las tareas propias del SQA radica en el desconocimiento de la relación que existe entre productividad, calidad y comercialización. Lograr los niveles adecuados para estos factores implica un gasto en nuevas tareas de SQA que harán posible el perfeccionamiento del proceso de producción del software.

Lograr que la administración se convenza de la necesidad del SQA, se sensibilice y desee realmente asegurar la calidad del software es algo sumamente importante. Toda la información y la estadística del mundo no podrán convencer a la gerencia para que abra sus bolsillos a menos que comprenda la repercusión negativa que implica el no lograr niveles adecuados de productividad y calidad del software, por ejemplo, en cuanto a pérdidas de la competitividad en materia de comercialización.

Si los administradores desean lograr y mantener la rentabilidad de su organización tienen que reconocer la importancia vital del SQA y de su incidencia en la productividad para lograr un producto de software de calidad a un costo razonable.

Los administradores deben comprometer su organización al esfuerzo del SQA. Deben apoyar ese esfuerzo para integrarlo en el proceso de desarrollo del software, garantizando un clima de organización orientado al trabajo del SQA mediante el establecimiento de la política, de los objetivos, del sistema (organización, responsabilidades, recursos, procedimientos y normas de SQA) y de los planes correspondientes.

La efectividad del papel administrativo descansa sobre tres elementos:

a. El compromiso de la administración para el SQA. Este compromiso requiere el reconocimiento de que la calidad del software es importante y que tiene que ser asegurada y mantenida.

b. El apoyo de la administración al personal comprometido con el SQA. Este apoyo consiste en ofrecer la guía administrativa y los incentivos necesarios para que el personal pueda producir el software con la calidad requerida y la provisión de los recursos necesarios para facilitar el trabajo del SQA.

Page 4: Unidad III Lineamientos Metodologicos SQA

c. La evidencia del compromiso y el apoyo administrativo consiste en:

el establecimiento de la política de SQA mediante directivas publicadas; el establecimiento del sistema de SQA:

o la organización de la actividad de SQA en la organización, o la asignación de las responsabilidades del personal,

o el establecimiento de las normas de SQA identificadas para todos los aspectos del SQA,

o el establecimiento de los procedimientos de SQA mediante directivas publicadas y de los procedimientos para asegurar y auditar al sistema de calidad y ofrecer los medios necesarios para ello,

o el aseguramiento de la asignación de los recursos adecuados para el SQA;

el establecimiento de la planificación del SQA emprendida como una parte integral del proceso de desarrollo del software;

el establecimiento de un proceso de revisión continúa emprendido para garantizar el cumplimiento de la política, de los objetivos, del sistema y de los planes de SQA.

Política de SQA

La dirección administrativa de la organización debe tomar todas las medidas necesarias para asegurar que su política de SQA sea entendida, implantada y actualizada.

Para que el SQA sea efectivo la política deberá apoyar los siguientes elementos básicos:

a. El SQA debe cubrir todo el ciclo de vida del software. La calidad del software debe ser asegurada desde las primeras etapas de un proyecto y tiene que ser mantenida a través de todo el proceso de desarrollo.

b. El SQA debe ser administrado. La dirección y el control se requieren para alcanzar y mantener la calidad del software. Los administradores y los especialistas en SQA deben preparar los planes detallados correspondientes.

c. El proceso de SQA debe estar integrado en todo el proceso de desarrollo del software. El proceso de SQA debe ser definido a lo largo de los diferentes procesos del desarrollo del software.

d. Las normas de SQA deben estar identificadas y deben ser utilizadas. Dondequiera que sea posible, deben ser adoptadas las normas internacionales o nacionales existentes. En otro caso, la organización deberá desarrollar sus propias normas.

Page 5: Unidad III Lineamientos Metodologicos SQA

e. Las técnicas y las herramientas de apoyo al SQA deben estar especificadas. Dondequiera que sea económicamente factible deben ser utilizadas las técnicas y las herramientas que ayudan al aseguramiento de la calidad del software y de la documentación.

El más alto nivel de dirección administrativa debe preparar una declaración formal de la política. Cada afectado por la política deberá ser informado de ello y deberá comprenderla. La política formalizada, bien escrita y publicada establece la disciplina requerida para la administración efectiva del SQA en la organización.

La política de SQA es llevada a cabo mediante el establecimiento de los objetivos del SQA los cuales deben ser metas realistas para el mejoramiento de la calidad del software y deben ser planteados con claridad.

No obstante, por sí mismos una política y los objetivos de SQA no son suficientes para poder efectuar todas las acciones necesarias aunque estén formalmente establecidos. Sólo representan una declaración oficial de la posición de la dirección. La política y los objetivos de SQA deben ser apoyados con directrices documentadas, planes, procedimientos y normas de calidad, cuya formulación es responsabilidad de la máxima dirección.

Con el fin de cumplir los objetivos de calidad, toda organización debe controlar los factores técnicos, administrativos y humanos que influyan en la calidad del software para lograr la reducción, eliminación y lo que es más importante, la prevención de los defectos y fallos del producto de software.

Para cumplir los objetivos establecidos por la política de calidad del software la organización productora deberá establecer un sistema de SQA.

Sistema de SQA

La dirección ejecutiva de la organización productora de software deberá desarrollar, establecer y aplicar un sistema de SQA como vía para llevar a cabo la política y los objetivos trazados y para asegurar que sean cumplidos los requerimientos de calidad del software implícito y explícito preestablecido por el productor y por el cliente respectivamente.

Un sistema de SQA efectivo debe diseñarse de modo tal que se satisfagan las necesidades y expectativas de los clientes sin perjudicar los intereses de la organización productora de lograr y mantener la calidad deseada con un mínimo de costos; el cumplimiento de este aspecto de la calidad está relacionado con la utilización planificada y eficiente de los recursos de que dispone.

El sistema de SQA debe estructurarse y adaptarse a las características particulares de cada organización y debe tener en cuenta los elementos apropiados que se establecen en este capítulo. Un sistema de SQA bien estructurado es un valioso recurso de la administración

Page 6: Unidad III Lineamientos Metodologicos SQA

para la optimización y el control de la calidad en lo que respecta a la consideración otorgada a los riesgos, costos y beneficios.

El sistema de SQA debe funcionar de forma tal que proporcione la confianza en que resulte eficaz y de fácil comprensión, que los productos de software satisfagan realmente las expectativas de los clientes y en que se enfatiza en la prevención de los problemas y no en su detección después que ocurren.

Calidad de un producto de software

La calidad de un producto de software se entiende como el grado o nivel de concordancia con los requerimientos funcionales y de rendimiento explícitamente establecidos, con los estándares de desarrollo explícitamente documentados y con las características implícitas que se espera de todo software desarrollado profesionalmente.

Esta definición sirve para enfatizar tres aspectos importantes:

Los requerimientos del software son los fundamentos desde los que se mide la calidad. La falta de concordancia con los requerimientos es una falta de calidad.

Los estándares definen un conjunto de criterios de desarrollo que guían la forma en que se aplica la ingeniería del software. Si no se siguen esos criterios, casi siempre ocurrirá una deficiencia en la calidad.

Existe un conjunto de requerimientos implícitos que a menudo no se mencionan (Ej., la necesidad de un buen mantenimiento). Si el software se ajusta a los requerimientos explícitos Para instrumentar la política de SQA de la organización se deben establecer los procedimientos de SQA. El sistema de SQA debe organizarse de manera que se pueda ejercer un control adecuado y continuo sobre todas las actividades relacionadas con el SQA. El sistema de SQA implantado por la dirección administrativa de la organización productora de software deberá insistir en las medidas preventivas para evitar los problemas de calidad sin sacrificar su capacidad para enfrentar y corregir los fallos que puedan ocurrir.

Con el propósito de poner en marcha la política y los objetivos generales de SQA, deberán desarrollarse, ponerse por escrito y mantenerse actualizados los procedimientos operativos que coordinan las diferentes actividades de SQA durante al proceso de desarrollo del software.

Todos los procedimientos redactados deberán ser simples, comprensibles y entendibles e indicar los métodos a utilizar y los criterios a satisfacer.

Los procedimientos de SQA deben definir las secuencias lógicas de:

a. La planificación del SQA. La administración deberá establecer un procedimiento para la planificación del SQA en cada proyecto de software.

b. El SQA durante el proceso de desarrollo del software. La administración deberá establecer un procedimiento para el aseguramiento de la calidad del software y su

Page 7: Unidad III Lineamientos Metodologicos SQA

documentación que serán sometidos a un proceso de evaluación formal. La elaboración del software y de su documentación deberá realizarse de acuerdo a las normas de ingeniería, de documentación y de SQA establecidas. El procedimiento debe contemplar el establecimiento y la utilización de las técnicas y herramientas de software seleccionadas para el SQA.

c. La evaluación del software. La administración deberá establecer un procedimiento de evaluación formal de todos lo elementos del software y de su documentación (documentación del desarrollo, del producto y de administración del proyecto). La evaluación debe hacerse contra las normas de ingeniería, las normas de documentación y las normas de SQA establecidas.

d. La aceptación del software. La administración deberá establecer un procedimiento para la aceptación de los productos de software o de sus elementos componentes, así como también de su documentación, sometidos a evaluación de la calidad y que son productos de salida de cada etapa de desarrollo del software.

e. La realización de auditorias informáticas. La administración deberá establecer los procesos para la realización de las auditorias informáticas.

Los procedimientos no forman parte del "Manual del aseguramiento de la calidad del software" de la organización del productor del software, pero deben ser mencionados o citados en el mismo a título de referencia para que puedan ser consultados.

Normas de SQA

Dentro de una organización deben ser establecidas normas para la administración del SQA, así como sobre el SQA de los diferentes procesos del desarrollo del software.

Estas normas determinan cómo deben ser llevadas a cabo las tareas del SQA y proporcionan el criterio para juzgar la calidad del software y de su documentación. Tanto las normas de SQA que hayan sido desarrolladas específicamente para los requerimientos propios de una organización como las adoptadas de una fuente existente proporcionan lineamientos de carácter general que son aplicables a muchas situaciones diferentes. Para adaptar los lineamientos generales a proyectos específicos es necesario el criterio administrativo.

La aplicación de las normas de SQA en proyectos específicos de una organización posibilitará a los administradores de proyecto determinar lo siguiente:

a. las técnicas y las herramientas de apoyo al SQA que deben ser utilizadas; b. el nivel de calidad que debe ser alcanzado;

c. el momento en que la calidad del software debe ser evaluada;

d. el momento en que las actividades de SQA deben haber concluido;

Page 8: Unidad III Lineamientos Metodologicos SQA

e. las personas que deben participar en las tareas de SQA.

De esta manera, los lineamientos generales que proporcionan las normas de SQA sirven de guía y no de especificaciones rígidas.

En las organizaciones donde el desarrollo del software esté regido mediante la firma de contratos, además de especificarse las normas de SQA a las cuales se deben ajustar el desarrollo y la evaluación del software para su aceptación, en este se debe especificar:

a. el nivel de calidad requerido para cada elemento de software y su documentación;b. los procedimientos para el SQA.

Costos del SQA

Cada organización productora de software es responsable de la medición de sus costos y de justificar su existencia con los beneficios que serán obtenidos. La prevención y la detección de los defectos constituyen una "mina de oro" para la reducción de los costos.

Los errores del software que se detectan tarde en el proceso de desarrollo son mucho más caros de eliminar que aquellos que son descubiertos en los primeros momentos del desarrollo. Resulta muy caro eliminar errores del análisis y del diseño durante la programación y las pruebas.

Los errores más costosos son los "persistentes", o sea, los que se mantienen ocultos y no son detectados hasta que el software se hace operacional.

En la actualidad es común la identificación y la medición de los costos del SQA, ya que para cumplir los objetivos de calidad se destina específicamente una parte de los costos totales de la organización. En la práctica, la combinación de los elementos seleccionados de esta parte de los costos totales puede ofrecer la información necesaria para controlar los trabajos hacia el logro de la calidad del software.

Se deberán determinar tanto los costos de las actividades dirigidas al logro de la calidad adecuada como los costos resultantes de un control inadecuado.

Se deben definir las responsabilidades y los medios para la identificación y medición de los costos del SQA vinculados a:

a. la prevención de los defectos de la calidad del software; b. la evaluación de la calidad del software (pruebas, revisiones, etc.);

c. los fallos internos o externos;

d. el aseguramiento externo de la calidad del software;

Page 9: Unidad III Lineamientos Metodologicos SQA

e. el sistema de SQA y al establecimiento del cuadro de mando del SQA que permite evaluar la idoneidad y la eficiencia del Sistema.

La influencia del SQA sobre las pérdidas y las ganancias de una organización productora de software puede ser muy significativa, sobre todo a largo plazo. Por tanto, es esencial calcular la efectividad de un sistema de SQA en términos económicos.

El cálculo y la evaluación de los costos asociados con todos los elementos y objetivos de SQA deberán ser considerados en todo momento con vistas a reducir al mínimo las pérdidas ocasionadas por un insuficiente o inadecuado SQA.

Los costos del SQA deberán informarse regularmente a la dirección administrativa de la organización productora de software, deben ser controlados por ésta y además deben relacionarse con otras medidas económicas, tales como los ingresos por concepto de "ventas", con el propósito de:

a. evaluar la utilidad y eficiencia del sistema de SQA; b. identificar las áreas que requieren atención;

c. establecer los objetivos y los costos del SQA.

Con el objetivo de proporcionarle a la dirección administrativa de la organización productora una vía para evaluar la efectividad del sistema de SQA y para establecer las bases para los programas internos de su perfeccionamiento se debe elaborar un informe de sus costos.

Los tipos de costos relacionados con el SQA pueden dividirse en:

a. costos operativos del SQA; b. costos del aseguramiento externo de la calidad del software.

Los costos operativos del SQA son aquellos en que incurre una organización cuando quiere alcanzar y asegurar niveles determinados de calidad del software.

Entre ellos se incluyen:

a. Costos de la prevención y de la evaluación (inversiones): Costos del intento de reducir o eliminar defectos. - Costos de la prevención: Costos de las medidas para evitar fallos, tales como los

costos de la planificación del SQA, los costos de la capacitación, los costos del sistema de SQA, etc.

- Costos de la evaluación: Costos de la aplicación de las técnicas de verificación y validación del software (V&VS) durante todos los procesos del desarrollo del proyecto de software, tales como los costos de las pruebas, los costos de las revisiones y comprobaciones para valorar si se mantiene la calidad especificada.

Page 10: Unidad III Lineamientos Metodologicos SQA

b. Costos por fallos (o pérdidas): Costos de la corrección de los errores detectados. Estos costos nunca podrán ser eliminados completamente, pero sí pueden ser sustancialmente reducidos. - Costos por fallos internos: Costos resultantes de la imposibilidad de un producto de

software para cumplir los requerimientos de calidad antes de su entrega, por ejemplo, los costos por repetición de las pruebas, por la reelaboración a partir de una etapa dada (reanálisis, rediseño, reprogramación, etc.), las pérdidas de trabajo y de tiempo de máquina malgastado debido a que el producto obtenido como resultado del trabajo se desecha por ser inservible.

- Costos por fallos externos: Costos resultantes de la imposibilidad de un producto de software para cumplir los requerimientos de calidad después de su entrega, por ejemplo, los costos del mantenimiento, los gastos de garantía y devoluciones, los descuentos, los costos de la investigación de los defectos (detección de los errores, o sea, la determinación de su existencia y localización).

Costos del aseguramiento externo de la calidad del software

Los costos del aseguramiento externo son aquellos relativos a la demostración y comprobación requeridas por los clientes como evidencia objetiva del cumplimiento de los requisitos preestablecidos, incluyendo las disposiciones particulares y adicionales del SQA, los procedimientos, las valoraciones y las pruebas de aceptación, por ejemplo, el costo de la pruebas específicas de la seguridad realizado por órganos de prueba independientes.

Comercialización del software

En el contexto de las actividades que se intercalan en una organización productora de software, la comercialización es especialmente importante para:

a. determinar y definir las necesidades y expectativas del cliente, además de los requerimientos del producto de software;

b. definir los conceptos (incluyendo los datos para su fundamentación) con el fin de lograr un producto de acorde con las especificaciones definidas y a un costo óptimo.

Las necesidades de los clientes se identifican mediante un estudio de mercado o se expresan mediante un contrato. Por lo tanto, para que los productos de software tengan la calidad deseada y respondan a los compromisos adoptados por la organización del productor es menester precisar bien las necesidades y cumplir con eficiencia los compromisos adoptados (relativos a las especificaciones, los recursos, las cantidades, los plazos y los costos).

El sistema de SQA deberá prever la preparación para la comercialización del producto de software nuevo o reproyectado. Esta revisión, de acuerdo con el tipo de producto, puede abarcar los siguientes aspectos:

a. disponibilidad y adecuación de la documentación de soporte del software;

Page 11: Unidad III Lineamientos Metodologicos SQA

b. existencia de una adecuada organización de la distribución de las versiones a los clientes;

c. adiestramiento del personal de mantenimiento del software; d. pruebas del producto de software en el mercado;

e. certificación de la realización satisfactoria de las pruebas de aceptación;

f. inspección física de la configuración original del software que será reproducida.

Los requerimientos mínimos para la comercialización del software son: que el producto de software haya sido elaborado mediante una metodología moderna de

desarrollo; esté avalado por un Certificado de Calidad expedido por una entidad independiente pero

falla en alcanzar los requerimientos implícitos, la calidad del software queda incompleta.

Al organizar un sistema de SQA eficiente y bien estructurado, deberá insistirse en la identificación de los problemas reales o potenciales de la calidad del software y en la aplicación de medidas remédiales o preventivas.

Organización de la actividad de SQA

Las organizaciones de producción de software deben tener en su estructura organizativa funcional un área (dirección, departamento, sección o grupo) de SQA, la cual debe ser independiente del área de desarrollo de software dada la necesidad de la imparcialidad de sus actividades, y de la especialización de su personal en las técnicas de SQA y además debe responder directamente al más alto nivel de dirección de la organización. En el organigrama jerárquico y funcional de la organización del productor del software, debe estar indicada la organización y el funcionamiento de la actividad de SQA.

El área de SQA debe estar conformada por un administrador del SQA y personal especializado en verificación y validación del software, auditoria informática, soporte de la ingeniería del software y administración de la configuración del software.

El personal del área de SQA puede funcionar de dos formas diferentes:

a. de forma consultiva, al ser asociados a proyectos de software para asesorar al personal de desarrollo.

b. de forma activa, realizando tanto la función de evaluadores como la de aseguradores de la calidad del software proporcionando a los desarrolladores normas, prácticas, técnicas y herramientas de apoyo al SQA.

Todo el personal del área de SQA tiene la función principal de asegurar la calidad a lo largo de todo el ciclo de vida del software pero desde diferentes puntos de vista.

Page 12: Unidad III Lineamientos Metodologicos SQA

Responsabilidades del personal en el SQA

Para establecer las responsabilidades de todo el personal que contribuye, directa o indirectamente al SQA se deben tomar las siguientes acciones: a. definición explícita de las responsabilidades generales y específicas en el SQA; b. establecimiento claro de la responsabilidad y autoridad delegada a cada persona que

contribuye a asegurar la calidad del software para cumplir los objetivos trazados con la eficiencia debida;

c. definición de las medidas de coordinación y control de las interfaces entre los diferentes procesos del desarrollo del software;

d. delegación opcional de la responsabilidad para el aseguramiento interno y externo de la calidad del software cuando se considere necesario, teniendo en cuenta que las personas designadas deben ser independientes de las actividades sobre las que actúan.

No todo el personal de la organización tiene las mismas responsabilidades en el SQA:

a. el personal de dirección administrativa es responsable de:

- el establecimiento de la política y de los objetivos de SQA,

- el establecimiento y el mantenimiento del sistema de SQA,

- la planificación del SQA;

b. el personal de desarrollo de software (analistas, diseñadores y programadores de software) es responsable de preparar la documentación del desarrollo que describe los productos o sus tareas, de proporcionar la documentación de soporte del software y de desarrollar el software con la calidad requerida según lo establecido;

c. el personal de desarrollo de la documentación del software (especialistas en publicidad, escritores técnicos profesionales, correctores de estilo, etc.) es responsable de conformar con la calidad requerida la documentación de entrenamiento del usuario, de referencia y de información y promoción del software;

d. el personal técnico de SQA (especialistas en SQA y auditores informáticos) es responsable de evaluar y auditar la calidad del software durante el proceso de desarrollo a través de las actividades de:

- verificación y validación del software,

- administración de la configuración del software,

- auditoria informática.

Page 13: Unidad III Lineamientos Metodologicos SQA

El equipo de SQA sirve como representación de los clientes dentro de la organización del productor de software, es decir, el personal de SQA no debe ver el software solamente desde el punto de vista del productor, sino también desde el punto de vista de los clientes.

Recursos para el SQA

La dirección administrativa de la organización productora de software debe asegurar los recursos suficientes y apropiados fundamentales para la puesta en marcha de su política de SQA y para la consecución de sus objetivos.

Los recursos requeridos para el SQA son principalmente: el personal; las facilidades y el financiamiento.

Con el objetivo de invertir los recursos de forma oportuna y planificada, la dirección administrativa de la organización productora de software debe:

a. determinar el nivel de competencia, experiencia y adiestramiento necesario para asegurar la capacidad del personal;

b. identificar los problemas de calidad que afectan la comercialización y los objetivos relativos a los nuevos productos de software.

Los planes relacionados con estos recursos deberán armonizar con los objetivos globales de la organización.

Personal

Tanto el trabajo técnico como el administrativo dependen de las personas. Las normas ni las metodologías pueden sustituir el empleo de un personal que reúna las características apropiadas. Algunos entrenamientos en técnicas de SQA son útiles, pero sin embargo, el requerimiento principal es lograr disponer tanto de un buen personal para el desarrollo del software y de la documentación como para la evaluación de su calidad. El proceso de SQA tiene asignadas responsabilidades específicas para el personal con conocimiento de administración, ingeniería de software, documentación y evaluación y auditoria.

Es importante que el personal esté entrenado completamente en las técnicas de SQA y que cada cual entienda y cumpla completamente su responsabilidad en el SQA.

Facilidades

Es importante considerar la provisión de las facilidades de software y de hardware adecuadas y apropiadas para las tareas de SQA. Las técnicas y las herramientas ya sean

Page 14: Unidad III Lineamientos Metodologicos SQA

automatizadas o no, deben estar disponibles para el desarrollo del software y para la evaluación de su calidad.

La administración, atendiendo a las diferentes líneas de desarrollo, debe establecer y facilitar el uso de métodos y herramientas estándares de ayuda al SQA, tales como las técnicas de verificación (revisiones), las técnicas de validación (análisis estático, análisis dinámico, ejecución simbólica, pruebas), los analizadores estáticos y los analizadores dinámicos.

Financiamiento

Es importante que los costos del SQA se identifiquen como elementos dentro del presupuesto informático, ya que ellos constituyen una parte muy significativa del costo de producción del software. El costo del proceso de SQA tiene que reflejarse en el presupuesto de la organización. El financiamiento es necesario para apoyar al personal de SQA y a las facilidades que utilizan, Para ayudar a establecer un presupuesto razonable, durante la planificación deberán ser solicitados los servicios de los especialistas en SQA u otras personas familiarizadas con este tipo de actividad.

Procedimientos de SQA

del productor; esté acompañado de un juego completo de documentación elaborada conforme a los

estándares internacionales de documentación del software; supere y tenga bien definidas las ventajas sobre otros productos de aceptación en el

mercado; esté acompañado de un DEMO que posibilite su evaluación y promoción, el cual debe

cumplir con las características específicas que establezca la organización comercializadora.

Capacitación en SQA

Los responsables de la capacitación sobre el SQA deben identificar las necesidades de capacitación del personal de la organización. Por tanto, deben:

a. asegurar la capacitación en SQA en cada función de la organización; b. asegurar la capacitación en SQA a todo el personal (actual y nuevo) con funciones de

SQA;

Page 15: Unidad III Lineamientos Metodologicos SQA

c. asegurar los cursos, seminarios y conferencias sobre SQA internos y externos necesarios a todo el personal.

Al personal de dirección se le debe entrenar para la comprensión del sistema de SQA y para la utilización de todos los medios y técnicas necesarias para su total participación en la operación del mismo, así como en los criterios existentes para evaluar la eficiencia del sistema. El Anexo proporciona un cuestionario que contiene una lista de comprobación de la capacitación en SQA.

Auditorias del SQA

Los diferentes tipos de auditoria son las auditorias internas al sistema de SQA y las auditorias de la configuración del software.

Para cada tipo de auditoria se debe precisar:

a. su objeto; b. un procedimiento que describa los principios organizativos y de conducción de la

auditoria, así como su frecuencia en función de las necesidades;

c. el personal requerido;

d. las funciones y los responsables encargados de examinar las conclusiones de la auditoria, de poner en práctica las posibles conclusiones y acciones correctivas pertinentes y de asegurar el seguimiento de las medidas anunciadas.

Las auditorias internas al sistema de SQA se ocupan de verificar si las actividades del SQA cumplen con las disposiciones establecidas y determinar la efectividad del mismo.

Las auditorias de la configuración del software se ocupan de verificar la configuración del software. Cuando la actividad de administración de la configuración del software está formalmente establecida en la organización, las auditorias de la configuración del software se llevan a cabo por un equipo independiente del equipo de verificación - validación del software y complementan a las revisiones técnicas formales al comprobar características que no tienen en cuenta las revisiones. Pero, en los casos en que dicha actividad no está formalmente establecida, las revisiones técnicas formales incluyen las cuestiones de las auditorias de la configuración del software.

Las auditorias de la configuración del software son:

- auditoria interna de los procesos. Se ocupa de verificar la consistencia del producto de salida de cada etapa del desarrollo del software contra el producto de entrada:

- auditoria funcional. Se ocupa de verificar que han sido cumplidos todos los requerimientos establecidos en la "Especificación del Análisis" antes de que el producto

Page 16: Unidad III Lineamientos Metodologicos SQA

final (software y su documentación) sea liberado del proceso de desarrollo para su entrega al cliente o al usuario.

- auditoria física. Se ocupa de verificar que los elementos componentes de la configuración del software (software y documentación) sean internamente consistentes, estén completos y estén listos antes de que el producto final sea liberado del proceso de desarrollo para su entrega al cliente. Por ejemplo:

a. La "Especificación del Análisis¨ contra el "Informe del Estudio de Factibilidad";

b. La "Descripción Preliminar del Diseño" contra la "Especificación del Análisis";

c. El "Plan de la Prueba de Aceptación" contra la "Especificación del Análisis";

d. La "Descripción detallada del diseño" contra la "Descripción preliminar del diseño".

e. El código contra la "Descripción detallada del diseño".

Manual del aseguramiento de la calidad del software

El "Manual del aseguramiento de la calidad del software" constituye el principal documento utilizado para elaborar e implantar un sistema de SQA. Su objetivo fundamental es ofrecer una descripción adecuada del sistema de SQA y servir al mismo tiempo como referencia permanente para su aplicación y mantenimiento.

Este documento deberá ser establecido por la dirección administrativa esencialmente para el uso interno de la organización y la divulgación externa del mismo será una decisión propia de la organización.

El "Manual del aseguramiento de la calidad del software" es independiente del tamaño de la organización y de la complejidad del software que se produzca.

Es aplicable a todo tipo de organización, desde las más pequeñas hasta las más grandes con múltiples niveles de dependencias. En estas últimas puede existir un manual general y uno en cada nivel de dirección.

De acuerdo con las características particulares de cada organización, las secciones del manual pueden simplificarse, completarse o ignorarse en la medida en que resulten inaplicables o menos importantes.

La existencia de este documento debe ser reconocida por toda persona de la organización. Toda persona que tenga que ver con un procedimiento o una disposición descrita en el manual debe tener acceso al mismo, por lo que al manual se le debe adjuntar una relación del personal autorizado a consultarlo.

Page 17: Unidad III Lineamientos Metodologicos SQA

Este documento debe ser mantenible para que pueda permanecer actualizado, por lo cual debe ser claro, conciso y sencillo. Además debe ser fácil de usar, por lo cual debe ser operativo y fácil de comprender.

Planificación del SQA

La planificación del SQA comprende la elaboración de cada uno de los siguientes planes para cada proyecto de software:

a. Plan del aseguramiento de la calidad del software. Tiene el propósito de planificar las actividades del SQA para el proyecto de software.

b. Plan de la verificación y validación. Tiene el propósito de establecer los métodos que se utilizarán y los resultados que se obtendrán en la ejecución a través del ciclo de vida del software de las tareas de verificación y validación de cada requerimiento de calidad del software definido en la "Especificación del Análisis".

c. Plan de la administración de la configuración del software. Tienen el propósito de planificar las tareas de administración de la configuración del software.

Conclusiones

A manera de conclusión se presenta un formato que contiene un cuestionario que lo ayudara a determinar en qué estado se encuentra la empresa en relación al SQA. Este cuestionario contiene varias listas de comprobación sencillas para permitirle a los auditores y a la dirección administrativa evaluar las exigencias del SQA, con el objetivo de que la alta dirección fije la atención y se informe de las cuestiones y problemas de la administración del SQA.

Posibilitará encontrar respuestas a múltiples cuestionamientos, como son:

Existe en la organización la necesidad de mejorar el SQA? Es realmente la administración del SQA una cuestión de trascendencia para la

organización? Si es así, por qué?

Page 18: Unidad III Lineamientos Metodologicos SQA

Etc.

Tras una evidencia de que el SQA pueda no existir o ser insuficiente en la organización productora de software responderá a preguntas cómo: Qué es lo que hay? Qué hay que hacer realmente? Etc.

Bibliografía

ISO 2382: 1976 - 1992. Information technology - Vocabulary - Part 1 - Part 25 ANSI/IEEE Std 729-1983. Standard glossary of software engineering terminology ANSI/IEEE Std 730-1984. Software quality assurance plans ANSI/IEEE Std 983-1986. Software quality assurance planning ANSI/IEEE Std 1012-1986. Software verification and validation plans ISO 9004: 1987. Quality management and quality system elements - Guidelines ISO/IEC CTC1/SC7 Nº 801-1990. Software life cycle process - Working

draft ISO/IEC 9126:1991. Information technology - Software product evaluation -

Quality characteristics and guidelines for their use ISO 9000: 1987. Quality management and quality assurance standards - Guidelines

for selection and use ISO 9001: 1987. Quality systems - Model for quality assurance in

design/development, production, installation and servicing ISO 9004: 1987. Quality management and quality system elements - Guidelines ISO 9000-3: 1991. Quality management and quality assurance standards - Part 3:

Guidelines for the application of ISO 9001 to the development, supply and maintenance of software

ESA PSS-05-0 ISSUE 2. Feb, 1991. European Space Agency. Software Engineering Standards

ISO/IEC JTC1/SC7/WG8 Nº 963-992. International Standard Working Draft - Information technology - Software quality assurance - Integral life cycle processes

ISO/IEC JTC1/SC7 Nº 1054-993. Evaluation and metrics terminology - Draft Version 0

Organizing and Controlling Software Production. DATAPRO RESEARCH CORPORATION. USA, November, 1982

Software Product Quality Assurance. DATAPRO RESEARCH CORPORATION. USA, April, 1983

Measurement of Software Quality. DATAPRO RESEARCH CORPORATION. USA, July, 1985.

       

Page 19: Unidad III Lineamientos Metodologicos SQA

           

Tabla 1

CUESTIONARIO DE EVALUACIÓN DE LA ADMINISTRACIÓN DEL SQA

Organización: ____________________________ ___________________________

                                                     Nombre                                         Siglas

Administración del SQA

Cuestionario de Evaluación

1. Política y objetivos de SQA

1.1) Han sido tomadas decisiones para: Si No

Page 20: Unidad III Lineamientos Metodologicos SQA

a) asegurar la calidad del software de forma adecuada?

b) Establecer un sistema de SQA?

c) Aplicar las normas de SQA?

d) Establecer los procedimientos para SQA?

e) Proporcionar los recursos disponibles para el SQA?

f) Utilizar técnicas y herramientas de apoyo al SQA?

g) Asignar personal con responsabilidades para: establecer el sistema de SQA? 

Controlar el SQA?

1.2) Ha sido establecida formalmente la política de SQA?

1.3) Han sido trazados objetivos medibles de SQA?

1.4) Ha sido publicada una instrucción de la política y de los objetivos del SQA? 

1.5) Ha sido apoyada la política y los objetivos del SQA con la implantación de un Sistema de Calidad en el cual la dirección administrativa tenga un papel activo en su utilización?

2. Sistema SQA

2.1) Ha sido organizada la actividad de SQA en la organización?

2.2) Ha sido asignadas las responsabilidades en el SQA al personal:

a) de dirección administrativa?

b) de desarrollo de software?

c) de desarrollo de la documentación del software?

d) técnico de SQA

2.3) Ha sido asignados recursos para apoyar las funciones de SQA, de:

a) al personal?

Page 21: Unidad III Lineamientos Metodologicos SQA

b) facilidades (software y hardware)?

c) financiamiento?2.4) Han sido establecidos procedimientos para:

a) la planificación del SQA? b) el SQA durante los procesos del desarrollo del software?

c) la evaluación de la calidad del software?

d) la aceptación del software?

2.5) Han sido adoptadas o definidas normas para:

a) la administración del SQA? 

b) el SQA de los procesos del desarrollo del software?

2.6) Ha sido preparado un Manual del aseguramiento de la calidad del software para elaborar e implantar el sistema de SQA?

3. Manual del SQA

3.1) Ha sido comunicada la existencia del Manual a toda persona de la organización que tenga que ver con un procedimiento o una disposición descrita en el mismo? 

3.2) Ha sido establecida una relación del personal con acceso autorizado a consultar y a mantener actualizado el Manual?

3.3) Ha sido preparado el Manual de forma tal que sea fácil de mantener actualizado, es decir, 

a) claro? 

b) conciso?

c) sencillo?

3.4) Ha sido preparado el Manual de forma tal que sea fácil de usar, es decir, 

a) operativo? 

Page 22: Unidad III Lineamientos Metodologicos SQA

b) fácil de comprender?

4. Capacitación en el SQA

4.1) Se ha sensibilizado a todo el personal con relación a la necesidad y a la importancia del SQA para el éxito de la gestión de la organización?

4.2) Han sido identificadas las necesidades de capacitación del personal de la organización sobre el SQA: 

a) en cada función de la organización? 

b) a todo el personal (actual y nuevo) con funciones de SQA?

c) con los cursos, seminarios y conferencias internos y externos necesarios?

5. Auditorias del SQA

5.1) Han sido realizadas auditorias:

a) internas al sistema de SQA? 

b) de la configuración del software (funcional, física y de procesos)? 

5.2) Ha sido auditado el SQA por algún personal externo a la organización?

6.   Planificación del SQA

6.1) Ha sido producido un Plan del SQA que incluya: 

a) los elementos de software y los documentos a evaluar?

b) la calidad que debe ser alcanzada?

Page 23: Unidad III Lineamientos Metodologicos SQA

c) la programación detallada de las actividades de SQA, de los resultados a evaluar en cada proceso del desarrollo del software y de los puntos de control?