Presentación de las características, ventajas y desventajas de los modelos en la ingeniería de software. Posee una conclusión final acerca de cual es el mejor modelo de acuerdo a los criterios expuestos en la presentación.
Flujo potencial, conceptos básicos y ejemplos resueltos.
Modelos en la ingeniería de software
1. MODELOS EN
LA INGENIERIA
DE SOFTWARE
ADRIANA PEÑA BOLIVAR
MARCOAURELIO GARCÍA BERMÚDEZ
INGRID CLARIETHE GUZMÁN ROMO
ESPECIALIZACIÓN EN GERENCIA
INFORMÁTICA
UNIREMINGTON
Tutor: EDUARDO RUEDA FAJARDO
2. MODELO EN CASCADA
CARACTERÍSTICAS
Es el modelo mas utilizado.
Es una visión del proceso de desarrollo de
software como una sucesión de etapas que
produce un proyecto intermedio.
Para que el proyecto tenga éxito deben
desarrollarse todas las fases pero las fases
continúan hasta que todos los objetivos se
hallan cumplido.
Si se cambian las fases, el producto será de
menor calidad.
VENTAJAS
Todo esta muy bien organizado y las fases no se
mezclan.
La planificación es
Sencilla y la calidad del producto final es alta.
Sus fases son conocidas por los desarrolladores
y los usuarios lo pueden comprender fácilmente
DESVENTAJAS
Los problemas que se presenten son corregidos
posteriormente.
Es difícil incorporar nuevos elementos si se
quiere actualizar.
Se tarda mucho tiempo en pasar por todo el
ciclo.
La revisión de proyectos de gran complejidad
son difíciles
4. MODELO EN ESPIRAL
CARACTERISTICAS
Es un modelo de proceso evolutivo cuyas
actividades se conforman en un espiral
Permite la evaluación de riesgos ya que pasa
por diferentes fases.
El proceso de fases se repite ciclo a ciclo
hasta que termine su construcción.
Las fases son: determinación de objetivos,
alternativas y desencadenantes. Evaluación
de alternativas para resolver riesgos.
Verificación de los resultados y plan de la
próxima vuelta del espiral
VENTAJAS
Puede adaptarse a lo largo de la vida del
computador
Utiliza la construcción de prototipos como
mecanismo de reducción de riesgos.
Permite aplicar el enfoque de producción en
cualquier etapa de producción del producto
DESVENTAJAS
Puede resultar difícil convencer que el
enfoque evolutivo es controlable.
Requiere mucha habilidad para la evaluación
del riego.
6. MODELO DE PROTOTIPO
Es un modelo del ciclo de vida del software el cual se
utiliza para dar al usuario una vista preliminar de
cómo se encuentra el software.
CARACERISTICAS
Describe las fases principales de desarrollo de
software.
Define las fases primarias esperadas de ser
ejecutadas durante esas fases.
Ayuda a administrar el progreso del desarrollo del
software
Provee un espacio de trabajo para la definición de un
detallado proceso de desarrollo de software.
VENTAJAS
Ofrece visibilidad del producto desde el inicio del
ciclo de vida con el primer prototipo.
Permite introducir cambios en las iteraciones
siguientes del ciclo. Permite la realimentación
continua del cliente.
El prototipo es un documento vivo de buen
funcionamiento del producto final.
El cliente reacciona mucho mejor ante el prototipo.
Este modelo reduce el riesgo de construir productos
que no satisfagan las necesidades de los usuarios.
DESVENTAJAS
Entre las desventajas que se han observado con este
modelo está el hecho de que puede ser un desarrollo
lento.
Además se hacen fuertes inversiones en un producto
desechable ya que los prototipos se descartan. Esto
puede hacer que aumente el coste de desarrollo del
producto
8. MODELO INCREMENTAL
CARACTERISTICAS
El modelo incremental combina
elementos del modelo en cascada
con la filosofía interactiva de
construcción de prototipos.
Se basa en la filosofía de construir
incrementando las funcionalidades
del programa.
Este modelo aplica secuencias
lineales de forma escalonada
mientras progresa el tiempo en el
calendario.
VENTAJAS
Mediante este modelo se genera
software operativo de forma rápida
y en etapas tempranas del ciclo de
vida del software.
Es un modelo más flexible, por lo
que se reduce el coste en el cambio
de alcance y requisitos.
Es más fácil probar y depurar en una
iteración más pequeña.
Es más fácil gestionar riesgos.
Cada iteración es un hito gestionado
fácilmente
DESVENTAJAS
Cada fase de una iteración es rígida
y no se superponen con otras.
Pueden surgir problemas referidos a
la arquitectura del sistema porque
no todos los requisitos se han
reunido, ya que se supone que todos
ellos se han definido al inicio
10. MODELO XP
CARACTERISTICAS
Es una metodología ágil
centrada en potenciar las
relaciones interpersonales
como clave para el éxito en
desarrollo de software,
promoviendo el trabajo en
equipo, preocupándose por el
aprendizaje de los
desarrolladores, y propiciando
un buen clima de trabajo.
VENTAJAS
Programación organizada.
Menor taza de errores.
Satisfacción del programador.
Solución de errores de
programas
Implementa una forma de
trabajo donde se adapta
fácilmente a las circunstancias
DESVENTAJAS
Es recomendable emplearlo
solo en proyectos a corto
plazo
Altas comisiones en caso de
fallar
Imposible prever todo antes
de programar
Demasiado costoso e
innecesario
11.
12. MODELO RUP
CARACTERISTICAS
Éste es un proceso para el
desarrollo de un proyecto de un
software que define claramente
quien, cómo, cuándo y qué debe
hacerse en el proyecto. Está
centrado en la arquitectura que
relaciona la toma de decisiones
que indican cómo tiene que ser
construido el sistema y en qué
orden. Es iterativo e incremental
donde divide el proyecto en mini
proyectos donde los casos de uso y
la arquitectura cumplen sus
objetivos de manera más
depurada.
VENTAJAS
Es el proceso de desarrollo más
general de los
existentes actualmente.
Es una forma disciplinada de
asignar tareas y responsabilidades
en una empresa de desarrollo
(quién hace qué, cuándo y cómo).
DESVENTAJAS
Método pesado
Por el grado de complejidad puede
ser no muy adecuado.
En proyectos pequeños, es posible
que no se puedan cubrir los costos
de dedicación del equipo de
profesionales necesarios.
14. CONCLUSIÓN FINAL
• Entre todos hemos escogido la programación extrema
como el mejor modelo ya que, a diferencia de las
metodologías tradicionales, se hace más énfasis en la
adaptabilidad que en la previsibilidad, aspecto clave en
la ingeniería de software. Los cambios de requisitos
sobre la marcha son un aspecto natural, inevitable e
incluso deseable en un desarrollo de proyectos. La
capacidad de adaptarse a los cambios de requisitos en
cualquier punto de la vida del proyecto es una mejor
aproximación a la realidad que intentar definir todos los
requisitos al comienzo del proyecto e invertir esfuerzos
después en controlar los cambios en los requisitos.