El modelo V es un tipo de modelo SDLC donde el proceso se ejecuta secuencialmente en forma de V. También se le conoce como modelo de Verificación y Validación. Se basa en la asociación de una fase de prueba para cada etapa de desarrollo correspondiente. El desarrollo de cada paso está directamente asociado a la fase de prueba. La siguiente fase comienza sólo después de completar la fase anterior, es decir, para cada actividad de desarrollo, hay una actividad de prueba correspondiente.
conversión de int a cadena en java
Tabla de contenidos
- Diseño de modelo V
- Importancia del modelo V
- Principios del modelo V
- ¿Cuándo utilizar el modelo V?
- Ventajas del modelo V
- Desventajas del modelo V
- Conclusión
El V-Model es un modelo del ciclo de vida de desarrollo de software (SDLC) que proporciona una representación visual y sistemática del proceso de desarrollo de software. Se basa en la idea de una forma de V, en la que los dos catetos de la V representan la progresión de la proceso de desarrollo de software de recopilación de requisitos y análisis hasta el diseño, implementación, pruebas y mantenimiento.
Diseño de modelo V
- Recopilación y análisis de requisitos : La primera fase del V-Model es la fase de recopilación y análisis de requisitos, donde se recopilan y analizan los requisitos del cliente para el software para determinar el alcance del proyecto.
- Diseño: En la fase de diseño se desarrolla la arquitectura y el diseño del software, incluido el diseño de alto nivel y el diseño detallado.
- Implementación: En la fase de implementación, el software se construye en base al diseño.
- Pruebas: En la fase de prueba, el software se prueba para garantizar que cumpla con los requisitos del cliente y sea de alta calidad.
- Despliegue: En la fase de implementación, el software se implementa y se pone en uso.
- Mantenimiento: En la fase de mantenimiento, el software se mantiene para garantizar que continúa satisfaciendo las necesidades y expectativas del cliente.
- El modelo V se utiliza a menudo en seguridad: sistemas críticos, como los sistemas aeroespaciales y de defensa, debido a su énfasis en pruebas exhaustivas y su capacidad para definir claramente los pasos involucrados en el proceso de desarrollo de software.
Modelo V SDLC
La siguiente ilustración muestra las diferentes fases de un modelo V del SDLC.
Verificación Etapas :
Se trata de una técnica de análisis estático (revisión) realizada sin ejecutar código. Es el proceso de evaluación de la fase de desarrollo del producto para determinar si se cumplen los requisitos especificados.
Hay varias fases de Verificación en el V-Model:
Análisis de requisitos comerciales:
Este es el primer paso de la designación del ciclo de desarrollo en el que los requisitos del producto deben solucionarse desde la perspectiva del cliente. En estas fases se incluye una comunicación adecuada con el cliente para comprender los requisitos de los clientes. Estas son actividades muy importantes que deben manejarse adecuadamente, ya que la mayoría de las veces los clientes no saben exactamente lo que quieren y no están seguros de ello en ese momento, entonces utilizamos un diseño de prueba de aceptación La planificación que se realiza en el momento del requisito comercial se utilizará como un aporte para pruebas de aceptación.
Diseño de sistemas:
mvcjava
El diseño del sistema comenzará cuando tengamos claros los requisitos del producto en general, y luego tendremos que diseñar el sistema por completo. Esta comprensión estará al principio o al final del proceso de desarrollo del producto. Estos serán beneficiosos para la futura ejecución de casos de prueba.
Diseño arquitectonico:
En esta etapa se comprenden y diseñan las especificaciones arquitectónicas. Por lo general, se proponen varios enfoques técnicos y la elección final se realiza después de considerar tanto la viabilidad técnica como financiera. La arquitectura del sistema se divide a su vez en módulos, cada uno de los cuales maneja una función distinta. Otro nombre para esto es Diseño de Alto Nivel (HLD).
En este punto, el intercambio de datos y la comunicación entre los módulos internos y los sistemas externos están bien comprendidos y definidos. Durante esta fase, las pruebas de integración se pueden crear y documentar utilizando la información proporcionada.
Diseño del módulo:
Esta fase, conocida como Diseño de bajo nivel (LLD), especifica el diseño interno integral de cada módulo del sistema. La compatibilidad entre el diseño y otros sistemas externos, así como otros módulos de la arquitectura del sistema, es crucial. Las pruebas unitarias son un componente crucial de cualquier proceso de desarrollo, ya que ayudan a identificar y erradicar la mayoría de los errores y fallas en una etapa temprana. Con base en los diseños de los módulos internos, ahora se pueden crear estas pruebas unitarias.
Fase de codificación:
El paso de codificación implica escribir el código para los módulos del sistema que se crearon durante la fase de diseño. Los requisitos arquitectónicos y del sistema se utilizan para determinar qué lenguaje de programación es el más apropiado.
Se siguen los estándares y principios de codificación al realizar la codificación. Antes de que la compilación final se registre en el repositorio, el código se somete a muchas revisiones y se optimiza para un rendimiento óptimo.
Validación Etapas :
Implica técnicas de análisis dinámico (funcionales y no funcionales) y pruebas realizadas mediante la ejecución de código. La validación es el proceso de evaluación del software después de completar la fase de desarrollo para determinar si el software cumple con las expectativas y requisitos del cliente.
Entonces, V-Model contiene fases de verificación en un lado y fases de validación en el otro lado. Las fases de verificación y Validación se unen a la fase de codificación en forma de V. Por eso se le llama modelo V.
Hay varios Validación Fases en el modelo V:
búsqueda adversaria
Examen de la unidad:
Los planes de pruebas unitarias se desarrollan durante la fase de diseño del módulo. Estos planes de prueba unitaria se ejecutan para eliminar errores en el código o en el nivel unitario.
Pruebas de integración:
Una vez completadas las pruebas unitarias, se realizan las pruebas de integración. En las pruebas de integración, se integran los módulos y se prueba el sistema. Las pruebas de integración se realizan en la fase de diseño de la arquitectura. Esta prueba verifica la comunicación de los módulos entre sí.
Pruebas del sistema:
Las pruebas del sistema prueban la aplicación completa con su funcionalidad, interdependencia y comunicación. Prueba los requisitos funcionales y no funcionales de la aplicación desarrollada.
Pruebas de aceptación del usuario (UAT):
ventanas.abrir javascript
La UAT se realiza en un entorno de usuario que se asemeja al entorno de producción. UAT verifica que el sistema entregado cumpla con los requisitos del usuario y que el sistema esté listo para usarse en el mundo real.
Fase de diseño:
- Análisis de requisitos: Esta fase contiene una comunicación detallada con el cliente para comprender sus requisitos y expectativas. Esta etapa se conoce como recopilación de requisitos.
- Diseño de sistemas: Esta fase contiene el diseño del sistema y la configuración completa del hardware y la comunicación para desarrollar el producto.
- Diseño arquitectonico: El diseño del sistema se divide en módulos que adoptan diferentes funcionalidades. Se entiende claramente la transferencia de datos y la comunicación entre los módulos internos y con el mundo exterior (otros sistemas).
- Diseño del módulo: En esta fase, el sistema se divide en pequeños módulos. Se especifica el diseño detallado de los módulos, también conocido como Diseño de Bajo Nivel (LLD).
Fases de prueba:
- Examen de la unidad: Los planes de pruebas unitarias se desarrollan durante la fase de diseño del módulo. Estos planes de prueba unitaria se ejecutan para eliminar errores a nivel de código o unidad.
- Pruebas de integración: Una vez completadas las pruebas unitarias, se realizan las pruebas de integración. En las pruebas de integración, los módulos se integran y se prueba el sistema. Las pruebas de integración se realizan en la fase de diseño de la arquitectura. Esta prueba verifica la comunicación de los módulos entre sí.
- Pruebas del sistema: Las pruebas del sistema prueban la aplicación completa con su funcionalidad, interdependencia y comunicación. Prueba los requisitos funcionales y no funcionales de la aplicación desarrollada.
- Pruebas de aceptación del usuario (UAT): La UAT se realiza en un entorno de usuario que se asemeja al entorno de producción. UAT verifica que el sistema entregado cumpla con los requisitos del usuario y que el sistema esté listo para usarse en el mundo real.
Desafío industrial:
A medida que la industria ha evolucionado, las tecnologías se han vuelto más complejas, cada vez más rápidas y en constante cambio; sin embargo, sigue existiendo un conjunto de principios y conceptos básicos que son tan aplicables hoy como cuando la TI estaba en su infancia.
milivecricket
- Definir y perfeccionar con precisión los requisitos del usuario.
- Diseñar y construir una aplicación de acuerdo a los requerimientos del usuario autorizado.
- Validar que la aplicación que habían creado cumplía con los requisitos comerciales autorizados.
Importancia del modelo V
1. Identificación temprana de defectos
Al incorporar tareas de verificación y validación en cada etapa del proceso de desarrollo, V-Model fomenta las pruebas tempranas. Esto reduce el costo y el esfuerzo necesarios para solucionar problemas más adelante en el ciclo de vida de desarrollo al ayudar en la detección temprana y la resolución de fallas.
2. determinar las Fases de Desarrollo y Pruebas
El V-Model contiene una fase de prueba que corresponde a cada etapa del proceso de desarrollo. Al garantizar que los procesos de prueba y desarrollo estén claramente trazados, este mapeo claro promueve un enfoque metódico y ordenado de la ingeniería de software.
3. Previene las pruebas de Big Bang
Con frecuencia, las pruebas se realizan al final del ciclo de vida de desarrollo en los modelos de desarrollo tradicionales, lo que da como resultado un enfoque Big Bang en el que todas las operaciones de prueba se centran a la vez. Al integrar actividades de prueba en el proceso de desarrollo y fomentar un enfoque de prueba más progresivo y regulado, el V-Model evita esto.
4. Mejora la cooperación
En todos los niveles, el V-Model promueve la cooperación entre los equipos de prueba y desarrollo. A través de esta colaboración, se comprenden mejor los requisitos del proyecto, las opciones de diseño y las metodologías de prueba, lo que mejora la eficacia y eficiencia del proceso de desarrollo.
5. Garantía de calidad mejorada
La garantía de calidad general se ve reforzada por el modelo V, que incorpora operaciones de prueba en todos los niveles. Antes de que el programa llegue a la etapa de implementación final, se asegura de que cumpla con los requisitos y pasa por un estricto proceso de validación y verificación.
Principios del modelo V
- De grande a pequeño: En V-Model, las pruebas se realizan en una perspectiva jerárquica, por ejemplo, los requisitos identificados por el equipo del proyecto, la creación de las fases de diseño de alto nivel y diseño detallado del proyecto. A medida que se completa cada una de estas fases, los requisitos que se van definiendo se vuelven cada vez más refinados y detallados.
- Integridad de datos/procesos: Este principio establece que el diseño exitoso de cualquier proyecto requiere la incorporación y cohesión tanto de datos como de procesos. Los elementos del proceso deben identificarse en cada requisito.
- Escalabilidad: Este principio establece que el concepto V-Model tiene la flexibilidad de adaptarse a cualquier proyecto de TI independientemente de su tamaño, complejidad o duración.
- Referencia cruzada: Una correlación directa entre los requisitos y la actividad de prueba correspondiente se conoce como referencia cruzada.
Documentación tangible:
Este principio establece que todo proyecto necesita crear un documento. Esta documentación es requerida y aplicada tanto por el equipo de desarrollo del proyecto como por el equipo de soporte. La documentación se utiliza para mantener la aplicación una vez que está disponible en un entorno de producción.
¿Por qué preferido?
- Es fácil de manejar debido a la rigidez del modelo. Cada fase de V-Model tiene entregables específicos y un proceso de revisión.
- Seguimiento proactivo de defectos, es decir, que los defectos se encuentren en una etapa temprana.
Cuándo usar de Modelo V ?
- Trazabilidad de Requisitos: El V-Model resulta beneficioso en situaciones en las que es imperativo crear una trazabilidad precisa entre los requisitos y sus casos de prueba relacionados.
- Proyectos complejos: El V-Model ofrece una forma metódica de gestionar las actividades de prueba y reducir los riesgos relacionados con los problemas de integración e interfaz para proyectos con un alto nivel de complejidad e interdependencias entre los componentes del sistema.
- Proyectos tipo cascada : Dado que el V-Model ofrece una estructura accesible para organizar, llevar a cabo y monitorear las actividades de prueba en cada nivel de desarrollo, es apropiado para proyectos que utilizan un enfoque secuencial de desarrollo, muy parecido al modelo en cascada.
- Sistemas críticos para la seguridad: Estos sistemas se utilizan en las industrias aeroespacial, automotriz y sanitaria. Ponen un fuerte énfasis en procedimientos rígidos de verificación y validación, que ayudan a garantizar que se cumplan los requisitos esenciales del sistema y que los posibles riesgos se encuentren y eliminen temprano en el proceso de desarrollo.
Ventajas del modelo V
- Este es un modelo altamente disciplinado y las fases se completan una a la vez.
- V-Model se utiliza para proyectos pequeños donde los requisitos del proyecto son claros.
- Sencillo y fácil de entender y utilizar.
- Este modelo se centra en actividades de verificación y validación en las primeras etapas del ciclo de vida, mejorando así la probabilidad de crear un producto de buena calidad y sin errores.
- Permite a la gestión de proyectos realizar un seguimiento preciso del progreso.
- Proceso claro y estructurado: El modelo V proporciona un proceso claro y estructurado para desarrollo de software , haciéndolo más fácil de entender y seguir.
- Énfasis en las pruebas: V-Model pone un fuerte énfasis en las pruebas, lo que ayuda a garantizar la calidad y confiabilidad del software.
- Trazabilidad mejorada: V-Model proporciona un vínculo claro entre los requisitos y el producto final, lo que facilita el seguimiento y la gestión de cambios en el software.
- Mejor comunicación: la estructura clara del V-Model ayuda a mejorar la comunicación entre el cliente y el equipo de desarrollo.
Desventajas del modelo V
- Alto riesgo e incertidumbre.
- No es bueno para proyectos complejos y orientados a objetos.
- No es adecuado para proyectos donde los requisitos no son claros y contienen un alto riesgo de cambio.
- Este modelo no admite la iteración de fases.
- No maneja fácilmente eventos concurrentes.
- Inflexibilidad: El modelo V es un modelo lineal y secuencial, lo que puede dificultar la adaptación a requisitos cambiantes o eventos inesperados.
- Consume mucho tiempo: El V-Model puede llevar mucho tiempo, ya que requiere mucha documentación y pruebas.
- Dependencia excesiva de la documentación: el modelo V pone un fuerte énfasis en la documentación, lo que puede llevar a una dependencia excesiva de la documentación a expensas del trabajo de desarrollo real.
Conclusión
El modelo V de ingeniería de software proporciona un enfoque científico y organizado del ciclo de vida del desarrollo de software (SDLC). La experiencia del equipo con la metodología seleccionada, las características únicas del proyecto y la naturaleza de los requisitos deben tenerse en cuenta al seleccionar cualquier modelo SDLC, incluido el modelo V.
Libro de referencia:
Ingeniería de software: el enfoque de un profesional por Roger S. Pressman, publicado por McGraw-Hill Education, 2017.