Los clientes suelen tener una idea más bien abstracta del resultado final, pero no sobre las funciones que debería cumplir el software.
Esto puede incluir la documentación de un API, tanto interior como exterior.
Realmente no representa cómo se debe desarrollar el software, sino de un enfoque común.
En ocasiones puede que una combinación de varios modelos sea apropiado.
[2] Como todo modelo, existen sus pros y contras al usar este paradigma:
Paradigma Orientado a Objetos: Estos modelos se basan en la Programación orientada a objetos; por lo tanto, se refiere al concepto de clase, el análisis de requisitos y el diseño.
El modelo o paradigma orientado a objetos posee dos características principales, las cuales son: 3.
Estos intentan evitar los tediosos caminos de las metodologías tradicionales enfocándose en las personas y los resultados.
Usa un enfoque basado en el Valor para construir software, colaborando con el cliente e incorporando los cambios continuamente.
Las revisiones también se utilizan para asegurar que la fase anterior ha sido totalmente finalizada; los criterios para completar una fase se conocen frecuentemente con el término inglés "gate" (puerta).
Este modelo desaconseja revisitar y revisar fases que ya se han completado.
Sin embargo, el modelo en espiral tiene algunas limitaciones, entre las que destacan: La primera fase es la búsqueda de un plan para conseguir los objetivos con las limitaciones del proyecto para así buscar y eliminar todos los riesgos potenciales por medio de un cuidadoso análisis, y si fuera necesario incluyendo la fabricación de un prototipo.
La retroalimentación se canaliza por medio de pruebas periódicas y frecuentes versiones del software.
La formalización del desarrollo de software está ganando en fuerza poco a poco, en otros ámbitos, con la aplicación del lenguaje de especificación OCL2.0 (y especializaciones tales como Java Modeling Language) y particularmente con Model-driven Architecture, que permite la ejecución de diseños, incluso especificaciones.
Un Rol se define como una “Función que alguien o algo cumple” (Abstracta Academy, 2016).
Cada uno de los roles aportará al grupo parte del total necesario para tener éxito en el desarrollo.
Además al asignar roles, se definen objetivos y actividades para cada uno; lo anterior evitando que alguna actividad no sea asignada o que dos personas realicen el mismo trabajo.
El software se construye en equipo y hay muchas metodologías diferentes.
Diseña y ejecuta las pruebas, para ello requiere conocer el producto a probar claro esta, estudiar funcionalidad del producto y desarrollar las pruebas que revelen incidentes críticos.
Está encargado del aseguramiento de la calidad, mejorar continuamente la arquitectura.