2. METODOLOGIA DE
DESARROLLO DEL SOFTWARE
• ¿QUÉ ES UN MODELO DEL DESARROLLO DE SOFTWARE?
UN MODELO DE SOFTWARE ES UN REPRESENTACIÓN ABSTRACTA DE UN PROCESO. CADA MODELO REPRESENTA UN
PROCESO DESDE UNA PERSPECTIVA PARTICULAR Y ASÍ PROPORCIONE INFORMACIÓN PARCIAL SOBRE EL PROCESO.
ESTOS MODELOS GENERALES NO SON DESCRIPCIONES DEFINITIVAS DE LOS PROCESOS QUE SE PUEDEN UTILIZAR
PARA EL DESARROLLO DEL SOFTWARE. PUEDE PENSARSE EN ELLOS COMO MARCOS DE TRABAJO DEL PROCESO.
CAPAS DE LA INGENIERÍA DE SOFTWARE PROCESOS DE DESARROLLO DEL
SOFTWARE
3. • INTRODUCCIÓN:
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. 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.
5. 3. SCRUM:
• UN PROCESO DE LA
METODOLOGÍA ÁGIL QUE
SE USA PARA MINIMIZAR
LOS RIESGOS DURANTE LA
REALIZACIÓN DE UN
PROYECTO, PERO DE
MANERA COLABORATIVA.
• ENFOCADO PARA
PROYECTOS EN
ENTORNOS COMPLEJOS.
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.
6. 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.
7. 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.
3. MODELO PROTOTIPO:
¿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
8. Ventajas Desventaja
• Útil cuando el cliente
conoce los objetivos
generales para el software,
pero no identifica los
requisitos detallados de
entrada, procesamiento o
salida.
•
Existe una reducción de la
incertidumbre y del riesgo.
•
Se reduce el tiempo y
costos.
•
Hay incremento en la
aceptación del nuevo
sistema.
•
Mejora la administración de
• 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
9. 1. MODELO DRA:
ES DEL TIPO DESARROLLO INTERACTIVO, LA CONSTRUCCIÓN DE PROTOTIPOS Y EL USO INGENIERÍA ASISTIDA POR
COMPUTADORA(CASE), EL DESARROLLO RÁPIDO DE APLICACIONES TIENDE A ENGLOBAR TAMBIÉN LA USABILIDAD, UTILIDAD Y LA
RAPIDEZ DE EJECUCIÓN.
ETAPAS DEL MODELO DRA:
1. MODELADO DE GESTIÓN : MODELA EL FLUJO DE INFORMACIÓN ENTRE LAS FUNCIONES.
2. MODELADO DE DATOS: DEFINA LOS ATRIBUTOS DE CADA OBJETO A PARTIR DEL FLUJO DE INFORMACIÓN Y LAS
RELACIONES ENTRE ELLOS.
3. MODELADO DEL PROCESO: EL PROCESO SE CREA PARA AÑADIR, MODIFICAR Y RECUPERAR UN OBJETO.
4. GENERACIÓN DE APLICACIONES: EL DRA REUTILIZA LOS COMPONENTES DE PROGRAMAS YA EXISTENTES O CREAR
NUEVOS COMPONENTES REUTILIZABLES.
5. PRUEBA Y ENTREGA: COMO YA NO SE CREA UN NUEVO SOFTWARE, EL TIEMPO DE DURACIÓN DE LAS PRUEBAS ES
MENOR
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.
10. 3. MODELO POR ETAPAS:
SIMILAR AL MODELO DE PROTOTIPOS YA QUE QUE MUESTRA EL SOFTWARE AL CLIENTE EN DIFERENTES ESTADOS
SUCESIVOS.
• VENTAJAS
1. PERMITE MODIFICACIONES A MEDIO CAMINO.
2. REQUIERE POCO TIEMPO DE GESTIÓN.
3. REQUIERE POCA SOFISTICACIÓN PARA LOS DIRECTIVOS Y DESARROLLADORES.
• DESVENTAJAS
1. TRABAJA CON POCA COMPRENSIÓN O IDENTIFICACIÓN DE LOS REQUERIMIENTOS SOBRE EL DISEÑO.
2. SE DEBE ENTREGAR UNA ETAPA PARA CONTINUAR A LA SIGUIENTE, NO ES VIABLE PARA UNA PLANIFICACIÓN.
3. SOMETIDO A UNA PLANIFICACIÓN PREDEFINIDA.