Está en la página 1de 9

7.

1 Proceso de aseguramiento de calidad del software

ISO/IEC 25010
El modelo de calidad representa la piedra angular en torno a la cual se establece el
sistema para la evaluación de la calidad del producto. En este modelo se
determinan las características de calidad que se van a tener en cuenta a la hora de
evaluar las propiedades de un producto software determinado.
La calidad del producto software se puede interpretar como el grado en que dicho
producto satisface los requisitos de sus usuarios aportando de esta manera un
valor. Son precisamente estos requisitos (funcionalidad, rendimiento, seguridad,
mantenibilidad, etc.) los que se encuentran representados en el modelo de calidad,
el cual categoriza la calidad del producto en características y subcaracterísticas.
El modelo de calidad del producto definido por la ISO/IEC 25010 se encuentra
compuesto por las ocho características de calidad que se muestran en la siguiente
figura:

Adecuación Funcional

Representa la capacidad del producto software para proporcionar funciones que


satisfacen las necesidades declaradas e implícitas, cuando el producto se usa en
las condiciones especificadas. Esta característica se subdivide a su vez en las
siguientes subcaracterísticas:

 Completitud funcional. Grado en el cual el conjunto de funcionalidades


cubre todas las tareas y los objetivos del usuario especificados.
 Corrección funcional. Capacidad del producto o sistema para proveer
resultados correctos con el nivel de precisión requerido.
 Pertinencia funcional. Capacidad del producto software para proporcionar
un conjunto apropiado de funciones para tareas y objetivos de usuario
especificados.
Eficiencia de desempeño

Esta característica representa el desempeño relativo a la cantidad de recursos


utilizados bajo determinadas condiciones. Esta característica se subdivide a su vez
en las siguientes subcaracterísticas:

 Comportamiento temporal. Los tiempos de respuesta y procesamiento y los


ratios de throughput de un sistema cuando lleva a cabo sus funciones bajo
condiciones determinadas en relación con un banco de pruebas (benchmark)
establecido.
 Utilización de recursos. Las cantidades y tipos de recursos utilizados
cuando el software lleva a cabo su función bajo condiciones determinadas.
 Capacidad. Grado en que los límites máximos de un parámetro de un
producto o sistema software cumplen con los requisitos.

Compatibilidad

Capacidad de dos o más sistemas o componentes para intercambiar información y/o


llevar a cabo sus funciones requeridas cuando comparten el mismo entorno
hardware o software. Esta característica se subdivide a su vez en las siguientes
subcaracterísticas:

 Coexistencia. Capacidad del producto para coexistir con otro software


independiente, en un entorno común, compartiendo recursos comunes sin
detrimento.
 Interoperabilidad. Capacidad de dos o más sistemas o componentes para
intercambiar información y utilizar la información intercambiada.

Se ha creado de manera que pueda ser accesible en distintas plataformas.

Usabilidad

Capacidad del producto software para ser entendido, aprendido, usado y resultar
atractivo para el usuario, cuando se usa bajo determinadas condiciones. Esta
característica se subdivide a su vez en las siguientes subcaracterísticas:

 Capacidad para reconocer su adecuación. Capacidad del producto que


permite al usuario entender si el software es adecuado para sus necesidades.
 Capacidad de aprendizaje. Capacidad del producto que permite al usuario
aprender su aplicación.
 Capacidad para ser usado. Capacidad del producto que permite al usuario
operarlo y controlarlo con facilidad.
 Protección contra errores de usuario. Capacidad del sistema para proteger a
los usuarios de hacer errores.
 Estética de la interfaz de usuario. Capacidad de la interfaz de usuario de
agradar y satisfacer la interacción con el usuario.
 Accesibilidad. Capacidad del producto que permite que sea utilizado por
usuarios con determinadas características y discapacidades.

Fiabilidad

Capacidad de un sistema o componente para desempeñar las funciones


especificadas, cuando se usa bajo unas condiciones y periodo de tiempo
determinados. Esta característica se subdivide a su vez en las siguientes
subcaracterísticas:

 Madurez. Capacidad del sistema para satisfacer las necesidades de fiabilidad


en condiciones normales.
 Disponibilidad. Capacidad del sistema o componente de estar operativo y
accesible para su uso cuando se requiere.
 Tolerancia a fallos. Capacidad del sistema o componente para operar según lo
previsto en presencia de fallos hardware o software.
 Capacidad de recuperación. Capacidad del producto software para recuperar
los datos directamente afectados y reestablecer el estado deseado del sistema
en caso de interrupción o fallo.

Seguridad

Capacidad de protección de la información y los datos de manera que personas o


sistemas no autorizados no puedan leerlos o modificarlos. Esta característica se
subdivide a su vez en las siguientes subcaracterísticas:

 Confidencialidad. Capacidad de protección contra el acceso de datos e


información no autorizados, ya sea accidental o deliberadamente.
 Integridad. Capacidad del sistema o componente para prevenir accesos o
modificaciones no autorizados a datos o programas de ordenador.
 No repudio. Capacidad de demostrar las acciones o eventos que han tenido
lugar, de manera que dichas acciones o eventos no puedan ser repudiados
posteriormente.
 Responsabilidad. Capacidad de rastrear de forma inequívoca las acciones de
una entidad.
 Autenticidad. Capacidad de demostrar la identidad de un sujeto o un recurso.
Mantenibilidad

Esta característica representa la capacidad del producto software para ser


modificado efectiva y eficientemente, debido a necesidades evolutivas, correctivas o
perfectivas. Esta característica se subdivide a su vez en las siguientes
subcaracterísticas:

 Modularidad. Capacidad de un sistema o programa de ordenador (compuesto


de componentes discretos) que permite que un cambio en un componente tenga
un impacto mínimo en los demás.
 Reusabilidad. Capacidad de un activo que permite que sea utilizado en más de
un sistema software o en la construcción de otros activos.
 Analizabilidad. Facilidad con la que se puede evaluar el impacto de un
determinado cambio sobre el resto del software, diagnosticar las deficiencias o
causas de fallos en el software, o identificar las partes a modificar.
 Capacidad para ser modificado. Capacidad del producto que permite que sea
modificado de forma efectiva y eficiente sin introducir defectos o degradar el
desempeño.
 Capacidad para ser probado. Facilidad con la que se pueden establecer
criterios de prueba para un sistema o componente y con la que se pueden llevar
a cabo las pruebas para determinar si se cumplen dichos criterios.

Portabilidad

Capacidad del producto o componente de ser transferido de forma efectiva y


eficiente de un entorno hardware, software, operacional o de utilización a otro. Esta
característica se subdivide a su vez en las siguientes subcaracterísticas:
 Adaptabilidad. Capacidad del producto que le permite ser adaptado de forma
efectiva y eficiente a diferentes entornos determinados de hardware, software,
operacionales o de uso.
 Capacidad para ser instalado. Facilidad con la que el producto se puede
instalar y/o desinstalar de forma exitosa en un determinado entorno.
 Capacidad para ser reemplazado. Capacidad del producto para ser utilizado
en lugar de otro producto software determinado con el mismo propósito y en el
mismo entorno.

7.2 Tareas de control de calidad

En esta sección se enfocara el listado de tareas a realizar del equipo de trabajo del
sistema la cual se ira realizando a lo largo de la creación y evaluación de calidad.
Una campo o tarea se considera terminada si en el reporte se detalla que dicha
tarea fue realizada y probada con éxito. Las siguientes tareas requerirán de la
cooperación de todo el equipo de trabajo para obtener un resultado mucho más
satisfactorio al final de la evaluación

Parte de
francis
7.3 Practicas eficaces de Ingeniería de Software

Métodos
Pruebas: Las pruebas de software consisten en la dinámica de la verificación
del comportamiento de un programa en un conjunto finito de casos de
prueba, debidamente seleccionados de por lo general infinitas ejecuciones de
dominio, contra la del comportamiento esperado. Son una serie de
actividades que se realizan con el propósito de encontrar los posibles fallos
de implementación, calidad o usabilidad de un programa u ordenador;
probando el comportamiento del mismo. El trabajo del ACS es garantizar que
las pruebas se planeen en forma adecuada y que se realicen con eficiencia,
de modo que la probabilidad de que logren su objetivo principal sea la más
optimizada.
En este caso en el plan de pruebas para la evaluación del software se
definen datos de entrada al momento de iniciar las pruebas para la
evaluación de los módulo teniendo en cuenta el resultado final obtenido,
después de la ejecución de la prueba verificaremos si el proceso cumple con
lo esperado o si el modulo se deberá someter a cambios para que cumpla
con su determinada acción, para la cual fue diseñado de acorde al sistema.
Herramientas:
PHPUNIT: PHPUnit es un entorno para realizar pruebas unitarias en el
lenguaje de programación PHP. PHPUnit es un framework de la
familia xUnit originada con SUnit de Kent Beck. PHPUnit se puede encontrar
en GitHub y ha sido creado por Sebastian Bergmann.
Es una Herramienta para la evaluación de sistemas basados en PHP que
permite evaluar módulos específicos de nuestro sistema para la ver que todo
funcione de acuerdo a lo esperado o también para detectar errores.
El proceso de intalacion y ejecucion hay que seguir ciertos pasos en donde
una vez intalado utilizaremos el CMD para relaizar la prueba unitaria el cual
se apoya tambien con el programa Sublime text.
Sublime Text:
Es un editor de texto y editor de código fuente está escrito
en C++ y Python para los plugins. Desarrollado originalmente como una
extensión de Vim, con el tiempo fue creando una identidad propia, por esto
aún conserva un modo de edición tipo vi llamado Vintage mode.
A como podemos ver en el editor de texto sublime text al código se le tendrá que
agregar ciertos parámetros para poder realizar la prueba con éxito. En la clase se le
tendrá que agregar “PhpUnit_Framework_TestCase” y en la función antes del
nombre de la función se le agregara un “Test” una vez agregado esto guardamos y
seguimos a abrir el cmd en donde se ejecutara la prueba unitaria.

Al final veremos si nuestro código en prueba está en perfectas condiciones o posee


errores, a cómo podemos ver la prueba encontró 1 error en el código la cual tendrá
que ser revisada para su mejoramiento.

7.4 Control de todos los productos del trabajo de software y de los cambios
que sufren.
ID Modulo De registro
Nombre Modulo De Registro
Descripción Archivo que contiene el código
fuente del Modulo de registro del
SISTEMA WEB DE RESERVACION DEL
RESTAURANTE CHIMMEYCATERING
Formato de recepción Archivo con extensión (.php)
conteniendo el código
Condición del modulo Modulo en buen estado
Versión 2.0

El Modulo de reservación contiene los siguientes atributos que se evaluaron para


comprobar la funcionalidad del módulo.

Nombres Nombre del cliente


Apellidos Apellido del cliente
Dirección Dirección del cliente por algún pedido realizado.
Numero# Datos personales del cliente como su número para
contactarnos con él por cualquier percance en el transcurso de
la reservación.
Correo Datos extras para el envió de promociones y contactarse con
electrónico el cliente.
Dia del evento Datos en donde el cliente especificara exactamente el dia de su
reservación
Tiempo El tiempo estimado que el cliente estará en el local
Motivo Datos extras para un mejor confort a los gustos del cliente
Ocasión Se le dará una lista delegable al cliente con ciertos campos que
el restaurante le brindara para su selección

Cambios realizados al módulo :

Campo Descripción
Lugar de Se realizaron cambios en este campo porque creemos que es un
encuentro extra innecesario ya que el lugar no variaría a menos que sea un
(venue) sistema general par aun mismo restaurante.

7.5 Procedimiento para garantizar el cumplimiento de los estándares de Desarrollo de


Software
Está en una de las partes mas esenciales en el momento de la aseguracion de un
sistema ya que se podrán establecer los estándares a probar pero si no hay una
garantía del cumplimiento de estos mismos no se podrá llevar a cabo una
optimización del mismo sistema a como se debe.
Para garantizar el cumplimiento de los estándares el sistema se someterá a una
serie de pruebas para el control de calidad evaluando modulos paso a paso para así
identificar fallos o incumplimiento de los estándares importados en el sistema y se
realizara un plan de contingencia para hacer que el sistema cumpla con los
estándares establecidos.
Las actividades para el cumplimiento de los estándares son:
Pruebas de Software (TESTING)
Las pruebas de software se integran dentro de las diferentes fases del ciclo del
software dentro de la Ingeniería de software. Así se ejecuta un programa y mediante
técnicas experimentales se trata de descubrir que errores tiene.

Las pruebas de software también conocidas como “testing” son los procesos que
permiten verificar y revelar la calidad de un producto software. Son utilizadas para
identificar posibles fallos de implementación, calidad, o usabilidad de un programa
de ordenador o videojuego. Básicamente es una fase en el desarrollo de software
consistente en probar las aplicaciones construidas.
Estas pueden dividirse en muchas tales como las pruebas de caja negra y caja
blanca.

Control de Calidad
La función principal del control de calidad es asegurar que los productos o servicios
cumplan con los requisitos mínimos de calidad. Existe primordialmente como una
organización de servicio, para conocer las especificaciones establecidas por la
ingeniería del producto y proporcionar asistencia al departamento de elaboración,
para que la producción alcance estas especificaciones.
Todo producto que no cumpla las características mínimas para decir que es
correcto, será eliminado, sin poderse corregir los posibles defectos de fabricación
que podrían evitar esos costos añadidos y desperdicios de material.

Gestión de configuración del software


La gestión de configuración del Software tiene que ver con el etiquetado,
seguimiento, y control de los cambios en los elementos de software de un sistema
Todo esto Tomando en cuenta los estándares de control de calidad de Software.

También podría gustarte