18
METODOLOGIAS AGILES Y METODOLOGIAS PARA EL DESARROLLO WEB JOEL CESAR FERNANDEZ SEGURA METODOLOGIA E INGENIERIA DE SOFTWARE I ESCUELA DE INFORMATICA UNIVERSIDAD NIACIONAL DE TRUJILLO

Metodologías Ágiles para el Desarrollo de Software y Metodologias Para el desarrollo Web

Embed Size (px)

DESCRIPTION

un resumen acerca de las metodologías ágiles y las metodologías para el desarrollo web

Citation preview

Page 1: Metodologías Ágiles  para el Desarrollo de Software y Metodologias Para el desarrollo Web

METODOLOGIAS AGILES Y METODOLOGIAS PARA EL

DESARROLLO WEB

JOEL CESAR FERNANDEZ SEGURAMETODOLOGIA E INGENIERIA DE SOFTWARE I

ESCUELA DE INFORMATICAUNIVERSIDAD NIACIONAL DE TRUJILLO

Page 2: Metodologías Ágiles  para el Desarrollo de Software y Metodologias Para el desarrollo Web

METODOLOGIAS AGILES PARA EL DESARROLLO DEL SOFTWARESon una colección de métodos de ingeniería

del software basados en el desarrollo iterativo e incremental, donde los requisitos y soluciones evolucionan mediante la colaboración de grupos auto organizados y multidisciplinarios.

Los métodos ágiles enfatizan las comunicaciones cara a cara en vez de la documentación. La mayoría de los equipos ágiles están localizados en una simple oficina abierta, a veces llamadas "plataformas de lanzamiento”.

Page 3: Metodologías Ágiles  para el Desarrollo de Software y Metodologias Para el desarrollo Web

El Manifiesto Ágil

El manifiesto ágil es un documento que resume la filosofía ágil, el cual valora:

Al individuo y las interacciones del

equipo de desarrollo sobre el

proceso y lasherramientas

Desarrollar software que funciona más que conseguir una buena

documentación.

La colaboración con el cliente más que la negociación

de un contrato.

Responder a los cambios más que

seguir estrictamente un

plan.

Page 4: Metodologías Ágiles  para el Desarrollo de Software y Metodologias Para el desarrollo Web

Diferencias entre Metodología Ágil y Metodología Tradicional

Metodologías Agiles Metodologías Tradicionales

Basadas en heurísticas provenientes de prácticas de producción de código

Basadas en normas provenientes de estándaresseguidos por el entorno de desarrollo

Especialmente preparados para cambios durante el proyecto

Cierta resistencia a los cambios

Impuestas internamente (por el equipo) Impuestas externamente

Proceso menos controlado, con pocos principiosProceso mucho más controlado, con numerosaspolíticas/normas

No existe contrato tradicional o al menos esbastante flexible

Existe un contrato prefijado

El cliente es parte del equipo de desarrolloEl cliente interactúa con el equipo de desarrollomediante reuniones

Grupos pequeños (<10 integrantes) y trabajando en el mismo sitio

Grupos grandes y posiblemente distribuidos

Pocos artefactos Mas artefactos

Pocos roles Mas roles

Menos énfasis en la arquitectura del softwareLa arquitectura del software es esencial y seexpresa mediante modelos

Page 5: Metodologías Ágiles  para el Desarrollo de Software y Metodologias Para el desarrollo Web

Esquema General de una Metodología Ágil

Page 6: Metodologías Ágiles  para el Desarrollo de Software y Metodologias Para el desarrollo Web

ALGUNAS METODOLOGIAS AGILESProgramación Extrema (XP)

Es una metodología ágil formulada por Kent Beck, centrada en potenciar las relaciones interpersonales como clave para el éxito en desarrollo de software. Se basa en realimentación continua entre el cliente y el equipo de desarrollo, comunicación fluida entre todos los participantes, simplicidad en las soluciones implementadas y coraje para enfrentar los cambios.

Page 7: Metodologías Ágiles  para el Desarrollo de Software y Metodologias Para el desarrollo Web

FASES DE LA PROGRAMACION EXTREMA

Page 8: Metodologías Ágiles  para el Desarrollo de Software y Metodologias Para el desarrollo Web

SCRUMEs una metodología ágil degestión de proyectos cuyo objetivo primordial es elevar al máximo la productividad de un equipo, es decir, que reduce al máximo la buro-cracia y actividades no orien-tadas a producir software que funcione y produce

resultados en periodos muy breves de tiempo (cada 30 dias), por

medio de iteraciones o Sprints; Scrum es ideal para proyecto con

un rápido cambio de requerimientos.

Page 9: Metodologías Ágiles  para el Desarrollo de Software y Metodologias Para el desarrollo Web

Beneficios de SCRUMFlexibilidad a cambios. Reducción del Time to Market. Mayor calidad del software. Mayor productividad. Maximiza el retorno de la inversión

(ROI). Predicciones de tiempos. Reducción de riesgos .

Page 10: Metodologías Ágiles  para el Desarrollo de Software y Metodologias Para el desarrollo Web

METODOLOGIAS PARA EL DESARROLLO WEB

 El avance de Internet y las comunicaciones ha provocado en los últimos años el nacimiento de nuevas propuestas metodológicas para la web, estas nuevas metodologías buscan un fin común, que es entregar software de calidad, confiable y bien estructurado, además que sean benéficas en cuestión del tiempo de trabajo, estas metodologías suelen comprender: formulación, planificación, análisis(contenido, iteración funcional, configuración), Diseño(arquitectónico, navegación, interfaz, base de datos), implementación y pruebas.

Page 11: Metodologías Ágiles  para el Desarrollo de Software y Metodologias Para el desarrollo Web

EVOLUCION DE LAS METODOLOGIAS PARA EL DESARROLLO WEBLas distintas metodologías se pueden dividir en tres generaciones

en base a su sofisticación, estas son:- Primera Generación:(Principios de los 90) Se sientan las base

de la ingeniería Web, en los que se incluyen conceptos como construcción de navegación, separación entre estructuras y el contenido durante el ciclo de desarrollo.

- Segunda Generación: (Segunda mitad de los 90) Se refinan los primeros modelos y se añaden los soportes de funcionalidad básica y se llevan a cabo los primeros esbozos de proceso donde se delimitan los modelos conceptual, lógico y físico.

- Tercera generación: (A partir del 2000): Se lleva a cabo la profundización en el soporte para la funcionalidad, enfatizacion de la figura del usuario en los métodos, y se avanza hacia la estandarización de notaciones, procesos y lenguajes de especificación.

Page 12: Metodologías Ágiles  para el Desarrollo de Software y Metodologias Para el desarrollo Web

IMPORTANCIA DE UNA METODOLOGÍA WEBLos principales problemas que nos encontramos es la

falta de fiabilidad, seguridad, escalabilidad, mantenimiento, integración y la alta dependencia para su desarrollo e implantación junto con la falta de estándares.

Lo que deseamos es controlar el caos que han provocado en el pasado procesos creativos de desarrollo con el fin de proporcionar un proceso sistemático orientado a la mejora de la calidad de la aplicación final.

Para todo esto se han desarrollado metodologías que permiten estructurar comunicar, entender, simplificar y formalizar tanto el dominio como las decisiones de diseño, así como disponer de documentación detallada para posibles cambios del software.

Page 13: Metodologías Ágiles  para el Desarrollo de Software y Metodologias Para el desarrollo Web

ALGUNAS METODOLOGIAS PARA EL DESARROLLO WEB

UWE(UML-BASED WEB ENGINEERING)Es una metodología detallada para el proceso

de autoría de aplicaciones con una definición exhaustiva del proceso de diseño que debe ser utilizado. Este proceso, iterativo e incremental, incluye flujos de trabajo y puntos de control, y sus fases coinciden con las propuestas en el Proceso Unificado de Modelado, UWE está especializada en la especificación de aplicaciones adaptativas.

Page 14: Metodologías Ágiles  para el Desarrollo de Software y Metodologias Para el desarrollo Web

FASES DEL DESARROLLO WEB CON UWE Por lo que respecta al proceso de autoría de la aplicación, UWE

hace un uso exclusivo de estándares reconocidos como UML y el lenguaje de especificación de restricciones asociado OCL. Para simplificar la captura de las necesidades de las aplicaciones web, UWE propone una extensión que se utiliza a lo largo del proceso de autoría. Este proceso de autoría está dividido en cuatro pasos o Actividades:

• Análisis de Requisitos: Fija los requisitos funcionales de la aplicación Web para reflejarlos en un modelo de casos de uso.

• Diseño Conceptual: Materializado en un modelo de dominio, considerando los requisitos reflejados en los casos de uso.

• Diseño Navegacional: Lo podemos subdividir en : Modelo del Espacio de Navegacional. Modelo de la Estructura de navegación: Muestra la forma de

navegar ante el espacio de navegación.• Diseño de Presentación: Representa las vistas del interfaz del

usuario mediante modelos estándares de interacción UML.

Page 15: Metodologías Ágiles  para el Desarrollo de Software y Metodologias Para el desarrollo Web

OOHDM ( Método de Diseño de Hipermedia Orientado a Objetos)

OOHDM es una metodología orientada a objetos.

OOHDM propone el desarrollo de aplicaciones hipermedia a través de un proceso compuesto por cuatro etapas: diseño conceptual, diseño navegacional, diseño de interfaces abstractas e implementación.

Los modelos utilizados en esta metodología proveen de todos los mecanismos de agrupamiento y herencia que se necesitan a lo largo del modelado. 

Page 16: Metodologías Ágiles  para el Desarrollo de Software y Metodologias Para el desarrollo Web

Fases de OOHDM Diseño ConceptualDurante esta actividad se construye un esquema conceptual

representado por los objetos del dominio, las relaciones y colaboraciones existentes establecidas entre ellos.

En OOHDM, el esquema conceptual está construido por clases, relaciones y subsistemas.Diseño Navegacional

La estructura de navegación de una aplicación hipermedia está definida por un esquema de clases de navegación específica, que refleja una posible vista elegida.

En OOHDM hay una serie de clases especiales predefinidas, que se conocen como clases navegacionales: nodos, enlaces, estructuras de accseso.

Page 17: Metodologías Ágiles  para el Desarrollo de Software y Metodologias Para el desarrollo Web

Diseño de Interfaz AbstractaUna vez que las estructuras navegacionales son

definidas, se deben especificar los aspectos de interfaz. Esto significa definir la forma en la cual los objetos navegacionales pueden aparecer, cómo los objetos de interfaz activarán la navegación y el resto de la funcionalidad de la aplicación, qué transformaciones de la interfaz son pertinentes y cuándo es necesario realizarlas.

ImplementaciónEn esta fase, el diseñador debe implementar el

diseño. Hasta ahora, todos los modelos fueron construidos en forma independiente de la plataforma de implementación; en esta fase es tenido en cuenta el entorno particular en el cual se va a correr la aplicación.

Page 18: Metodologías Ágiles  para el Desarrollo de Software y Metodologias Para el desarrollo Web

REFERENCIAS BIBLIOGRAFICAS http://es.wikipedia.org/wiki/Desarrollo_%C3%A1gil_de_software. Ingeniería Software Orientada a Objetos, bernd bruegge, cap: Ingenieria Web. http://es.wikipedia.org/wiki/Programaci%C3%B3n_Extrema http://es.wikipedia.org/wiki/Scrum http://universotela.blogspot.com/2011/05/scrum-y-programacion-extrema.html http://maestria-modulo7.blogspot.com/2012/04/procesos-de-desarrollo-ligeros-

vs.html http://www.slideshare.net/coesiconsultoria/4-desarrollo-gil-del-software http://www.javiergarzas.com/metodologias-agiles Articulo Métodologías Ágiles en el Desarrollo de Software José H. Canós,

Patricio Letelier yMª Carmen Penadés. Construyendo aplicaciones web con una metodología de diseño orientada a

objetos, Darío Andrés Silva* Bárbara Mercerat. http://www.slideshare.net/JosafatMtz/metodologias-para-el-desarrollo-de-

aplicacones-web http://es.scribd.com/doc/49354262/Metodologias-para-el-desarrollo-de-

Aplicaciones-Web http://www.ecured.cu/index.php/Metodolog%C3%ADas_para_el_dise

%C3%B1o_de_aplicaciones_multimedia