aplicable en proyectos en los que los requisitos están
fijados y no van a cambiar durante el ciclo de vida del
desarrollo
el desarrollo se interpreta como el
agua que va cayendo de un
estanque al siguiente
Ejemplo de las fases
Requisitos
Diseño
Implementación
Verificación
Mantenimiento
Se le da mucho
énfasis a
Planificación
Tiempo
Presupuesto
puede ser aplicable a proyectos realmente
controlados y previsibles.
para los que no son importantes los cambios constantes en la industria.
Modelo de desarrollo rápido
Es un modelo Iterativo
Su objetivo es conseguir
prototipos en poco tiempo
Buscando una mejora paulatinamente
Tiene prioridad la
implementación, aun
más que la planificación
Se recurre a varios patrones de diseño
Con el fin de adaptarse a los
cambios en los requerimientos
Útil para llevar a cabo proyectos en
tiempos de entrega muy cortos
Modelo de desarrollo ágil
Basado en iteraciones
En cada iteración se realizan todas
las fases del ciclo de desarrollo
Se establecen 4 valores Basado en los
principios del manifiesto ágil
Annotations:
El manifiesto ágil fue publicado en el 2001 por 17 desarrolladores de software, allí se definen 12 principios y cuatro valores éticos para los desarrolladores. disponible en: http://agilemanifesto.org/
Dar más valor a los individuos y a sus
interacciones que a los procesos y
herramientas.
Dar más valor al software que
funciona que a la documentación
Dar más valor a la colaboración con el
cliente que a la negociación contractual
Dar más valor a la respuesta al
cambio que al seguimiento de un plan
Características
Alta volatilidad
cambios en entornos de desarrollo
Nuevas terminales
Nuevas tecnologías
Equipos de desarrollo pequeños
Un solo desarrollador o Pyme
Software no crítico
suelen ser aplicaciones de entretenimiento
o gestión empresarial no critica
Ciclos de desarrollo cortos
Ciclos de vida muy cortos para poder dar
salida a las aplicaciones a tiempo
Mobil-D
Se desarrolló en el 2004
a pesar de que es un método
antiguo, sigue en vigor
El objetivo es conseguir ciclos
de desarrollo muy rápidos en
equipos muy pequeños
Máximo 10 desarrolladores en un mismo lugar
se debe producir un producto funcional
en menos de 10 semanas
Basado en soluciones conocidas y consolidadas
Extreme Programming (XP),
Crystal Methodologies y
Rational Unified Process (RUP)
Para las prácticas de desarrollo
Crystal
Para escalar los metodos
RUP
Como base en el diseño del ciclo de vida
Ciclo de desarrollo
Fases
Annotations:
Cada fase (excepto la inicial) tiene siempre un día de planificación y otro de
entrega.
Exploración
Se dedica a la planificación y a los
conceptos básicos del proyecto.
Inicialización
Se preparan e identifican todos los recursos
necesarios. Se establece el entorno técnico
Productización o fase de producto
Se repiten iterativamente las subfases, con un día
de planificación, uno de trabajo y uno de entrega
Aquí se intentan utilizar técnicas como la del test
driven development para conseguir la mayor calidad
Annotations:
El test driven development
(TDD) o desarrollo dirigido por
las pruebas, indica que antes
de realizar una funcionalidad
debe existir una prueba que
verifique su funcionamiento.
Estabilización
Se llevan a cabo las acciones de integración para
asegurar que el sistema completo funciona correctamente
Pruebas y reparación
Tiene como meta la disponibilidad de una versión estable y
plenamente funcional del sistema según los requisitos del cliente
Tipos de aplicaciones
Aplicaciones Básicas
son aplicaciones de interacción básica con el dispositivo que
únicamente envían o reciben información puntual del usuario.
Ventajas
simplicidad
facilidad de venta
gran cantidad de usuarios potenciales
Desventajas
muy baja complejidad de las aplicaciones realizadas
• limitaciones impuestas por la tecnología sobre los diseños de
las aplicaciones (ciento sesenta caracteres de texto)
Webs móviles
son aquellas webs que ya existen actualmente y que son adaptadas
específicamente para ser visualizadas en los dispositivos móviles
Ventajas
Fácilimplementación,testeoyactualización
Lenguajeconocidoyestándar
Pueden soportar múltiples dispositivos con un único código fuente
Aplicaciones web sobre móviles
no necesitan ser instaladas en el dispositivo para poder ejecutase. Están basadas en
tecnologías HTML, CSS y Javascript, y que se ejecutan en un navegador. A diferencia
de las web móviles, cuyo objetivo básico es mostrar información, estas aplicaciones
tienen como objetivo interaccionar con el dispositivo y con el usuario. De esta manera,
se le saca un mayor partido a la contextualización.
ventajas
Posibilidad de acceso a mucha información del dispositivo
para realizar aplicaciones relativamente complejas.
Desarrollo, distribución y pruebas sencillas.
Convergencia entre aplicaciones de sobremesa y de dispositivos
móviles, lo cual tiene muchas implicaciones, como, por ejemplo,
que los desarrolladores solo tienen que conocer una tecnología
Uso de estándares de la web (claramente definidos).