Vous êtes sur la page 1sur 4

UNIDAD 8: EL PROCESO DE VALIDACION DE REQUERIMIENTOS

Autor: Sommerville, Ian

Construcción de Prototipos de Software


Un prototipo es una versión inicial de un sistema de software que se utiliza para
demostrar los conceptos, probar las opciones de diseño y, enterarse más
acerca del problema y sus posibles soluciones.
Un prototipo de software apoya a dos actividades del proceso de ingeniería de
requerimientos:
• Obtención de requerimientos: les permite adquirir nuevas ideas para los
requerimientos y encontrar áreas fuertes y débiles del software.
• Validación de requerimientos. El prototipo puede revelar errores y
omisiones en los requerimientos.
La construcción de prototipos puede utilizarse como un análisis de riesgo y una
técnica de reducción.
Un modelo iterativo del proceso, como el desarrollo incremental, se utiliza junto
con un lenguaje diseñado para el desarrollo rápido de aplicaciones. Por lo
tanto, las técnicas utilizadas para desarrollar un prototipo para validar los
requerimientos también se utilizan para desarrollar el sistema de software
mismo.
Ventajas:
• Al demostrar las funciones del sistema se identifican las discrepancias
entre los desarrolladores del software y los usuarios.
• Durante el desarrollo del prototipo el persona del desarrollo de software
puede darse cuenta de que los requerimientos son inconsistentes y/o
estas incompletos.
• Se dispone rápidamente de un sistema que funciona y demuestra la
factibilidad y usabilidad de la aplicación a administrar.
Otros Propósitos:
• Capacitar al usuario.
• Probar el sistema
Beneficios:
• Mejora en la usabilidad del sistema.
• Un mejor acoplamiento entre el sistema y las necesidades del usuario
• Mejora en la calidad del diseño
• Mejora en el mantenimiento
• Reducción en el esfuerzo de desarrollo

Construcción de prototipos en el proceso de software*

En sistemas grandes y complejos una forma de resolver la dificultad de


evaluación es utilizar un enfoque evolutivo para el desarrollo de sistemas. Esto
significa proporcionar al usuario un sistema incompleto y después modificarlo y
aumentarlo en el momento en que los requerimientos del usuario sean claros.
La construcción de prototipos evolutivos inicia con un sistema relativamente
simple que implementa los requerimientos más importantes del usuario. Dicho
prototipo se aumenta o cambia en cuanto se descubren nuevos requerimientos.
Finalmente se convierte en el sistema requerido.
El enfoque de construcción de prototipos desechables es para ayudar a refinar
y clasificar la especificación del sistema. El prototipo se escribe, evalúa y
modifica. La evaluación del prototipo informa del desarrollo de la especificación
detallada del sistema que se incluye en el documento de requerimientos de
este. Una vez que se ha redactado la especificación, el prototipo ya no es útil y
se desecha.
Diferencia entre objetivos:
1. El objetivo de la construcción de prototipos evolutivos es entregar a los
usuarios finales un sistema funcional. Los prototipos que evolucionan a
un sistema final se deben desarrollar con los mismos estándares de
calidad de la organización como cualquier otro software.
2. El objetivo de la construcción de prototipos desechables es validar o
derivar los requerimientos del sistema. Estos tienen un periodo de vida
corto.

Construcción de prototipos evolutivos*


Existen dos ventajas principales para adoptar este enfoque de desarrollo de
software:
1. Entrega acelerada del sistema
2. Compromiso del usuario con el sistema

Existen diferencias en detalles entre los métodos particulares de desarrollo


rápido de software pero también comparten algunas características comunes:
1. Los procesos de especificación, diseño o implementación se entrelazan.
2. El sistema se desarrolla en una serie de incrementos.
3. Se utilizan técnicas de desarrollo rápido de sistemas.
4. Por lo general, las interfaces de usuario del sistema se desarrollan
utilizando un sistema de desarrollo interactivo.

La construcción de prototipos evolutivos y los enfoques de desarrollo de


software basados en especificaciones difieren en la forma de ver la verificación
y validación. La verificación es el proceso de verificar que el problema este
acorde a su especificación.
La validación demuestra que el programa es apto para el propósito pretendido
mas que estar acorde con una especificación.
Existen tres problemas principales con la construcción de prototipos evolutivos
que son de ran importancia:
1. Problemas de administración. Las estructuras de administración de
software para sistemas grandes se diseñan para tratar con modelos de
proceso del software que generan entregas periódicas para evaluar el
progreso.
2. Problemas de mantenimiento. Los cambios continuos tienden a
corromper la estructura del sistema prototipo.
3. Problemas contractuales. El modelo contractual normal entre un cliente y
un desarrollador del software se basa en la especificación del sistema.

Construcción de prototipos desechables.**

Este enfoque extiende el proceso de análisis de requerimientos con la intención


de reducir los costos del ciclo de vida completo. La función principal del
prototipo es clarificar los requerimientos y proveer información adicional a los
administradores para valorar los riesgos del proceso después de la evaluación,
el prototipo de desecha. No se utiliza como una base para el desarrollo
posterior del sistema.
El prototipo se utiliza para verificar el diseño antes de que se hagan
compromisos para construir e sistema.
Un prototipo de software desechable normalmente no se utiliza para validación
del diseño, sino para ayudar a desarrollar los requerimientos del sistema.
Existen varios problemas con este enfoque:
1. Las características importantes se excluyen del prototipo para simplificar
la implementación rápida.
2. Una implementación no tiene valor legar para el contrato entre el cliente
y el contratista.
3. En una implementación de prototipo, no se puede probar de manera
adecuada los requerimientos no funcionales.

Algunas veces, los administradores presionan a los desarrolladores para que


entreguen los prototipos desechables para su utilización. Esto no es
recomendable por las siguientes razones:

• Puede ser imposible afinar el prototipo para que se cumpla con los
requerimientos no funcionales como los de desempeño, de seguridad,
etc.
• El cambio rápido durante el desarrollo significa, que no se documente el
prototipo.
• Los cambios hechos durante el desarrollo del prototipo probablemente
degradan al estructura del sistema
• Los estándares de calidad organizacionales normalmente se relajan
para el desarrollo del prototipo.

Técnicas de construcción rápida de prototipos*

1- Desarrollo con lenguajes dinámicos de alto nivel


Estos son lenguajes de programación que incluyen poderosos recursos de
administración de datos de tiempo de ejecución. Estos simplifican el desarrollo
del programa debido a que reducen muchos problemas de administración y
asignación de almacenamiento.
El sistema de lenguaje incluye recursos que normalmente no tienen que
construirse a partir de construcciones más primitivas en lenguajes como Ada o
C.
Los lenguajes dinámicos de alto nivel se pueden combinar para crear el
prototipo del sistema.
No existe un lenguaje ideal para la construcción de prototipos de sistemas
grandes puesto que las partes de este son muy diversas. La ventaja de un
enfoque de mezcla de lenguajes es que se puede elegir en el apropiado para
una parte lógica de la aplicación, y así acelerar el desarrollo del prototipo. La
desventaja es la dificultad de establecer el marco de comunicación que permite
a los diversos lenguajes comunicarse.

2- Programación de base de datos


En la actualidad todos los sistemas de administración de bases de datos
comerciales permiten la programación de aplicaciones. Dicha programación se
lleva a cabo utilizando un lenguaje especializado que contiene conocimiento de
la base de datos y que incluye las operaciones necesarias para la manipulación
de la misma.
El termino 4GL (lenguaje de cuarta generación) se utiliza para referirse tanto a
los lenguajes de programación de base de datos como a su entorno de ayuda.
Las herramientas que se incluyen en un entorno 4GL son:
• Un lenguaje de consulta de bases de datos, que en la actualidad es por
lo regular SQL.
• Un generador de interfases que se utiliza para crear formularios de
introducción y despliegue de datos.
• Una hoja de cálculo para el análisis y manipulación de información
numérica.
• Un generador de informes para el análisis y manipulación de información
numérica.

Ensamblaje de componentes y aplicaciones


Puede construir los prototipos rápidamente si tiene un conjunto de
componentes reutilizables y algunos mecanismos para construir estos
componentes en sistemas. El mecanismo de composición debe incluir recursos
de control y mecanismos para la comunicación de los componentes.
La construcción de prototipos con componentes reutilizables comprende el
desarrollo de una especificación del sistema tomando en cuenta que
componentes reutilizables están disponibles.
El desarrollo de prototipos con reutilización comprende dos niveles:
El nivel de aplicación en el que la aplicación completa se integra con el
prototipo, de manera que su funcionalidad pueda ser compartida.
El nivel de componente en el que los componentes individuales se integran
dentro de un marco de trabajo estándar para implementar el sistema.

La reutilización de aplicaciones da acceso a toda la funcionalidad de una


aplicación. Si ésta también proporciona recursos de creación de secuencias de
comandos o de ajuste, estos se utilizan para desarrollar cierto tipo de
funcionalidad del prototipo.

Si los usuarios del prototipo ya están familiarizados con las aplicaciones que lo
componen, entonces no tendrán que aprender como utilizar las nuevas
características.
No siempre es posible o sensato reutilizar las aplicaciones completas. El
desarrollo con reutilización cuenta con componentes reutilizables cada vez más
finos. Estos pueden ser funcionales u objetos que llevan a cabo operaciones
particulares. El sistema prototipo se desarrolla definiendo la estructura
completa de control e integrando los componentes con esa estructura.

Vous aimerez peut-être aussi