Modelos y filosofías de desarrollo de software
Enviado por Slyr • 11 de Marzo de 2012 • Tesis • 1.620 Palabras (7 Páginas) • 788 Visitas
Introducción
En este documento se hablara de los distintos modelos o filosofías de desarrollo de software, de su s ventajas y desventajas, así mismo se comparara cada una de ellas y se determinara una conclusión personal de la cual es más factible para su uso en el desarrollo de software y en qué condiciones es óptima.
Los modelos a analizar serán la cascada o clásico, el modelo de prototipos y el modelo espiral estos se describirán en el documento de una manera sencilla.
Un modelo o filosofía son principalmente métodos para la gestión de proyectos de software de los cuales pueden utilizarse varios entre ellos o los más comunes de usar de forma general son los mencionados a continuación.
Una descripción breve de cada uno de los modelos que trataremos es la siguiente:
Modelo en cascada: se maneja por 5 principales etapas de las cuales se debe finalizar la anterior para poder continuar, las principales etapas son: requisitos, diseño, implementación, verificación, mantenimiento.
Modelo de prototipos: este modelo se basa en un proceso evolutivo que requiere de la creación de prototipos rápidos para que el cliente o usuario final, cree una previa vista del programa.
Modelo en espiral: este modelo es uno muy completo pero extenso se vasa en un ciclo de procesos el cual se divide en 4 principales tareas por ciclo: determinar objetivos, análisis de riesgos, planificación, desarrollo y pruebas.
Índice
Introducción 2
Índice 2
Modelos y filosofías de desarrollo de software 2
Desarrollo en cascada o Modelo en cascada 3
Modelo de prototipos 4
Desarrollo en espiral 5
Conclusión 6
Bibliografías 6
Modelos y filosofías de desarrollo de software
La ingeniería de software dispone de varios modelos, paradigmas y filosofías de desarrollo, en los cuales se apoya para la construcción del software, entre ellos se puede citar:
Modelo en cascada o Clásico (modelo tradicional)
Modelo de prototipos
Modelo en espiral
Desarrollo por etapas
Desarrollo iterativo y creciente o Iterativo e Incremental
RAD (Rapid Application Development)
Desarrollo concurrente
Proceso Unificado
RUP (Proceso Unificado de Rational)
Desarrollo en cascada o Modelo en cascada
Es el enfoque metodológico que ordena rigurosamente las etapas del proceso para el desarrollo de software, de tal forma que el inicio de cada etapa debe esperar a la finalización de la etapa anterior.
Este modelo costa de 5 fases y son:
1. Análisis de requisitos
2. Diseño
a. Diseño del sistema
b. Diseño del programa
3. Implementación
a. Codificación
b. Pruebas
4. Verificación
5. Mantenimiento
Análisis de requisitos
En esta fase se analizan las necesidades de los usuarios finales del software para determinar qué objetivos debe cubrir. De esta fase surge una memoria llamada SRD (documento de especificación de requisitos), que contiene la especificación completa de lo que debe hacer el sistema sin entrar en detalles internos.
Es importante señalar que en esta etapa se debe consensuar todo lo que se requiere del sistema y será aquello lo que seguirá en las siguientes etapas, no pudiéndose requerir nuevos resultados a mitad del proceso de elaboración del software.
Diseño de sistemas
Descompone y organiza el sistema en elementos que puedan elaborarse por separado, aprovechando las ventajas del desarrollo en equipo. Como resultado surge el SDD (Documento de Diseño del Software), que contiene la descripción de la estructura relacional global del sistema y la especificación de lo que debe hacer cada una de sus partes, así como la manera en que se combinan unas con otras.
Es conveniente distinguir entre diseño de alto nivel o arquitectónico y diseño detallado.
El primero de ellos tiene como objetivo definir la estructura de la solución (una vez que la fase de análisis ha descrito el problema) identificando grandes módulos (conjuntos de funciones que van a estar asociadas) y sus relaciones. Con ello se define la arquitectura de la solución elegida.
El segundo define los algoritmos empleados y la organización del código para comenzar la implementación.
Diseño del programa
Es la fase en donde se realizan los algoritmos necesarios para el cumplimiento de los requerimientos del usuario así como también los análisis necesarios para saber que herramientas usar en la etapa de Codificación.
Codificación
Es la fase en donde se implementa el código fuente, haciendo uso de prototipos así como de pruebas y ensayos para corregir errores.
Pruebas
Los elementos, ya programados, se ensamblan para componer el sistema y se comprueba que funciona correctamente y que cumple con los requisitos, antes de ser entregado al usuario final.
Verificación
Es la fase en donde el usuario final ejecuta el sistema, para ello el o los programadores ya realizaron exhaustivas pruebas para comprobar que el sistema no falle.
Mantenimiento
Una de las etapas más críticas, ya que se destina un 75% de los recursos, es el mantenimiento del Software ya que al utilizarlo como usuario final puede ser que no cumpla con todas nuestras expectativas.
Modelo de prototipos
Pertenece a los modelos de desarrollo evolutivo. El prototipo debe ser construido en poco tiempo, usando los programas adecuados y no se debe utilizar mucho dinero pues a partir de que éste sea aprobado nosotros podemos iniciar el verdadero desarrollo del software.
El diseño rápido se centra en una representación de aquellos aspectos del software que serán visibles para el cliente o el usuario final. Este diseño conduce a la construcción de
...