Subido por Cristian Pérez

Practica U3 Gestion de desarrollo de sw

Anuncio
UNIVERSIDAD POLITÉCNICA DEL VALLE DE TOLUCA
NOMBRE DEL PROGRAMA
EDUCATIVO
INGENIERÍA EN TECNOLOGIAS DE LA
INFORMACIÓN
NOMBRE DE ASIGNATURA
Gestión de Desarrollo de Software
FACILITADOR
REYNA GONZALEZ JORGE ALEJANDRO
NOMBRE DE LA UNIDAD DE
APRENDIZAJE
UNIDAD III: Gestionar de la calidad del proceso de desarrollo de software
NOMBRE DE LA PRÁCTICA
Proyecto Unidad 3
GRUPO: ITI8VA
No
Matrícula
Nombre
Firma
1
1320343132
Pérez Mejía Cristian
------------------
2
1220333005
Adrián Salvador Valdés Martínez
------------------
3
1121353021
Vane Velázquez García
------------------
4
1320343141
Natalia Salazar Pérez
------------------
Septiembre - Diciembre 2024
Resumen
Actividades para lograr la calidad en el proceso de desarrollo de software
Para asegurar la calidad en el desarrollo del sistema "Tefi-Ferretería", se han
implementado diversas actividades clave. Estas incluyen la planificación detallada
de requisitos, el diseño arquitectónico robusto, el desarrollo iterativo con
retroalimentación continua y pruebas exhaustivas en cada etapa del desarrollo. Se
han llevado a cabo revisiones y auditorías regulares para identificar y corregir
cualquier defecto, asegurando que el producto final sea robusto y confiable.
Justificación del estándar y métricas de calidad de software elegidas
Los estándares y métricas de calidad de software seleccionados para "TefiFerretería" se basan en las mejores prácticas de la industria y en la necesidad de
ofrecer un servicio excepcional a los usuarios. Las métricas elegidas evalúan
aspectos como la eficiencia, usabilidad, fiabilidad y mantenibilidad del software. La
justificación de estos estándares radica en la necesidad de asegurar un rendimiento
óptimo y una experiencia de usuario superior, manteniendo al mismo tiempo la
facilidad de mantenimiento y evolución del sistema.
Justificación del modelo de calidad de software seleccionado
El modelo de calidad de software adoptado para "Tefi-Ferretería" es el modelo
ISO/IEC 25010, que proporciona un marco completo para evaluar las características
de calidad del software. Este modelo ha sido elegido por su enfoque integral que
cubre aspectos críticos como la funcionalidad, el rendimiento, la compatibilidad, la
seguridad y la mantenibilidad. La justificación de este modelo se basa en su
capacidad para proporcionar una evaluación exhaustiva y equilibrada de la calidad
del software, asegurando que el sistema cumpla con las expectativas de los
usuarios y los estándares de la industria.
Introducción
El sistema "Tefi-Ferretería" es una innovadora plataforma web desarrollada para
modernizar y optimizar la gestión de reservas y compras de productos en una
Ferretería. Este sistema permite a los clientes realizar reservas para servicios de
Ferretería y comprar productos que pueden ser recogidos en la tienda física.
Además, proporciona información detallada sobre los cortes de cabello y sus
precios, facilitando así la toma de decisiones de los clientes. "Tefi-Ferretería" se
posiciona como una solución integral para mejorar la eficiencia operativa y la
experiencia del cliente en el sector de la Ferretería.
En este documento se describen las actividades realizadas para asegurar la calidad
en el proceso de desarrollo del software, se justifican los estándares y métricas de
calidad seleccionados, y se explica el modelo de calidad de software adoptado. Este
enfoque garantiza que el sistema cumpla con los más altos estándares de calidad y
satisfacción del usuario.
Actividades Generales para lograr la calidad en el proceso de desarrollo de
software
En la siguiente tabla se presenta el listado de actividades desarrolladas de manera
general para asegurar la calidad del software "Tefi-Ferretería". Cada actividad se
describe brevemente, proporcionando una visión general de los procesos
implementados. Posteriormente, se especificarán las actividades enfocadas en las
etapas de validación y verificación para una comprensión más detallada.
Herramientas/Métodos
Fase
Actividad
Descripción
Utilizados
Recolección y
análisis de las
necesidades y
expectativas de los
Definición
Requisitos
de
usuarios.
Documentación de
Entrevistas, encuestas,
reuniones
requisitos
funcionales y no
funcionales.
Planificación
Evaluación de la
Análisis
Viabilidad
de
viabilidad técnica y
Análisis
económica del
beneficio
proyecto.
Elaboración
Planificación del
Proyecto
del
plan de proyecto,
incluyendo
cronograma,
recursos y riesgos.
MS Project
de
costo-
Diseño
de Definición
Arquitectura
de
estructura
la UML,
Diagramas
de
del arquitectura
sistema,
incluyendo
componentes,
módulos
y
sus
interacciones.
Diseño
Diseño
de Creación
Interfaz
de prototipos de la
Usuario
de Wireframes, Prototipos,
Sketch
interfaz de usuario
para asegurar una
experiencia de
usuario intuitiva y
eficiente.
Implementación
Desarrollo
del
Iterativa
software
en
Scrum
iteraciones cortas,
permitiendo la
retroalimentación y
ajustes continuos.
Revisión
Desarrollo
Código
de Evaluación
del Revisión por pares,
código fuente por
herramientas
otros
revisión de código
desarrolladores
para identificar y
corregir errores y
mejorar la calidad
del código.
de
Integración
Uso de integración
Continua
continua
GitLab
para
detectar problemas
lo
antes
posible
mediante
la
integración
frecuente
de
cambios
en
el
código.
Gestión
de Identificación,
Incidentes
registro
y
resolución
de
Jira
problemas
detectados en el
sistema
después
de
su
implementación.
Mantenimiento
Actualizaciones
Implementación de Gestión de
y Mejoras
mejoras
y como Github
actualizaciones
continuas
para
mantener
el
sistema
actualizado
y
mejorar
su
funcionalidad
y
rendimiento.
versiones
Monitoreo y
Análisis de
Desempeño
Monitoreo
Apache JMeter
continuo del
rendimiento del
sistema para
identificar
posibles
problemas y
áreas de mejora.
Actividades Generales
Planificación:

Definición de Requisitos: Se recolectan y analizan las necesidades y
expectativas de los usuarios mediante entrevistas, encuestas y reuniones.

Se documentan los requisitos funcionales y no funcionales.

Análisis de Viabilidad: Se evalúa la viabilidad técnica y económica del
proyecto, considerando factores como costo, tiempo y recursos necesarios.

Planificación del Proyecto: Se elabora un plan de proyecto detallado, que
incluye cronograma, asignación de recursos y gestión de riesgos.
Diseño:

Diseño de Arquitectura: Se define la estructura del sistema, detallando
componentes, módulos y sus interacciones mediante diagramas UML y de
arquitectura.

Diseño de Interfaz de Usuario: Se crean prototipos de la interfaz de usuario
para asegurar una experiencia intuitiva y eficiente.
Desarrollo:

Implementación Iterativa: Se desarrolla el software en iteraciones cortas,
permitiendo retroalimentación continua y ajustes según sea necesario.

Revisión de Código: Se evalúa el código fuente por otros desarrolladores
para identificar y corregir errores, mejorando la calidad del código.

Integración Continua: Se utiliza la integración continua para detectar
problemas lo antes posible mediante la integración frecuente de cambios en
el código.
Mantenimiento:

Gestión de Incidentes: Se identifican, registran y resuelven problemas
detectados en el sistema después de su implementación.

Actualizaciones y Mejoras: Se implementan mejoras y actualizaciones
continuas para mantener el sistema actualizado y mejorar su funcionalidad y
rendimiento.

Monitoreo y Análisis de Desempeño: Se monitorea continuamente el
rendimiento del sistema para identificar posibles problemas y áreas de
mejora.
A continuación, se detallan las actividades específicas llevadas a cabo durante las
etapas de validación y verificación del software, las cuales son cruciales para
garantizar que el sistema cumpla con los requisitos y expectativas de los usuarios.
Actividades enfocadas en Validación y Verificación
Herramientas/Métodos
Fase
Validación
Descripción
Actividad
Utilizados
Pruebas de Validación del sistema UAT
Aceptación
(User
Acceptance
por parte de los usuarios Testing), Beta testing
finales
para
asegurar
que cumple con sus
necesidades
y
expectativas.
Revisión
Evaluación y validación Revisión
del Diseño
del
diseño
por
mediante inspecciones
revisiones y sesiones de
revisión por pares.
Verificación Pruebas
Unitarias
Pruebas
de PHPUnit
componentes
individuales
para
asegurar que cada uno
funcione correctamente.
Pruebas de Verificación de que los Selenium
Integración
componentes
sistema
del
funcionan
juntos correctamente.
Pruebas de Evaluación del sistema
Sistema
completo para asegurar
Apache JMeter
pares,
que
cumple
con
los
requisitos especificados.
Revisión de Evaluación del código Revisión
Código
fuente
pares,
otros herramientas de revisión
por
para de código
desarrolladores
identificar
y
errores
mejorar
y
por
corregir
la
calidad del código.
Integración
Uso
integración GitLab
Continua
continua para detectar
de
problemas
posible
lo
antes
mediante
la
integración frecuente de
cambios en el código.
Actividades Enfocadas en Validación y Verificación
Validación:

Pruebas de Aceptación: Los usuarios finales validan el sistema para asegurar
que cumple con sus necesidades y expectativas, utilizando pruebas de
aceptación de usuarios (UAT) y beta testing.

Revisión del Diseño: Se evalúa y valida el diseño mediante revisiones por
pares y sesiones de revisión detalladas.
Verificación:

Pruebas Unitarias: Se realizan pruebas de componentes individuales para
asegurar que cada uno funcione correctamente.

Pruebas de Integración: Se verifica que los componentes del sistema
funcionen bien juntos mediante pruebas de integración.

Pruebas de Sistema: Se evalúa el sistema completo para asegurar que
cumple con los requisitos especificados.

Revisión de Código: Se evalúa el código fuente por otros desarrolladores
para identificar y corregir errores.

Integración Continua: Se utiliza la integración continua para detectar
problemas lo antes posible mediante la integración frecuente de cambios en
el código.
Justificación del estándar y métricas de calidad de software elegidas
Para asegurar la calidad del sistema web de la Ferretería, se han seleccionado y
justificado los siguientes estándares y métricas de calidad de software:
Estándares de Calidad de Software
ISO/IEC 25010 (SQuaRE): Este estándar proporciona un marco para evaluar
la calidad del software mediante la definición de características de calidad.
Justificación
El estándar ISO/IEC 25010 es ampliamente reconocido y proporciona una
cobertura integral de las diversas dimensiones de la calidad del software,
incluyendo aspectos funcionales y no funcionales. Esto asegura que el
sistema web de la Ferretería no solo funcione correctamente, sino que
también sea seguro, eficientey fácil de usar.
Métricas de calidad dentro del sistema web “Tefi-Ferretería”Funcionalidad:
Login: Muestra cómo el sistema permite la autenticación de usuarios.
Servicios
Muestra la lista de servicios ofrecidos.
Usabilidad
Interfaz de usuario del cliente: Muestra un diseño limpio y fácil de navegar,
evidenciando que los usuarios pueden encontrar rápidamente lo que necesitan.
Apartar de un producto: Muestra una interfaz intuitiva con campos claramente
etiquetados.
Eficiencia:
Respuesta rápida del sistema: Después de iniciar sesión o al filtrar servicios,
mostrando que el sistema responde rápidamente a las solicitudes de los usuarios.
Inventario para administradores: Muestra cómo se puede agregar y gestionar el
inventario de manera eficiente.
Mantenibilidad:
Actualización de productos: Muestra cómo los administradores pueden modificar
fácilmente la información de los productos.
Seguridad:
Implementación de medidas de seguridad: Como el llenar los campos
correctamente del formulario de login.
Contraseñas encriptadas:
El usuario solo debe de ser completado por letras:
El campo de nombre no acepta números:
El campo de teléfono no acepta números
Métricas de calidad:
El Tiempo Medio de Detección (MTTD) es una métrica que mide el tiempo
promedio que transcurre desde que ocurre una falla en el sistema hasta que es
detectada por los testers o el equipo de DevOps. Esta métrica es importante para
evaluar la eficiencia del proceso de monitoreo y la capacidad de respuesta del
equipo a problemas del sistema.
Cálculo del MTTD
Registro de Fallas:


Documenta la hora exacta en la que cada falla ocurrió.
Registra la hora exacta en la que cada falla fue detectada por el equipo.
Cálculo del MTTD


Suma todos los tiempos de detección individuales.
Divide esta suma por el número total de fallas registradas.
Cálculo del Tiempo de Detección para Cada Falla a la hora de registro de una
cuenta:
Falla 1: 2 minutos
Falla 2: 4 minutos
Falla 3: 5 minutos
Cálculo del MTTD
𝑀𝑇𝑇𝐷 =
2+4+5
3
=
11
3
= 3.66 𝑚𝑖𝑛𝑢𝑡𝑜𝑠
Cálculo del Tiempo de Detección para Cada Falla a la hora de actualizar un
producto:
Falla 1: 3 minutos
Falla 2: 5 minutos
Falla 3: 8 minutos
Cálculo del MTTD:
𝑀𝑇𝑇𝐷 =
3+5+8
3
=
16 = 5.333 𝑚𝑖𝑛𝑢𝑡𝑜𝑠
3
Justificación del modelo de calidad de software seleccionado.
Mejora Continua de Procesos
El modelo CMMI se organiza en niveles de madurez que promueven la mejora
continua de los procesos de desarrollo de software. Esto es importante para
asegurar que el sistema web de la Ferretería no solo cumple con los estándares
de calidad actuales, sino que también mejora con el tiempo. Los niveles de
madurez son:
Nivel 1: Inicial
El proceso es impredecible y reactivo. Este nivel es el punto de partida para el uso
del CMMI.
Nivel 2: Gestionado
Los proyectos son planeados, ejecutados, medidos y controlados. Este nivel
asegura que los proyectos se gestionen adecuadamente y se cumplan los plazos y
presupuestos.
Planificación del proyecto:
Uso del sistema web “Tefi-Ferretería”
Nivel 3: Definido
Los procesos son bien definidos y comprendidos. Este nivel ayuda a establecer
procesos estandarizados y consistentes a lo largo del proyecto.
Procesos Definidos y Documentados:
Nivel 4: Gestionado Cuantitativamente
Los procesos son gestionados y controlados mediante datos cuantitativos. Este
nivel asegura que se utilicen métricas para monitorizar y mejorar el rendimiento.
Medición y análisis de las pruebas de caja negra y blanca que se realizaron,
se presentan a continuación
Pruebas de caja negra en selenium:
Pruebas de caja blanca Prueba.bat:
Nivel 5: Optimización
Se centran en la mejora continua mediante la identificación de debilidades y el
fortalecimiento de los procesos. Este nivel ayuda a implementar mejoras
innovadoras y proactivas.
Mejora Continua
Mejoras en los botones:
Botón de borrados lógicos:
Reporte de inventario:
Aumento de tamaño de imágenes:
Buenas Prácticas de
programación en el sistema
La siguiente tabla muestra las buenas prácticas de programación aplicadas al sistema web
de la Ferreteria.
PRACTICA/
DESCRIPCION
Documentación del
código.
En este parte se cuenta
con
una
breve
descripción de que es lo
que hace este archivo en
general.
EVIDENCIA
Comentar el código.
Aquí aplicamos el para
que de lo que se está
realizando.
Usar nombres
descriptivos
En este caso estamos
aplicando nombres que
correspondan al campo
que estamos solicitando.
Validación de Entradas
La función asegura que
los datos de entrada del
usuario estén limpios y
seguros para su uso en
consultas SQL. Utiliza
mysqli_real_escape_stri
ng
para
escapar
caracteres especiales en
el
string
$dato,
previniendo
así
problemas de inyección
SQL al asegurar que los
caracteres que podrían
alterar consultas SQL
sean
tratados
correctamente.
Realiza Pruebas.
Se realizaron pruebas
de caja en negra en
selenium
para
comprobar
que
el
sistema
tenga
un
correcto funcionamiento.
Prioriza la Legibilidad.
El código se estructuró
de manera clara y
organizada para mejorar
su
legibilidad
y
comprensión. Se utilizó
un formato consistente y
se emplearon nombres
de variables descriptivos
para
facilitar
la
comprensión del flujo de
datos y cálculos.
Conclusiones
Vane Velázquez García:
Pérez Mejía Cristian: Durante el desarrollo del sistema web para la Ferretería, la
implementación del modelo CMMI ha sido importante para asegurar la calidad y
mejora continua del proyecto. Este modelo nos ha permitido gestionar los riesgos de
manera efectiva y optimizar los procesos, lo que ha resultado en un proyecto
confiable.
Natalia Salazar Pérez: La elección del estándar ISO/IEC 25010 nos ha permitido
evaluar de manera integral las diversas dimensiones de calidad del software a este
enfoque, hemos asegurado que el sistema no solo funcione correctamente, sino que
también sea seguro, eficiente y fácil de usar, proporcionando una excelente
experiencia al usuario final.
Adrián Salvador Valdés Martínez: Las actividades realizadas para lograr la calidad
en el proceso de desarrollo, como la planificación adecuada, la gestión de requisitos
y las pruebas exhaustivas, han sido fundamentales para el proyecto. Estas prácticas
han permitido identificar y corregir errores, garantizando que el sistema cumpla con
las expectativas del clientey los usuarios.
Descargar