02 Ed T - Actividad Tutoria Colectiva 17
02 Ed T - Actividad Tutoria Colectiva 17
02 Ed T - Actividad Tutoria Colectiva 17
Ciclo de Vida
El modelo de ciclo de vida idóneo es un modelo en cascada con retroalimentación
ya que nos encontramos ante un modelo de software clásico, pero donde es
necesario introducir realimentación entre etapas, de forma que podamos volver
atrás en cualquier momento y corregir, modificar o depurar aspectos necesarios.
Dado que no se prevén muchos cambios durante el desarrollo es el modelo más
idóneo. Se trata de un proyecto con pocos cambios, poco evolutivo y los requisitos
están claros. El inconveniente de este modelo es que puede ser muy rígido para
este proyecto.
No obstante, también podría ser válido un modelo iterativo incremental, que está
basado en el modelo en cascada con retroalimentación, ya que se trata de una
tecnología novedosa donde se van ha producir muchos cambios y es posible que
haya que introducir mejoras en diferentes versiones para adaptarnos a los
avances tecnológicos. En este caso sería interesante desarrollar varias fases que
se repitan y refinan donde se vayan propagando las mejoras de una fase a las
siguientes. Con este modelo también evitamos la rigidez que puede introducir el
modelo en cascada con retroalimientación.
Planificación de cada fase:
Análisis de requisitos:
Requisitos funcionales:
o Consulta de productos por categoría.
o Gestión de notificaciones de novedades.
o Gestión de ofertas.
o Gestión de pedidos.
Requisitos no funcionales:
o Sistema operativo sobre el que funcionará la aplicación (Android,
Mac, etc). SGBD a usar. Decisión del lenguaje / lenguajes de
programación a usar.
o Velocidad de la aplicación.
Recursos:
Personales: Jefe de proyecto, Analista de sistemas.
Herramientas: entrevistas con el cliente, presentación de prototipado de
la interfaz de la aplicación, etc.
Diseño:
Recursos:
Diagrama de arquitectura.
Diagrama de casos de uso.
Diagrama entidad/relación, diagrama relacional.
Diagrama de clases.
Personales: Arquitectos de software.
Implementación:
Implementación de todas las funcionalidades en el lenguaje elegido.
Implementación de la base de datos.
Implementación de la pruebas unitarias.
Recursos personales:
Full-stack Developer.
Desarrollador de BD.
Pruebas:
Realización de pruebas unitarias.
Realización de pruebas integración.
Realización de pruebas de sistema en un entorno de producción.
Recursos personales:
Programadores de pruebas.
Tester.
Mantenimiento:
Realización de pruebas de sistema en un entorno de producción.
Repetir el proceso con las modificaciones o nuevos requerimientos.
Recursos personales:
Tester del sistema.
Todos los perfiles de las fases anteriores.