lunes, 20 de mayo de 2019

Portada

Nombre:
Calidad del Software
Integrantes:
García Duarte Alan
Rodríguez Morales Yoshelyn Georgina
Asignatura:
Calidad del Software
Grupo:
15LI161
Carrera:
Lic. Informática
Resultado de imagen para iso png

índice

Índice
Unidad 1 - Conceptos básicos de calidad.
Unidad 2 - Aseguramiento de la calidad (SQR)
Unidad 3 - Estándares de calidad aplicadas al software
Unidad 4 – Calidad enfocada al desarrollo de software
Conclusiones
Referencias bibliográficas

1 Conceptos basicos de la calidad del software

Resultado de imagen para calidad png1.1 Definición de Calidad
La 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.
Muchas veces el nivel de calidad se mide de acuerdo a la reacción y preferencias del cliente. Desde el mismo momento en que éste llega al establecimiento comercial, sabe exactamente qué va a comprar y dónde ubicarlo, va directo al lugar donde se encuentra el producto de su preferencia. En ocasiones, no encontrará lo que está buscando, y por tanto se decidirá por otro producto de mayor o menor precio, sin embargo, cuando su nivel de preferencia se afinca en una determinada marca, el cliente prefiere seguir buscando en otros establecimientos en vez de resolverse con un producto sustitutivo. 
Sin embargo, cuando el individuo está pagando por un servicio, muchas veces la calidad de éste dependerá de la atención al cliente y de las mínimas incomodidades que éste pueda darle. 

1.2 Definición de calidad de software
Calidad del software: Es el desarrollo de software basado en estándares con la funcionalidad y rendimiento total que satisfacen los requerimientos del cliente.

Calidad del Software

Procesos de desarrollo, gestión de proyectos, análisis y diseño, especificación de requerimientos, arquitectura, son solo algunos de los componentes que se aglomeran para conformar la ingeniería de software (IS) como disciplina para la creación y mantenimiento de software. Dentro de ésta, existe un subconjunto de teorías, herramientas y métodos orientados a lo que se denomina la calidad del software. Para resumir de alguna manera la amplitud de este concepto, se puede decir que la calidad de software ha sido usada desde un simple argumento de venta, hasta verdaderos estudios formales y usos de métricas para el desarrollo de software. Extrañamente dentro de la IS, la calidad del software es muy complicada de definir y de enmarcar en un simple concepto teórico, por lo que en esta nota, me concentraré solo en las diversas características que permiten describirla y en los elementos que importan específicamente al diseñador de software.
Una idea general sobre un software de calidad es aquel que debiera cumplir con los requerimientos funcionales y de performance además de ser mantenible, confiable y aceptable.


1.3 Quien define la calidad
La calidad del software la define o avala una Gestión de la calidad del software por ejemplo: ISO 9000, esto como política de calidad, se entiende como un conjunto de actividades de la función general de la dirección que determina la calidad, los objetivos, el control de la calidad
Algunos de varios standares para software provienen de ISO 9000 quien rige la calidad mundial.

ISO/IEC 9126–1: Ingeniería de Software - Calidad de producto- Modelos de calidad.

ISO/IEC TR 9126–4: Ingeniería de software - Calidad de producto- Calidad en métricas de uso.

ISO 9241–11: Guías en Usabilidad.

Especificaciones: ISO 20282: Usabilidad en productos de cada día.
1.4 Importancia de la calidad
¿Por que es ahora mas necesaria la calidad?

Razones externas

>Globalizacion de la economia

>Clientes exigentes
>Comptetitividad
Razones internas

>Costes de mala calidad

>Necesidad de mayor implicacion del personal

>Nuevas tecnologias
1.5 La calidad y el mundo globalizado
La tendencia de la globalización, se ha convertido en la realidad actual de todo el mundo, ya no solo con el objetivo de aglomerarse en sectores, sino también, de formar bloques competitivos tanto comerciales como de cualquier índole. Esto ya que hemos percibido que el mundo es una aldea global, en la cual se requiere continua colaboración entre los aldeanos de esta Aldea global para lograr un objetivo común.
Es una puerta al futuro capitalista con muy cuantioso costo para nosotros, por eso cada vez más debemos ser de los mejores  el mejor, así mismo serían nuestros productos y calidad.
1.6 Calidad de vida

La calidad de vida es el objetivo al que debería tender el estilo de desarrollo de un país que se preocupe por el ser humano integral. Este concepto alude al bienestar en todas las facetas del hombre, atendiendo a la creación de condiciones para satisfacer sus necesidades:

> Materiales (comida y cobijo),

> Psicológicas (seguridad y afecto),

> Sociales (trabajo, derechos y responsabilidades)

> Ecológicas (calidad del aire, del agua).

Por el contrario, el estilo de desarrollo sólo obsesionado por el crecimiento económico ilimitado y cuyo principal objetivo es la riqueza (acumulación material y monetaria), utiliza para evaluar su crecimiento el concepto producto nacional bruto (PNB) y para evaluar el bienestar de las personas el concepto nivel de vida.

El producto nacional bruto (PNB) reduce todos los bienes y servicios a su valor monetario, ignorando variables sociales, psicológicas y ecológicas. Por ejemplo, considera como ingresos a la riqueza del país actividades que no añaden nada a la producción real –gastos militares y hospitalarios- y otras que implican un deterioro de los recursos naturales –tala de árboles, energía-.

El nivel de vida es un concepto estrictamente económico y no incluye las dimensiones ambiental y psicosocial. La calidad de vida, en cambio, alude a un estado de bienestar total, en el cual un alto nivel de vida se torna insuficiente. Por ejemplo, una persona con un alto nivel económico, que reside en una ciudad contaminada por ruido y smog y que además padece estrés por las exigencias laborales, tiene un nivel de vida alto pero una baja calidad de vida.
Resultado de imagen para calidad png
1.7 Calidad total
La Calidad total es una estrategia que busca garantizar, a largo plazo, la supervivencia, el crecimiento y la rentabilidad
de una organización optimizando su competitividad, mediante: el aseguramiento permanente de la satisfacción de los
clientes y la eliminación de todo tipo de desperdicios. Esto se logra con la participación activa de todo el personal , bajo
nuevos estilos de liderazgo; siendo la estrategia que bien aplicada, responde a la necesidad de transformar los productos,
a de las empresas, para asegurar su futuro. 
Para ser competitiva a largo plazo y lograr la sobrevivencia, una empresa necesitará prepararse con un enfoque global,
es decir, en los mercados internacionales y no tan sólo en mercados regionales o nacionales. Pues ser excelente en el
ámbito local ya no es suficiente; para sobrevivir en el mundo competitivo actual es necesario serlo en el escenario mundial. 



2 Aseguramiento de calidad de software

2.1 Relación de la ingeniería del software SQA
Esta relación implica a varios responsables durante el proceso de la elaboración del software de calidad, estos son:
Ingenieros de software
Jefes de proyecto
Clientes
Vendedores
Quienes trabajan dentro de un grupo de la SQA
Estos últimos pueden ser independientes y tendrán las siguientes actividades para llegar al objetivo de la SQA:
Establecimiento de  un plan de la SQA para un proyecto.
En este plan se identifica:
Evaluaciones a realizar
Auditorías y revisiones a realizar
Estándares que se pueden aplicar al proyecto
Procedimientos para información y seguimiento de errores
Documentos producidos por el grupo SQA
Realimentación de información proporcionada al equipo de proyecto del software
·        Participación en el desarrollo de la descripción del proceso de software del proyecto
·        Revisión de las actividades de ingeniería del software para verificar su ajuste al proceso de software definido
·        Auditoría de los productos de software designados para verificar el ajuste con los definidos como parte del proceso de software
·        Asegurar que las desviaciones del trabajo y los productos del software se documenten y se manejen de acuerdo con un procedimiento establecido
·        Registrar lo que no se ajuste a los requisitos e informar a sus superiores
Resultado de imagen para calidad png

2.2 Definición y propósito del SQA
SQA es un set de actividades sistemáticas que aseguran que el proceso del software y productos conformados por requerimientos, estándares, y procedimientos. Los procesos incluyen todas las actividades involucradas en el diseño, codificación, pruebas y mantenimiento; Los productos incluyen software, datos asociados, documentación, y toda la documentación para soporte y reportes.
  
El Rol:
El rol para SQA es brindar a la administración la aseguranza 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
4.-La administración de configuración de software este adecuada para controlar cambios
5.-Se realicen pruebas y que se aprueben
6.-Cualquier deficiencia y desviaciones sean identificadas y llevadas con atención a la administración.
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

La obtención de un software de calidad implica la utilización de metodologías o procedimientos estándares para el análisis, diseño, programación y prueba del SW que permitan uniformar la filosofía de trabajo.

La adopción de una buena política o metodología contribuye en gran medida a lograr la calidad del SW pero no la asegura.

Esta política debe estar sustentada en 3 principios básicos.

1) Tecnológico: Define las técnicas a utilizar en el proceso de desarrollo de SW.

2) Administrativo: Contempla las funciones de planificación y control del desarrollo de SW, así como la organización del ambiente o centro de ingeniería del SW.

3) Ergonómico: define la interfaz entre el usuario y el ambiente automatizado.

Para controlar la calidad del SW, es necesario definir los parámetros, indicadores o criterios de medición.

Las cualidades para medir la calidad del SW se definen en 2 categorías:

- Complejidad de programa o código.

- Complejidad de sistema o estructura.


Por lo tanto, SQA resuelve problemas como:

Aumentar las posibilidades de éxito del proyecto.
 
Funcionalidad. 


Cumplimiento.
Usable.
2.4 Calidad del software en el 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.
El ciclo de vida básico de un software consta de los siguientes procedimientos:
Definición de objetivos: definir el resultado del proyecto y su papel en la estrategia global.
Análisis de los requisitos y su viabilidad: recopilar, examinar y formular los requisitos del cliente y examinar cualquier restricción que se pueda aplicar.
Diseño general: requisitos generales de la arquitectura de la aplicación.
Diseño en detalle: definición precisa de cada subconjunto de la aplicación.
Programación (programación e implementación): es la implementación de un lenguaje de programación para crear las funciones definidas durante la etapa de diseño.
Prueba de unidad: prueba individual de cada subconjunto de la aplicación para garantizar que se implementaron de acuerdo con las especificaciones.
Integración: para garantizar que los diferentes módulos se integren con la aplicación. Éste es el propósito de la prueba de integración que está cuidadosamente documentada.
Prueba beta (o validación), para garantizar que el software cumple con las especificaciones originales.
Documentación: sirve para documentar información necesaria para los usuarios del software y para desarrollos futuros.
Implementación
Mantenimiento: para todos los procedimientos correctivos (mantenimiento correctivo) y las actualizaciones secundarias del software (mantenimiento continuo).

2.5 Roles y responsabilidades de los equipos de desarrollo

TSP ayuda a la conformación de equipos de trabajo bien organizados a través de roles, cada rol está definido por un guión en el que se especifican su objetivo, sus responsabilidades en todo el ciclo de desarrollo y la forma en que se puede evaluar su trabajo.

Los roles propuestos son:

1) Líder de proyecto:

- Objetivo: Coordinar al equipo, asegurar que todos cumplan con su trabajo (reportes de datos).

- Responsabilidades: Metas, generar informes, dirigir reuniones, motivar al equipo.

2) Administrador de desarrollo

- Objetivo: controlar avance del proyecto (diseño, desarrollo).
Responsabilidad: dirigir la realización de las fases siguiendo los estándares propuestos. Integrar el trabajo de todos.

3) Administrador de la planificación

- Objetivo: Establecer el plan de trabajo y verificar su cumplimiento.
Responsabilidades: Efectuar la planificación, asegurarse que se cumplan con el plan, recabar mediciones, resolver riesgos.

4) Administrador de apoyo

- Objetivo: Ayudar al equipo a conseguir las herramientas necesarias para que pueda realizarel trabajo, Gestionar la configuración.
Responsabilidad: Conseguir lo necesario para el desarrollo del proyecto, generar un plan de configuración, realizar la gestión de la configuración.

5) Administrador de calidad y proceso:
Objetivo: Proponer un plan de calidad, proceso, resultado.
Responsabilidades: Apoyar al equipo en la definición, gestionar el plan de calidad (SQA), generar estándares para obtener un trabajo uniforme, moderar las revisiones de los productos
2.6 Habilidades y capacidades del personal del SQA
El equipo de SQA trabaja con la gerencia de proyectos durante los inicios del desarrollo para establecer los planes, estándares y los procedimientos que agregarán valor al proyecto de SW y satisfacer los problemas del proyecto y de las políticas de la organización.

Participa en establecer los planes, estándares y procedimientos.
El equipo ayuda a asegurar que se cumplan con las necesidades del proyecto y verifica que sean usables para realizar revisiones e intervenciones durante todo el ciclo de vida.
Las revisiones del grupo de SQA proyectan las actividades y revisan el producto de trabajo de SW, además de proveer a la gerencia la posibilidad de saber si el proyecto está de acuerdo a los planes estándares y procedimientos establecidos

EL GRUPO ENCARGADO DE SQA.- Trabaja con el equipo del proyecto desde el inicio.
-Debe ser objetivo e independiente.
Ayuda al proyecto, más que controlar sus actividades. 
La actividad de SQA es el proceso de verificación de que los estándares sean aplicados correctamente. En los proyectos pequeños esto se puede realizar por el equipo de desarrollo, pero en proyectos grandes, un grupo específico se debe dedicar a este rol. 

2.7 Actividades del SQA
Resultado de imagen para calidad png
El plan de aseguramiento de la calidad del SW (SQAP) define las actividades específicas a llevar a cabo en un proyecto.

El SQAP contiene una lista de comprobación para las actividades que se deben llevar a cabo para asegurar la calidad del producto.

En el SQAP se recogen una serie de medidas que permiten establecer el nivel de calidad de los desarrollos en cualquier momento en relación a los parámetros de calidad establecidos en el mismo, de modo que los gestores de proyecto puedan dar respuesta adecuada a las acciones a tomar de acuerdo a las medidas que se recogen en el plan.

El SQAP CONTIENE:

- Propósito de plan.
Documentación de referencia.
Ciclo de vida.
Gestión del proyecto.
Documentación del proyecto.
Estándares.
Métricas.
Mecanismos de revisión.
Gestión de la configuración.
Control de versiones.
Entornos de desarrollo.
Entornos de pruebas.
Herramientas, técnicas y metodologías empleadas.
Control de suministro de proveedores (si los hay).
Políticas de almacenamiento, mantenimiento y conservación de documentación.
Plan de pruebas 
2.8 Métodos y herramientas
Los métodos más comunes para el aseguramiento de la calidad son los siguientes:
Auditorías PPQA (Process and Product Quality Assurance)
Es la actividad de garantizar que el proceso y el producto de trabajo se ajustan al plan acordado.
Pruebas de Validación:
Es el acto de introducir datos, los cuales el tester 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:
A veces 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.
6) Revisiones por Pares (Peer Reviews).
Son actividades efectivas para el control de la calidad. Pueden aplicarse al análisis, diseño y codificación.
7) Revisión Técnica formal (RTF):
Es una actividad de garantía de calidad de SW. Es una revisión que incluye recorridos, inspecciones y revisiones cíclicas
AD
·        *Herramientas básicas.
·        *Diagrama de flujo.
·        Diagrama causa– efecto.
Checklist.
·        Gráfica de control.
 Histograma.
·        Diagrama de dispersión.
·        Herramientas de gestión.
·        Herramientas de creatividad.
·        Herramientas estadísticas.
·        Herramientas de diseño.
·        Herramientas de medición. 
·        Niveles de madurez.