2. • ¿QUÉ ES UN MODELO DEL DESARROLLO DE SOFTWARE?
CAPAS DE LA INGENIERÍA DE SOFTWARE PROCESOS DE DESARROLLO DEL
SOFTWARE
3. •
Construcción y Resultados
Deficiencias Comunes en el Desarrollo de
Software
• Los sistemas no responden a las expectativas
de los usuarios.
• Los programas “fallan” con cierta frecuencia.
• Los costes del software son difíciles de
prever y normalmente superan las
estimaciones.
• La modificación del software es una tarea
difícil y costosa.
• El software se suele presentar fuera del
plazo establecido y con menos prestaciones
de las consideradas inicialmente.
• El aprovechamiento óptimo de los recursos
como ser personas, tiempo, dinero,
herramientas no suele cumplirse.
• Escasa o tardía validación con el cliente.
• Inadecuada gestión de los requisitos.
• No existe medición del proceso ni registro de
datos históricos.
• Estimaciones imprevistas de plazos y costos.
• Excesiva e irracional presión en los plazos.
• Escaso o deficiente control en el progreso
del proceso de desarrollo.
• No se hace gestión de riesgos formalmente.
• No se realiza un proceso formal de pruebas.
• No se realiza revisiones técnicas formales e
inspecciones de código.
4.
5. 1. METODOLOGIA CRYSTAL:
Es la compilación de un conjunto de
metodologías que faciliten el desarrollo de
software dependiendo de varios factores,
teniendo como principal factor la cantidad de
desarrolladores. Es una metodología que ha
sido creada por una persona en particular
Alistair Cockburn.
CARACTERÍSTICAS:
• Cuando el número de personas aumenta,
también aumenta la necesidad de
coordinar
• La sensibilidad del tiempo en que se
debe estar en el mercado varía: a veces
este tiempo debe acortarse al máximo y
se toleran defectos, otra se enfatiza la
autoridad, confiabilidad, protección legal,
entre otros.
2. METODOLOGÍA XP
(Programación Extrema):
La programación extrema o eXtreme
Programming (XP) es un enfoque de la
Ingeniería de Software formulado por Kent
Beck. es el primer autor sobre la materia,
Extreme Programming Explained: Embrace
Change (1999).
VENTAJAS E INCONVENIENTES
Ventajas
•Da lugar a una programación sumamente organizada.
•Cuenta con una tasa de errores muy pequeña.
Inconvenientes
• Es recomendable emplearla sólo en proyectos a corto
plazo.
• En caso de fallar las comisiones son muy altas.
• Puede no siempre ser más fácil que el desarrollo
tradicional.
6. •
•
1. Planteamiento: Lo primero
es fraccionarlo en entregas
parciales.
2. Lista de tareas: fijar plazos
proporcionados.
3. Reuniones: lo ideal es que
cada día el equipo dedique
15 minutos para reunirse y
ponerse al tanto de la
evolución del plan.
4. Demostración: el equipo se
reúne con el cliente para
mostrar los avances
correspondientes.
5. Retrospectiva: los
miembros del equipo se
reúnen para analizar los
factores que podrían mejorar
de cara al final del proceso.
Fases de ejecución 4. RUP:
• Es una secuencia de pasos para el
desarrollo y/o mantenimiento de
gran cantidad de sistemas en
distintas áreas de aplicación.
• Asegurar la producción de software
de calidad dentro de plazos y
presupuestos predecibles. Dirigido
por casos de uso, centrado en la
arquitectura, iterativo(mini
proyectos) e incremental
(versiones).
Fases De Ejecución
1. Configuración y
administración del
cambio: Guardando
todas las versiones
del proyecto.
2. Administrando el
proyecto:
Administrando
horarios y recursos.
3. Ambiente:
Administrando el
ambiente de
desarrollo.
4. Distribución: Hacer
todo lo necesario
para la salida del
proyecto.
7. 1. MODELO ESPIRAL:
• EL MODELO SE DESARROLLA EN UNA SERIE DE VERSIONES INCREMENTALES.
ETAPAS DEL MODELO EN ESPIRAL:
• COMUNICACIÓN CON EL CLIENTE: COMUNICACIÓN ENTRE EL DESARROLLADOR Y EL CLIENTE.
• PLANIFICACIÓN: SON TODOS LOS REQUERIMIENTOS.
• ANÁLISIS DE RIESGOS: EVALUAR LOS RIESGOS TÉCNICOS Y OTRAS INFORMACIONES
• INGENIERÍA: CONSTRUIR UNA O MÁS REPRESENTACIONES DE LA APLICACIÓN.
• CONSTRUCCIÓN Y ADAPTACIÓN: CONSTRUIR, PROBAR, INSTALAR Y PROPORCIONAR SOPORTE AL USUARIO.
• EVALUACIÓN EL CLIENTE: ADQUIRIR LA REACCIÓN DEL CLIENTE SEGÚN LA EVALUACIÓN DE LAS REPRESENTACIONES DEL
SOFTWARE
2. Modelo Concurrente:
Características:
• Se puede expresar de manera esquematizada.
• Las actividades llevan procesos concurrentes.
• Es aplicable a todo tipo de desarrollo de software.
• Es un modelo aplicable para cliente soñador.
• Esta dirigido por las necesidades del usuario.
• Es aplicable al cliente servidor.
En realidad el modelo de desarrollo
concurrente es aplicable a todo tipo
de desarrollo de software y
proporciona una imagen exacta del
estado actual de un proyecto.
8. Ventajas Desventajas
• Excelente para
proyectos en los
que se conforman
grupos de trabajo
independientes.
• Proporciona una
imagen exacta del
estado actual de un
proyecto.
• Si no se dan las
condiciones
señaladas no es
aplicable.
• Si no existen grupos
de trabajo no se
puede trabajar en
este método.
¿Que es modelo de desarrollo concurrente?
El modelo de desarrollo concurrente es un modelo de tipo de red
donde todas las personas actúan simultáneamente o al mismo
tiempo desarrollando una serie de actividades técnicas importantes
como tareas y estados asociados a ellas.
¿Que es modelo prototipo?
Permite que todo el sistema o algunas de sus partes se
construyan rápidamente para comprender con facilidad y aclarar
ciertos aspectos en los que se aseguran que el desarrollador el
usuario y el cliente estén de acuerdo en lo que se necesita.
El paradigma de construcción de
prototipo tiene tres pasos:
• Escuchar al cliente para la recolección de requisitos, se encuentran y
definen los objetivos globales, se identifican los requisitos conocidos y
las áreas donde es mas obligatoria mas definición.
• El cliente prueba la maqueta (prototipo) y lo utiliza para refinar los
requisitos del software
9. Ventajas Desventaja
• Se reduce el tiempo y costos.
• También ofrece un mejor
enfoque cuando el
responsable del desarrollo del
software esta inseguro de la
eficacia de un algoritmo.
• Se encuentra con que es necesario
reescribir buena parte del prototipo
para hacerlo funcional, por que lo
mas seguro es que el desarrollador
haya hecho compromisos de
implementación para hacer que el
prototipo funcione rápidamente.
• El cliente ve funcionando lo que para
el es la primera versión del prototipo
que ha sido construido con
“plastilina y alambres”, y puede
desilusionarse al decirle que el
sistema aún no ha sido construido.
ETAPAS DEL
PROTOTIPO
10. 1. MODELO DRA:
ETAPAS DEL MODELO DRA:
1.
2.
3.
4.
5.
2. Modelo Lineal Secuencial:
Llamado ciclo de vida clásico o modelo Cascada, sugiere un enfoque sistemático o más bien secuencial del desarrollo
de software que comienza en un nivel de sistemas y progresa con el análisis, diseño, implementación, prueba y
mantenimiento.
• Ventajas
-Se tiene todo bien organizado y no se mezclan las etapas o fases.
-Facilita la gestión del desarrollo.
• Desventajas
-El usuario debe esperar mucho tiempo para ver los resultados.
-Se genera mantenimiento debido a la congelación de requisitos, y este por consecuencia recae en su
mayor parte.