Vous êtes sur la page 1sur 11

MODELOS DE

DESARROLLO


MARIO ENRIQUE SAJQUIM JUAREZ
20120806
Procesos del Ciclo de Vida
Es un marco de referencia que contiene los procesos, las actividades y las tareas
involucradas en el desarrollo, la explotacin y el mantenimiento de un producto de
software, abarcando la vida del sistema desde la definicin de los requisitos hasta la
finalizacin de su uso.
Un proceso de desarrollo de software tiene como propsito la produccin eficaz y eficiente
de un producto software que rena los requisitos del cliente.
El proceso de desarrollo de software no es nico. No existe un proceso de software universal
que sea efectivo para todos los contextos de proyectos de desarrollo. Debido a esta
diversidad, es difcil automatizar todo un proceso de desarrollo de software.
A pesar de la variedad de propuestas de proceso de software, existe un conjunto de
actividades fundamentales que se encuentran presentes en todos ellos:
1. Especificacin de software: Se debe definir la funcionalidad y restricciones operacionales
que debe cumplir el software.
2. Diseo e Implementacin: Se disea y construye el software de acuerdo a la especificacin.
3. Validacin: El software debe validarse, para asegurar que cumpla con lo que quiere el
cliente.
4. Evolucin: El software debe evolucionar, para adaptarse a las necesidades del cliente.
Adems de estas actividades fundamentales, se establecen actividades protectoras, que
se aplican a lo largo de todo el proceso del software. Ellas se sealan a continuacin:
Seguimiento y control de proyecto de software.
Revisiones tcnicas formales.
Garanta de calidad del software.
Gestin de configuracin del software.
Preparacin y produccin de documentos.
Gestin de reutilizacin.
Mediciones.
Gestin de riesgos.
.
Elementos
Un marco comn del proceso, definiendo un pequeo nmero de actividades del marco
de trabajo que son aplicables a todos los proyectos de software, con independencia del
tamao o complejidad.
Un conjunto de tareas, cada uno es una coleccin de tareas de ingeniera del software,
hitos de proyectos, entregas y productos de trabajo del software, y puntos de garanta de
calidad, que permiten que las actividades del marco de trabajo se adapten a las
caractersticas del proyecto de software y los requisitos del equipo del proyecto.
Las actividades de proteccin, tales como garanta de calidad del software, gestin de
configuracin del software y medicin, abarcan el modelo del proceso. Las actividades de
proteccin son independientes de cualquier actividad del marco de trabajo y aparecen
durante todo el proceso.

MODELOS DEL PROCESO
Son estrategias de desarrollo para resolver los problemas reales en una industria,
implementados por ingenieros del software, empleados segn la naturaleza del proyecto y
de la aplicacin, los mtodos y las herramientas a utilizarse, los controles y las entregas que
se requieren.
MODELO CLASICO
Conocido tambin como modelo lineal o en cascada, es el modelo ms bsico y sirve como
bloque de construccin para los dems modelos del ciclo de vida, se desarrolla a travs de
una secuencia simple de fases. Cada fase con un conjunto de metas definidas.
Caractersticas:
Es un modelo sencillo y disciplinado
Es fcil aprender a utilizarlo y comprender su funcionamiento
Est dirigido por los tipos de documentos y resultados que deben obtenerse al final de
cada etapa
Ha sido muy usado y, por tanto, est ampliamente contrastado
Ayuda a detectar errores en las primeras etapas a bajo costo
Ayuda a minimizar los gastos de planificacin, pues se realiza sin problemas

Desventajas:
Los proyectos raramente siguen el proceso lineal tal como se defina originalmente el ciclo
de vida
Es difcil que el cliente exponga explcitamente todos los requisitos al principio
El cliente debe tener paciencia pues obtendr el producto al final del ciclo de vida
No refleja exactamente cmo se programa realmente el sistema, en el que suele haber
un gran componente iterativo
Puede resultar complicado regresar a etapas anteriores (ya acabadas) para realizar
correcciones
El producto final obtenido puede que no refleje todos los requisitos del usuario
MODELOS ITERATIVOS BASADOS EN PROTOTIPOS
Es un modelo a escala o facsmil de lo real, pero no tan funcional para que equivalga a un
producto final, ya que no lleva a cabo la totalidad de las funciones necesarias del sistema
final. Proporcionando una retroalimentacin temprana por parte de los usuarios acerca del
Sistema.
Permite la construccin del sistema con requisitos poco claros o cambiantes. El cliente
recibe una versin del sistema en muy poco tiempo, por lo que lo puede evaluar, probar e,
incluso, empezar a utilizarlo
Se pueden introducir cambios en las funcionalidades del sistema en cualquier momento
adems de que involucra al usuario en la evaluacin de la interfaz de usuario, se reduce el
riesgo y la incertidumbre sobre el desarrollo, genera signos visibles de progreso, que se
utilizan cuando existe una demanda en la velocidad del desarrollo y permite entender bien
el problema antes de la implementacin final.
Caractersticas:
El prototipo es una aplicacin que funciona.

Los prototipos se crean con rapidez.

Los prototipos evolucionan a travs de un proceso iterativo
Los prototipos tienen un costo bajo de desarrollo
Desventajas:
El cliente puede quedar convencido con las primeras versiones y, quizs, no vea la
necesidad de completar el sistema o redisearlo con la calidad necesaria
Requiere trabajo del cliente para evaluar los distintos prototipos y traducirlo en nuevos
requisitos
Requiere un tiempo adicional para definir adecuadamente el sistema
No se sabe exactamente cunto ser el tiempo de desarrollo ni cuantos prototipos se
tienen que desarrollar
Si un prototipo fracasa, el coste del proyecto puede resultar muy caro

MODELOS EVOLUTIVOS
Se adaptan ms fcilmente a los cambios introducidos a lo largo del desarrollo.

Etapas del modelo evolutivo
PLANEACION: En esta etapa evala la funcin y el rendimiento que se asignaron al Software
durante la Ingeniera del Sistema de Computadora para establecer un mbito de proyecto
que no sea ambiguo, e incomprensible.

ANLISIS DE RIESGOS: en esta etapa l analista se encarga de analizar los riesgos que el
software a crear estar expuesto y as encontrar la manera de corregirlos.

CONSTRUCCIN Y ADAPTACIN DE LA INGENIERA: en esta etapa se construye el software,
se prueba si no tiene algn problema o para detectar errores,se instala , y luego se le brinda
soporte al cliente.

VALUACIN DEL CLIENTE: el cliente tiene la tarea de evaluar el software para verificar si
este cumple con los requisitos que este proporciono y est en todo la tarea de aprobar o
rechazar el software.

Caractersticas
Es evolutivo
Posee un enfoque evolutivo para la creacin de software
Comienza con la identificacin de las clases ms importantes
Examina los datos que se van a manejar
Permite la reutilizacin del software
El ensamblaje de los componentes reduce el 70 del 100% del tiempo del ciclo del
desarrollo del software y un 84 del 100% del costo del proyecto.
Se puede utilizar a manera de ejemplo, en un equipo de sonido con cada una de sus piezas
o componentes; es probable que por separado puedan ser funcionales, pero para que
verdaderamente desempeen la funcin que deberan, tienen que estar unidas formando
un todo.
Desventajas:
Genera mucho tiempo en el desarrollo del sistema.
Modelo costoso.
Requiere experiencia en la identificacin de riesgos.
Genera mucho trabajo adicional.


MODELO EN ESPIRAL
Este es un modelo de proceso de software evolutivo, el cual conjuga la naturaleza iterativa
de los prototipos con los aspectos controlados y sistemticos del modelo clsico,
proporciona el potencial para el desarrollo rpido de versiones incrementales, puede
adaptarse y aplicarse a lo largo de la vida del software, es un enfoque realista del desarrollo
del software.
Caractersticas:
Un enfoque cclico para el crecimiento incremental del grado de definicin e
implementacin de un sistema, mientras que disminuye su grado de riesgo.
Un conjunto de puntos de fijacin para asegurar el compromiso del usuario con soluciones
de sistema que sean factibles.
Se recomienda utilizar ya que permite aplicar el enfoque de construccin de prototipos en
cualquier momento para reducir riesgos, reduce los riesgos antes de que se conviertan en
problemticos, controla muy bien los riesgos y mientras ms iteraciones se realicen, menos
riesgos habr y monitoriza y controla los riesgos continuamente
Desventajas:
Puede resultar difcil convencer a algunos clientes de que el enfoque evolutivo es
controlable
Solo resulta aplicable para proyectos de gran tamao
Supone una carga de trabajo adicional, no presente en otros ciclos de vida
Requiere una considerable habilidad para la evaluacin y resolucin del riesgo, y se basa
en esta habilidad para el xito
Si un riesgo importante no es descubierto y gestionado, indudablemente surgirn
problemas
Es bastante complicado de realizar y su complejidad puede incrementarse hasta hacerlo
impracticable
El modelo no se ha utilizado tanto como otros, por lo que tendrn que pasar aos antes
de que determine con certeza la eficacia de este modelo

DESARROLLO RPIDO DE APLICACIONES
Es un modelo de proceso del desarrollo del software lineal secuencial que enfatiza un ciclo
de desarrollo extremadamente corto. DRA es una adaptacin a "Alta velocidad" en el que
se logra el desarrollo rpido utilizando un enfoque de construccin basado en
componentes.
Enfatiza ciclos de desarrollo extremadamente cortos, tiene las ventajas del modelo clsico
y se asegura de que el producto entregado cumple las necesidades del cliente
Caractersticas:
Modelo lineal secuencial orientado a un ciclo rpido de desarrollo.
Basado en componentes para poder entregar un modelo totalmente operativo en
un corto periodo de tiempo.
Es fundamental para poder modular la aplicacin para cada equipo pueda trabajar
en diferentes modelos
Desventajas:
Solo se puede aplicar si el sistema se puede modularizar de forma que permita
completarse cada una de las funciones principales en menos de tres meses
Para proyectos grandes puede requerir muchos equipos de trabajo distintos
Requiere clientes y desarrolladores comprometidos en las rpidas actividades necesarias
No resulta adecuado cuando los riesgos tcnicos son elevados
Se pueden tener problemas con la aceptacin del prototipo

MODELOS ORIENTADOS A LA REUTILIZACIN
El propsito de la reutilizacin es mejorar la eficiencia, la productividad y la calidad del
desarrollo software. As la reutilizacin puede definirse como cualquier procedimiento que
produce o ayuda a producir un sistema mediante el nuevo uso de algn elemento
procedente de un esfuerzo de desarrollo anterior o como la utilizacin de elementos
software existentes durante la construccin de un nuevo sistema software.
Las unidades software reutilizables pueden ser de diferente tamao:
Sistemas de aplicaciones: se reutiliza la totalidad del sistema
Sin ningn cambio (reutilizacin de productos COTS)
Desarrollo de familias de aplicaciones para plataformas diferentes o necesidades
especficas
Componentes: la reutilizacin va desde subsistemas hasta objetos simples
Funciones: componentes de software que implementan una sola funcin
Familias de aplicaciones o lneas de productos: conjunto relacionado de aplicaciones que
tiene una arquitectura comn de dominio especfico. Existen varios tipos de especializacin:
De la plataforma: varias versiones de la aplicacin se desarrollan para diferente plataforma
De la configuracin: se crean diferentes versiones para manejar diversos dispositivos
perifricos modelos de proceso del software
De la funcionalidad: diferentes versiones para clientes con requisitos diferentes.

Actividades de la reutilizacin
Cuando la reutilizacin est presente en un proceso de desarrollo software, este debe
integrar todas las actividades necesarias para producir y reutilizar componentes software.
As se distinguen dos actividades principales dentro de la reutilizacin: el desarrollo para la
reutilizacin y el desarrollo con reutilizacin.

Cualificacin de componentes: Asegura que un componente candidato llevar a cabo la
funcin necesaria, encajar en el estilo candidato llevar a cabo la funcin necesaria,
encajar en el estilo arquitectnico del sistema y tendr la calidad requerida
Adaptacin de componentes: Elimina conflictos de integracin enmascaramiento de caja
blanca, gris o negra
Composicin de componentes: Ensambla componentes cualificados adaptados y
diseados para la arquitectura establecida
Ingeniera de componentes: Diseo de componentes para su reutilizacin
Actualizacin de componentes: El software actual se reemplaza a medida que se dispone
de nuevas versiones de componentes.

MODELOS PARA SISTEMAS ORIENTADOS A OBJETOS
En este enfoque, el principal bloque de construccin de todos los sistemas de software es el objeto.
Para realizar modelos de sistemas orientados a objetos se usa el Lenguaje de Modelamiento
Unificado, que es un lenguaje de modelamiento estndar que sirve para visualizar, especificar y
construir y documentar los artefactos de un sistema orientados a objetos.
Fases en el desarrollo de sistemas:
Anlisis del sistema
Diseo
Implementacin ( programacin)
Pruebas
Modelos en el anlisis OO
Caractersticas:
Especifica el dominio o el problema
Entendimiento de los requerimientos, entendimiento del dominio del problema e
identificacin de los lmites del sistema.
Modelos en el diseo OO
Caractersticas:
Construir la solucin para soportar el modelo del diseo
Resolver el problema
Definicin de la arquitectura del software, escoger estructura de datos, desarrollar
algoritmos e implementar relaciones.
PROCESO AGILES
Un modelo de desarrollo gil, generalmente es un proceso Incremental, (pequeos y
frecuentes entregas con ciclos rpidos), tambin Cooperativo, y finalmente adaptativo.
En el 2001 en Utah-EEUU en la reunin de los 17 expertos de la industria del software,
nace el trmino "gil" aplicado al desarrollo de software. Incluyendo algunos de los
creadores o impulsores de metodologas de software.
Su objetivo fue esbozar los valores y principios que deberan permitir a los equipos
desarrollar software rpidamente y respondiendo a los cambios que puedan surgir a lo
largo del proyecto. Se pretenda ofrecer una alternativa a los procesos de desarrollo de
software tradicionales, caracterizados por ser rgidos y dirigidos por la documentacin
que se genera en cada una de las actividades desarrolladas. Varias de las denominadas
metodologas giles ya estaban siendo utilizadas con xito en proyectos reales, pero les
faltaba una mayor difusin y reconocimiento.
Las caractersticas de las metodologas giles pueden explicarse a travs de los
siguientes cuatro principios fundamentales:
Los individuos e interacciones son ms importantes que los procesos y las
herramientas: dado que el proceso de desarrollo es creativo, no es posible pensar que
las personas funcionen respondiendo a rdenes, a procesos rgidos.
Que el software funcione es ms importante que la documentacin exhaustiva:
puesto que si el software no funciona la documentacin no vale de nada. A nivel interno
puede haber documentacin, pero solo la necesaria y a nivel externo lo que el cliente
requiera.
La colaboracin con el cliente es ms importante que la negociacin de contratos:
supone que la satisfaccin del cliente con el producto ser mayor, mientras exista una
conversacin y realimentacin contina entre ste y la empresa.
La respuesta ante el cambio es ms importante que el seguimiento de un plan: puesto
que si un proyecto de software no es capaz de adaptarse a los cambios fracasar,
especialmente en productos de gran envergadura. La estrategia de planificacin se basa
en: planes detallados para las prximas semanas, planes aproximados para los prximos
meses y muy generales para plazos mayores.

En la actualidad se cuentan alrededor de 15 a 20 metodologas agiles sin contar los
mtodos hbridos de desarrollo que integran en sus prcticas como ejemplo a Xp con
Scrum.

MODELOS DE PROCESO DE LA INGENIERIA WEB
Las caractersticas de sistemas y aplicaciones basados en Web influyen enormemente
en el proceso de Ingeniera Web influyen enormemente en el proceso de Ingeniera
Web:

Intensivas de red
Controladas por contenido
Evolucin continua
Inmediatez
Esttica

El ciclo de desarrollo de una aplicacin Web consta de las siguientes fases de ingeniera:
Definicin y anlisis de los sistemas Web
Diseo de los sistemas Web
Diseo arquitectnico Diseo arquitectnico
Diseo de la navegacin
Diseo de la interfaz
Pruebas de las aplicaciones Web
Pruebas de las aplicaciones Web
Modelo de Pressman (I)
Formulacin: identificacin de metas y objetivos
Planificacin: estimacin de costes, evaluacin de riesgos y planificacin temporal del
proyecto
Anlisis: establecimiento de requisitos
Ingeniera: dos grupos de tareas paralelas: dos grupos de tareas paralelas,
Tcnicas (diseo arquitectnico, de navegacin y de interfaz)
No tcnicas (diseo del contenido y produccin)
Generacin de pginas y pruebas
El contenido se fusiona con los diseos arquitectnicos, de navegacin y de interfaz para
elaborar pginas web ejecutables en HTML, JSP...
Integracin con el software intermedio (middleware) de componentes
Evaluacin con el cliente: revisin de cada incremento y solicitud de cambios.
El proceso unificado en la Ingeniera Web
La clave para utilizar el Proceso Unificado en el desarrollo de aplicaciones La clave para
utilizar el Proceso Unificado en el desarrollo de aplicaciones Web la dan los casos de uso
(Ward y Kroll, 1999)
Integran el marco de ingeniera, que ofrece el Proceso Unificado, con el proceso de
diseo creativo que caracteriza a las aplicaciones Web
Ofrecen una forma de expresar en trminos comunes un entendimiento compartido
del comportamiento esperado de la aplicacin Web
Juegan el papel de lengua franca en los proyectos software, es decir, son el lenguaje
hablado por todos los implicados en la definicin y el desarrollo del sistema Web
Modelo de casos de uso: documentacin de los requisitos que permite a los usuarios
articular sus necesidades (servicios del sistema) usuarios articular sus necesidades (servicios
del sistema):
Los actores representan a los usuarios
Los casos de uso representan los servicios

Vous aimerez peut-être aussi