Está en la página 1de 10

INGENIERIA DE SOFTWARE

Tecnológico de Estudios Superiores Oriente del Estado de México.


Ingeniería en Sistemas Computacionales.
Nombre: Zepeda Sierra Raúl.
Grupo: 5s12.
Profesor: Eslava Montes Gabriel

UNIDAD 5 CALIDAD DE SOFTWARE


5.1Definición de Calidad.
Conjunto de cualidades que lo caracterizan y que determinan su utilidad y
existencia. la calidad es sinónimo de eficiencia, flexibilidad, corrección,
confiabilidad, mantenibilidad, portabilidad, usabilidad, seguridad e integridad.

Según Pressman, la calidad del software es “la concordancia con los requisitos
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”.

Según el Departamento de Defensa de los Estados Unidos es la capacidad de un


producto software para satisfacer sus requerimientos específicos. Se define como
la capacidad del producto de software para permitirles a usuarios específicos
lograr las metas propuestas con eficacia, productividad, seguridad y satisfacción,
en contextos especificados de uso.

Se considera como la totalidad de las características de un producto o servicio que


le confieren su aptitud para satisfacer unas necesidades expresadas o implícitas
[5] por Norma UNE 66-001-92 traducción de ISO 8402.

La calidad del software 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,
en aras de lograr una mayor confiabilidad, mantenibilidad y facilidad de prueba, a
la vez que eleven la productividad, tanto para la labor de desarrollo como para el
control de la calidad del software. Del mismo modo se define de las maneras
siguientes:

1.- La totalidad de las funciones y características de un producto software que


influyen en su capacidad de satisfacer determinadas necesidades; por ejemplo, el
cumplimiento de las especificaciones.

ZEPEDA SIERRA RAÚL. INGENIERIA EN SISTEMAS COMPUTACIONALES. 1


INGENIERIA DE SOFTWARE

2.- El grado en el que el software posee una combinación de atributos deseada.

3.- El grado en el que un cliente o usuario percibe que el software satisface sus
expectativas globales.

4.- Aquellas características globales del software que determinan el grado en el


que el software que se está utilizando satisfará las expectativas del cliente.

Según, Enrique J. Abril Pérez. La calidad del software puede ser entendida como
el grado con el cual el usuario percibe que el software satisface sus expectativas
IEEE 729-83.

La calidad del software es el grado con el que un sistema, componente o proceso


cumple los requerimientos especificados y las necesidades o expectativas del
cliente o usuario.

5.2 Importancia de la Calidad.


El control de calidad permite ahorrar la máxima cantidad de dinero cuando se
realiza al comienzo del proceso de desarrollo de software. No es sorprendente que
los errores detectados en los comienzos del proceso de desarrollo de software
sean más fáciles de resolver y menos costosos que los que se detectan más
adelante. En su libro "Software Economics", publicado en 1981, Barry Boehm
afirma que un defecto cuya corrección requiere una hora en el momento en que se
definen los requerimientos del sistema requerirá al menos 100 horas si no se
detecta hasta que el sistema está en fase de producción. Este es un argumento
muy poderoso a favor de aplicar un énfasis especial a la mejora de la calidad al
comienzo del proceso. En pocas palabras, educar a los profesionales informáticos
sobre la importancia de la calidad no cuesta nada, y puede producir rápidamente
resultados beneficiosos.

Los fallos de software afectan a todos los sectores y a todos los países,
actualmente se desarrolla software fiable y correcto a un costo razonable. los
auténticos profesionales y las empresas bien organizadas son prudentes y saben
que deben aplicar distintas técnicas de control y prevención, además de un buen
proceso de desarrollo.

Involucra a la definición de estándares de calidad apropiados y procedimientos


que permitan asegurar que estos se cumplan. Debe llevar a desarrollar una
cultura de calidad en donde la calidad es responsabilidad de todos.

Comprobación independiente de los procesos de desarrollo. Los productos


resultantes de los procesos se introducen en el proceso de administración de la
calidad para asegurar su consistencia con estándares y objetivos de calidad.

ZEPEDA SIERRA RAÚL. INGENIERIA EN SISTEMAS COMPUTACIONALES. 2


INGENIERIA DE SOFTWARE

5.3 Factores de Calidad.


Los factores que determinan la calidad del software se clasifican en tres grupos:

1. Operaciones del producto: características operativas – Corrección (¿Hace lo


que se le pide?) • El grado en que una aplicación satisface sus
especificaciones y consigue los objetivos encomendados por el cliente –
Fiabilidad (¿Lo hace de forma fiable todo el tiempo?) • El grado que se puede
esperar de una aplicación lleve a cabo las operaciones especificadas y con la
precisión requerida – Eficiencia (¿Qué recursos hardware y software
necesito?) • La cantidad de recursos hardware y software que necesita una
aplicación para realizar las operaciones con los tiempos de respuesta
adecuados – Integridad (¿Puedo controlar su uso?) • El grado con que puede
controlarse el acceso al software o a los datos a personal no autorizado –
Facilidad de uso (¿Es fácil y cómodo de manejar?) • El esfuerzo requerido para
aprender el manejo de una aplicación, trabajar con ella, introducir datos y
conseguir resultados.
2. Revisión del producto: capacidad para soportar cambios – Facilidad de
mantenimiento (¿Puedo localizar los fallos?) • El esfuerzo requerido para
localizar y reparar errores – Flexibilidad (¿Puedo añadir nuevas opciones?) • El
esfuerzo requerido para modificar una aplicación en funcionamiento – Facilidad
de prueba (¿Puedo probar todas las opciones?) • El esfuerzo requerido para
probar una aplicación de forma que cumpla con lo especificado en los
requisitos.
3. Transición del producto: adaptabilidad a nuevos entornos – Portabilidad
(¿Podré usarlo en otra máquina?) • El esfuerzo requerido para transferir la
aplicación a otro hardware o sistema operativo – Reusabilidad (¿Podré utilizar
alguna parte del software en otra aplicación?) • Grado en que partes de una
aplicación pueden utilizarse en otras aplicaciones – Interoperabilidad (¿Podrá
comunicarse con otras aplicaciones o sistemas informáticos? • El esfuerzo
necesario para comunicar la aplicación con otras aplicaciones o sistemas
Informáticos, “Juan Manuel” [23]

5.4 Aseguramiento de la Calidad.


Es el conjunto de actividades planificadas y sistemáticas aplicadas en un sistema
de gestión de la calidad para que los requisitos de calidad de un producto o
servicio sean satisfechos. Entre estas actividades se encuentran la medición
sistemática, la comparación con estándares, el seguimiento de los procesos, todas
actividades asociadas con bucles de realimentación de información. Estas
actividades contribuyen a la prevención de errores, lo cual se puede contrastar con
el control de calidad, que se centra en las salidas del proceso. Ambos conceptos
suelen utilizarse de manera conjunta.

ZEPEDA SIERRA RAÚL. INGENIERIA EN SISTEMAS COMPUTACIONALES. 3


INGENIERIA DE SOFTWARE

La función de aseguramiento de la calidad determina si las necesidades de los


usuarios están siendo satisfechas adecuadamente. Para determinar si las
necesidades de los usuarios están siendo satisfechas, se deben de evaluar tres
áreas:

Objetivos: Los objetivos de cualquier usuario deben de estar en armonía con los
objetivos de la organización.

Métodos: deben de utilizarse métodos que contengan u observen las políticas,


procedimientos y estándares de la organización.

Ejecución: optimización del uso de hardware y software al implementar los


productos de software.

5.5 Estándares y métricas de Calidad.


Un problema de la garantía de la calidad basada en el proceso es que el equipo de
garantía de la calidad (QA) insista en unos estándares de proceso
independientemente del tipo de software a desarrollar.

El gestor principal debe intervenir para asegurar que el proceso de calidad ayude
al desarrollo del producto en lugar de impedirlo. Podemos definir dos tipos de
estándares como parte del proceso de garantía de calidad:

1. Estándares de producto. Se aplican sobre el producto software que se comienza


a desarrollar. Incluyen estándares de documentación, como cabecera de
comentarios estándar para definición de clases, y estándares de codificación.

2. Estándares 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.

Existe una relación muy cercana entre los estándares de producto y los
estándares de proceso. Los estándares de producto se aplican a las salidas del
proceso software y. en muchos casos, los estándares de proceso incluyen
actividades de proceso específicas que garantizan que se sigan los estándares de
producto. Los estándares de software son importantes por varias razones:

1. Están basadas en el conocimiento de la mejor o más apropiada práctica de la


empresa, evita la repetición de errores anteriores.

2. Proveen un marco de trabajo alrededor del cual se implementa el proceso de


garantía de la calidad. El control de la calidad sencillamente asegura que los
estándares se siguen adecuadamente.

ZEPEDA SIERRA RAÚL. INGENIERIA EN SISTEMAS COMPUTACIONALES. 4


INGENIERIA DE SOFTWARE

3. Ayudan a la continuidad cuando una persona continúa el trabajo que llevaba a


cabo otra. Se reduce el esfuerzo de aprendizaje cuando se comienza un nuevo
trabajo.

ESTÁNDARES

Los estándares de calidad de software son normas emitidas por organismos


específicos, que sirven para sentar un marco con el que comparar si un proceso
de desarrollo es o no de calidad. Las normas de calidad del software más
conocidas han sido desarrolladas por ISO, y son la serie ISO-9000.

MÉTRICAS

Las métricas del producto son una medida cuantitativa que permite a la gente del
software tener una visión profunda de la eficacia del proceso del software y de los
proyectos que dirigen utilizando el proceso como un marco de trabajo; son
analizadas y evaluadas por los administradores del software.

VENTAJAS DEL USO DE METRICAS:

 Determina la calidad del producto.


 Evalúa la productividad de los desarrolladores.
 Se tiene conocimiento cuantitativo de las características del proceso y del
producto.
 Se tiene un soporte para la estimación y la planificación.
 Se evalúan los beneficios (en cuanto a calidad y productividad) derivados
del uso de nuevos métodos y herramientas de ingeniería del software.
 Establece una línea base para la estimación

CARACTERISTICAS DE LAS METRICAS:

 Exactas y Precisas: No se debe perder información en los redondeos ya


que la información se desvirtúa.
 Consistentes: Una medición de un atributo debe dar el mismo valor
independientemente de la medición.

5.6 Modelos de madurez.


El grado en el cual una organización, o una unidad organizacional desarrolla,
asimila e implementa buenas prácticas en dirección de proyectos, programas y
portafolios, se conoce como madurez en administración/dirección de proyectos.

El nivel de madurez en administración de proyectos de una organización u unidad


organizacional es factible de ser medido mediante modelos de madurez.

ZEPEDA SIERRA RAÚL. INGENIERIA EN SISTEMAS COMPUTACIONALES. 5


INGENIERIA DE SOFTWARE

Un modelo de madurez, es un conjunto estructurado de elementos (buenas


prácticas, herramientas de medición, criterios de análisis, etc.), que permite
identificar las capacidades instaladas en dirección de proyectos en la
organización, compararlas con estándares, identificar vacíos o debilidades y
establecer procesos de mejora continua.

5.6.1 Enfoque de procesos.


La meta de la ingeniería de software es construir productos de software, o mejorar
los existentes; en ingeniería de procesos, la meta es desarrollar o mejorar
procesos.
Un proceso de desarrollo de software es un conjunto de personas, estructuras de
organización, reglas, políticas, actividades y sus procedimientos, componentes de
software, metodologías, y herramientas utilizadas o creadas específicamente para
definir, desarrollar, ofrecer un servicio, innovar y extender un producto de software.
Un proceso de software efectivo habilita a la organización a incrementar su
productividad al desarrollar software:

 Permite estandarizar esfuerzos, promover reusó, repetición y consistencia


entre proyectos.
 Provee la oportunidad de introducir mejores prácticas de la industria.
 Permite entender que las herramientas deben ser utilizadas para soportar
un proceso.
 Establece la base para una mayor consistencia y mejoras futuras.

Un proceso de software mejora los esfuerzos de mantenimiento y soporte:

 Define cómo manejar los cambios y liberaciones a sistemas de software


existentes.
 Define cómo lograr la transición del software a la operación, y cómo
ejecutar los esfuerzos de operación y soporte.

5.6.2 PSP y TSP.


Personal Software Process (PSP)

El personal Software Process, conocido por sus siglas como PSP, es una
metodología de reciente creación, proveniente del Instituto de Ingeniería del
Software. PSP es una alternativa dirigida a los ingenieros de sistemas, que les
permite mejorar la forma en la que construyen software.

ZEPEDA SIERRA RAÚL. INGENIERIA EN SISTEMAS COMPUTACIONALES. 6


INGENIERIA DE SOFTWARE

Considerando aspectos como la planeación, calidad, estimación de costos y


productividad. PSP es una metodología que vale la pena revisar cuando el
ingeniero de software está interesado en aumentar la calidad de los productos de
software que desarrolla dentro de un contexto de trabajo individual.

Características

En PSP todas las tareas y actividades que el ingeniero de software debe realizar
durante el proceso de desarrollo de un producto de software, están puntualmente
definidas en un conjunto de documentos conocidos como scripts. Los scripts son
el punto medular en PSP, por lo que hace mucho énfasis en que deban ser
guiados en forma disciplinada, ya que de ello dependerá el éxito de la mejora que
se busca. Gran parte de las tareas y actividades definidas en los scripts generará
en su realización un conjunto de datos, fundamentalmente de carácter estadístico.

La aplicación de PSP en varios procesos de desarrollo, y el análisis de la


información estadística generada e cada uno de éstos, permitirán al ingeniero de
software identificar, tanto sus fortalezas como sus debilidades, y crecer a través de
un proceso de autoaprendizaje y auto mejora.

La calidad de PSP, es u aspecto fuertemente relacionado con la cantidad de


defectos que el producto de software contiene Los scripts no pueden utilizarse en
forma separada o desordenada. Ventajas y desventajas PSP es una alternativa,
de las muchas que han surgido recientemente, para mejorar el proceso de
desarrollo de software.

Ventajas y desventajas

PSP es una alternativa, de las muchas que han surgido recientemente, para
mejorar el proceso de desarrollo de software. Más que clasificar un conjunto de
sentencias como ventajas y desventajas, a continuación, se citan algunas: PSP es
una metodología basada en estimación.

La estimación permite saber cuándo y cómo se desarrollan las tareas de un


proceso, por lo que podría citarse como un aspecto importante de esta
metodología el estar basada en métricas y estimaciones. La información de las
métricas y estimaciones se utiliza para evaluar y mejorar procesos frutos. PSP
parte de la premisa que, si el ingeniero de software conoce sus fortalezas y
debilidades, puede establecer las acciones necesarias para erradicar o explotar
los aspectos identificados en la forma en que desarrolla software.

La información de las métricas y estimaciones se utiliza para evaluar y mejorar


procesos frutos. PSP parte de la premisa que, si el ingeniero de software conoce
sus fortalezas y debilidades, puede establecer las acciones necesarias para
erradicar o explotar los aspectos identificados en la forma en que desarrolla
software.

ZEPEDA SIERRA RAÚL. INGENIERIA EN SISTEMAS COMPUTACIONALES. 7


INGENIERIA DE SOFTWARE

El PSP se desarrolló considerando los siguientes principios de calidad y


planeación: Cada ingeniero debe planear su trabajo con base en sus datos
históricos personales.

 Los ingenieros deben medir su trabajo y analizar los resultados para


mejorar su desempeño.
 Los ingenieros deben sentirse personalmente responsables de la calidad
de sus productos buscando decididamente hacer trabajo de calidad.
 Es más eficiente prevenir los defectos que encontrarlos y corregirlos.

Team Software Process (TSP)

En combinación con el Personal Software Process (PSP), el llamado Team


Software Process (TSP) proporciona un marco de trabajo de procesos definidos
que está diseñado para ayudarle a equipos de gerentes e ingenieros a organizar y
producir proyectos de software de gran escala, que tengan tamaños mayores a
varios miles de líneas de código. El objetivo del TSP es mejorar los niveles de
calidad y productividad de un proyecto de desarrollo de software de un equipo, con
el fin de ayudarlos a alcanzar los acuerdos de costos y tiempos en dicho
desarrollo.

Funcionamiento

Antes que los ingenieros de software puedan participar en el TSP, se requiere que
ya hayan aprendido sobre el Personal Software Process (Personal Software
Process), de manera tal que el TSP pueda funcionar de manera adecuada. El TSP
comienza con un proceso de cuatro días llamado despegue. El despegue está
diseñado para comenzar el proceso de construcción de los equipos y durante éste
tiempo, los equipos y sus administradores establecen metas, definen roles,
evalúan riesgos y producen un plan de equipo. El despegue generalmente se hace
con un coach específicamente entrenado, o con un líder que ya ha gerenciado
varios proyectos que han usado TSP para su desarrollo. El TSP es un proceso
diseñado para equipos de software auto-dirigidos y de alto desempeño,
ayudándolos a planear su trabajo, negociar compromisos con la gerencia, dar
seguimiento cabal a sus compromisos y producir productos de calidad mientras
mejoran su rendimiento. El marco de trabajo de TSP incluye roles, plantillas,
procesos, guías, especificaciones y listas de chequeo.

Características

ZEPEDA SIERRA RAÚL. INGENIERIA EN SISTEMAS COMPUTACIONALES. 8


INGENIERIA DE SOFTWARE

 Usa equipos auto-dirigidos con base en el estilo de administración de Peter


Drucker (administración del conocimiento) junto con un coach que ayuda a
desarrollar las habilidades de trabajo en equipo en los individuos.
 Tiene procesos operacionales flexibles que permiten a los equipos adaptar
los procesos, contando además con un marco de trabajo de métricas que
soporta a su proceso e incluye técnicas para la administración de la calidad
usando revisiones personales, inspecciones e índices de desempeño de la
calidad.
 Usa planes detallados con actividades no mayores a 10 hrs en periodos de
3-6 meses y establece juntas de cierre (postmortems) para finales de ciclo
o de proyecto.
 Utiliza lanzamientos de proyectos de 3.5 días para planear las actividades
y para integrar a los miembros del equipo.
 Cada miembro tienen asignado roles, metas y riesgos del proyecto.
 Los calendarios del equipo son desglosados en calendarios personales que
son ajustados con base en datos personales.

5.6.3 SPICE.
La ISO/IEC TR 15504, conocida como SPICE (Software Process Improvement
and Capability dEtermination) es un modelo de evaluación y mejora de los
procesos de desarrollo y mantenimiento de sistemas y productos de software. El
estándar ISO 15504 es una herramienta que ayuda a reducir costes y mejorar la
calidad evitando problemas.

La ISO/IEC TR 15504 es un marco de valoración de procesos, que puede ser


empleado por las organizaciones involucradas en la planificación, gestión,
monitorización, control y mejora de la adquisición, suministro, desarrollo,
operación, evolución y soporte de software.

Proporciona todas las facilidades para la evaluación del proceso y establece los
requisitos mínimos para realizar una evaluación que asegure la repetibilidad y
consistencia de las valoraciones obtenidas.

El objetivo principal de evaluar estos procesos es conocer la capacidad que


tienen en una organización.

Después de su ejecución, se debe obtener la información relevante de cada


proceso, y el punto hasta el cual estos cumplen con su propósito.

Es un Marco de referencia para:

 Determinar las fortalezas y debilidades de los procesos.

ZEPEDA SIERRA RAÚL. INGENIERIA EN SISTEMAS COMPUTACIONALES. 9


INGENIERIA DE SOFTWARE

 Mejorar los procesos de software y medir sus mejoras.


 Aquellos que adquieren un sistema para evaluar la capacidad de los
proveedores de sistemas.
 Determinar los riesgos de negocio para una empresa que considera
desarrollar un nuevo producto de software o servicio.

5.6.5 MoProSoft.
Modelo de Procesos para la Industria del Software Modelo para la mejora y
evaluación de los procesos de desarrollo y mantenimiento de sistemas y productos
de software. Desarrollado por la Asociación Mexicana para la Calidad en
Ingeniería de Software a través de la Facultad de Ciencias de la Universidad
Nacional Autónoma de México (UNAM) y a solicitud de la Secretaría de Economía
para obtener una norma mexicana que resulte apropiada a las características de
tamaño de la gran mayoría de empresas mexicanas de desarrollo y mantenimiento
de software. Moprosoft es el nombre del modelo en la comunidad universitaria y
profesional, y la norma técnica a la que da contenido es la NMX-059/01-NYCE-
2005 que fue declarada Norma Mexicana el 15 de agosto de 2005 con la
publicación de su declaratoria en el Diario oficial de la Federación. Moprosoft
considera que los modelos de evaluación y mejora CMMI eI SO/IEC 15504 no
resultan apropiados para empresas pequeñas y medianas de desarrollo y
mantenimiento de software. Sobre las áreas de procesos de los niveles 2 y 3 del
modelo SW-CMM e inspirándose en el marco de ISO/IE 15504 se ha desarrollado
este modelo.

1
ZEPEDA SIERRA RAÚL. INGENIERIA EN SISTEMAS COMPUTACIONALES.
0

También podría gustarte