Unidad 2 Aseguramiento de La Calidad Del Software

Descargar como pptx, pdf o txt
Descargar como pptx, pdf o txt
Está en la página 1de 28

ASEGURAMIENTO DE LA

CALIDAD DEL SOFTWARE


( SQA )
OBJETIVO:
COMPRENDERÁ LA RELACIÓN ENTRE INGENIERÍA
DE SOFTWARE Y EL ASEGURAMIENTO DE LA
CALIDAD DE SOFTWARE.
2.1 RELACIÓN DE LA INGENIERÍA DE SOFTWARE CON
SQA
CARACTERISTICAS:

• Elemento lógico, no físico


• Desarrollado, no fabricado
• No se estropea, pero se deteriora (deterioro por cambios)
• Mayoritariamente cerrado: usar todo o nada
• Construcción a la medida
• Mantenimiento complicado
INGENIERÍA DE SOFTWARE:
• INGENIERÍA DE SOFTWARE: es el establecimiento y uso de
• principios sólidos de la ingeniería para obtener
• económicamente un software confiable y que funcione de modo
• eficiente en máquinas reales.
• La ingeniería de software es una tecnología estratificada. , debe estar
• sustentado en un compromiso con la calidad. La gestión de calidad
• total, sigma seis y enfoques similares fomentan una cultura de mejora
• continua del proceso y es una cultura la que al final conduce al
• desarrollo de enfoques muy afectivos para la ingeniería de software.
• La base que soporta la ingeniería del software es un enfoque de calidad.
DESARROLLO DE SOFTWARE A PEQUEÑA ESCALA:

• Desarrollo de software a pequeña escala:


• Proceso simple
• Modelado mínimo
• Herramientas simples
• Puede hacerlo una sola persona
• Desarrollo artesanal
• Bajo costo

 No precisa, apenas requiere de ingeniería 


DESARROLLO DE SOFTWARE A GRAN ESCALA:

• Desarrollo de software a gran escala:


• Proceso complejo
• Modelado y diseño
• Herramientas sofisticadas
• Equipo de trabajo
• Costo elevado
• Gestión del proyecto
• Posiblemente plazos de terminación

 Necesidad de ingeniería 
PERSPECTIVA HISTÓRICA DEL DESARROLLO DE
SOFTWARE
Década 50-60 Software como un añadido
Desarrollo artesanal, a la medida
Lenguaje de bajo nivel
Década 60-70 Software como producto
Década lenguajes y compiladores
Crisis de software
Década 70-80 Tecnología de SGBD, SO.
Nuevos paradigmas de programación y de productos

90´ a la fecha: POO, Programación visual


Análisis y diseño OO
Tecnología CASE
Métodos agiles
Componentes y reutilización
Interoperabilidad
Internet
Correo electrónico
LA PROBLEMÁTICA ACTUAL DEL SOFTWARE

• Incapacidad para estimar tiempo, costo, y


• esfuerzo para el desarrollo de un producto
• de software.
• Falta de calidad del producto de software.
• Avance del hardware y necesidad de
• aplicaciones más complejas.
PROBLEMAS DEL SOFTWARE:

• Problemas del software:


• ¿Porqué lleva tanto tiempo terminar los programas?
• ¿Porqué es tan elevado su costo?
• ¿Porqué no debemos encontrar todos los errores antes
• de entregar el software a nuestros clientes?
• ¿Porqué nos resulta difícil constatar el progreso
• conforme se desarrolla el software?
ALGUNAS CAUSAS:

• Algunas causas:
• Naturales no física de la programación
• Problemas derivados de la intervención de grupos
• Problemas de comunicación con los clientes
• Poco esfuerzo en el análisis y diseño
• Problemas de gestión
• A veces, el software debe solucionar los problemas del
• sistema global.
• Difusión limitada a las nuevas técnicas, métodos y
• herramientas.
DIFERENCIAS EN COMPARACIÓN A OTRAS
DISCIPLINAS:
• El software es un producto mental
• Se desarrolla, no se fabrica.
• Los costos se concentran en las tareas de ingeniEl software no se deteriora con el tiempo.
• Es artesanal en gran medida.
• Su mantenimiento es mucho más complejo.
• Los cambios son engañosamente fáciles.
• Como disciplina el desarrollo de software es joven.
• Se debe satisfacer una amplia gama de entes.
• Es necesario crear una cultura de calidad.
2.2 DEFINICIÓN Y PROPÓSITO DEL SQA
(GARANTÍA DE LA CALIDAD DEL SOFTWARE)

• SQA es un conjunto de actividades sistemáticas y planeadas para


• asegurar que los Procesos y Productos del software cumplen con
• los requerimientos, estándares y procedimientos.
• Procesos: incluyen todas las actividades involucradas en el diseño,
• codificación, pruebas y mantenimiento,
• Productos: incluyen software, datos asociados, documentación y
• todo el soporte y reportes de trabajo.
SQA BRINDA A LA ADMINISTRACIÓN LA SEGURIDAD DE QUE
PROCESOS
OFICIALMENTE ESTABLECIDOS ESTÁN SIENDO
IMPLEMENTADOS. Y ASEGURA
QUE:

1.-Una metodología de desarrollo apropiada este establecida.


2.-Que los proyectos utilicen estándares y procedimientos en su trabajo.
3.-Que la documentación sea creada para mantenimiento y mejoramiento.
PROPÓSITO:
PROPORCIONAR VISIBILIDAD SOBRE LOS PROCESOS
UTILIZADOS POR EL PROYECTO
DE SOFTWARE Y SOBRE LOS PRODUCTOS QUE GENERA.
• Objetivos:
• 1.-Planificar las actividades de aseguramiento de la calidad.
• 2.-Revisar y auditar objetivamente los productos y las actividades
• para verificar que están conformes con los procedimientos y
• estándares aplicables.
• 3.-Proporcionar los resultados de estas revisiones o auditorías
• informando a la dirección cuando sea necesaria su mediación.
2.3 PROBLEMAS QUE RESUELVE LA SQA

• ¿COMO OBTENER UN SOFTWARE DE CALIDAD?


• La obtención de un software con calidad implica la utilización de
• metodologías o procedimientos estándares para el análisis, diseño,
• programación y prueba del software que permitan uniformar la
• filosofía de trabajo.
• Con el objetivo 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.
• Esta política debe estar sustentada sobre tres principios básicos:
• El principio tecnológico define las técnicas a utilizar en el proceso de
• desarrollo del software.
• El principio administrativo contempla las funciones de planificación y
• control del desarrollo del software, así como la organización del
• ambiente o centro de ingeniería de software.
• El principio ergonómico define la interfaz entre el usuario y el
• ambiente automatizado.
¿COMO CONTROLAR LA CALIDAD DEL SOFTWARE?

Para controlar la calidad del software es necesario, ante todo,


definir los parámetros, indicadores o criterios de medición, ya que:
"usted no puede controlar lo que no se puede medir".
Las cualidades para medir la calidad del software son definidas por
innumerables autores, los cuales las denominan y agrupan de
formas diferentes.
2.4 CALIDAD SOFTWARE EN CICLO DE VIDA DEL
MISMO
• Ciclo de vida del software

• El término ciclo de vida del software describe el desarrollo de software, desde la fase inicial hasta la
fase final. El propósito de este programa es definir las distintas fases intermedias que se requieren para
validar el desarrollo de la aplicación, es decir, para garantizar que el software cumpla los requisitos para
la aplicación y verificación de los procedimientos de desarrollo: se asegura de que los métodos
utilizados son apropiados.

• Estos programas se originan en el hecho de que es muy costoso rectificar los errores que se detectan
tarde dentro de la fase de implementación. El ciclo de vida permite que los errores se detecten lo antes
posible y por lo tanto, permite a los desarrolladores concentrarse en la calidad del software, en los
plazos de implementación y en los costos asociados.
2.5 ROLES Y RESPONSABILIDADES EQUIPOS
DESARROLLO

El desarrollo de software es una actividad que requiere de roles y de responsabilidades, esas


responsabilidades deben estar bien delimitadas.
Los roles y responsabilidades varían de empresa a empresa y están dados por las metodologías y
características de los equipos de trabajos.
Ejemplos típicos de personal involucrado en equipos de desarrollo: gerente o líder de proyecto, analista,
programador, diseñador, tester, etc. A continuación unos ejemplos:
LÍDER DE PROYECTO
ANALISTA FUNCIONAL
DESARROLLADOR
TESTER
2.6 HABILIDADES Y CAPACIDADES DEL PERSONAL DEL
SQA
Es responsable de asegurar la calidad de los productos generados en el proyecto y del proceso utilizado. Para
asegurar la calidad debe revisar la calidad de los entregables de planificación del proyecto y los entregables de
valoración del proyecto. Además revisa el nivel de apego al modelo de proceso de desarrollo de software y a los
planes de Verificación, Gestión de Proyecto y Gestión de Calidad, documentando las desviaciones encontradas.

Debe conocer los conceptos y técnicas de Gestión de Calidad del Software. Debe identificar las propiedades de
calidad que deben cumplir los productos del proyecto.

Centralizar y revisar las entregas que se realizan durante el ciclo de vida del proyecto.

Realiza las Revisiones Técnicas Formales con los responsables de los productos a revisar.
EL RESPONSABLE DE SQA DEBE:

•Asegurarse de que se desarrollen prototipos para probar y eliminar riesgos técnicos que hagan fracasar el
proyecto así como también disminuir la calidad del mismo
•Asegurarse de que se realicen estudios de factibilidad
•Realizar mediciones para comprobar la calidad del proyecto
•Asegurarse de que se realice la actividad de implementación y se haga según los estándares de calidad
propuestos
•Evitar el desperdicio de esfuerzo en conjunto con el Administrador y el Arquitecto
•Registrar las métricas de aceptación tomando en cuenta el Documento de Validación con el Cliente.
2.7 ACTIVIDADES DEL SQA.

• Para poder lograr una buena adherencia con los estándares se debe medir cuantitativamente, donde
sea posible, los aspectos de calidad (por ejemplo complejidad, confiabilidad, mantenimiento, seguridad,
defectos, número de problemas) utilizando métricas bien establecidas. Para cumplir con esto, se deben
realizar chequeos de: - Administración.
- Documentación.
- Estándares, prácticas, convenciones y métricas.
- Revisiones e intervenciones.
- Actividades de testeo.
- Reporte de errores y acciones correctivas.
- Herramientas, técnicas y métodos.
- Control del código
- Control de medios.
- Colección de registros, mantenimiento y retención.
- Control de los proveedores
- Entrenamiento.
- Administración del riesgo
2.8 MÉTODOS Y HERRAMIENTAS.
Metodologia SQA:
En los sistemas operativos, es prácticamente imposible eliminar todos los errores antes de liberar la versión, esto se debe a los diferentes puntos
de vista y a las limitaciones de tiempo. Diferentes aplicaciones de SW requieren distintos enfoques en lo que respecta a las pruebas.
Los métodos más comunes para el aseguramiento de la calidad son los
siguientes:
1) Auditorías PPQA (Process and Product Quality Assurance)
Es la actividad de garantizar que el proceso y el product de trabajo se ajustan al plan acordado.
2) Pruebas de Validación:
Es el acto de introducir datos, los cuales el testar sabe que son erróneos en la aplicación.
3) Comparación de datos:
Técnica que se realiza comparando los resultados de una aplicación con parámetros específicos con los resultados de otra aplicación previamente
creada, introduciendo los mismos parámetros de manera que se obtenga un resultado exacto.
4) Prueba de esfuerzo (Stress Testing)
Se realiza cuando el SW es utilizado de la manera más “ruda” posible en un período de tiempo para ver si trabaja con altos niveles de carga.
5) Pruebas de Uso:Aveces conseguir usuarios que no estén familiarizados con el SW para probarlo por un tiempo determinado, ofrece
retroalimentación a los desarrolladores acerca de las dificultades que encontraron. Esta es la mejor maneta de realizar mejoras a la interfaz.
HERRAMIENTAS BÁSICAS.
Diagrama de flujo.
Se dicen que los diagramas de flujos tienen como objetivo descomponer los pasos de un proceso en una secuencia. Se pueden emplear los siguientes elementos: secuencias de
acciones, servicios o materiales que entran o salen delo proceso, personas implicadas, tiempo empleado en cada uno de los pasos y medidas del proceso.
Herramientas de gestión
DIAGRAMA DE RELACIONES.
Es una herramienta utilizada para identificar las causas más significativas de un problema y representar gráficamente los vínculos que pueden existir entre los factores
relacionados con ese problema. Esta herramienta ayuda a un grupo de trabajo a identificar los enlaces naturales entre diferentes aspectos de una situación compleja
Herramientas de creatividad
Es una herramienta de trabajo en grupo basada en la creatividad de los componentes del grupo de trabajo. Se pretende obtener el mayor número de ideas o soluciones en el
menor tiempo posible, seleccionando posteriormente las más indicadas, es decir, aquellas que mejor se adaptan a los objetivos del problema.
Herramientas estadísticas.
CONTROL ESTADISTICO DEL PROCESO.
Se entiende por capacidad de un proceso el grado de aptitud que tiene para cumplir con las especificaciones técnicas deseadas. Para determinar si un proceso es no capaz, se
pueden utilizar las siguientes herramientas: Histogramas, Gráficos de control, Gráficos de probabilidad, Estudios de índices de capacidad, Se considera un índice de capacidad
como la relación entre la variación natural del proceso y el nivel de variación especificada.
Herramientas de diseño
El diagrama de despliegue de la función de calidad es una técnica utilizada para planificar nuevos productos y servicios o realizar mejoras en los existentes a partir de métodos
matriciales, cuyo objetivo es que los requisitos del cliente lleguen a estar completamente contenidos en las especificaciones técnicas del producto o servicio. La principal ventaja
de esta técnica es la reducción del tiempo del diseño y la disminución de los costes, manteniendo y mejorando la calidad.

También podría gustarte