Verificación y Validación de Software

Verificación: Proceso para evaluar si el software o sistema cumple con las especificaciones y requisitos previamente establecidos. Se centra en asegurarse de que el producto se está construyendo correctamente, verificando si el software sigue sus especificaciones. Validación: Proceso para asegurar que el software cumple con las necesidades del usuario y se adapta a su propósito. Se trata de verificar si el software creado es el correcto, si cumple con las expectativas del cliente y satisface sus necesidades. Ambos procesos son cruciales en las fases de pruebas de software, pero difieren en su enfoque: verificación se trata de «construir bien el producto» mientras que validación se trata de «construir el producto correcto». Compilador: Un compilador es un programa que traduce el código fuente escrito en un lenguaje de programación de alto nivel a un código objeto o ejecutable específico de la plataforma. Realiza esta traducción en una sola fase, generando un archivo ejecutable independiente del código fuente original. El proceso de compilación implica la verificación, optimización y traducción completa del código, generando un archivo ejecutable listo para su uso. Intérprete: Es un programa que ejecuta el código fuente línea por línea. En lugar de generar un archivo ejecutable independiente, interpreta el código fuente directamente y ejecuta las instrucciones a medida y las encuentra. Esto significa que el intérprete realiza la traducción y ejecución del código simultáneamente, sin generar un archivo ejecutable independiente. Diferencias clave: Compilador: Traduce todo el código a la vez. // Genera un archivo ejecutable independiente. // Mayormente usado en lenguajes como C, C++, Java (bytecode). Intérprete: Traduce y ejecuta el código línea por línea. // No produce un archivo ejecutable independiente. // Comúnmente utilizado en lenguajes como Python, JavaScript, Ruby. Requisitos funcionales: Son declaraciones de los servicios que prestará el sistema, en la forma en que reaccionará a determinados insumos. Estos requisitos especifican lo que debe hacer el sistema. Describen las interacciones entre el software y sus usuarios, así como el comportamiento del software bajo diversas condiciones.

Situaciones de uso

Compilador puede ser preferible cuando se requiere un alto rendimiento y eficiencia, como en aplicaciones que necesitan ejecutarse rápidamente y de manera optimizada. Un intérprete puede ser más útil durante la etapa de desarrollo, ya que permite una depuración más interactiva y una rápida experimentación con el código. Estas diferencias fundamentales en su funcionamiento y enfoque afectan significativamente el proceso de desarrollo y rendimiento de las aplicaciones, influyendo en la elección entre el uso de un compilador o un intérprete según las necesidades del proyecto. Ciclo de vida del software: Es una secuencia estructurada y bien definida de las etapas en ingeniería de software para desarrollar el software deseado. Lo describe desde el inicio hasta el final, con el objetivo de definir las distintas fases intermedias para validar el desarrollo de la aplicación y confirmar que cumpla con los requisitos. Las 7 fases: Planificación: En esta fase se definen los objetivos y requisitos del software a desarrollar, se establece un plan de trabajo y se determinan los recursos necesarios para llevar a cabo el proyecto. Análisis: Se estudian detalladamente los requerimientos del software, se identifican los procesos que se deben automatizar y se realiza un análisis de los datos que se van a utilizar. Diseño: Se definen la arquitectura del software, se diseñan los módulos del sistema y se especifican cómo se relacionan entre sí. Desarrollo: Se codifica el software, siguiendo las especificaciones definidas en la fase de diseño. Pruebas: En esta fase se ejecutan pruebas para verificar el correcto funcionamiento del software y para detectar y corregir errores. Implementación: Se pone en producción el software, se instala en los equipos y se configura para su uso. Mantenimiento: En esta última fase se realizan tareas de mantenimiento y actualizaciones en el software para corregir errores y agregar nuevas funcionalidades.

Mantenimiento Correctivo

Este tipo de mantenimiento se realiza cuando algo sale mal en una pieza de software, incluyendo fallos y errores. Se realiza de forma reactiva y se encarga de corregir los errores que aparecen. Mantenimiento Preventivo: Este tipo de mantenimiento se realiza de forma proactiva con el objetivo de evitar el deterioro del software o de mejorarlo sin alterar su funcionamiento. Incluye acciones como corregir errores en el código, mejorar la comprensión, optimizar el funcionamiento, optimizar el consumo de recursos, entre otros. Mantenimiento Perfectivo: Este tipo de mantenimiento se realiza para mejorar la funcionalidad del software sin alterar su funcionamiento. Incluye acciones como agregar nuevas funcionalidades, mejorar la eficiencia del software, entre otros. Mantenimiento Adaptable: Este tipo de mantenimiento se realiza para adaptar el software a cambios en el entorno, como cambios en una API de terceros, soportar una nueva versión del lenguaje de programación, actualizar la versión de una librería o de un framework, soportar cambios en el sistema operativo o en el hardware. IDE: Interfaz intuitiva y personalizable: La interfaz de Visual Studio Code es simple y fácil de usar, lo que permite a los desarrolladores concentrarse en su trabajo sin distracciones. Además, es altamente personalizable, lo que significa que puedes adaptarla a tus preferencias y necesidades específicas. Resaltado de sintaxis y autocompletado inteligente: Ofrece un resaltado de sintaxis sólido para una amplia gama de lenguajes de programación, lo que facilita la lectura y comprensión del código. Además, su función de autocompletado inteligente sugiere automáticamente fragmentos de código relevantes mientras escribes, lo que agiliza el proceso de desarrollo. Integración con control de versiones: Se integra perfectamente con sistemas de control de versiones como Git, lo que facilita la gestión de cambios y colaboración en proyectos. Potente depuración de código: El depurador integrado permite identificar y solucionar errores en tu código de manera eficiente. Soporte para múltiples lenguajes de programación: Tiene soporte nativo para gran variedad de lenguajes, entre ellos podemos destacar los principales del desarrollo Web: HTML, CSS, y JavaScript, entre otros.

Documentación: Guía técnica

Recoge información relativa a los requisitos, diseño y pruebas. Su objetivo es facilitar el correcto desarrollo y mantenimiento. Guía de uso: Informa a los usuarios finales toda la información necesaria para utilizar la información. Guía de instalación: Recoge la información necesaria para garantizar la correcta implantación de la aplicación. Por qué documentar: 1) Para dar toda la información a los usuarios de nuestro software y poder acometer futuras revisiones del proyecto. 2) Todas las etapas anteriores deben ser documentadas 3) Una correcta documentación permitirá la reutilización de parte de los programas en otras aplicaciones y un mantenimiento duradero.

Test

1) Software de sistema, software de desarrollo y software de aplicación 2) Se realiza el proceso de programación eligiendo un lenguaje de código legible por la máquina 3) En la de Análisis 4) Se adapta a las necesidades de la empresa, suele contener errores y es más costoso 5) Necesita compilarse // Es difícil de comprender y programar 6) Suelen trabajar con mucha abstracción y orientación a objetos // Tienen una forma de programar más intuitiva y sencilla 7) Código escrito en un lenguaje de programación 8) Mantenimiento 9) Declarativos 10) Java es un lenguaje compilado e interpretado 11) Orientado a objetos 12) Un entorno de Desarrollo puede tener: Frameworks y bibliotecas 13) Clases 14) Se hace más fácil programar ya que es más cercano al lenguaje humano

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.