Está en la página 1de 13

1. ¿Cuál es el objetivo de la Etapa de Ing. de Sistemas? ¿Cuál es el nombre de su salida?

¿Cuál es
la Estructura de su salida?
Los objetivos y requisitos operacionales de mayor detalle son identificados gracias a la información
facilitada por el cliente. Los requisitos son analizados para valorar su claridad, completitud y
consistencia. Finalmente, los requisitos del sistema son gestionados para asegurar que los cambios se
controlan adecuadamente.
El producto final obtenido por la ingeniería de sistemas es una representación global del sistema. Se
puede realizar a través de un prototipo, una especificación o, incluso, un modelo simbólico, debiendo
comunicar la operativa, la funcionalidad y las características de comportamiento del sistema que se va
a construir o modificar e incorporarlo dentro del modelo que llamamos: proceso de negocio.

Adicionalmente, se adjuntan alternativas de solución en un paquete denominado Propuesta de


Solución. Las alternativas contenidas en la Propuesta de Solución son sometidas a juicio por el cliente
quién determinará cuál es la que más se adapta a sus requerimientos.

Por lo general, denominamos a la salida de la ingeniería de sistemas como: Estudio Previo.

2. Liste las Actividades que se desarrollan en la Etapa de Planificación de Proyecto.


Algunas de las actividades que se realizan, son las siguientes:

 Descomposición del Ámbito de producto.


 Descomposición del Producto.
 Selección del Modelo de Proceso.
 Descomposición del Proceso.
 Ajustes de Proceso.
 Ajustes de Proyecto.
 Estimación de Esfuerzos.
 Estimación de Costos.
 Estimación de Tiempos.
 Cálculo de Indicadores de Evaluación de Proyecto.
 Planificación Temporal de Actividades y Asignación de recursos. Plan de Desarrollo de
Software.

3. Liste las tres Actividades que se desarrollan en la Etapa de Análisis. Desarrolle cada una.

MODELADO
Los modelos se crean para entender mejor la entidad que se va a construir. El conjunto de modelos
que se obtienen con la etapa de análisis se denomina: Modelo de Análisis.

Debe ser capaz de modelar la información que transforma el software, las funciones que permiten que
ocurran las transformaciones y el comportamiento de sistema cuando ocurren estas transformaciones.
El proceso de modelado convierte los requisitos, sólo listados en la etapa anterior, en especificación de
requisitos.

ESPECIFICACION DE REQUISITOS
Se produce en la culminación de la tarea de análisis. La función y rendimiento asignados al software
como parte del sistema se refinan estableciendo una completa descripción de la información, una
descripción detallada de la función y el comportamiento, una indicación de los requisitos de rendimiento
y restricciones del diseño, criterios de validación apropiados y otros datos pertinentes a los requisitos.

Luego de determinados los requisitos en la Etapa de Ingeniería de Sistemas, esta Etapa comienza la
especificación de los mismos con el modelado y concluye con la creación de la Carpeta de
Especificación de Requisitos que contiene el Modelo de Análisis.
REVISION Y VALIDACION
La revisión es llevada a cabo tanto por el desarrollador del software como por el cliente. Como la
especificación forma el fundamento para el diseño y las subsiguientes actividades de la ingeniería, se
debería poner extremo cuidado al realizar esta actividad o proceso.

Inicialmente la revisión se lleva a cabo a nivel macroscópico. A este nivel, los revisores intentan
asegurarse que la especificación sea completa, consistente y correcta cuando la información general,
funcional y de los dominios del comportamiento son considerados. Asimismo, una exploración completa
de cada uno de estos dominios, la revisión profundiza en el detalle, examinando no solo las
descripciones superficiales, sino la forma en la que los requisitos fueron especificados.

Una vez que se ha completado la revisión, se firma la especificación de requisitos por el cliente y el
desarrollador. La especificación se convierte en un “contrato” para el desarrollo de software. Las
peticiones de cambios en los requisitos una vez que se ha finalizado y firmado la Carpeta de
Especificación, no se eliminarán o desecharán, pero el cliente debe saber que cada cambio a posteriori
significa una ampliación del ámbito del sistema, y por tanto, pueden aumentar los costos y prolongar
los plazos de planificación temporal del proyecto inicial.

4. ¿Cuál es el objetivo de la Etapa de Análisis? ¿Cuál es el nombre de su salida? ¿Cuál es la


Estructura de la Salida? Indique los objetivos de cada una de sus partes.
El modelo de análisis debe lograr tres objetivos primarios:

1. Describir lo que requiere el cliente.


2. Establecer una base para la creación de un diseño del software.
3. Definir o “Especificar” el conjunto de requisitos de forma que se pueda validar una vez que se
construye el software.
La Carpeta de Especificación es el producto final de la actividad de análisis , es comúnmente llamada
también Modelo de Análisis.

1.1.1 ESTRUCTURA DEL MODELO DE ANALISIS


Uno de los productos más importantes del proceso de análisis es el Modelo de Análisis.

La fig. 2 muestra su estructura.

Para lograr estos objetivos, el modelo de análisis producido durante el análisis estructurado contiene
los siguientes componentes.

DD: Diccionario de Datos: Se encuentra en el centro del modelo, es su núcleo. Es un almacén que
contiene definiciones de todos los objetos de datos consumidos y producidos por el software. Contiene
la especificación de los flujos de datos, elementos de dato, almacenes, etc.
de

Es Proc
s

pe es
tos eto

ci f o
Da e Obj

i ca ( E
cio P)

Diagrama Diagrama
d

ne

de Flujo
ión

de
sd

de
ipc

Entidad
e

Datos
scr

Relación Diccionario
De

de Datos

Diagrama de Transición
de Estados

Especificaciones de
Control (EC)

Figura 1: Estructura del Modelo de Análisis.

Tres diagramas diferentes rodean el núcleo.


DER – Diagrama de Entidad Relación: Representa las relaciones entre los objetos de datos. El DER
es la notación que se usa para realizar la actividad de modelado de datos. Los atributos de cada objeto
de dato señalados en el DER se pueden describir mediante una descripción de objetos de datos.

DFD – Diagrama de Flujo de Datos: Sirve para dos propósitos: (1) proporcionar una indicación de
cómo se transforman los datos a medida que se avanzan en el sistema, y (2) representar las funciones
que transforman el flujo de datos. El DFD proporciona información adicional que se usa durante el
análisis del dominio de información y sirve como base para el modelado de función.

DTE – Diagrama de Transición de Estados: Indica cómo se comporta el sistema como consecuencia
de sucesos externos. Para logra esto, el DTE representa los diferentes modos de comportamiento
(llamados estados) del sistema y la manera en que se hacen las transiciones de estado a estado. Sirve
como la base del modelado de comportamiento.

Más alejados de núcleo, se encuentran los Diagramas de Especificación de Procesos y las


Especificaciones de Control.

EP – Especificación de Procesos: Aquí se encuentra una descripción de cada función presentada en


el DFD. Puede utilizarse para la EP técnicas como la propuesta por los Diagramas N-S, Pseudocódigo,
diagramas de flujos convencionales (rectángulos, rombos, flechas, etc.), tablas de decisión, etc.

EC – Especificación de Control: Dentro de la EC se encuentra más información sobre los aspectos


de control del software.

Todos los modelos del modelo de análisis acompañan la Carpeta de Especificación.

5. Desarrolle la Etapa de Mantenimiento (objetivos, tipos) y Ejemplifique cada uno de los tipos de
Mantenimiento.
Durante la fase de mantenimiento encontramos cuatro tipos de cambios en el software.

1.2 MANTENIMIENTO CORRECTIVO


Incluso llevando a cabo las mejores actividades de garantía de calidad, es muy probable que el cliente
descubra defectos en el producto.

D
Mantenimiento Correctivo, Definición.
El mantenimiento correctivo cambia el software para corregir los defectos.

1.3 MANTENIMIENTO ADAPTATIVO


Con el paso del tiempo, es probable que cambie el entorno original para el que se desarrollo el producto.
Cambios de CPU, hardware, software de base, reglas de la empresa o características externas al
producto son posibles.

D
Mantenimiento Adaptativo, Definición.
El mantenimiento adaptativo produce modificaciones en el software para acomodarlo a los cambios de
su entorno.

1.4 MANTENIMIENTO PERFECTIVO


Conforme se utilice el software, el cliente o usuario puede descubrir funciones adicionales que van a
producir beneficios.
D
Mantenimiento Perfectivo, Definición.
El mantenimiento perfectivo lleva al software más allá de sus requisitos funcionales originales.

1.5 MANTENIMIENTO PREVENTIVO


El software de computadora se deteriora debido al cambio, y por esto el mantenimiento preventivo
también llamado reingeniería del software, se debe conducir a permitir que el software sirva para las
necesidades de los usuarios finales.
D
Mantenimiento Preventivo, Definición.
En esencia, el mantenimiento preventivo hace cambios en el producto a fin de que se puedan corregir,
adaptar y mejorar más fácilmente.

6. ¿Cuáles son las generalidades y elementos de cada Etapa Genérica de Desarrollo de Software?
Seleccione una y desarrolle.

1. Objetivos.
2. Protagonistas con distintos roles.
3. Herramientas y Métodos.
4. Procesos y Procedimientos.
5. Documentación.

HERRAMIENTAS Y METODOS
Las herramientas y métodos, en general, suelen ser las mismas pero cada empresa de desarrollo
elegirá un conjunto propio y seguramente utilizará herramientas particulares. Las herramientas son
independientes del proceso, y por naturaleza, no pertenecen a ninguno de ellos, por el contrario una
herramientas puede ser utilizada en distintos procesos de desarrollo, al igual que los métodos.
7. ¿Qué es un Modelo de Proceso? ¿Para qué sirve? ¿Por qué surgen varios modelos?

Un modelo de proceso de desarrollo es el ordenamiento estratégico de las fases genéricas de


desarrollo. Como sabemos, un objetivo se puede lograr de varias formas, cada una de estas formas es
una estrategia distinta.

Los modelos de proceso son muy importantes ya que las fases genéricas de desarrollo por sí solas no
son suficientes, hacen falta estrategias de aplicación para ellas, hace falta un modelo de proceso que
permita aplicarlas de manera exitosa.

Para resolver problemas reales de una industria, los ingenieros deben incorporar una estrategia de
desarrollo que acompañe al proceso de las fases genéricas, los métodos y capas de herramientas como
así también la calidad. Esta estrategia se llama modelo de proceso o paradigma de ingeniería de
software. Cada modelo representa un intento por ordenar una actividad inherentemente caótica. Es
importante recordar que cada uno de los modelos se ha caracterizado de forma que ayuden (con
esperanza) al control y la coordinación de un proyecto de software real. Y a pesar de eso, en el fondo,
todos los modelos exhiben características del “Modelo del Caos”.

8. ¿Cuáles son las particularidades y generalidades de los Modelos de Proceso?

Cada modelo de proceso que surgió desde aquellos años propuso estrategias distintas para el
desarrollo de software. Estas estrategias hacían que la configuración de los modelos de proceso
propuestos para el desarrollo de software se distinguiera el uno del otro. Cada cual ponía énfasis en
distintos detalles. Algunos modelos se centraron en las características del cliente, otros en los riesgos
del producto de software, otros surgieron como propuestas especializadas para sistemas de gran
escala, otros al contrario, en sistemas pequeños, otros se centraron en la calidad del producto y así las
diferencias siguen.

9. ¿Cuáles son los Tipos de Modelo de Proceso que conoce? Desarrolle.


TIPOS DE MODELOS
Existe una clásica tipología de modelos de proceso realizada a medida que nuevos procesos se
abrieron paso en la industria.

LINEALES O SECUENCIALES
Aplican las fases genéricas de forma lineal o también llamada secuencial. Significa que no se puede
iniciar una fase antes de concluir la otra. Y, luego de concluir una fase, ésta se da por terminada y no
se prevé volver hacia atrás.

Suponen una entrega de producto cuando éste ha sido completamente desarrollado y probado.

Son los primeros modelos aparecidos en la industria y son esencialmente caóticos y desastrosos. Sin
embargo, algunas pequeñas modificaciones sobre alguno de ellos, hoy por hoy, resultan muy
prometedoras.

ITERATIVOS EVOLUTIVOS
Parten de una filosofía centrada en la evolución y suponen que un producto siempre se puede mejorar
y no es posible entregar al cliente un producto sobre el que se diga: “está completamente concluido”.

La evolución hace que primero se llegue a una primera versión del software y luego, a través de
sucesivas iteraciones que aplican las fases genéricas de desarrollo de software una y otra vez, se van
consiguiendo nuevas y renovadas versiones del mismo producto que incluyen mejoras y nuevas
funciones.

La característica de iterativos, permite aplicar las fases genéricas una y otra vez al mismo producto
obteniendo así versiones nuevas con funciones que la versión anterior no contenía.

ITERATIVOS INCREMENTALES
Los modelos incrementales apuntan al desarrollo del producto final. La entrega contiene todas las
funciones requeridas, es un producto concluido funcionalmente.

Luego, las iteraciones sucesivas irán potenciando las nuevas versiones pero sin el agregado de nuevas
funciones, más bien perfeccionan la primera versión.

Esta filosofía indica que cualquier nueva función del producto lo transforma en otro producto, y no en
una nueva versión.

Los modelos incrementales obtienen en cada iteración un producto más potente o versiones más
potentes de un mismo producto.

Los modelos evolutivos obtienen en cada iteración un producto más funcional al usuario o una versión
con más funciones.

10.Desarrolle de forma completa e l Modelo: _______ (Fases, Ventajas, Desventajas, etc.)

MODELO DE CASCADA

Típicamente lineal y secuencial, sugiere un 3. Diseño.


enfoque sistemático, secuencial, para el 4. Generación de Código.
desarrollo del producto que comienza en un 5. Integración y Prueba.
nivel de sistemas y progresa con el análisis, 6. Mantenimiento.
diseño, codificación, pruebas y mantenimiento.

a. FASES PROPUESTAS Como regla, una etapa de desarrollo debe


completarse antes de dar comienzo a la
1. Ingeniería y modelado a nivel de siguiente.
información del sistema.
2. Análisis.
b. VENTAJAS Y hoy en día sea el menos indicado para,
DESVENTAJAS justamente, grandes sistemas.
Su simplicidad hace que sea fácil explicarlo a
los clientes que no están familiarizados con el Otro tipo de producto para el cual no tuvo éxito
desarrollo de software, explicita los productos es el de productos nuevos o que nunca se
intermedios que son necesarios a fin de poder construyeron y que, a la par, tienen una alta
comenzar la siguiente etapa de desarrollo. cuota de riesgo de fracaso.

El mayor problema con el modelo de cascada Este modelo es posible prescribirlo sólo para el
es que no refleja la manera en que realmente desarrollo de sistemas muy pequeños, donde
se hace el desarrollo del código. Excepto para exista muy poco riesgo y los requisitos sean
los problemas perfectamente comprendidos, el perfectamente definibles por desarrollador y
software se desarrolla normalmente con un alto cliente. Es también indicado para productos de
grado de repetición. sistemas ampliamente conocidos,
generalmente de nivel transaccional
Aunque según su autor, está creado para el (facturación, stock, proveedores, clientes,
desarrollo de grandes sistemas [ROY70], la impuestos y bancos, ventas, compras, etc).
evolución de los procesos de software hace que

MODELO DRA – DESARROLLO RAPIDO DE APLICACIONES

El Desarrollo Rápido de Aplicaciones (DRA) es atributos, de cada uno de los objetos y las
un modelo de proceso para el desarrollo de relaciones entre estos objetos. El modelado de
productos de software lineal secuencial que datos, coincide perfectamente con el modelado
enfatiza un ciclo de desarrollo extremadamente de datos propuesto por las fases genéricas.
corto. El modelo DRA es una adaptación de
“alta velocidad” del modelo de cascada en el Modelado de Procesos. Los objetos de datos
que se logra el desarrollo rápido utilizando una definidos en la fase de modelado de datos
construcción basada en componentes. quedan transformados para lograr el flujo de
información necesario para implementar una
Si se comprenden bien los requisitos y se limita función de gestión. Las descripciones del
el ámbito del proyecto, el proceso DRA permite proceso se crean para añadir, modificar,
al equipo de desarrollo crear un “sistema suprimir o recuperar un objeto de datos.
completamente funcional” dentro de períodos
cortos de tiempo que van de los 60 a los 90 días
[MAR91]1.
c. FASES PROPUESTAS

2. Modelado de Gestión.
3. Modelado de Datos.
4. Modelado de proceso.
5. Generación de aplicaciones.
6. Pruebas y Entrega.

Modelado de Gestión. El flujo de información


entre las funciones de gestión se modela de
forma que responda a las siguientes preguntas:
¿Qué información conduce el proceso de
gestión? ¿Qué información se genera? ¿Quién
la genera? ¿A dónde va la información? ¿Quién
la procesa? El modelado de gestión posee
técnicas específicas que adaptan las primeras
etapas de la fase genérica de definición a
procesos típicamente empresariales.

Modelado de Datos. El flujo de información


definido como parte de la fase de modelado de
gestión se refina como un conjunto de objetos
de datos necesarios para apoyar la empresa.
Se definen las características, llamadas
sistemas de información insertos en procesos
Equipo DRA 3
de negocio empresarial.
Modelado de
Gestión Esto significa que no es apto para el desarrollo
de productos sobre los que no se posean
Modelado de antecedentes o que sean empotrados,
Datos
empaquetados o que tengan implícito
Modelado de
demasiado riesgo. Obviamente, las limitaciones
Procesos de tiempo impuestas en un proyecto DRA
Equipo DRA 2 demandan “ámbito en escalas” [KER94]. Es
Generación de
Aplicaciones
decir, si una aplicación de gestión puede
Modelado de modularizarse de forma que permita
Gestión
completarse cada una de las funciones
Pruebas y Entrega
Modelado de
principales en menos de tres meses utilizando
Datos las fases descritas, es un candidato del DRA.

Modelado de Cada una de las funciones del producto debe


Procesos
Equipo DRA 1
ser afrontada por un equipo DRA separado y
Generación de ser integradas a un solo conjunto.
Aplicaciones
Modelado de
Gestión Al igual que todos los modelos de proceso, el
Pruebas y Entrega enfoque DRA tiene inconvenientes [BUT94] 2:
Modelado de
Datos
 Para proyectos grandes aunque
Modelado de fraccionados en escalas pequeñas, el
Procesos
DRA requiere recursos humanos
Generación de
suficientes como para crear el número
Aplicaciones correcto de equipos DRA, situación
difícil de lograr de primera instancia.
Pruebas y Entrega
 DRA requiere clientes y
60 a 90 Días desarrolladores comprometidos en las
rápidas actividades necesarias para
Figura 2: El Modelo DRA.
completar un sistema en un marco de
tiempo abreviado. Si no hay
Generación de Aplicaciones. El DRA asume
compromiso por ninguna de las partes
la utilización de técnicas de cuarta generación
constituyentes, los proyectos DRA
(que veremos más adelante). En lugar de crear
fracasan.
software con lenguajes de programación de
tercera generación, el proceso DRA trabaja
 No todos los tipos de aplicaciones son
para volver a utilizar componentes de programa
apropiados para DRA. Si un sistema
ya existentes (cuando esto sea posible) o crear
no puede modularizarse
componentes reutilizables (cuando sea
adecuadamente, la construcción de
necesario). En todos los casos se utilizan
los componentes necesarios será
herramientas para facilitar la construcción del
problemática. Si está en juego el alto
software.
rendimiento, que se piensa que se
obtendrá, convirtiendo interfaces en
Pruebas y Entrega. Como el proceso DRA
componentes de sistema, el enfoque
enfatiza la reutilización, ya se han comprobado
DRA puede que no funcione.
muchos de los componentes de los programas.
Esto reduce tiempo de pruebas. Sin embargo,
 DRA no es adecuado cuando los
se deben probar todos los componentes
riesgos técnicos son altos. Esto ocurre
nuevos y se deben ejercitar todas las pruebas
cuando una nueva aplicación hace uso
de integración de interfaces a fondo.
de tecnologías nuevas, o cuando el
a. VENTAJAS Y software nuevo requiere un alto grado
DESVENTAJAS de interoperatividad con programas de
computadora ya existentes.
Está orientado fundamentalmente a la
producción de productos que prestan soporta a
MODELO DE CONSTRUCCION DE PROTOTIPOS

La filosofía del prototipado es que cliente y cliente (por ejemplo enfoques de entrada y
desarrollador se entiendan con un modelo de formatos de salida).
sistema, inoperable, que muestre
prácticamente todas las interfaces de entrada y El diseño rápido lleva a la construcción de un
salida (o por lo menos las más importantes). De prototipo, también llamado maqueta. El
esta forma el desarrollador puede comprender prototipo es evaluado por cliente y usuario y se
bien lo que el sistema debe hacer para utiliza para refinar los requisitos del producto a
transformar entradas en salidas. Luego que los desarrollar.
requisitos fueron comprendidos, recién se
comienza con el desarrollo del producto real. El La primera iteración ocurre cuando el prototipo
prototipo se desecha después que el nuevo se pone a punto para satisfacer las
sistema está en operación. necesidades del cliente, permitiendo al mismo
tiempo que el desarrollador comprenda mejor lo
El uso y aplicación de prototipado ha cambiado que necesita hacer.
con el tiempo. Aunque el modelo de prototipos
ha sido comprendido como modelo en su La puesta a punto del prototipo significa que se
época, hoy sabemos que no reviste las completa con los procesos internos para la
características de un modelo, ya que, de la conversión de entradas en salidas.
forma en que se lo describe, sólo interviene en
una etapa o fase de otro modelo y sólo sirve Tomado de esta forma, el prototipado es
para el descubrimiento de los requisitos. fundamentalmente un modelo iterativo
incremental.
Lo que sucede es que el desarrollador jamás
estará de acuerdo en tirar a la basura un trabajo
ya realizado que, supuestamente, puede
reciclar y continuar sobre él la construcción del Construir y
sistema definitivo. Por otro lado, el cliente no Revisar
Escuchar al Maqueta
estará de acuerdo que se cambie la idea inicial Cliente
contenida en el prototipo, al cliente le gusta lo
que ya está hecho y no concibe pagar para que
se haga de nuevo, a lo que se le agrega, que
no comprende aún por qué eso que “ve” es
inoperable e inutilizable.
El Cliente
Prueba la
Ambas fuerzas (cliente y desarrollador), con el Maqueta
tiempo, han convertido el prototipado en un
completo modelo con serios riesgos. Figura 3: Modelo de Construcción de
Prototipos.
El modelo de prototipado surge con la
necesidad de reducir los riesgos que plantea la c. ETAPAS
comunicación insuficiente entre cliente y
desarrollador, pero si no se lo complementa, El modelo trabaja iterativamente en dos etapas
más que facilitarla, la confunde. Siendo así, hay con varias iteraciones cada una:
que observar el prototipado como una técnica
que colabora con algún modelo de proceso,  En una primera etapa refina la
más que como un modelo. comunicación cliente/desarrollador
b. FASES PROPUESTAS completando los requisitos del cliente y
El modelo de prototipado comienza con la usuarios, una vez completada la vista
recolección de requisitos. El desarrollador y el externa del producto.
cliente encuentran y definen los objetivos
globales para el software, identifican los  La siguiente etapa que se logra con
requisitos conocidos y las áreas del esquema otras varias iteraciones, completa la
en donde es obligatoria más definición. operatoria interna de procesos que
Entonces aparece un “diseño rápido” con la convertirán entradas en salidas. Esta
escucha del cliente. El diseño rápido se centra mecánica se aplica una y otra vez
en una representación de esos aspectos del hasta que el producto está en
software que serán visibles para el usuario y el operación completa.
Es incremental porque, por lo general, se entiende y pide que se apliquen “unos
trabaja sobre el producto de forma completa, es pequeños ajustes” para que se pueda
decir, sobre la totalidad de requisitos hacer del prototipo un producto final.
funcionales. Cada iteración completa De forma demasiado frecuente la
solamente los requisitos definidos inicialmente gestión del proyecto es demasiado
y no agrega otra función al producto. lenta para lograr lo que el cliente pide.
d. VENTAJAS Y
DESVENTAJAS  El desarrollador, a menudo, hace
Un cliente, a menudo, define un conjunto de compromisos de implementación
objetivos generales para el software, pero no (poner en operación el producto) para
identifica los requisitos detallados de entrada, hacer que el prototipo funcione
proceso o salida. rápidamente. Sin embargo, lo que
sucede siempre es que se utiliza para
En otros casos el responsable del desarrollo la construcción del prototipo un sistema
puede no estar seguro de la eficacia de un operativo o lenguaje de programación
algoritmo, de la capacidad de adaptación, o de inadecuado simplemente porque está
la forma en que debería tomarse la interacción disponible y porque es conocido; un
hombre máquina. En estas y otras muchas algoritmo eficiente se puede
situaciones, un modelo de construcción de implementar simplemente para
prototipos puede ofrecer el mejor enfoque. demostrar la capacidad o, el desarrollo
de las interfaces entre la capa de
Lo ideal sería que el prototipo sirviera sólo para presentación (interfaces de usuario) y
la identificación de requisitos, sin embargo, la la capa de recursos (bases de datos)
construcción de prototipos suele ser resulta doblemente trabajoso porque
problemática por las siguientes razones: es sólo un prototipo y no se desarrolló
con el lenguaje que tuviera en cuenta
 El cliente ve lo que parece ser una estas interfaces. Después de algún
versión final del producto, sin tener tiempo, el desarrollador debe
conocimiento de que el prototipo familiarizarse con estas selecciones, y
también está junto con “el chiclé y el olvidarse de las razones por las que
cable de embalar”, sin saber que con la son inadecuadas. La consecuencia es
prisa de hacer que funcione no se ha que la selección más inapropiada
tenido en cuenta la calidad del producto ahora es una parte integral del sistema.
global o la facilidad de mantenimiento a
largo plazo. Cuando se informa que el
producto se debe construir otra vez
para que puedan mantener los niveles
altos de calidad, el cliente no lo

MODELO INCREMENTAL

El modelo incremental combina elementos del


modelo de cascada con la filosofía iterativa de El cliente utiliza el producto central. Como un
construcción de prototipos. Cada secuencia resultado de la utilización y/o evaluación, se
lineal produce un incremento del software. desarrolla un plan para el incremento siguiente.
e. FASES PROPUESTAS El plan afronta la modificación del producto
El modelo incremental comienza con un central o núcleo a fin de cumplir mejor las
análisis preliminar para determinar los especificaciones del cliente y la entrega de
requisitos, continúa con las descomposiciones funciones y características adicionales. Este
del producto y proceso y planifica qué funciones proceso se repite siguiendo la entrega de cada
se desarrollarán en cada iteración. incremento, hasta que se elabore el producto
completo.
Se comienza así con el núcleo del producto en
una primera iteración, es decir, se afrontan los A diferencia de la construcción de prototipos, el
requisitos básicos, y se deja para iteraciones modelo incremental se centra en la entrega de
posteriores el desarrollo de las demás un producto operacional con cada incremento.
funciones, algunas conocidas otras no. Los primeros incrementos son versiones
incompletas del producto final, pero
Cualquier incremento puede, o no, utilizar el proporcionan al usuario la funcionalidad que
apoyo de la construcción de prototipos.
precisa y también una plataforma para la
evaluación definitiva.

Incremento 1

Ingeniería de Sistemas
de Información
Pruebas y Entrega del 1º
Análisis Diseño Código
Entrega Incremento

Incremento 2 Pruebas y Entrega del 2º


Análisis Diseño Código
Entrega Incremento

Pruebas y Entrega del 3º


Incremento 3 Análisis Diseño Código
Entrega Incremento

Pruebas y Entrega del 4º


Incremento 4 Análisis Diseño Código
Entrega Incremento

Tiempo Calendario

Figura 4: Modelo Incremental.

Los primeros incrementos se pueden


f. VENTAJAS Y implementar con menos personal.
DESVENTAJAS
Es particularmente útil cuando la dotación de Así se puede igual firmar contrato por un grupo
desarrolladores no está disponible para una de funciones iniciales y dejar para más adelante
implementación completa en la fecha límite que las funciones secundarias o que no
se haya establecido para el proyecto. correspondan al núcleo del producto.

MODELO EN ESPIRAL DE BOEHM

El modelo en espiral, propuesto inicialmente número de tareas de trabajo y su formalidad es


por Barry Boehm [BOE88]3 es el padre de los bajo. Para proyectos mayores y más críticos en
modelos evolutivos. relación al riesgo cada región de tareas
contiene tareas de trabajo que se definen para
Conjuga la naturaleza iterativa de construcción lograr un nivel más alto de formalidad. En todos
de prototipos con los aspectos controlados y los casos, se aplican las actividades de
sistemáticos del modelo de cascada. protección de proyectos (gestión de
Proporciona el potencial para el desarrollo configuración, garantía de calidad, gestión de
rápido de versiones de mayor evolución de un proyectos, revisiones técnicas formales,
producto en sucesivas iteraciones. generación y archivo de documentación del
g. FASES PROPUESTAS sistema, gestión de riesgos, etc., que veremos
Durante las primeras iteraciones, las primeras más adelante en esta misma materia).
evoluciones podrían ser en papel o prototipo.
Durante las últimas iteraciones, se producen
versiones cada vez más completas del sistema
diseñado.

El modelo en espiral se divide en un número de


actividades de marco de trabajo, también
llamadas regiones de tareas. Generalmente
existen entre tres y seis regiones. Ver fig. 4.

Cada una de las regiones está compuesta por


un conjunto de tareas que se adaptan a las
características del proyecto que va a
emprenderse. Para proyectos pequeños, el
Planificación
de Proyectos
6. Evaluación del Cliente. Incluye las
tareas requeridas para obtener la
reacción del cliente según la
Comunicación
con el Cliente Análisis de evaluación de las representaciones del
Riesgos
producto creadas durante la etapa de
ingeniería de producto e implementada
Proy Proy Proy Proy
Eje de Punto de Entrada de Proyectos durante la fase de construcción y
4 3 2 1
acción.

Ingeniería de ii. PROYECTOS


Producto (o
Ingeniería de
Cuando comienza el proceso evolutivo, el
Evaluación Software) equipo de ingeniería gira alrededor de la espiral
del Cliente
en la dirección de las agujas del reloj,
comenzando por el centro. Cada uno de los
Construcción y cubos situados a lo largo del eje puede usarse
Acción
para representar el punto de arranque para
Proy 1 Proyecto de Desarrollo de Conceptos. diferentes tipos de proyectos sobre un mismo
producto.
Proy 2 Proyecto de Desarrollo de Aplicaciones y Nuevos Productos.
 Proyecto de Desarrollo de
Proy 3 Proyecto de Mejora de Productos Desarrollados. Conceptos. El primer circuito de la
espiral puede producir el desarrollo de
Proy 4 Proyecto de Mantenimiento Perfectivo y Evolutivo. una especificación de productos; los
Figura 5: Modelo en Espiral de Boehm. pasos siguientes en la espiral se
podrían utilizar para desarrollar un
i. FASES DE CADA prototipo. Este proyecto se aplica para
ITERACIÓN O productos que son en extremo nuevos
PROYECTO o que nunca se desarrollaron. Un
proyecto de desarrollo de conceptos
1. Comunicación con el Cliente. Incluye comienza en el centro de la espiral y
las tareas requeridas para establecer continuará hasta que se concluye la
comunicación entre el desarrollador y primera iteración cuando el concepto
el cliente. ya está desarrollado o definido. Tal
como se dijo, el concepto del sistema
2. Planificación de Proyectos. Incluye se puede expresar en un prototipo en
las tareas requeridas para definir la papel o una especificación que aplique
estimación del proyecto, recursos, tecnología de programación.
tiempo, planificación temporal, costos,
etc.  Proyecto de Desarrollo de
Aplicaciones y Productos Nuevos.
3. Análisis de riesgos. Incluye las tareas Una vez definido el concepto del
requeridas para evaluar riesgos sistema a desarrollar, comienza el
técnicos y de gestión. También incluye desarrollo de la aplicación o producto
análisis de riesgos de comunicación con una nueva iteración y un nuevo
con el cliente. proyecto.

4. Ingeniería de Producto. Se Aunque en el gráfico se representa el desarrollo


desarrollan aquí todas las fases de aplicaciones con el segundo proyecto y en
genéricas de desarrollo de software. una sola iteración, puede adaptarse el modelo
Incluidas las de desarrollo de manuales de forma tal que este desarrollo se logre
de usuario, documentación del evolutivamente en varias iteraciones. De
sistema, etc. cualquier forma habrá un proyecto de desarrollo
de aplicaciones para cada iteración que genere
5. Construcción y Acción. Aplica las el producto completo, partes del producto o
tareas requeridas para la implantación productos que se vallan sumando al sistema.
del producto en el sistema, concluir las
relaciones del sistema con su ámbito,  Proyecto de Mejora. El nuevo
capacitación de personal y soporte de producto evolucionará a través de
usuario. iteraciones alrededor de la espiral
siempre dentro del segundo proyecto.
El proyecto de mejora no puede El modelo en espiral utiliza la construcción de
iniciarse hasta que el producto se de prototipos como mecanismo de reducción de
por concluido en el proyecto de riesgos, pero, lo que es más importante,
desarrollo. Hay veces en que el permite a quien lo desarrolla la flexibilidad de
proceso queda inactivo por años, pero aplicar este enfoque en cualquier etapa de
siempre que se inicie una mejora, el evolución del producto. De hecho, todo modelo
proceso arranca en el punto de entrada de desarrollo es propuesto como modelo de
adecuado, para este caso en el proceso “a adaptar” a las condiciones del
proyecto de mejora. Aunque podemos cliente, del producto, del ambiente del sistema,
hablar aquí de mejorar un producto ya de los riesgos, etc.
concluido, no es más que aplicar
mantenimiento adaptativo, pero a la Por otro lugar, mantiene el enfoque sistemático
vez, el concepto de este tipo de de los pasos sugeridos por el ciclo de cascada
mantenimiento es tomado en este clásico, pero lo incorpora al marco de trabajo
contexto, como un proyecto de mejora iterativo que refleja de forma más realista el
y no un proyecto de mantenimiento. mundo real.

 Proyecto de Mantenimiento. Los El modelo en espiral demanda una


proyectos de mantenimiento son consideración directa de los riesgos técnicos en
orientados fundamentalmente al todas las etapas de cualquier proyecto, y, si se
mantenimiento evolutivo y perfectivo, y aplica adecuadamente, debe reducir los riesgos
no al mantenimiento correctivo o antes de que se conviertan en problemáticos.
adaptativo.
Al igual que otros modelos o paradigmas, este
Al aplicarse mantenimiento perfectivo, el no es la panacea. Puede resultar difícil
producto no cambia su esencia. Sin embargo, convencer a grandes clientes, particularmente
al aplicarse mantenimiento evolutivo, es en situaciones bajo contrato, de que el enfoque
probable que el producto modifique su esencia evolutivo es controlable. Así también, los
completamente y se transforme en otro clientes no miran con mucho entusiasmo que
producto. Para éste último caso ya estaríamos en cada planificación se consideren los costos
iniciando otra espiral desde sus inicios, desde y los plazos iterativamente. Esta mecánica
el desarrollo de (nuevos) conceptos sobre un traslada, cuando de plazos y costos se trata, los
producto existente que lo transformará en otro riesgos al cliente.
producto. Varios fueron los críticos que
fundamentaron que este último proyecto, en Requiere también una considerable habilidad
realidad no existe. Al aplicarse mantenimiento para la evaluación del riesgo, y cuenta con esta
evolutivo, el resultado es otro producto. De habilidad para el éxito. Si un riesgo importante
todas formas, nosotros debemos tomarlo tal no es descubierto y gestionado,
como lo propone su inventor Barry Boehm. indudablemente surgirán problemas. Al
respecto, un crítico podría decir que éstas
Finalmente, común e importante para cada características no pertenecen al modelo sino
proyecto es el paso por la región de que pertenecen a la industria. Cualquiera que
planificación, que produce ajustes en la no tenga experiencia en la aplicación de
planificación del proyecto. El costo y la cualquier modelo estará más susceptible de
planificación se ajustan con la realimentación cometer errores. Los errores se van puliendo a
ante la evaluación del cliente. Se ajusta aquí medida que tomamos experiencia, cualquiera
también el número de iteraciones necesarias sea el proceso adoptado.
para la conclusión del desarrollo que puede
sucederse en más de una iteración Finalmente, el modelo no se ha utilizado tanto
dependiendo del tipo de proyecto. como los paradigmas lineales secuenciales o
h. VENTAJAS Y de construcción de prototipos.
DESVENTAJAS
El modelo en espiral es un enfoque realista del Hoy 2009, a veinte años de su aparición, la
desarrollo de sistemas y de productos de experiencia de la industria con este modelo no
software a gran escala. Como el producto es la suficiente como para arrojar conclusiones
evoluciona, a medida que progresa el proceso, certeras, todavía tendrán que pasar muchos
el desarrollador y el cliente, comprenden y años antes de que se determine con absoluta
reaccionan mejor ante riesgos en cada uno de certeza la eficacia de este nuevo, importante y
los niveles evolutivos. prometedor paradigma.
1
[MAR91] Martin, J., Rapid Application Development, Editorial Prentice-Hall, 1991.
2
[BUT94] Butler, J., Rapid Application Development in Action, Managing System Development, Applied
Computer Research, vol. 14, nro. 5, Mayo 1994, pp. 38-51.
3
[BOE88] Boehm, Barry, A Spiral Model for Software Development and Enhancement, Computer, vol. 21,
nro. 5, Mayo 1988, pp. 61-72.

También podría gustarte