Issuu on Google+

Calidad de Software

María Angélica Herrera Avella Jeison Stiven Parra Ramírez

Servicio Nacional de Aprendizaje SENA Tgo. Análisis y Desarrollo de Sistemas de Información Ficha # 363545 Tunja-Boyacá 2013


Calidad de Software

María Angélica Herrera Avella Jeison Stiven Parra Ramírez

Guía de aprendizaje entregada a: Ana Milena Riaño Instructor de Área

Servicio Nacional de Aprendizaje SENA Tgo. Análisis y Desarrollo de Sistemas de Información Ficha # 363545 Tunja-Boyacá 2013


CONTENIDO Pág. INTRODUCCION………………………………………………………………………………………………………………… ………… 4 1. ¿QUÉ ES CALIDAD?, ¿QUÉ ES CALIDAD DEL SOFTWARE? Y PARA QUÉ SIRVE LA CALIDAD DEL SOFTWARE? ……………………………………………………………………………………………………………….5 2. ¿QUÉ ES UN SISTEMA DE GESTIÓN DE CALIDAD? .................................................................6 3. ACTIVIDADES PRINCIPALES SOFTWARE……………………. 7

DE

LA

GESTIÓN

DE

LA

CALIDAD

DEL

4. ¿A QUE HACE REFERENCIA LA MEDICIÓN DEL SOFTWARE? ………………………………………………8 5. GARANTÍA DE CALIDAD…………………………………………………………………………………………………9 6. ISO 9001 E 27001……………………………………………………………………………………………………….10 7. IMPORTANCIA DE LA GESTIÓN …………................................13

DE

LA

CALIDAD

DE

ISO

SOFTWARE

8. CONCLUSIONES ……………………………………………………………………………………………………………….15 9. BIBLIOGRAFIA ………………………………………………………………………………………………………………….16

INTRODUCCIÓN

LA


A través de este documento se detallan diferentes conceptos que son necesarios conocer a la hora de introducirse en el tema. Se explica lo que es calidad de software, la importancia de tener en cuenta este tema en la producción de software. En relación al tema se exponen los métodos, metodologías, control, aseguramiento, certificación, métricas, factores de la misma, entre otros elementos a conocer.

1. ¿Qué es Calidad?, ¿Qué es Calidad del Software? y para qué sirve la Calidad del Software? CALIDAD: es un conjunto de características de una entidad que le otorgan la capacidad de satisfacer necesidades o requisitos expresos e implícitos. Se puede definir también como la capacidad de lograr objetivos de operación buscados. Calidad es el resultado de un esfuerzo arduo, se trabaja de forma eficaz para poder satisfacer el deseo del consumidor. Dependiendo de la forma en que un producto o servicio sea aceptado o rechazado por los clientes, podremos decir si éste es bueno o malo. CALIDAD DEL SOFTWARE: Es la 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 esperan de todo software desarrollado profesionalmente. Existen 3 puntos importantes de la definición de calidad de software:


1- los requerimientos del software son los fundamentos desde los que se mide la calidad 2- los estándares específicos definen un conjunto de criterios de desarrollo que guían la forma de aplicación de la ingeniería de software 3- existen requerimientos implícitos que no se mencionan PARA QUE SIRVE LA CALIDAD DEL SOTFWARE?: Un producto de alta calidad requiere menos mantenimiento y facilita tanto el desarrollo como el mantenimiento de la productividad. Con la medición de la calidad se pueden lograr estos objetivos. En lo que se refiere al mantenimiento, la medición de la calidad del software ayuda a identificar problemas de confiabilidad y a mejorar las técnicas para identificar las necesidades de mantenimiento. El costo de corregir y detectar errores producidos en las primeras fases de desarrollo de software es mayor a medida que nos encontramos más alejados de éstas. A causa de esto, la propuesta de control de calidad es empujar las tareas relacionadas con la calidad desde las primeras fases del proyecto. Esto permite encontrar los errores en forma temprana sin que se sigan propagando en las siguientes fases. Otro motivo para el control de calidad es que la prueba de software no puede garantizar que encuentre todos los errores. Los programadores profesionales pueden y deben producir software el cual esté libre de errores desde el comienzo. Esto puede ser llevado a cabo a través del control de calidad. 2. ¿Qué es un Sistema de Gestión de Calidad? SISTEMA DE GESTION DE CALIDAD (SGC): es una forma de trabajar, mediante la cual una organización asegura la satisfacción de las necesidades de sus clientes. Para lo cual planifica, mantiene y mejora continuamente el desempeño de sus procesos, bajo un esquema de eficiencia que le permite lograr ventajas competitivas. Algunos de los beneficios que se tienen trabajando el SGC: -mejora continua de la calidad de los productos y servicios que ofrece -atención amable y oportuna a los usuarios -transparencia en el desarrollo de los procesos -asegurar el cumplimiento de sus objetivos, en apego a leyes y normas vigentes -reconocimiento de la importancia de sus procesos e interacciones -delimitación de funciones del personal -reducción de costos -ventaja competitiva y aumento en la oportunidades de ventas 3. Explique las actividades principales de la gestión de la calidad del software.


La GESTION DE CALIDAD DEL SOFTWARE se estructura en 3 actividades principales: •

Garantía de la calidad: el establecimiento de un marco de trabajo de procedimientos y estándares organizacionales que conduce a software de alta calidad.

Planificación de la calidad: la selección de procedimientos y estándares adecuados a partir de este marco de trabajo y la adaptación de estos para un proyecto software específico.

Control de la calidad: la definición y fomento de los procesos que garanticen que los procedimientos y estándares para la calidad del proyecto son seguidos por el equipo de desarrollo de software.

4. ¿A que hace referencia la medición del software? MEDICION DEL SOFTWARE: se refiere a derivar un valor numérico desde algún atributo del software o del proceso software. Comparando estos valores entre si y con los estándares aplicados en la organización, es posible sacar conclusiones de la calidad del software o de los procesos para desarrollo. Las mediciones del software pueden utilizarse para: - Hacer predicciones generales a cerca del sistema - Identificar componentes anómalos METRICA DE SOFTWARE: es cualquier tipo de medida relacionada con un sistema, proceso o documentación de software. Algunos ejemplos son las medidas que se utilizan para calcular el tamaño de un producto en líneas de código; el número de fallos encontrados en un producto software entregado; y el número de personas requeridas para desarrollar un componente del sistema. Las métricas son la maduración de una disciplina, que, según Pressman van a ayudar a la (1) evaluación de los modelos de análisis y de diseño, (2) en donde proporcionarán una indicación de la complejidad de diseños procedimentales y de código fuente, y (3) ayudaran en el diseño de pruebas más efectivas; Es por eso que propone un proceso de medición, el cual se puede caracterizar por cinco actividades:


(1) Formulación: La obtención de medidas y métricas del software apropiadas para la representación de software en cuestión. (2) Colección: El mecanismo empleado para acumular datos necesarios para obtener las métricas formuladas. (3) Análisis: El cálculo de las métricas y la aplicación de herramientas matemáticas. (4) Interpretación: La evaluación de los resultados de las métricas en un esfuerzo por conseguir una visión interna de la calidad de la representación. (5) Realimentación: Recomendaciones obtenidas de la interpretación de métricas técnicas trasmitidas al equipo de software. 5. Defina garantía de la calidad. GARANTIA DE LA CALIDAD: es el proceso que define como lograr la calidad del software y como la organización de desarrollo conoce el nivel de calidad requerido en el software. El proceso se ocupa ante todo de definir o seleccionar los estándares que deben ser aplicados al proceso de desarrollo software o al producto software. Podemos definir 2 tipos de estándares como parte del proceso de garantía de calidad: -

Estándares de producto: se aplican sobre el producto software que se comienza a desarrollar. Incluyen estandares de documentación, como cabecera de comentarios estándar para definición de clases, y estandares de codificación. - Estandares de proceso: definen los procesos que deben seguirse durante el desarrollo del software. pueden incluir definiciones de procesos de especificación, diseño y validación, así como una descripción de los documentos que deben escribirse en el curso de estos procesos. Los estandares de producto se aplican a las salidas del proceso software y en muchos casos, los estandares de proceso incluyen actividades de proceso específicas que garantizan que se sigan los estandares de producto. 6. Defina ISO 9001 e ISO 27001 además mencione cuatro (4) características fundamentales para cada una. ISO 9001: es una norma internacional que se aplica a los sistemas de gestión de calidad (SGC) y que se centra en todos los elementos de administración de calidad con los que una empresa debe contar para tener un sistema efectivo que le permita administrar y mejorar la calidad de sus productos o servicios.


Los clientes se inclinan por los proveedores que cuentan con esta acreditación porque de este modo se aseguran de que la empresa seleccionada disponga de un buen sistema de gestión de calidad. Esta acreditación demuestra que la organización está reconocida por más de 640.000 empresas en todo el mundo. Los cuatro principios fundamentales son:  Enfoque basado en procesos -> un resultado deseado se alcanza más eficientemente cuando las actividades y los recursos relacionados se gestionan como un proceso.  Enfoque al cliente -> las organizaciones dependen de sus clientes y por lo tanto deberían comprender las necesidades actuales y futuras de los clientes, satisfacer los requisitos de los clientes y esforzarse en exceder las expectativas de los clientes.  Liderazgo -> los lideres establecen la unidad de propósito y la orientación de la organización. Ellos debería crear y mantener un ambiente interno, en el cual el personal pueda llegar a involucrarse totalmente en el logro de los objetivos de la organización.  Enfoque de sistema para la gestión -> identificar, entender y gestionar los procesos interrelacionados como un sistema, contribuye a la eficacia y eficiencia de una organización en el logro de sus objetivos. ISO 27001: define cómo organizar la seguridad de la información en cualquier tipo de organización, con o sin fines de lucro, privada o pública, pequeña o grande. Es posible afirmar que esta norma constituye la base para la gestión de la seguridad de la información. La ISO 27001 es para la seguridad de la información lo mismo que la ISO 9001 es para la calidad: es una norma redactada por los mejores especialistas del mundo en el campo de seguridad de la información y su objetivo es proporcionar una metodología para la implementación de la seguridad de la información en una organización. También permite que una organización sea certificada, lo cual significa que una entidad de certificación independiente ha confirmado que la seguridad de la información se ha implementado en esa organización de la mejor forma posible. A raíz de la importancia de la norma ISO 27001, muchas legislaturas han tomado esta norma como base para confeccionar las diferentes normativas en el campo de la protección de datos personales, protección de información confidencial, protección de sistemas de información, gestión de riesgos operativos en instituciones financieras, etc. La Fase de planificación Esta fase está formada por los siguientes pasos:


Determinación del alcance del SGSI; Redacción de una Política de SGSI; Identificación de la metodología para evaluar los riesgos y determinar los criterios para la aceptabilidad de riesgos; Identificación de activos, vulnerabilidades y amenazas; Evaluación de la magnitud de los riesgos; Identificación y evaluación de opciones para el tratamiento de riesgos; Selección de controles para el tratamiento de riesgos; Obtención de la aprobación de la gerencia para los riesgos residuales; Obtención de la aprobación de la gerencia para la implementación del SGSI; Redacción de una declaración de aplicabilidad que detalle todos los controles aplicables, determine cuáles ya han sido implementados y cuáles no son aplicables. La Fase de implementación Esta fase incluye las siguientes actividades: Redacción de un plan de tratamiento del riesgo que describe quién, cómo, cuándo y con qué presupuesto se deberían implementar los controles correspondientes; Implementación de un plan de tratamiento del riesgo; Implementación de los controles de seguridad correspondientes; Determinación de cómo medir la eficacia de los controles; Realización de programas de concienciación y capacitación de empleados; Gestión del funcionamiento normal del SGSI; Gestión de los recursos del SGSI; Implementación de procedimientos para detectar y gestionar incidentes de seguridad. La Fase de verificación Esta fase incluye lo siguiente: Implementación de procedimientos y demás controles de supervisión y control para determinar cualquier violación, procesamiento incorrecto de datos, si las actividades de seguridad se desarrollan de acuerdo a lo previsto, etc.; Revisiones periódicas de la eficacia del SGSI; Medición la eficacia de los controles; Revisión periódica de la evaluación de riesgos; Auditorías internas planificadas; Revisiones por parte de la dirección para asegurar el funcionamiento del SGSI y para identificar oportunidades de mejoras; Actualización de los planes de seguridad para tener en cuenta otras actividades de supervisión y revisión; Mantenimiento de registros de actividades e incidentes que puedan afectar la eficacia del SGSI.


La fase de mantenimiento y mejora Esta fase incluye lo siguiente: Implementación en el SGSI de las mejoras identificadas; Toma de medidas correctivas y preventivas y aplicación de experiencias de seguridad propias y de terceros; Comunicación de actividades y mejoras a todos los grupos de interés; Asegurar que las mejoras cumplan los objetivos previstos.

7. Defina la importancia de la gestión de la calidad de software en 3 párrafos construidos por el equipo de trabajo. Como hemos visto anteriormente, la calidad del software es el grado con el que un sistema cumple con los requisitos, necesidades o expectativas del cliente. La gestión de la calidad del software se centra en la función principal de determinar y aplicar las políticas de calidad. La gestión de la calidad de software tiene una gran importancia ya que ésta se centra en las actividades, procesos y procedimientos encaminados a lograr que las características del producto cumplan con los requisitos o en otras palabras, que estos productos sean de calidad, lo cual nos da mayores posibilidades de que sean adquiridos logrando así mayor porcentaje de ventas en la organización.


CONCLUSIONES

El éxito en la producción de software se obtiene logrando hacerlo con calidad y demostrando el grado de ésta, calificando como buena. Esto sólo es posible con la implantación de un Sistema para el Aseguramiento de la Calidad del Software directamente relacionado con la política establecida para su elaboración y que esté en correspondencia con la definición internacional ISO de calidad, ampliamente aceptada, y por los estándares del grupo ISO 9000. Como recomendación se sugiere la aplicación de normativas establecidas a nivel internacional, mediante la aplicación de métodos de calidad al software a desarrollar. Con ello se logra garantizar la calidad del mismo y que logre cumplir su objetivo


BIBLIOGRAFIA

-

Gracia, Joaquín. "CMM –CMMI". 14 de Agosto de 2005. http://www.ingenierosoftware.com/calidad/cmm-cmmi.php Gracia, Joaquín. "CMM –CMMI Nivel 2". 26 de Noviembre de 2005. http://www.ingenierosoftware.com/calidad/cmm-cmmi.php Roger Pressman. Ingeniería del Software. Material de apoyo. Ingeniera Milena Riaño.


Calidad de Sotware