ANALISIS Y DESARROLLO DE SOFTWARE. FICHA: 2455277 Aprendiz: Sergio Elian Acosta González Evidencia de conocimiento: GA4-220501095-AA4-EV01 - Taller sobre validación de documentos 18/03/2023 Introducción. En este taller, aprenderemos sobre los artefactos y su importancia en el proceso de desarrollo de software. Los artefactos son una parte fundamental del proceso de construcción, prueba y despliegue del software. En este taller, exploraremos los diferentes tipos de artefactos que se utilizan en la programación de software, cómo se crean y cómo se utilizan para desarrollar, probar y desplegar software. hablaremos sobre cómo los artefactos permiten la colaboración y el intercambio de información entre los miembros del equipo de desarrollo y el personal encargado del despliegue del software. En resumen, este taller sobre artefactos en la programación de software es una oportunidad para aprender sobre los artefactos y cómo se utilizan para construir software de alta calidad y reproducible. • ¿Qué es un artefacto? Un artefacto se refiere a un archivo o conjunto de archivos que se producen durante el proceso de desarrollo de software y que se utilizan para implementar, probar y desplegar el software. Los artefactos pueden incluir, entre otros, archivos de código fuente, archivos de configuración, bibliotecas, ejecutables, scripts, documentos de diseño y requisitos, informes de pruebas, y cualquier otro elemento que se utilice para construir, probar o desplegar el software. • ¿Tipos de artefactos? Existen diferentes tipos de artefactos en la programación de software, cada uno de los cuales tiene un propósito específico dentro del proceso de desarrollo de software. A continuación, se describen algunos de los tipos más comunes de artefactos en la programación de software: ➢ Código fuente: Es el conjunto de instrucciones escritas por los desarrolladores para construir el software. El código fuente se puede almacenar en diferentes tipos de archivos, como archivos de texto plano, archivos de código fuente compilados, etc. ➢ Documentos de diseño: Son documentos que describen el diseño del software y su arquitectura. Estos documentos suelen incluir diagramas de flujo, diagramas de clases, diagramas de secuencia, entre otros. ➢ Bibliotecas: Son colecciones de código que se utilizan para proporcionar una funcionalidad específica al software. ➢ Ejecutables: Son archivos que se pueden ejecutar directamente en una máquina. Pueden ser programas completos, componentes del software o scripts. ➢ Archivos de configuración: Son archivos que contienen información de configuración necesaria para el funcionamiento del software, como por ejemplo configuraciones de bases de datos, parámetros de red, etc. ➢ Informes de pruebas: Son documentos que describen los resultados de las pruebas realizadas en el software. Estos informes suelen incluir información sobre los errores encontrados y las mejoras que se pueden realizar. ➢ Documentación del usuario: Son documentos que describen el uso del software y su funcionalidad. Esta documentación puede incluir manuales de usuario, tutoriales y guías de inicio rápido. ➢ Archivos de recursos: Son archivos que contienen elementos multimedia como imágenes, vídeos, audios, etc., que se utilizan en el software. • ¿Qué es la evaluación de artefactos? La evaluación de artefactos es un proceso que implica la revisión y análisis de los diferentes artefactos producidos durante el desarrollo de software. El objetivo de la evaluación de artefactos es verificar la calidad de los artefactos y garantizar que cumplen con los estándares y requisitos establecidos para el proyecto. La evaluación de artefactos se puede realizar en diferentes etapas del ciclo de vida del software, como la fase de planificación, diseño, desarrollo, pruebas y despliegue. Los artefactos que se evalúan pueden incluir, entre otros, el código fuente, los documentos de diseño, los informes de pruebas, la documentación del usuario, etc. • ¿Cómo se realizan? A continuación, se describen los pasos comunes para realizar la evaluación de artefactos: ➢ Selección de los artefactos a evaluar: Se debe definir qué artefactos se van a evaluar y en qué etapa del ciclo de vida del software se van a evaluar. Los artefactos a evaluar pueden incluir el código fuente, documentos de diseño, informes de pruebas, documentación del usuario, etc. ➢ Selección de los evaluadores: Se deben seleccionar los evaluadores, que pueden ser otros desarrolladores, expertos en el área o usuarios finales. Los evaluadores deben estar familiarizados con los artefactos a evaluar y tener conocimientos técnicos en el área. ➢ Definición de criterios de evaluación: Se deben definir los criterios de evaluación para cada artefacto a evaluar. Los criterios deben ser claros, medibles y relevantes para el proyecto. Por ejemplo, los criterios de evaluación para el código fuente pueden incluir la legibilidad, la eficiencia y la modularidad. ➢ Realización de la evaluación: Los evaluadores realizan la evaluación de los artefactos utilizando los criterios definidos. Pueden utilizar diferentes métodos de evaluación, como la revisión por pares, la revisión técnica formal, la inspección de código, entre otros. Durante la evaluación, se identifican errores y oportunidades de mejora en los artefactos. ➢ Informe de resultados: Se debe elaborar un informe que documente los resultados de la evaluación. El informe debe incluir los artefactos evaluados, los criterios de evaluación utilizados, los resultados de la evaluación y las recomendaciones para mejorar los artefactos. El informe debe ser claro y conciso para que los desarrolladores puedan entender los resultados y tomar medidas para mejorar los artefactos. ➢ Acciones de mejora: Basándose en los resultados de la evaluación, se deben tomar acciones para mejorar los artefactos. Estas acciones pueden incluir correcciones de errores, cambios en el diseño o la implementación, y la implementación de mejores prácticas. • ¿Qué instrumentos se utilizan? Existen varios instrumentos que se pueden utilizar para la evaluación de artefactos en la programación de software. A continuación, se describen algunos de ellos: ➢ ➢ ➢ ➢ ➢ ➢ Listas de verificación Escalas de valoración Revisión por pares Pruebas de software Herramientas automáticas de análisis de código Entrevistas con los desarrolladores • ¿Qué resultados se obtienen? Los resultados que se obtienen en la evaluación de artefactos en la programación de software dependen de los criterios de calidad que se hayan establecido y del tipo de artefacto que se esté evaluando. En general, la evaluación de artefactos puede proporcionar información sobre: ➢ Calidad del código fuente: La evaluación del código fuente puede proporcionar información sobre la calidad del mismo, incluyendo la presencia de errores, la complejidad del código, la facilidad de mantenimiento, entre otros aspectos. ➢ Cumplimiento de los requisitos: La evaluación de los documentos de requisitos puede proporcionar información sobre el grado de cumplimiento de los requisitos del software. ➢ Eficiencia y efectividad del software: La evaluación de los informes de pruebas puede proporcionar información sobre la eficiencia y efectividad del software, incluyendo la presencia de errores, el rendimiento del software, la facilidad de uso, entre otros aspectos. ➢ Diseño del software: La evaluación de los documentos de diseño puede proporcionar información sobre la calidad del diseño del software, incluyendo la claridad, la coherencia y la adecuación del diseño. En conclusión, los artefactos son elementos fundamentales en la programación de software, ya que permiten documentar, diseñar, implementar y probar el software. Los artefactos pueden ser de diferentes tipos, como el código fuente, los documentos de diseño, los informes de pruebas, entre otros. Es importante realizar una evaluación de los artefactos para garantizar que el software cumpla con los requisitos y expectativas del usuario final, y para mejorar la calidad del software. Para realizar la evaluación de artefactos, se pueden utilizar diferentes instrumentos, como listas de verificación, escalas de valoración, revisión por pares, pruebas de software, herramientas automáticas de análisis de código, y entrevistas con los desarrolladores.