El documento describe varios modelos de ciclo de vida de desarrollo de software, incluyendo el modelo en cascada, modelo lineal secuencial, modelo repetitivo, modelo en V y modelo en espiral. Cada modelo sigue un proceso diferente como la recolección de requisitos, diseño, codificación y pruebas para el desarrollo de software. El documento también discute las ventajas y desventajas de algunos modelos.
3. Recolección de
solicitudes
A partir de este paso y en adelante el equipo de desarrollo
software trabaja para tirar adelante el proyecto. El equipo
se reúne con varios depositarios de dominio del problema,
e intentan conseguir la máxima cantidad de información
posible sobre lo que requieren. Los requisitos se
contemplan y agrupan en requisitos del usuario, requisitos
funcionales y requisitos del sistema. La recolección de
todos los requisitos se lleva a cabo como se especifica a
continuación
4. Estudio de viabilidad
Después de la recolección de requisitos, el equipo idea un plan para procesar el software. En esta fase,
el equipo analiza si el software puede hacerse para cubrir todos los requisitos del usuario y si hay
alguna posibilidad de que el software ya no sea necesario.
5. Análisis del sistema
En este pas los desarrolladores trazan su plan e intentan crear el mejor y más conveniente modelo de software para el
proyecto. El análisis del sistema inclye el entendimiento de las limitaciones del producto Software; el aprendizaje de los
problemas relacionados con el sistema; los cambios que se requieren en sistemas ya existentes con antelación,
identificando y dirigiendo el impacto del proyecto a la organización y al personal, etc.
Diseño de Software
El siguiente paso es diseñar el producto software con la ayuda de toda la información recogida sobre requisitos y
análisis. Los inputs (aportacines) de los usuarios y los resultados de la recogida de información hecha en la fase anterior
seran las aportaciones base de la fase actual. El output (o resultado) de esta etapa toma la forma de 2 diseños; El
diseño lógico y el diseño físico. Los ingenieros crean meta-data (Metadatos), Diagramas dilógicos, diagramas de flujo de
datos, y en algunos casos pseudocódigos.
6. Codificación
Esta fase también se puede denominar 'fase de programación'. La implementación del diseño de software empieza con el
lenguaje de programación más conveniente, y desarrollando programas ejecutables y sin errores de manera eficiente.
Pruebas
Se estima que el 50% de todos los procesos de desarrollo de software deberían ser evaluados. Los errores pueden
arruinar el software tanto a nivel crítico y hasta el punto de ser eliminado. Las pruebas de Software se hacen mientras se
codifica y suelen hacerlo los desarrolladores y otros expertos evaluadores a varios niveles.
7. Integración
El Software puede necesitar estar integrado con las bibliotecas, Bases de datos o con otro u otros programas. Esta fase del
SDLC se focaliza en la integración del software con las entidades del mundo exterior.
Implementación
Aquí se instala el software en máquinas de clientes. A veces, el software necesita instalar configuraciones para el
consumidor final con posterioridad. El Software se evalúa por su adaptabilidad y su portabilidad, en cuanto a las cuestiones
relacionadas con la integración y conceptos asociados, se resuelven durante la implementación.
8. Mantenimiento y
Funcionamiento
Esta fase confirma el funcionamiento del software en términos de más eficiencia y menos errores. Si se requiere, los
usuarios se forman, o se les presta documentación sobre como operar y como mantenerlo en funcionamiento.
Disposición
Con el paso del tiempo, puede que el software falle en su ejecución. Puede que se vuelva totalmente obsoleto o que
necesite actualizaciones. De ahí surge una necesidad urgente de eliminar una parte importante del sistema.
9. Modelo de Desarrollo Rápido de
Aplicaciones
● El método comprende el desarrollo iterativo, la construcción de prototipos y el uso de
utilidades CASE
● Está basado en el proceso del desarrollo del software lineal secuencial, que enfatiza un ciclo
de desarrollo corto.
● Modelo de gestión
● Modelo de datos
● Modelado de procesos
● Generación de aplicaciones
● Pruebas de entrega
Modelo de Desarrollo Rápido
de Aplicaciones
10. Ventajas:
● Es flexible
● Mayor involucramiento de los usuarios
● Ciclos de desarrollo más pequeños
● Menos fallas
● Interfaz gráfica estándar
● Se acopla a otra plataforma
Desventajas:
● Costo de herramientas integradas y equipos necesario.
● Menor precisión científica.
● Funciones reducidas.
● Fallas por síndrome de “codificar a lo bestia”
11. Modelos Incremental
Características de este modelo:
- Aplica secuencias lineales de forma escalonada.
- Cada secuencia lineal produce un incremento del
software.
- Se centraliza en la entrega en el incremento del
producto operativo.
12. Ventajas:
- Es flexible, lo que provoca que se reduzca el coste
entre el cambio de alcance y requisitos establecidos.
- Fácil probar y depurar en un proceso más pequeño.
- fácil gestión de riesgos.
- Gracias a este modelo se produce software de una
manera mas rapida y agil.
13. Modelo Prototipo
Se lo denomina como desarrollo evolutivo, en el que se identifica cada uno
de los requisitos que debe tener el software, cumplir con los objetivos
planteados al inicio del desarrollo.
Etapas del modelo prototipo
● Recolección y financiamiento de requisitos
● Diseño, modelo
● Construcción de prototipo
● Desarrollo, evaluación
14. Generalidades
● Debe tener un sistema con el que se pueda
experimentar
● Su desarrollo deber ser jerárquico
● La interfaz que usa debe ser fácil de comprender por
el usuario
● Se debe usar herramientas y lenguajes adecuados
15. Modelo Lineal, Secuencial
● Este modelo también se conoce como “ciclo de vida”, ya que tiene su
origen en el Modelo de cascada ingeniado por Wiston Royce.
● Este modelo lineal secuencial sugiere un enfoque sistemático y cómo en
nombre lo dice secuencial ya que comienza en un nivel de sistemas y
progresa con el análisis, diseño, codificación, pruebas y mantenimiento.
16. Modelo Cascada
● Modelo de cascada consiste en un proceso de desarrollo secuencial, por lo cual el
desarrollo de software se concibe como un conjunto de etapas o fases que se ejecutan
una tras otra.
● Se denomina cascada por que ocupan las diferentes fases que componen un proyecto,
son colocadas una encima de otra, siguiendo así un flujo de ejecución de manera
descendente como una cascada.
17. Modelo Repetitivo
● Proyecta el proceso de desarrollo de forma cíclica
● Como su nombre lo indica, el proceso va de manera repetitiva.
● Por cada repetición, más módulos y características son diseñados, codificados,
evaluados y añadidos al software.
18. Modelo en V
● Define un procedimiento uniforme para el desarrollo de productos para las TIC.
● Es el estándar utilizado para los proyectos de la Administración Federal Alemán y de
defensa. Como está disponible públicamente muchas compañías lo usan.
● Es un método de gestión de proyectos comparable a PRINCE2 y describe tanto
métodos para la gestión como para el desarrollo de sistemas. La versión actual del
Método-V es el Método-V XT que se terminó en febrero del 2005.
● No es comparable con CMMI. Mientras que CMMI solo describe "qué" se ha hecho,
el Método-V describe el "cómo" y el "cuándo" y "quién" es el responsable de haberlo
hecho.
19. Modelo en Espiral
● Combinación del modelo repetitivo y los pasos que comprenden el SDLC