• No se han encontrado resultados

Practica U3 Gestion de desarrollo de sw

N/A
N/A
ZenAura

Academic year: 2025

Share "Practica U3 Gestion de desarrollo de sw"

Copied!
34
0
0

Texto completo

(1)

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

(2)

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 "Tefi- Ferreterí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.

(3)

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 las herramientas 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.

(4)

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.

Fase Actividad Descripción Herramientas/Métodos

Utilizados

Planificación

Definición Requisitos

d e

Recolección y análisis de las necesidades y expectativas de los usuarios.

Documentación de

requisitos funcionales y no funcionales.

Entrevistas, encuestas, reuniones

Análisis de Viabilidad

Evaluación de la viabilidad técnica y económica del proyecto.

Análisis de costo-beneficio

Planificación del Proyecto

Elaboración del plan de proyecto, incluyendo cronograma, recursos y riesgos.

MS Project

(5)

Diseño

Diseño de Arquitectura

Definición de la

estructura del sistema, incluyendo

componentes, módulos e interacciones.

UML, Diagramas de arquitectura

Diseño de Interfaz Usuario

Creación de prototipos de la interfaz de usuario para asegurar una experiencia de usuario intuitiva y eficiente.

Wireframes, Prototipos, Sketch

Desarrollo

Implementación Iterativa

Desarrollo del Software en iteraciones cortas, permitiendo la

retroalimentación y ajustes continuos.

Scrum

Revisión Código d e

Evaluación del código fuente por otros desarrolladores para identificar y corregir errores y mejorar la calidad del código.

Revisión por pares, herramientas de revisión de código

(6)

Integración Continua

Uso de integración Continua para detectar problemas

lo antes posible Mediante la Integración Frecuente de

Cambios en el código

GitLab

Mantenimiento

Gestión De Incidentes

Identificación, Registro y Resolución de

problemas detectados en el sistema después de su implementación.

Jira

Actualizaciones y Mejoras

Implementación de Mejoras y

actualizaciones Continuas para Mantener el Sistema Actualizado y Mejorar su funcionalidad y rendimiento.

Gestión de versiones como Github

(7)

Monitoreo y Análisis de Desempeño

Monitoreo continuo del rendimiento del sistema para identificar posibles problemas y áreas de mejora.

Apache JMeter

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.

(8)

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.

(9)

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

Fase Actividad Descripción

Herramientas/Métodos Utilizados

Validación Pruebas de Aceptación

Validación del sistema por parte de los usuarios finales para asegurar que cumple con sus

necesidades y

expectativas.

UAT (User Acceptance Testing), Beta testing

Revisión del Diseño

Evaluación y validación del diseño mediante revisiones y sesiones de revisión por pares.

Revisión por pares, inspecciones

Verificación Pruebas Unitarias

Pruebas de

componentes

individuales para asegurar que cada uno funcione correctamente.

PHPUnit

Pruebas de Integración

Verificación de que los componentes del sistema funcionan juntos correctamente.

Selenium

Pruebas de Sistema

Evaluación del sistema completo para asegurar

Apache JMeter

(10)

que cumple con los requisitos especificados.

Revisión de Código

Evaluación del código fuente por otros desarrolladores para identificar y corregir errores y mejorar la calidad del código.

Revisión por pares, herramientas de revisión de código

Integración Continua

Uso de integración continua para detectar problemas lo antes posible mediante la integración frecuente de cambios en el código.

GitLab

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.

(11)

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.

(12)

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, eficiente y 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.

(13)

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.

(14)

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.

(15)

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:

(16)

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

(17)

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.

(18)

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

=

11

= 3.66 𝑚𝑖𝑛𝑢𝑡𝑜𝑠

3 3

(19)

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

=

16

= 5.333 𝑚𝑖𝑛𝑢𝑡𝑜𝑠

3 3

(20)

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:

(21)

Uso del sistema web “Tefi-Ferretería”

(22)
(23)
(24)

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

(25)

Pruebas de caja negra en selenium:

(26)

Pruebas de caja blanca Prueba.bat:

(27)

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:

(28)

Reporte de inventario:

Aumento de tamaño de imágenes:

(29)
(30)

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 Ferretería.

PRACTICA/

DESCRIPCION

EVIDENCIA 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.

(31)

Comentar el código.

Aquí aplicamos el para que de lo que se está realizando.

(32)

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.

.

(33)

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.

(34)

Conclusiones

Vane Velázquez García: La implementación de estrategias de calidad y modelos reconocidos ha sido un factor decisivo para el éxito del proyecto de desarrollo del sistema web para la Ferretería. Gracias a la aplicación del modelo CMMI, se logró una gestión eficiente de los riesgos y la optimización de los procesos, garantizando la confiabilidad del producto.

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 cliente y los usuarios.

Referencias

Documento similar