Documente Academic
Documente Profesional
Documente Cultură
Equipo # 3
Investigacin de la metodologa de
desarrollo de software
Materia: diseo de base de datos.
Existen diferentes modelos y metodologas que han sido en los ltimos aos
herramientas de apoyo para el desarrollo del software. Someerville (2005),
menciona que:
Modelo de desarrollo de software: es una representacin simplificada del
proceso para el desarrollo de software, presentada desde una perspectiva
especfica.
Metodologa de desarrollo de software: es un enfoque estructurado para el
desarrollo de software que incluye modelos de sistemas, notaciones, reglas,
sugerencias de diseo y guas de procesos.
A. El modelo en cascada
Segn Royce (1970), el modelo de cascada se deriv de procesos de sistemas
ms generales. ste modelo se muestra en la figura 2.22 y sus principales
etapas se transforman en actividades fundamentales del desarrollo:
Metodologas.
Las metodologas han evolucionado de manera significativa en las ltimas
dcadas como se puede observar en la tabla 2.7 Permitiendo as el xito o el
fracaso de muchos de los sistemas desarrollados para distintas reas.
de desarrollo de software.
Si bien la idea de participacin del cliente en el proceso de desarrollo es
atractiva, el xito depender de tener un cliente que est dispuesto y lo ms
importante pueda pasar tiempo con el equipo de desarrollo para as presentar
a todos los implicados del sistema, los clientes estn sometidos a otras
presiones y no pueden participar plenamente en el desarrollo del software. El
cliente es el punto clave, solicita los requerimientos que se deben de incluir.
Los miembros individuales del equipo puede no tener la personalidad propia
para una participacin intensa. Por lo tanto, es posible que no se relacionen
adecuadamente con los otros miembros del equipo. Priorizar los cambios puede
ser extremadamente difcil, especficamente en sistemas en los que existen
muchos implicados.
Mantener la simplicidad requiere un trabajo extra. Cuando se trabaja bajo
presin por las agendas de entregas, los miembros del equipo no pueden tener
a tiempo las especificaciones del sistema. Por consiguiente los mtodos giles
tienen que depender de contratos donde el cliente paga por el tiempo
necesario para el desarrollo del sistema en lugar de por el desarrollo de un
conjunto de requerimientos especficos. Siempre y cuando el proyecto vaya
caminando en forma, esto beneficiar tanto al cliente como al desarrollador.
Todos los mtodos tienen lmites y los mtodos giles son apropiados para
algunos tipos de desarrollo de sistemas. Son los ms idneos para el desarrollo
de sistemas para pequeos negocios y medianas empresas. No son adecuados
para el desarrollo de sistemas a gran escala con equipos de desarrollo situados
en diferentes lugares geogrficamente hablando ya que puede haber
complejas interacciones con otros sistemas o hardware.
Los mtodos giles no se deben de utilizar para el desarrollo de sistemas
crticos en los que es necesario generar un anlisis detallado de todos los
requerimientos del sistema para as comprender mejor sus implicaciones de
seguridad o de proteccin. El crecimiento de los mtodos giles y su
penetracin ocurre a un ritmo pocas veces visto en la industria: en tres o
cuatro aos, segn el Cutter Consortium, el 50% de las empresas define como
giles ms de la mitad de los mtodos empleados en sus proyectos
(Charette, 2004). Algunas de las metodologas agiles mas usadas en la
actualidad se describen a continuacin.
Metodologa SCRUM
A pesar de que la metodologa XP recibe la mayor atencin bibliogrfica, las
media del equipo por sprint (los llamados puntos historia), con lo que
consecuentemente, es posible estimar fcilmente para cuando se dispondr de
una determinada funcionalidad que todava est retrasada.
Reduccin de riesgos: El hecho de llevar a cabo las funcionalidades de ms
valor en primer lugar y de conocer la velocidad con que el equipo avanza en el
proyecto, permite despejar riesgos eficazmente de manera anticipada.
La totalidad de los requerimientos a desarrollar, denominados historias de
usuario (user stories) son divididos en grupos en funcin de su prioridad
relativa para luego ser implementados en ciclos de esfuerzos relativamente
cortos llamados sprints; las tareas son organizadas en el equipo de tal
manera que las asignaciones y prioridades se revisan diariamente en una
reunin breve llamada SCRUM que le da su nombre la metodologa. En este
enfoque se siguen los principales criterios del manifiesto generando as
liberaciones parciales incrementales del producto que se esta desarrollando. La
evidencia es consistente que al abrazar la hoja de ruta y comprometer las
inversiones necesarias para desplegar formalmente esta metodologa tambin
se abordan al mismo tiempo aspectos clave del despliegue de prcticas
maduras de proceso.
En tal sentido SCRUM ha sido exitosamente comparada contra los requisitos a
satisfacer para alcanzar una de evaluacin bajo niveles 2 y 3 del modelo CMMI
(Shuterland, et al, 2008), (Turner & Jain, 2002). Demostrando as que la
ejecucin rigurosa satisface a la mayora de los objetivos necesarios que sirven
para obtener estos niveles; las pocas reas del proceso no cubiertas
directamente por no ser requeridos por SCRUM son en la prctica un requisito
para el correcto desempeo de una organizacin dedicada a la construccin de
software.
Desarrollo adaptativo de software (DAS)
El desarrollo adaptativo software (DAS) lo propuso Jim Highsmith en 1998 como
una tcnica para construir software y sistemas complejos. Los apoyos
filosficos del DAS se enfocan en la colaboracin humana y la organizacin
propia del equipo. Un enfoque de desarrollo gil y adaptativo basado en la
colaboracin es " una fuente de orden en las complejas interacciones entre
disciplina e ingeniera". El define el ciclo de vida del DAS, como se muestra en
la figura 2.29 el cual incorpora tres fases principales:
1) Especulacin; en esta fase se inicia el proyecto y se conduce el ciclo
adaptativo de planeacin. Este ltimo utiliza informacin de inicio del proyecto,
es decir, el enunciado de la misin del cliente, restricciones del proyecto y los
requisitos bsicos. Esto permite definir el conjunto de ciclos de lanzamiento
que se requerirn para el proyecto.
2) Colaboracin; la gente motivada trabaja de una forma que multiplica su