Vous êtes sur la page 1sur 3

Tomado de: Ingeniera del Software. IBM Capacitacin.

2008

Porqu es necesario elegir un modelo para desarrollar software?


Sencillamente para sistematizar el desarrollo del software y garantizar un sistema de calidad, confiable,
eficiente y predecible. Si llegara a ocurrir un conflicto en el transcurso del desar rollo del software,
conseguir resolver el problema en corto tiempo. Los modelos se utilizan para organizar la informacin
detallada del sistema, con la finalidad de hacerlo controlable y predecible.
Algunos modelos para desarrollar software son:
1. Modelo Secuencial lineal
Implica de procedimientos lineales y ordenados, con entregables entre una etapa y otra. Y se dividen en
dos tipos:
Modelo de Cascada: Propuesto por Winston Royce en 1970. Era una propuesta iterativa, pero en la
prctica se compor ta muy lineal. Las etapas principales de este modelo son:
Ingeniera de Sistemas: Se detalla muy especficamente la relacin del sistema con cada
elemento como el hardware, persona, base de datos, entre otros. Para cada elemento se detallan
los requerimientos.
Anlisis de Requerimientos: En esta etapa se detalla cada requerimiento del sistema, con la
finalidad de evitar ambigedad de los mismos, permitir la creacin del prototipo e interactuar
con el cliente para garantizar que se va a disear un sistema acorde a lo solicitado.
Fase de Diseo: Aqu se planifica la solucin del problema planteado en el documento de
requerimientos, siendo la entr ada a esta fase, la especif icacin de requerimientos y la salida es
documento de diseo. Esta etapa de diseo incluye una posible solucin, el modelo de la
solucin, evaluacin contra los requerimientos originales para luego obtener un documento de
diseo definitivo.
Fase de Codif icacin: Aqu se traduce el diseo en un cdigo de programacin en un lenguaje
de programacin apropiado. Es importante desarrollar programas fciles de comprender y
debidamente documentados ya que esto facilita la fase de prueba y apoya la fase
mantenimiento.
Fase de Prueba: En esta fase se mide la calidad utilizada en el desarrollo del software. Se
validan los procesos del desar rollo y se compara con los requerimientos iniciales. Se verifica
contra las especificaciones. La prueba debe arrojar errores de programacin y de diseo.
Fase de Mantenimiento: Esta fase inicia luego de la instalacin del software y las principales
acciones que se llevan a cabo son:

de

Mantenimiento cor rectivo


Mantenimiento adaptativo
Mantenimiento mejorativo
Mantenimiento preventivo
Ventajas de este modelo
Permite una gran organizacin en el proceso de implementacin
Utiliza una plantilla para ingeniera del software.
Desventaja de este modelo
Los clientes deben especificar de forma inmediata, los requerimientos del sistema para que
inicie el proceso de desarrollo del software.
No siempre el cliente sabe con certeza los requerimientos.
Los usuar ios deben esperar la implementacin del sistema para saber si cumple con los
requerimientos
Cualquier cambio necesar io realizar en la etapa de implementacin, se debe regresar a las
etapas anteriores.

Modelo de Desarrollo Rpido de Aplicacin (RAD)


El modelo anterior toma mucho tiempo, debido a esto nace el Modelo RAD Rapid Application
Development. Sigue siendo un modelo secuencial lineal pero con tiempos cor tos de desarrollo, para lo
cual se requieren varios equipos de personas trabajando paralelamente en cada parte del sistema. Este
modelo es eficiente para un equipo numeroso de programadores. En el diseo en este modelo
se reciclan los componentes existentes, es decir se reutilizan utilizando tcnicas de cuarta generacin.
Una desventaja de este modelo es que se requieren mas desarrolladores ya que trabajan
concur rentemente y que no garantiza solucin inmediata de problemas tcnicos debido a que no se
enfoca en detalles minuciosos.
2. Modelo de Creacin de un Prototipo
Es un modelo evolutivo y basado en el modelo iterativo. El cliente define un conjunto de objetivos
generales. No define las entradas ni el procesamiento ni las salidas del sistema. El desarrollo de este
prototipo tiene un diseo, codificacin y prueba pero de forma rpida. Un diseo rpido y un prototipo,
permiten que el cliente pueda ver la salida antes de que el sistema se encuentre desarrollado por
completo, esto facilita cualquier cambio necesario realizar.

3. Modelos Evolutivos
Tienen un enfoque f lexible y los pasos bsicos de estos modelos son:

a. Entregar algo al usuario


b. Recibir retroalimentacin del usuario
c. Ajustar el diseo y objetivos basadas a las realidades obser vadas.
Modelo Incremental: Consiste en un desarrollo paso a paso, en la cual puede ocurr ir que
algunas fases se pospongan. En este modelo, cada par te del sistema es diseado, codificado,
probado e integrado con el resto de las partes y entregado parcialmente. Se puede seguir el
modelo de cascada pero slo para cada par te de sistema por separado. Este modelo es ideal
cuando no se tienen todos los requerimientos por anticipado, ya que para obtenerlos es necesario
un proceso de aprendizaje.
Modelo Espiral: Propuesto por Bar ry Boehm en 1988. Incluye un riesgo. Combina la creacin
de un prototipo con los benef icios del modelo secuencial lineal. Sus fases son: Comunicacin
con el cliente, planificacin del proyecto, Anlisis de riesgo, Ingeniera del Software,
Codificacin, Prueba y Lanzamiento y Evaluacin y Retroalimentacin del Cliente
4. Modelo de Ensamblado de Componentes
Es iterativo, utiliza un mtodo especfico en las etapas de Ingeniera del Software y Programacin,
prueba y lanzamiento ya que usa la programacin orientada a objeto. Algunos pasos de este modelo
son:
Identificar componentes reutilizable
Utilizar libreras para facilitar el reuso de componentes
Construir componentes adicionales para realizar el diseo en la etapa de iteracin.
Ensamblar los componentes para agilizar la entrega del software.
Este modelo trabaja idntico al espiral hasta el momento del ensamblado de componentes.
Tcnicas de Cuarta Generacin (4GTs)
Estas tcnicas estn relacionas con el software en un alto nivel de abstraccin. Son llamadas tambin
generadores de aplicaciones y tienen las siguientes caractersticas.
Utilizan un lenguaje no procedural para consultar la base de datos
Utilizan herramientas generadoras de reportes, las cuales no requieren de programacin
Diferentes formas de manejo de datos, tanto para programadores y no progr madores.
Fcil creacin de pantallas
Facilidad para la generacin de cdigo

Vous aimerez peut-être aussi