Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Metodologas de software
Ingeniera de Software I
1212100376
GSI0943
Introduccin ........................................................................................................................................ 3 Mapa mental metodologa UP ............................................................................................................ 4 Mapa mental metodologa XP............................................................................................................. 5 Mapa mental metodologa ESPIRAL .................................................................................................... 6 Mapa mental metodologa SCRUM ..................................................................................................... 7 Mapa mental metodologa INTERACTIVO/INCREMENTAL .................................................................. 8 Mapa mental metodologa CASCADA ................................................................................................. 9 Cuadro comparativo .......................................................................................................................... 10 Metodologa a utilizar ....................................................................................................................... 11 Conclusin ......................................................................................................................................... 12 Bibliografa ........................................................................................................................................ 13
Introduccin
Entendemos que una metodologa es una gua para la construccin de un Software las cuales estn formadas por fases y estas a su vez de sub-fases. El objetivo de las metodologas de Desarrollo de Software es presentarnos un conjunto de tcnicas de modelado de sistemas, estas tcnicas sern evaluadas y elegidas por los desarrolladores para elegir las ms apropiadas que le permitan al equipo de trabajo encargado, desarrollar un software. El desarrollo de los sistemas tradicionales de ciclo de vida se origin en la dcada de 1960 para desarrollar a gran escala funcional de sistemas de negocio en una poca de grandes conglomerados empresariales.
La importante tarea a la hora de crear un producto de software es obtener los requisitos o el anlisis de los requisitos. Los clientes suelen tener una idea ms bien abstracta del resultado final, pero no sobre las funciones que debera cumplir el software. Los desarrolladores deben ser analistas y de acuerdo a los requisitos del cliente deben elegir que metodologa ser la adecuada para el desarrollo del software. Hay varios modelos a seguir para el establecimiento de un proceso para el desarrollo de software, cada uno de los cuales describe un enfoque diferente para diferentes actividades que tienen lugar durante el proceso.
Las diferentes empresas o equipos que se dedican a crear software utilizan una de estas metodologas o inclusive una metodologa de su propia creacin, debido a que estas tcnicas con una gua del proceso que se requiere para llevar a cabo un proyecto de esta ndole. Cabe mencionar que sin un modelo a seguir en la creacin de software posiblemente sera un lio, debido a que la coordinacin en los equipos de trabajo estara mal estructurada, las fases trabajo no seran las correctas. En este pequeo documento usted encontrara una serie de metodologas, las cuales son fundamentales para las personas o equipos encargados para el desarrollo de software, de ellas rescataremos los puntos ms sobresalientes como: las ventajas, desventajas, y sus principales caractersticas de cada una de ellas. Una vez leda la siguiente informacin usted podr elegir una de las metodologas o inclusive podr generar su propia metodologa con la cual usted tendr la posibilidad de realizar un producto de una manera ms ordenada y con muchas menos posibilidades de que su proyecto est en riesgo de no poder llevarse a cabo de manera satisfactoria y con esto nos referimos a que se cumpla en tiempo y forma con cada uno de los requerimientos que hayan sido plasmados en la idea principal de su proyecto.
Metodologa UP
Proceso configurable
Modelo visual
Desventajas
Ventajas
Basado en 4 fases:
El uso de un desarrollo iterativo e incremental no garantiza por s solo el xito de su uso. Todo el proceso como tal, se encuentra muy ligado al mtodo, ocasionar lo que puede
Resolucin de problemas de alto riesgo en tiempos tempranos del proyecto. Visin de avance en el desarrollo desde las etapas iniciales del desarrollo. Su adopcin, con ciertos recaudos, no presenta
inconvenientes
al tratar de combinar con otras metodologas. Solo existen problemas de comunicacin entre el
El cdigo se prueba y depura a lo largo del proceso de desarrollo Se realiza entregas de software peridicamente
que el del
en
los del
Metodologa XP
por y
Basado en 4 fases:
No tiene un costo o tiempo definido, pues el sistema va creciendo con cada entrega que se le realiza al cliente. Suele ser la programacin en parejas, debido a que algunos desarrolladores no comparten la idea de modificar su cdigo y menos si es por alguien ms Designar a una persona totalmente involucrada en el negocio.
Resolucin de problemas de alto riesgo en tiempos tempranos del proyecto. Visin de avance en el desarrollo desde las etapas iniciales del desarrollo. Proyectos cortos con equipos pequeos en cuanto a roles. Se basa en las historias de uso. Comunicacin con el cliente es fluida , recibe un pedazo de programa funcional.
No es secuencial
Metodologa En Espiral
Basado en 4 fases:
Desventajas
Ventajas
Resulta difcil convencer a grandes clientes de que el enfoque evolutivo es controlable. Debido a su elevada complejidad no se aconseja utilizarlo en pequeos sistemas Genera mucho tiempo en el desarrollo de sistemas. Costoso.
Es un enfoque realista al desarrollo de sistemas Proceso adaptable. Puede aplicarse a lo largo de la del software. Permite aplicar el enfoque de construccin de prototipos en cualquier etapa de evolucin.
Metodologa Scrum
Desventajas
Ventajas
Gente con muy poca experiencia Dificultad de aplicacin en grandes proyectos Supone que el cliente no exige ni necesita toda la documentacin que manejan actualmente las empresas. Los requerimientos cambian, pero no de forma que el cliente acepte un diseo funcional.
Buena respuesta frente a cambios Aumenta visibilidad Entrega el mayor valor primero Mejora las estimaciones
Provee de soporte para determinar la efectividad de los procesos y de la calidad del proyecto
Metodologa Interactivo/incremental
Desventajas
Ventajas
Cada incremento debe ser pequeo para limitar el riesgo Cada incremento debe aumentar la funcionabilidad Establecer las correspondencias delos requisitos contra los incrementos
Se disminuye el riesgo de fracaso de todo el proyecto, ya que se puede distribuir en cada incremento Los clientes no esperan hasta el fin del desarrollo para utilizar el sistema
Se deben desarrollar todas las fases para que tenga xito el proyecto No permite retroceder en sus fases
Metodologa Cascada
Anlisis del sistema Anlisis de requisitos de software Diseo Codificacin Prueba Mantenimiento
Rgido y estricto Alto riesgo en sistemas nuevo debido a problemas en las especificaciones y en el diseo Bajo riesgo para desarrollos bien comprendido utilizando tecnologa conocida.
Modelo y planificacin fcil y sencilla Los usuarios lo pueden comprender fcilmente Organizacin y estructura de sus fases
Cuadro comparativo
XP Alto
SCRUM Poca/Regular
ESPIRAL Poca/Regular
UP Alto
Interactivo/incremental Regular/Alto
Pequeo/Medio
Pequeo/Medi o
Medio/Extenso
Medio/Extenso
Medio/Extenso
Medio/Extenso
Complejidad
Medio
Medio/Alto
Bajo/Medio
Medio
Medio/Alto
Medio
Poca
Regular
Regular
Regular
Alto
Alto
Media
Rpida
Lenta
Media
Rpida
Rpida
Iterativa
No
Si
Si
No
Si
No
Vieja
Nueva
Nueva
Nueva
Nueva
Nueva
10
Metodologa a utilizar
La Metodologa utilizada en nuestro proyecto es la Programacin Extrema (XP) ya que como se explico con anterioridad es fcil de poder utilizar ya que mediante cada paso se hace prueba y si hay cambios en nuestro proyecto serian fciles de resolver ya que no tiene que ir en una consecucin y de acuerdo a nuestro cliente quiere que manejemos el proyecto tenemos que adaptarnos a cada cambio y ser sumamente coherentes y puntuales en cada requisito que el cliente quiera obtener en su proyecto. Adems de que en esta metodologa es usada mayormente que otras y es fcil de que se adapte a cualquier tipo de proyecto En nuestro proyecto necesita de muchos ya que como se explico, consiste en varias acciones de una empresa y para esto el proyecto tendr que estar en constante cambio , ya que como la empresa cambia de tanto productos como factura y clientes a la vez, esto hace que constantemente se cambie el proyecto o tenga un mecanismo de que dure menos el cambio y en XP podemos solucionarlo ya que no tenemos que hacer desde cero todo si no solo enfocarnos en un punto especifico y poder agregarle, eliminarle , modificar el proyecto. Se pudo a ver elegido otra metodologa pero, ya que adems de ser comprendida por el equipo , tambin conlleva a trabajar ms unificadamente entre todos y tener una relacin mas concreta con el cliente , y al mismo tiempo el cliente ve como ira el proyecto ya que vera la dinmica del equipo al trabajar y as evitar estar preguntando o en dado caso estar inquieto por el estado de su proyecto .
11
Conclusin
Existen varias metodologas universalmente para utilizar con xito en cualquier proyecto de desarrollo de software que decidamos realizar, adems cada una a tenido que abarcar la mayor cantidad de situaciones de acuerdo a cada proyecto que se desea realizar, teniendo en cuenta que se debe de adaptar ya que en el proyecto puede haber cambios sean pequeos o grandes. Nos ofrecen una solucin a medida del proyecto que el cliente nos pida, aparte se caracterizan por su rapidez, sencillez, en su aprendizaje, aplicacin. Adems existen siempre como en cada caso sus desventajas. Aparte de que nos permiten concentrndonos en tareas de construir software fomentando algunas prcticas de fcil adopcin y en un entorno que nos podamos adaptar y que sea ordenado, para que nuestros proyectos finalicen exitosamente. Nos imponen un proceso disciplinado que tenemos que seguir y a trabajar en equipo para hacerlo ms eficiente y planificado. Cada persona es muy indispensable en el equipo de trabajo desde el cliente hasta el programador, puede ser tan aburridos para unos , pero el fin de cada metodologa es tratar de solucionar problemas de nuestros proyectos y que podamos captarlo lo ms rpido posible. Cada metodologa tiene sus seguidores y sus diferentes maneras de estudiarlas y aplicarlas en diferentes proyectos, a pesar de que sufren diversas crticas son utilizadas por grandes empresas y sistemas, lo que nos dice que aunque se critique mucho a cada metodologa fueron creadas para estar y ser utilizada por nosotros. En mi opinin la XP se hace fcil ya que cuando se hace el proyecto al instante que se tiene que corregir se prueba si en verdad se corrigi algn error y as sucesivamente para llegar a el proyecto que se desea terminar y conlleva mucho trabajo en equipo ya que si uno falla en el equipo no puede funcionar dicho proyecto. Aunque es pesada comprenderla una vez entendindole es mucho ms fcil de agilizar el trabajo del proyecto.
12
Bibliografa
Beck, Kent, Extreme Programming Explained, Addison-Wesley The XP Series, 2000. Boehm, Barry W., A Spiral Model of Software Development and Enhancement, IEEE Computer, Vol.21, No 15 (Mayo 1988), pp.61-72.
http://www.enterprisexp.net
http://www.spinec.org/wp-content/metodologiasagiles_01.pdf http://www.webtaller.com/maletin/articulos/como-desarrollar-una-arquitectura-software-lenguajespatrones-2.php
13