Saltar al contenido

SDLC – Modelo de prototipo de software

octubre 19, 2021

La creación de prototipos de software se refiere a la creación de prototipos de aplicaciones de software que muestran la funcionalidad del producto en desarrollo, pero que en realidad pueden no tener la lógica exacta del software original.

La creación de prototipos de software se está volviendo muy popular como modelo de desarrollo de software, ya que permite comprender los requisitos del cliente en una etapa temprana de desarrollo. Ayuda a obtener comentarios valiosos del cliente y ayuda a los diseñadores y desarrolladores de software a comprender qué se espera exactamente del producto en desarrollo.

¿Qué es la creación de prototipos de software?

Prototype es un modelo funcional de software con algunas funciones limitadas. El prototipo no siempre tiene la lógica exacta utilizada en la aplicación de software real y es un esfuerzo adicional que debe considerarse en la estimación del esfuerzo.

La creación de prototipos se utiliza para permitir a los usuarios evaluar las propuestas de los desarrolladores y probarlas antes de la implementación. También ayuda a comprender los requisitos que son específicos del usuario y que pueden no haber sido considerados por el desarrollador durante el diseño del producto.

A continuación se explica un enfoque paso a paso para diseñar un prototipo de software.

Identificación de requisitos básicos

Este paso implica comprender los requisitos básicos del producto, especialmente en términos de interfaz de usuario. Los detalles más intrincados del diseño interno y los aspectos externos como el rendimiento y la seguridad pueden ignorarse en esta etapa.

Desarrollando el Prototipo inicial

El prototipo inicial se desarrolla en esta etapa, donde se muestran los requisitos muy básicos y se proporcionan interfaces de usuario. Es posible que estas características no funcionen exactamente de la misma manera internamente en el software real desarrollado. Mientras tanto, las soluciones alternativas se utilizan para dar la misma apariencia al cliente en el prototipo desarrollado.

Revisión del prototipo

A continuación, el prototipo desarrollado se presenta al cliente y a las demás partes interesadas importantes del proyecto. La retroalimentación se recopila de manera organizada y se utiliza para futuras mejoras en el producto en desarrollo.

Revisar y mejorar el prototipo

La retroalimentación y los comentarios de revisión se discuten durante esta etapa y se llevan a cabo algunas negociaciones con el cliente en función de factores como: limitaciones de tiempo y presupuesto y viabilidad técnica de la implementación real. Los cambios aceptados se incorporan nuevamente en el nuevo Prototipo desarrollado y el ciclo se repite hasta que se cumplen las expectativas del cliente.

Los prototipos pueden tener dimensiones horizontales o verticales. Un prototipo horizontal muestra la interfaz de usuario del producto y ofrece una vista más amplia de todo el sistema, sin concentrarse en las funciones internas. Un prototipo vertical en el otro lado es una elaboración detallada de una función específica o un subsistema en el producto.

El propósito del prototipo tanto horizontal como vertical es diferente. Los prototipos horizontales se utilizan para obtener más información sobre el nivel de la interfaz de usuario y los requisitos comerciales. Incluso se puede presentar en las demostraciones de ventas para hacer negocios en el mercado. Los prototipos verticales son de naturaleza técnica y se utilizan para obtener detalles del funcionamiento exacto de los subsistemas. Por ejemplo, los requisitos de la base de datos, la interacción y las cargas de procesamiento de datos en un subsistema determinado.

Prototipos de software: tipos

Existen diferentes tipos de prototipos de software que se utilizan en la industria. A continuación se muestran los principales tipos de prototipos de software que se utilizan ampliamente:

Prototipos desechables / rápidos

La creación de prototipos desechables también se denomina creación de prototipos rápida o cerrada. Este tipo de creación de prototipos utiliza muy pocos esfuerzos con un análisis de requisitos mínimos para construir un prototipo. Una vez que se entienden los requisitos reales, el prototipo se descarta y el sistema real se desarrolla con una comprensión muy clara de los requisitos del usuario.

Prototipos evolutivos

La creación de prototipos evolutivos, también denominada prototipos de placa de pruebas, se basa en la construcción de prototipos funcionales reales con una funcionalidad mínima al principio. El prototipo desarrollado forma el corazón de los futuros prototipos sobre los que se construye todo el sistema. Mediante el uso de prototipos evolutivos, los requisitos bien entendidos se incluyen en el prototipo y los requisitos se agregan a medida que se comprenden.

Prototipos incrementales

La creación de prototipos incrementales se refiere a la construcción de múltiples prototipos funcionales de los diversos subsistemas y luego a la integración de todos los prototipos disponibles para formar un sistema completo.

Prototipos extremos

La creación de prototipos extremos se utiliza en el dominio del desarrollo web. Consta de tres fases secuenciales. Primero, se presenta un prototipo básico con todas las páginas existentes en formato HTML. Luego, el procesamiento de datos se simula utilizando una capa de servicios prototipo. Finalmente, los servicios se implementan e integran al prototipo final. Este proceso se llama Prototipado Extremo y se usa para llamar la atención sobre la segunda fase del proceso, donde se desarrolla una interfaz de usuario completamente funcional con muy poca atención a los servicios reales.

Prototipos de software: aplicación

La creación de prototipos de software es más útil en el desarrollo de sistemas que tienen un alto nivel de interacciones del usuario, como los sistemas en línea. Los sistemas que necesitan que los usuarios completen formularios o pasen por varias pantallas antes de que se procesen los datos pueden usar la creación de prototipos de manera muy efectiva para brindar la apariencia exacta incluso antes de que se desarrolle el software real.

El software que implica demasiado procesamiento de datos y la mayor parte de la funcionalidad es interna con muy poca interfaz de usuario no suele beneficiarse de la creación de prototipos. El desarrollo de prototipos podría ser una sobrecarga adicional en tales proyectos y puede requerir muchos esfuerzos adicionales.

Prototipos de software: pros y contras

La creación de prototipos de software se utiliza en casos típicos y la decisión debe tomarse con mucho cuidado para que los esfuerzos dedicados a la construcción del prototipo agreguen un valor considerable al software final desarrollado. El modelo tiene sus propios pros y contras que se comentan a continuación.

Las ventajas del modelo de creación de prototipos son las siguientes:

  • Mayor participación del usuario en el producto incluso antes de su implementación.

  • Dado que se muestra un modelo de trabajo del sistema, los usuarios obtienen una mejor comprensión del sistema que se está desarrollando.

  • Reduce el tiempo y los costes, ya que los defectos se pueden detectar mucho antes.

  • Los comentarios de los usuarios más rápidos están disponibles, lo que lleva a mejores soluciones.

  • La funcionalidad faltante se puede identificar fácilmente.

  • Se pueden identificar funciones confusas o difíciles.

Las desventajas del modelo de creación de prototipos son las siguientes:

  • Riesgo de análisis de requisitos insuficiente debido a una dependencia excesiva del prototipo.

  • Los usuarios pueden confundirse con los prototipos y los sistemas reales.

  • En la práctica, esta metodología puede aumentar la complejidad del sistema, ya que el alcance del sistema puede expandirse más allá de los planes originales.

  • Los desarrolladores pueden intentar reutilizar los prototipos existentes para construir el sistema real, incluso cuando no sea técnicamente factible.

  • El esfuerzo invertido en la construcción de prototipos puede ser demasiado si no se supervisa adecuadamente.

close