Logo Studenta

Metodologias clasicas-combinado - osvaldo campos

¡Este material tiene más páginas!

Vista previa del material en texto

METODOLOGIAS
CLASICAS EN EL
DESARROLLO DE
SOFTWARE
Fundamentos de ingeniería de software
1.
2.
3.
4.
5.
EDUARDO RAMOS VAZQUEZ
FLORINDA HERNANDEZ ESPINOZA 
OSVALDO RINCON CAMPOS 
MONSERRAT MARTINEZ SANCHEZ 
AXEL ADAN RODRIGEZ HERNANDEZ 
6.
7.
8.
KARLA JANETTE PINILLOS GARCIA 
JOSE DONALDO CRUZ VAZQUEZ
BRENDA VIANEY ORTIZ BLANCO
Desarrollar el software Desarrollar el software Desarrollar el software ciertamente no es una tarea fácil. Después de esteciertamente no es una tarea fácil. Después de esteciertamente no es una tarea fácil. Después de este
problema, surgió una alternativa hace mucho tiempo: Metodología. Laproblema, surgió una alternativa hace mucho tiempo: Metodología. Laproblema, surgió una alternativa hace mucho tiempo: Metodología. La
metodología impone un proceso disciplinado en el desarrollo de softwaremetodología impone un proceso disciplinado en el desarrollo de softwaremetodología impone un proceso disciplinado en el desarrollo de software 
para hacer que el software sea más predecible y eficiente. Para ello,para hacer que el software sea más predecible y eficiente. Para ello,para hacer que el software sea más predecible y eficiente. Para ello,
desarrollaron un proceso detallado con un enfoque en la planificacióndesarrollaron un proceso detallado con un enfoque en la planificacióndesarrollaron un proceso detallado con un enfoque en la planificación 
IinIinIinspirado en otras disciplinas de la ingeniería.spirado en otras disciplinas de la ingeniería.spirado en otras disciplinas de la ingeniería. 
 Las metodologías de ingeniería existen desde hace mucho tiempoLas metodologías de ingeniería existen desde hace mucho tiempoLas metodologías de ingeniería existen desde hace mucho tiempo 
 No se distinguieron correctamente para ser muy exitosos. Todavía quedanNo se distinguieron correctamente para ser muy exitosos. Todavía quedanNo se distinguieron correctamente para ser muy exitosos. Todavía quedan
menos de por su popularidad. La crítica más común a estas metodologíasmenos de por su popularidad. La crítica más común a estas metodologíasmenos de por su popularidad. La crítica más común a estas metodologías 
 es que son burocráticas. Hay tanto trabajo por hacer para seguir laes que son burocráticas. Hay tanto trabajo por hacer para seguir laes que son burocráticas. Hay tanto trabajo por hacer para seguir la 
 metodología que todo el desarrollo se ralentizametodología que todo el desarrollo se ralentizametodología que todo el desarrollo se ralentiza...
INTRODUCCIÓN 
CASCADA
¿QUE ES EL 
MODELO CASCADA?
Es un procedimiento lineal que se caracteriza por dividir los procesos de
desarrollo
en sucesivas fases de proyecto. Al contrario que en los modelos irelativos,
cada una
de estas fases se ejecutan tan solo una vez. Los resultados de cada una de
las fases sirven
como hipotesis de partida para la siguiente. El waterfall model se utiliza,
especialmente,
en el desarrollo de software.
¿COMO FUNCIONA?
l
El desarrollo del modelo se atribuye al teorico de la informatica winston w.Royce. El teorico 
presenta un modelo iterativo incremental en el que cada una de las fases se basa en la anterior y 
verifica los resultados de esta.
Royce propone un modelo compuesto por siete fases que se ha de ejecutar en diversas vueltas:
Requisitos del sistema
Requisitos de software
Analisis
Diseño
Implementacion
Prueba
Servicio
 
FASES DEL DEARROLLO 
DE CASCADA
En este modelo, las diferentes fases de un proceso de desarrollo se 
suceden una detrás de otra como en una cascada. Cada una de las fases 
concluye con un resultado provisional (hito) como, por ejemplo, un 
catálogo de requisitos en forma de pliego de condiciones, la 
especificación de una arquitectura de software o una aplicación a nivel 
alfa o beta.
ANALISIS
Todo proyecto de software comienza con una fase de análisis que incluye un estudio 
de viabilidad y una definición de los requisitos. En el estudio de viabilidad se 
evalúan los costes, la rentabilidad y la factibilidad del proyecto de software. El estudio 
de viabilidad da como resultado un pliego de condiciones (una descripción general de 
los requisitos), un plan y una estimación financiera del proyecto, así como una 
propuesta para el cliente, si fuera necesario.
A continuación, se realiza una definición detallada de los requisitos, incluyendo un 
análisis de la situación de salida y un concepto. Mientras que los análisis de salida se 
encargan de describir la problemática en sí, el concepto ha de definir qué funciones y 
características debe ofrecer el producto de software para cumplir con las
correspondientes exigencias.
DISEÑO
La fase de diseño sirve para formular una solución específica en base a las 
exigencias, tareas y estrategias definidas en la fase anterior. En esta fase, los 
desarrolladores de software se encargan de diseñar la arquitectura de 
software, así como un plan de diseño detallado del mismo, centrándose en 
componentes concretos, como interfaces, entornos de trabajo o bibliotecas. La 
fase de diseño da como resultado un borrador preliminar con el plan de diseño 
del software, así como planes de prueba para los diferentes componentes.
IMPLEMENTACION
La arquitectura de software concebida en la fase de diseño se ejecuta en la 
fase de implementación, en la que se incluye la programación del software, 
la búsqueda de errores y las pruebas unitarias. En la fase de 
implementación, el proyecto de software se traduce al correspondiente 
lenguaje de programación. Los diversos componentes se desarrollan por 
separado, se comprueban a través de las pruebas unitarias y se integran 
poco a poco en el producto final. La fase de implementación da como resultado 
un producto de software que se comprueba por primera vez como producto 
final en la siguiente fase (prueba alfa).
PRUEBA
La fase de prueba incluye la integración del software en el entorno 
seleccionado. Por norma general, los productos de software se envían en 
primer lugar a los usuarios finales seleccionados en versión beta (pruebas 
beta). Las pruebas de aceptación desarrolladas en la fase de análisis 
permiten determinar si el software cumple con las exigencias definidas con 
anterioridad. Aquellos productos de software que superan con éxito las 
pruebas beta están listos para su lanzamiento.
Servicio
 
SERVICIO
Una vez que la fase de prueba ha concluido con éxito, se autoriza la 
aplicación productiva del software. La última fase del modelo en cascada 
incluye la entrega, el mantenimiento y la mejora del software.
 
ventajas desventajas
una estructura sencilla gracias a unas fases de
proyecto claramente diferenciadas.
poe norma general, los proyectos mas complejos o de
varios niveles no permiten su division en fases de
proyecto claramente diferenciadas.
buena documentacion del proceso de desarrollo a
traves de unos hitos bien definidos.
poco margen para realizar ajustes a lo largo del
proyecto debido a un cambio en las exigencias.
los costes y la carga de trabajo se pueden estimar al
comenzar el proyecto.
el usuario final no se integra en el proceso de
produccion hasta que no termina la programacion.
aquellos proyectos que se estructuran en base al
modelo en cascada se pueden representar
cronologicamente de forma sencilla.
en ocasiones, los fallos solo se detectan una vez
finalizado el proceso de desarrollo.
INCREMENTAL
¿QUE ES EL MODELO
INCREMENTAL?
Incremental: en esta metodología de desarrollo de
software se va construyendo el producto final de
manera progresiva. En cada etapa incremental se
agrega una nueva funcionalidad, lo que permite ver
resultados de una forma más rápida en
comparación con el modelo en cascada. El software
se puede empezar a utilizar incluso antes de que
se complete totalmente y, en general, es mucho
más flexible que las demás metodologías.
FASES DEL MODELO
INCREMENTAL
Como primera fase se determinan
a nivel conceptual las etapas del
modelo incremental de calidad:
inicio, desarrollo, estandarización,innovación y sustentabilidad.
¿COMO SURGIO?
Propuesto por Mills en 1980. Sugirió el enfoque incremental
de desarrollo como una forma de reducir la repetición del
trabajo en el proceso de desarrollo y dar oportunidad de
retrasar la toma de decisiones en los requisitos hasta
adquirir experiencia con el sistema
El desarrollo evolutivo consta del 
desarrollo de una versión inicial que 
luego de exponerse se va refinando de 
acuerdo de los comentarios o nuevos 
requerimientos por parte del cliente o del 
usuario final. Las fases de especificación, 
desarrollo y validación se entrelazan en 
vez de separarse.
MODELO EVOLUTIVO
Existen dos tipos de desarrollo
evolutivo:
Desarrollo exploratorio: donde el objetivo del proceso es trabajar con
el cliente para explorar sus requerimientos y entregar un sistema
final. El desarrollo empieza con las partes del sistema que se
comprenden mejor. El sistema evoluciona agregando nuevos
atributos propuestos por el cliente.
prototipos desechables: donde el objetivo del proceso de desarrollo
evolutivo es comprender los requerimientos del cliente y entonces
desarrollar una definición mejorada de los requerimientos para el
sistema. El prototipo se centra en experimentar con los
requerimientos del cliente que no se comprenden del todo.
1
2
EVOLUTIVO
"Desde el punto de vista de desarrollo de sistema el enfoque 
evolutivo suele traer más ventajas en comparación con un 
enfoque en cascada ya que el sistema se va ajustando a las 
necesidades del cliente, a la vez que él mismo entiende mejor 
sus propios requerimientos. Sin embargo el enfoque evolutivo 
desde una perspectiva de ingeniería y gestión suele tener dos 
grandes problemas".
Ventajas
EVOLUTIVO
1.proceso no visible : Los administradores tienen que hacer entregas regulares para 
medir el progreso. Si los sistemas se desarrollan rápidamente, no es rentable 
producir documentos que reflejen cada versión del sistema.
2.Sistemas pobremente estructurados: Los cambios continuos pueden ser 
perjudiciales para la estructura del software haciendo costoso el mantenimiento.
3. Se requieren técnicas y herramientas: Para el rápido desarrollo se necesitan 
herramientas que pueden ser incompatibles con otras o que poca gente sabe utilizar.
Desventajas
EVOLUTIVO
A C T I V I D A D E S C O N C U R R E N T E S
D E S C R I P C I O N 
D E L S I S T E M A
E S P E S I F I C A C I O N
D E S A R R O L L O
V A L I D A C I O N
V E R S I O N I N I C I A L
V E R S I O N E S
I N T E R M E D I A S
V E R S I O N F I N A L
ESPIRAL
Es uno de los modelos de ciclo de vida de
desarrollo de software más importantes,
que proporciona soporte para la gestión
de riesgos
¿QUÉ ES EL
MODELO ESPIRAL?
Las cuatro fases principales son: 
1:Determinar objetivos
 2:Alternativas
 3:Restricciones
 4:Fase de planificación
SU NOMBRE ES DADO
DEBIDO A QUE EN SU
REPRESENTACIÓN
ESQUEMÁTICA PARECE UN
ESPIRAL CON MUCHOS
BUCLES.
Desventajas
1:El éxito del proyecto depende en gran
medida del análisis de riesgo
2: El monitoreo de riesgos requiere
recursos adicionales, por eso es un
modelo que se considera costoso.
Ventajas
1:Este modelo permite el manejo de
riesgo
2:Es un modelo especialmente ventajoso
en proyectos grandes y complejos
 SE RECOMENDAMOS QUE EL MODELO DE ESPIRAL
SEA USADO EN EL TIPO DE PROYECTOS PARA LOS
QUE FUE DISEÑADO TAMBIÉN PARA TODOS LOS
PROYECTOS QUE ESPERAN CAMBIOS
SIGNIFICATIVOS EN EL PROCESO. 
PROTOTIPO
Los prototipos de Software son
implementaciones realizadas con
técnicas de programación del sistema
interactivo propuesto que reproducen el
funcionamiento de una parte importante
de las funcionalidades con el objetivo de
probar determinados aspectos del
sistema final.
¿QUE ES?
1.
2.
3.
4.
5.
CARCTERISTICAS
Tiempo
Coste
Evolutivo
Conciso
Funcional
Requisitos de desarrollo
Modelaje y desarrollo del
código
Evaluación
Modificación 
Documentación
Pruebas
ETAPAS
PROTOTIPOS
DESECHABLES
RAPIDOS
PROTOTIPO
EVOLUTIVO
PROTOTIPO
INCREMENTAL EXTREMOS
TIPOS
PROTOTIPO
DESECHABLE RÁPIDO
Se desarrolla rápidamente para mostrar
como se vera la necesidad visualmente. Es
un prototipo de desarrollo debe eliminarse
y no formará parte del prototipo
finalmente aceptado. Esta técnica es util
para explorar ideas.
PROTOTIPOS
EVOLUTIVOS
Se filtra gradualmente en función de los
comentarios de los clientes hasta que
finalmente se acepta. Le ayuda a ahorrar
tiempo y esfuerzo. Esto se debe a que a
veces es muy frustrante desarrollar un
prototipo desde cero para cada interacción
en el proceso.
PROTOTIPOS
INCREMENTALES
En la creación de prototipos incrementales,
el producto final se desmonta en varios
prototipos pequeños y se desarrolla
individualmente. Finalmente, los distintos
prototipos se fusionan en un solo producto. 
PROTOTIPOS
EXTREMOS
Todas las páginas existentes en
formato HTML tienen un
prototipo básico.
Puede simular un proceso de
datos utilizando una capa de
servicios de prototipo.
Los servicios se implementan e
integran en el prototipo final.
El método de creación
de prototipos
extremos se utiliza
principalmente para el
desarrollo web.
Los usuarios participan
activamente en el desarrollo.
Se puede identificar la
funcionalidad faltante, lo que
ayuda a reducir el riesgo de fallas.
Ayuda a un miembro del personal a
comunicarse de manera efectiva
VENTAJAS
La creación de prototipos es un
proceso lento y que requiere mucho
tiempo.
El costo de desarrollar un prototipo
es un desperdicio total porque el
prototipo finalmente se descarta.
La creación de prototipos de
aplicaciones puede fomentar
cambios excesivos.
 
DESVENTAJAS
DESARROLLO
BASADO EN
COMPONENTES
El modelo de desarrollo basado en componentes incorpora muchas 
de las características del modelo espiral. Es evolutivo por
naturaleza y exige un enfoque interactivo para la creación de
software. Sin embargo, este modelo configura aplicaciones desde
componentes preparados de software (clases).
El modelo basado en componentes conduce a la reutilización del 
software, y la reutilización proporciona beneficios a los 
ingenieros de software. Según estudios de reutilización, QSM 
Associates, Inc. Informa que el ensamblaje de componentes 
lleva una reducción del 70% del ciclo de desarrollo, un 84% del 
coste del proyecto y un índice de productividad del 26.2. 
Reutilización de software. Nos lleva a alcanzar un mayor nivel de 
reutilización de software.
Simplifica las pruebas. Permite que las pruebas sean ejecutadas probando 
cada uno de los componentes antes de probar el conjunto completo de 
componentes ensamblados. 
Simplifica el mantenimiento del sistema. Cuando existe un débil 
acoplamiento entre componentes, el desarrollador es libre de actualizar y/o 
agregar componentes según sea necesario, sin afectar otras partes del 
sistema.
Mayor calidad. Dado que un componente puede ser construido y luego 
mejorado continuamente por un experto u organización, la calidad de una 
aplicación basada en componentes mejorará con el paso del tiempo. 
Notación de Componentes 
Un componente puede ser 
algo como un control 
Actives; tanto un 
componente de la interfaz 
de usuario como un 
servidor de reglas de 
negocio. 
Diagrama de componentes 
El diagrama de 
componentes muestra la 
relación entre 
componentes de software, 
sus dependencias, su 
comunicación, su ubicación 
y otras condiciones 
Los componentes también pueden exponer las interfaces. Estas son los 
puntos visibles de entrada o los servicios que un componente está 
ofreciendo y dejando disponibles a otros componentes de software y 
clases. Típicamente, un componente está compuesto por numerosas 
clases y paquetes de clases internos. También se puede crear a partir 
de una colección de componentes. 
Los componentes ponen restricciones asignadas que indican el entorno en el que 
operan.
Las pre-condiciones especifican lo que debe ser verdadero antes de que un 
componente pueda realizar alguna función;las post-condiciones indican lo que 
debe ser verdadero después de que un componente haya realizado algún trabajo y 
los invariantes especifican lo que debe permanecer verdadero durante la vida del 
componente.
Analisis del riesgo
Se estudian todos los riesgos potenciales y se seleccionan una o varias alternativas propuestas para reducir o
eliminar los riesgos.
Planificar todo lo hecho, evaluándolo, y con ello se decide si se continua con las siguientes fases siguientes y
planificar la proxima actividad 
Ventajas 
El análisis del riesgo se hace de 
forma explícita y clara.
Une los mejores elementos de 
los restantes modelos.
Reduce riesgos del proyecto.
Incorpora objetivos de calidad.
Integra el desarrollo con el 
mantenimiento.
Desventajas 
Genera mucho tiempo en 
el desarrollo del sistema.
Inconvenientes.
Genera mucho trabajo 
adicional. Cuando un 
sistema falla se pierde 
tiempo y coste dentro de 
la empresa.
Exige una cierta habilidad 
en los análisis.
CONCUSIÓN 
PODEMOS RESUMIR QUE LA
METODOLOGIA ESTA BASADA
EN CIERTOS MODELOS QUE
AYUDAN AL DESARROLLO DE
LOS PROGRAMAS DE
SOFTWARE SE DIO A CONOCER
CUALES SON, LAS FASES DEL
DESARROLLO VENTAJAS Y
DESVENTAJAS COMO Y
CUANDO SURGEN
MUCHAS
GRACIAS
METODOLOGÍAS ÁGILES
Y OTRAS FILOSOFÍAS DE
DESARROLLO DE
SOFTWARE
Actualmente las metodologías de ingeniería de software pueden considerarse como una base
necesaria para la ejecución de cualquier proyecto de desarrollo de software que se
considere serio, y que necesite sustentarse en algo más que la experiencia y capacidades de
sus programadores y equipo.
Un amplio y buen conocimiento de estas metodologías servirá de base teórica y permitirá
comprender completamente todo lo que requiere el análisis, diseño, desarrollo e implantación
de un sistema. Lo más importante en una primera etapa es poder identificar qué metodología
de ingeniería de software se adecúa de la mejor manera a nuestro proyecto, para así lograr el
mejor resultado en tiempo y forma.
INTRODUCCIÓN
METODOLOGIAS DE DESARROLLO DE SOFTWARE 
ÁGILES
La metodología para el desarrollo de software es un modo sistemático de realizar,
gestionar y administrar un proyecto para llevarlo a cabo con altas posibilidades de éxito.
Una metodología para el desarrollo de software comprende los procesos a seguir
sistemáticamente para idear, implementar y mantener un producto software desde que
surge la necesidad del producto hasta que cumplimos el objetivo por el cual fue creado.
DEFINICIÓN:
Se caracterizan por hacer énfasis en la comunicación cara a cara, es decir,
se basan en una fuerte y constante interacción, donde clientes
desarrolladores y desarrolladores trabajan constantemente juntos
estableciéndose así una estrecha comunicación. 
Estas metodologías están orientadas al resultado del producto y no a la
documentación; exige que el proceso sea adaptable, permitiendo realizar
cambios de último momento.
METODOLOGIAS DE DESARROLLO DE SOFTWARE 
ÁGILES
CARACTERISTICAS:
LAS PRINCIPALES
METODOLOGIAS ÁGILES SON:
Kanban Scrum Lean
Programación
extrema (XP)
KANBAN
Lo creó David J. Anderson en Japón en los 40´s. Se basa en los
sistemas Lean Manufacturing, esta diseñada para soportar un
control productivo y desesntralizado por demanda.
En el desarrollo de software ágil es usado para visualizar los
proyectos, al colocar una seria de tarjetas en un panel o
soporte, denominado tareas kanban
https://profile.es/blog/lean-valores-y-herramientas/
KANBAN
Se basa en un sistema de señalización en el que se
visualizan las tareas de producción por demanda con el
objetivo de minimizar el trabajo en progreso y el stock entre
procesos.
El metodo kanban organiza las tareas en columnas
depedendiendo de la complejidad o fases de desarrollo del
procesos.
KANBAN
Algunas de las divisiones mas comunes para el desarrollo de software son:
Lista de tareas (to do), engloba las tareas pendientes que se pueden hacer
inmediatamente, en orden de mayor a menor prioridad.
En desarrollo (doing) las tareas serán movidas hasta ser completadas, si algo
falla mover la tarea a la columna anterior.
Pruebas se realizan pruebas a las tareas para determinar si se ha finalizado
correctamente, si es así pasa a la siguiente, en caso contrario regresa a
desarrollo.
Despliegue validado el código se añaden a esta columna para su producción en
el sistema
Terminado tareas terminadas por completo.
Utilizar Kanban en el desarrollo de software. A grandes rasgos el objetivo
principal de este sistema es reducir el trabajo en proceso analizando las
tareas que está realizando el equipo y limitando el numero máximo de estas
mismas, identificando los cuellos de botella e incidiendo en ellos. La finalidad
es enfocar esfuerzos en cerrar tareas, no en abrirlas.
KANBAN
SCRUM
Es un marco que permite el trabajo colaborativo entre equipos. Al igual que un
equipo de rugby (de donde proviene su nombre) cuando entrena para un gran
partido, scrum anima a los equipos a aprender a través de las experiencias, a
autoorganizarse mientras aborda un problema y a reflexionar sobre sus victorias y
derrotas para mejorar continuamente.
SCRUM
Aunque son los equipos de desarrollo de software los que utilizan con mayor
frecuencia este tipo de scrum, sus principios y lecciones se pueden aplicar a todo
tipo de trabajo en equipo. Esta es una de las razones por las que es tan popular.
Aunque se considera a menudo un marco de gestión de proyectos ágil, scrum
incluye un conjunto de reuniones, herramientas y funciones que, de forma
coordinada, ayudan a los equipos a estructurar y gestionar su trabajo.. 
SCRUM
Es también una metodología incremental que divide los requisitos y tareas de
forma similar a Kanban. Se itera sobre bloques de tiempos cortos y fijos (entre
dos y cuatro semanas) para conseguir un resultado completo en cada iteración.
Las etapas son: planificación de la iteración (planning sprint), ejecución (sprint),
reunión diaria (daily meeting) y demostración de resultados (sprint review). Cada
iteración por estas etapas se denomina también sprint. 
LEAN
Busca optimizar los procesos de gestión y productivos.
Tiene como objetivo limpiar las actividades que no aportan nada .
Su máxima está en reducir la inversión, el tiempo y el esfuerzo.
PRINCIPIOS LEAN
VENTAJAS AL APLICAR LA METODOLOGIA
 
Reduce costes
Satisfacción de los clientes
Menos riesgos
Reducción del plazo de ejecución y
de las actividades sin valor
Trabajo en equipo
Caso de éxito
 En el año 2011, Nike decidió cambiar susistema de producción y adaptarlo a la filosofía
Lean: 
 Garantizar la calidad del producto
El cambio vino de la mano de un importante
proceso de formación de sus trabajadores:
reducir el tiempo de producción, en este caso,
gracias a la mejora de las capacidades del
equipo.
PROGRAMACIÓN EXTREMA (XP)
Es una metodología de desarrollo de software basada en las
relaciones interpersonales, que se consideran la clave del éxito. Su
principal objetivo es crear un buen ambiente de trabajo en equipo y
que haya un feedback constante del cliente. El trabajo se basa en 12
conceptos: diseño sencillo, testing, refactorización y codificación con
estándares, propiedad colectiva del código, programación en
parejas, integración continua, entregas semanales e integridad con
el cliente, cliente in situ, entregas frecuentes y planificación.. 
La metodología XP es un conjunto de técnicas que dan agilidad y
flexibilidad en la gestión de proyectos. También es conocida como
Programación Extrema (Extreme Programming) y se centra crear un
producto según los requisitos exactos del cliente. De ahí, que le
involucre al máximo durante el método de gestión del desarrollo del
producto.
¿QUÉ ES LA METODOLOGÍA XP?
CARACTERÍSTICAS DE LA METODOLOGÍA XP
Comunicación constante entre el cliente y el
equipo de desarrollo.
Respuesta rápida a los cambios constantes.
La planificación es abierta con un cronograma
de actividades flexible.
El software que funciona está por encima de
cualquier otra documentación.Los requisitos del cliente y el trabajo del
equipo del proyecto son los principales
factores de éxito del mismo.
https://www.sinnaps.com/blog-gestion-proyectos/cronograma-online
PROGRAMACIÓN EXTREMA (XP)
VALORES
Comunicación: el código comunica mejor cuanto más
simple sea.
Simplicidad: Es la base de XP, se simplifica el diseño
para agilizar el desarrollo y facilitar el mantenimiento.
Retroalimentación (feedback): Al estar el cliente integrado en el proyecto, su
opinión sobre el estado del proyecto se conoce en tiempo real.
Valentía o coraje: La valentía le permite a los desarrolladores que se sientan
cómodos con reconstruir su código cuando sea necesario, otro ejemplo es saber
cuándo desechar un código: para quitar código fuente obsoleto, sin importar
cuánto tiempo invirtió.
PROGRAMACIÓN EXTREMA (XP)
Esta metodología constituye un modelo de trabajo compartido, además existe
la conexión entre el cliente y el desarrollador, lo que permitirá la construcción
del sistema de acuerdo a los requerimientos establecidos por el cliente en un
principio.
METODOLOGIAS DE DESARROLLO DE SOFTWARE
OTRAS FILOSOFIAS
Para la metodología del
desarrollo del proyecto
GA3 se utilizó
principalmente el modelo
reciente Ganar-ganar ya
que con este existen
ganancias para todas las
partes implicadas.
 
GANAR - GANAR
El Proceso Unificado de
Desarrollo Software o
simplemente Proceso
Unificado es un marco de
desarrollo de software que se
caracteriza por estar dirigido
por casos de uso, centrado en
la arquitectura y por ser
iterativo e incremental.
PROCESO UNIFICADO
(UP) La ingeniería web es la
aplicación de metodologías
sistemáticas, disciplinadas y
cuantificables al desarrollo
eficiente, operación y
evolución de aplicaciones
de lata calidad en la World
Wide Web.
INGENIERIA WEB
Es visto como una variacion del modelo en espiral que utiliza una
aplicación cíclica para el desarrollo incremental de sistemas de software
Busca que ambas partes ganen, compartiendo el beneficio 
Se basa en la negociación entre el cliente y el desarrollador, se negocia
coste frente a funcionalidades, rendimiento, calidad, o simplemente el
gestor del proyecto le pregunta al cliente qué necesita y él proporciona la
información para continuar.
METODOLOGIAS DE DESARROLLO DE SOFTWARE
OTRAS FILOSOFIAS
 Ganar - Ganar
METODOLOGIAS DE DESARROLLO DE SOFTWARE
OTRAS FILOSOFIAS
 
 Proceso unificado (UP)
Lo Mejor de Cada Metodología: Se comporta básicamente como una
recopilación de las mejores partes de cada una de las metodologías
Ideal para Proyectos Grandes: Este proceso es óptimo para la realización de
grandes proyectos, los cuales necesitan una metodología detallada no tan
estresante
Orientado a Objetos: Si estás en busca de una metodología que se adapte a un
lenguaje de programación orientada a objetos, entonces el Proceso Unificado
UML es su Aliado: Si en un determinado momento necesitas de representación
visual para lo que estas proyectando. Entonces tienes la fortuna de contar con
UML
METODOLOGIAS DE DESARROLLO DE SOFTWARE
OTRAS FILOSOFIAS 
 
Ingeniería o modelado del negocio: Analizar y entender las necesidades del negocio para
el cual se está desarrollando el software.
Requisitos: proveer una base para estimar los costos y tiempo de desarrollo del sistema.
Análisis y diseño: trasladar los requisitos analizados anteriormente a un sistema
automatizado y desarrollar una arquitectura para el sistema.
Implementación: crear software que se ajuste a la arquitectura diseñada y que tenga el
comportamiento deseado.
Pruebas: asegurarse de que el comportamiento requerido es correcto y que todo lo
solicitado está presente.
Despliegue: producir distribuciones del producto y distribuirlo a los usuarios.
 Proceso unificado (UP)
METODOLOGIAS DE DESARROLLO DE SOFTWARE
OTRAS FILOSOFIAS 
 Ingenieria web
Consiste en la disposición y empleo de fundamentos científicos, de
ingeniería y gestión y con orientaciones metódicas y disciplinadas del
boom y desarrollo, utilización y mantenimiento de sistemas y aplicaciones
basados en el Web de alta calidad
En esta nueva generación, las metodologías tradicionales de desarrollo de
software fueron quedando obsoletas en determinados sectores, en los que la
propia demanda de los usuarios es más rápida que la capacidad de
producción de las empresas ancladas a las viejas metodologías de gestión de
proyectos de sistemas informáticos. Este gran impacto en las tecnologías, ha
generado la necesidad de encontrar y crear nuevas metodologías de trabajo y
gestión, que aseguren la entrega en tiempo y forma del producto. 
CONCLUSIÓN
Esta necesidad de calidad, eficiencia, flexibilidad y rapidez en la entrega de
un producto informático se volvió prioridad y en conjunto con su necesidad se
crearon las nombradas Metodologías Agiles. Ambas metodologías, pueden
fracasar si son mal implementadas, gestionadas y administradas.
Sin embargo, la tendencia natural actual indica que las metodologías ágiles
están ganando terreno muy rápidamente lo que en algunos años podrían
generar la extinción definitiva de las metodologías tradicionales.
CONCLUSIÓN

Continuar navegando