Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Metodología En Espiral
Roger Pressman ha escrito varios artículos y libros sobre temas técnicos y de gestión. Una
selección:
1988. Hacer la ingeniería de software suceder: una guía para la institución de la tecnología.
De acuerdo con Roger Pressman, las etapas metodológicas a llevar a cabo para el desarrollo
de Sistemas de Información, se establecen de la siguiente manera:
Etapas o Fases:
Análisis
Diseño
Codificación
Prueba
Mantenimiento
El análisis de requisitos del software puede dividirse en cinco áreas de esfuerzo, que
son:
1. Reconocimiento del problema: Reconocer los elementos básicos del problema tal y como
los perciben los usuarios finales.
3. Modelado: Crear modelos del sistema con el fin de entender mejor el flujo de datos y
control, el tratamiento funcional y el comportamiento operativo y el contenido de la
información.
Según Pressman, el diseño del software es realmente un proceso de muchos pasos pero que
se clasifican dentro de uno mismo. En general, la actividad del diseño se refiere al
establecimiento de las estructuras de datos, la arquitectura general del software,
representaciones de interfaz y algoritmos. El proceso de diseño traduce requisitos en una
representación de software [PRR98].
El diseño, es la primera de las tres actividades técnicas que implica un proceso de ingeniería
de software; estas etapas son diseño, codificación y pruebas. Generalmente la fase de diseño
produce un diseño de datos, un diseño arquitectónico, un diseño de interfaz, y un diseño
procedimental [PRR98].
El diseño de interfaz describe cómo se comunica el software consigo mismo, con los sistemas
que operan con él, y con los operadores que lo emplean [PRR98].
Esta actividad consiste en traducir el diseño, en una forma legible por la máquina. La
generación de código se refiere tanto a la parte de generación de los ambientes virtuales,
como a la parte en la cual se añadirá comportamiento a estos ambientes. Por ejemplo, el
lenguaje de programación VRML 2.0 es un lenguaje de modelado en 3D en el cuál se dibuja
por medio de generar código de programación de formato y marcado para especificar las
características del objeto u objetos que se van agregando a un mundo o entorno virtual. El
comportamiento de las escenas virtuales es decir, su funcionalidad, se puede construir a
través de algún otro lenguaje de programación, como clases Java o scripts especificados en
JavaScript. Todas estas actividades implican generar código.
Una vez que se ha generado código, comienzan las pruebas del software o sistema que se ha
desarrollado. De acuerdo con Pressman, el proceso de pruebas se centra en los procesos
lógicos internos del software, asegurando que todas las sentencias se han comprobado, y en
los procesos externos funcionales, es decir, la realización de las prueba para la detección de
errores [PRR98]. En el caso de una herramienta de software, es necesario tener etapas de
pruebas tanto para la parte funcional del software, como para la parte aplicativa del mismo.
Se requiere poder probar el software con aplicaciones reales que puedan evaluar el
comportamiento del software, con el fin de proporcionar retroalimentación a los
desarrolladores. Es sumamente importante que durante el proceso de desarrollo no se pierda
el contacto con los interesados o solicitantes del desarrollo de software, de esta manera los
objetivos de proyecto se mantendrán vigentes y se tendrá una idea clara de los aspectos que
tienen que probarse durante el periodo de pruebas.
Etapa V: Mantenimiento.
ELEMENTOS IMPORTANTES
2.- Herramientas:
3.- Procedimientos:
Se refiere al modo de hacer, con orden, las cosas; es decir, como poner en práctica las
herramientas. Los procedimientos corresponden a la definición que permite unir y ordenar
los resultados de cada herramienta y facilitan el desarrollo racional y oportuno de software.
Definen la secuencia en la que se aplican las herramientas, la entrega de los resultados de
ellas, los controles que ayudan a asegurar la calidad. También coordinan y controlan los
cambios y entregan las directrices que ayudan a los administradores a evaluar el progreso del
proyecto.
4.- Modelos:
El modelo define las etapas a realizar para alcanzar la solución al problema planteado. Los
Modelos, se refieren a la forma de organizar los Procedimientos, de manera de obtener
resultados de calidad en el menor tiempo posible. A diferencia de las Herramientas y los
Procedimientos, los modelos son relativamente independientes del principio, pudiendo
aplicarse sin grandes dificultades, cualquier modelo a cualquier metodología. Pese a lo
anterior, el modelo debe quedar definido claramente antes de iniciar el desarrollo del
software. Ejemplos de modelos son: Cascada, Prototipos, Espiral, T4G, RAD:
Prototipos: Los prototipos son modelos (no necesariamente productos de software) que
permiten estudiar y probar aspectos específicos del producto final (en este caso el producto
de software). Bajo este modelo, se planifica la aplicación de las diferentes herramientas, para
producir elementos de pruebas específicas (interfaz de usuario, mantenedores, procesos) que
deberán ser presentados al usuario y confirmados por éste. Alternativamente, se ha
denominado de esta forma, al resultado del diseño rápido de productos de software que
permitan comprender de mejor manera los requerimientos del usuario. Sin embargo, para
prevenir confusiones, se sugiere que para esos casos, se usen las denominaciones siguientes,
según corresponda.
Espiral: El modelo espiral, pretende optimizar los tiempos y reducir la incertidumbre del
proyecto, así, la idea es partir produciendo una pequeña parte del sistema (pero
completamente funcional) y una vez completada, se procede a crear una segunda parte,
acoplada a la primera, de manera de que en cada iteración, se obtiene una versión aumentada
del sistema. El proceso concluye cuando se considera que el sistema ha alcanzado un nivel
de maduración tal, que permite que el trabajo para el que fue creado, sea realizado sin
mayores inconvenientes.
T4G o RAD (D): T4G es la sigla de “Técnicas de 4ª Generación” y RAD (D) es la sigla de
“Rapid Application Development (and Deploy)” o “Desarrollo (y Distribución) rápido de
aplicaciones”. Como modelo, se basa en la existencia de herramientas de software que se
caracterizan como “T4G” y “RAD (D)”, las cuales permiten que el analista diseñador de un
sistema, realice un mínimo análisis y diseño, lo traduzca rápidamente en aplicación y se lo
presente al usuario para su estudio y posterior aprobación o indicaciones para modificación.
Actualmente, este es, con una alta probabilidad, el modelo más utilizado por los
desarrolladores de software; sin embargo, y probablemente en la misma tasa de ocurrencia,
es llamado “modelo prototipo”.
El desarrollo en espiral es un modelo de ciclo de vida del software definido por primera vez
por Barry Boehm en 1986, utilizado generalmente en la Ingeniería de software. Las
actividades de este modelo se conforman en una espiral, en la que cada bucle o iteración
representa un conjunto de actividades.
Actualmente, este es, con una alta probabilidad, el modelo más utilizado por los desarrolladores de
software; sin embargo, y probablemente en la misma tasa de ocurrencia, es llamado “modelo
prototipo”.
MODELO DE PROTOTIPOS:
1. Investigación preliminar.
2. Colecta y refinamiento de los requerimientos y proyecto rápido.
3. Análisis y especificación del prototipo.
4. Diseño y construcción del prototipo.
5. Evaluación del prototipo por el cliente.
6. Renacimiento del prototipo.
7. Diseño técnico.
8. Programación y test.
9. Operación y mantenimiento.
VENTAJAS:
DESVENTAJAS
A los usuarios les gusta el sistema real y a los desarrolladores les gusta construir algo de
inmediato. Sin embargo, la construcción de prototipos se torna problemática por las
siguientes razones:
1. El cliente ve funcionando lo que para él es la primera versión del prototipo que ha sido
construido con “chicle y cable para embalaje”, y puede decepcionarse al indicarle que
el sistema aún no ha sido construido.
2. El desarrollador puede caer en la tentación de aumentar el prototipo para construir el
sistema final sin tener en cuenta las obligaciones de calidad y de mantenimiento que
tiene con el cliente.
Para construir un prototipo del software se aplican los siguientes pasos:
Debido a que el cliente debe interaccionar con el prototipo en los últimos pasos, es esencial
que: 1) el cliente participe en la evaluación y refinamiento del prototipo, y 2) el cliente sea
capaz de tomar decisiones de requerimientos de una forma oportuna. Finalmente, la
naturaleza del proyecto de desarrollo tendrá una fuerte influencia en la eficacia del prototipo.
El diseño debe ocurrir antes de que comience la construcción del prototipo. Sin embargo, el
diseño de un prototipo se enfoca normalmente hacia la arquitectura a nivel superior y a los
aspectos de diseño de datos, en vez de hacia el diseño procedimental detallado.
Este paso es el núcleo del método de construcción de prototipo. Es aquí donde el cliente
puede examinar una representación implementada de los requerimientos del programa,
sugerir modificaciones que harán al programa cumplir mejor las necesidades reales.
PASO 6. Los pasos 4 y 5 se repiten iterativamente hasta que todos los requerimientos estén
formalizados o hasta que el prototipo haya evolucionado hacia un sistema de producción.
Modelo Espiral
6) Evaluación del cliente: Las tareas requeridas para obtener la reacción del cliente según
la evaluación de las representaciones del software creadas durante la etapa de ingeniería
e implementada durante la etapa de instalación.
Cada una de las regiones está compuesta por un conjunto de tareas del trabajo, llamado
conjunto de tareas, que se adaptan a las características del proyecto que va a emprenderse.
Para proyectos pequeños, el número de tareas de trabajo y su formalidad es bajo. Para
proyectos mayores y más críticos cada región de tareas contiene tareas de trabajo que se
definen para lograr un nivel más alto de formalidad. En todos los casos, se aplican las
actividades de protección (por ejemplo: gestión de configuración del software y garantía de
calidad del software).
Cuando empieza este proceso evolutivo, el equipo de ingeniería del software gira alrededor
de la espiral en la dirección de las agujas del reloj, comenzando por el centro. El primer
circuito de la espiral puede producir el desarrollo de una especificación de productos; los
pasos siguientes en la espiral se podrían utilizar para desarrollar un prototipo y
progresivamente versiones más sofisticadas del software. Cada paso por la región de
planificación produce ajustes en el plan del proyecto.
El modelo en espiral demanda una consideración directa de los riesgos técnicos en todas las
etapas del proyecto, y, si se aplica adecuadamente, debe reducir los riesgos antes de que se
conviertan en problemáticos. Pero al igual que otros paradigmas, el modelo en espiral no es
la panacea. Puede resultar difícil convencer a grandes clientes (particularmente en situaciones
bajo contrato) de que el enfoque evolutivo es controlable.
Requiere una considerable habilidad para la evaluación del riesgo, y cuenta con esta habilidad
para el éxito. Si un riesgo importante no es descubierto y gestionado, indudablemente
surgirán problemas. Finalmente, el modelo no se ha utilizado tanto como los paradigmas
lineales secuenciales o de construcción de prototipos. Todavía tendrán que pasar muchos
años antes de que se determine con absoluta certeza la eficacia de este nuevo e importante
paradigma.
Referencias Bibliográficas
https://sisteminformacii.wikispaces.com/MODELO+DE+PROTOTIPOS