SlideShare una empresa de Scribd logo
Metodologías de Desarrollo Hermenegildo Romero
Metodologías de desarrollo Una metodología de desarrollo de software se refiere al entorno que se usa para estructurar, planificar y controlar el proceso de desarrollo de un sistema de información. Una gran variedad de metodologías se han desarrollado a lo largo de los años, cada una de ellas con sus fortalezas y debilidades. Una determinada metodología no es necesariamente aplicable a todo tipo de proyectos, mas bien cada tipo de proyecto tiene una metodología a la que se adapta mejor.
Metodologías de desarrollo Una Metodologia de desarrollo de software consiste en: Una filosofía de desarrollo de sofware con una base de procesos de desarrollo de software Múltiples herramientas, modelos y métodos, para asistir en el proceso de desarrollo de software.  Suele estar documentada y alguna clase de documentación formal. Suele estar promovida por algún tipo de organización ya sea esta pública o privada que es la que se encarga de promover esta metodología.
Metodologías de desarrollo Diferentes enfoques sobre desarrollo de Software Cada metodología de desarrollo tiene más o menos su propio enfoque de en lo que debería de consistir un proyecto de desarrollo de software. Pero todas ellas se basan en una serie de enfoques generalistas como son: Waterfall Model – Lineal Prototyping – Iterativo Incremental – combinación de iterativo y lineal Spiral – Combinación de iterativo y lineal Rapid Application Development (RAD) -- iterativo
Waterfall model Waterfall model El Waterfall Model o modelo en cascada en el cual el desarrollo se ve como una serie de escalones descendentes (como si se tratara de una cascada de agua) a través de las distintas fases. Analisis Diseño Desarrollo Pruebas Integración Mantenimiento Creada en 1970 por Winston W. Royce
Waterfall model … Waterfall model Los principios básicos de este modelo son: El proyecto se divide en fases secuenciales , se permite algún tipo de solapamiento entre las distintas fases. Hace enfasis en la planificación, los tiempos, fechas objetivo, presupuestos y en la implantación del sistema completo al mismo tiempo. Se mantiene un férreo control durante la duración del proyecto a través del uso extensivo de documentación así como a través de revisiones y aprobaciones por los usuarios y gestores del proyecto, al final de cada fase antes de comenzar la siguiente .
Prototipos Metodología de Prototipos Se conoce así a las actividades de creación de prototipos durante el desarrollo de software , los prototipos son versiones incompletas del producto que va ha ser desarrollado. Los principios básicos son: No es una metodología que funcione por si sóla, es mas una via para manejar determinadas fases de una metodología más tradicional y amplia (Incremental, Espiral o RAD) Intenta reducir el riesgo inherente al proyecto dividiendo el proyecto en partes más pequeñas.
Prototipos ...prototipos ...principios básicos El usuario está más involucrado a través del proyecto, y eso hace que se incremente la aceptación final del producto por los usuarios. Se van realizando maquetas a menor escala siguiendo una política de modificaciones hasta culminar los requerimientos de los usuarios. Mientras que la mayoría de los prototipos se desarrollan con la expectativa de ser deshechos, es posible en algunos casos evolucionar los prototipos hacia el sistema final
Incremental Incremental Combinación de metodologías iterativas y lineales con el objetivo primario de reducir los riesgos del proyecto, los proyectos se dividen en partes mas pequeñas, de esta manera también se facilitan los cambios durante el proceso de desarrollo. Los principios fundamentales son: Se realizan una serie de mini-waterfalls, donde todas las fases del desarrollo en cascada se completan para una pequeña parte del sistema, antes de abordar la siguiente parte. Los conceptos iniciales del sistema, análisis de requerimientos, diseño de arquitectura, etc. Del sistema completo se definen usando también la técnica de Cascada. Después de esto mediante prototipos se van desarrollando las distintas partes en las que ha sido dividido el proyecto. Finalmente el proceso culmina con la implantación del sistema en su conjunto (otro mini-waterfall)
Espiral Espiral (Boehm 1988) Básicamente consiste en una serie de ciclos que se repiten en forma de espiral, comenzando desde el centro. Se suele interpretar como que dentro de cada ciclo de la espiral se sigue un Modelo Cascada, pero no necesariamente debe ser así. Aunque el Espiral puede verse como un modelo evolutivo que conjuga la naturaleza iterativa con los aspectos controlados y sistemáticos del Modelo Cascada, con el agregado de gestión de riegos. Este sistema está indicado en grandes proyectos.
Espiral ...Espiral En cada vuelta o iteración hay que tener en cuenta: Los Objetivos: Que necesidad debe cubrir el producto. Alternativas: Las diferentes formas de conseguir los objetivos de forma exitosa, desde diferentes puntos de vista como pueden ser: Características: experiencia del personal, requisitos a cumplir, etc. Formas de gestión del sistema. Riesgo asumido con cada alternativa. Desarrollar y Verificar: Programar y probar el software
Espiral ...Espiral Si el resultado no es el adecuado o se necesitan mejoras: Se planifican los siguientes pasos y se comienza un nuevo ciclo de la espiral, la espiral tiene dos dimensiones, la radial y la angular. Angular Indica el avance del proyecto dentro de un ciclo Radial Indica el aumento del coste del proyecto, ya que con cada nueva iteración se pasa más tiempo desarrollado
Espiral ...Espiral Al ser un modelo de ciclo de vida orientado a la gestión del riesgo, se dice que uno de los aspectos fundamentales de su éxito radica en que el equipo que lo aplique tenga la necesaria experiencia y habilidad para detectar y catalogar correctamente los riesgos.
Espiral Para cada ciclo hay cuatro actividades Determinar o fijar objetivos Fijar los productos definidos a obtener, requerimientos, especificaciones, manual de usuario Fijar las restricciones Identificación de riesgos del proyecto y estrategias alternativas para evitarlos Análisis del riesgo Se estudian todos los riesgos potenciales y se seleccionan una o  varias alternativas propuestas para reducir o eliminar los riesgos. Desarrollar, verificar y validad (pruebas) Tareas de la actividad propia y prueba Análisis de alternativas e identificación de resolución de riesgos Dependiendo del resultado de la evaluación de riesgos, se elige un modelo para el desarrollo, cascada, iterativo, etc... Planificar Revisamos todo lo realizado, evaluándolo y decidimos si continuamos con las fases siguientes y planificamos la próxima actividad
Espiral
RAD RAD (James Martin 1980) Este método comprende el desarrollo iterativo, la construcción de prototipos y el uso de herramientas CASE. Aporta la velocidad del desarrollo , principalmente por el uso de las herramientas CASE. La Calidad es otra de sus características, mediante la implicación del usuario en las etapas de análisis y diseño Apropiado para proyectos de pequeña embergadura Al igual que con los anteriores divide un proyecto en piezas más pequeñas Pone énfasis en el cumplimiento de las expectativas del negocio, mientras que las caráctristicas tecnicas o la excelencia del desarrollo tiene menos importancia.
RAD ...RAD El control del proyecto da prioridad a las fases de desarrollo y define “deadlines”. Si el proyecto empieza a excederse en tiempos, se considera reducir los requerimientos, no aumentar los tiempos. Los usuarios están especialmente involucrados (esto es imperativo) en las fases de diseño mediante el uso de sesiones de trabajo (workshops) Produce documentación para facilitar la evolución futura del producto y el mantenimiento.
Otras Metodologías... Metodologías de desarrollo orientado a objetos según fue diseñado por Grady Booch Este modelo incluye seis diagramas Clases Objetos Transición y estados Interacción Módulos Procesos
Otras Metodologías Unified Process Basado en UML Organizado en cuatro fases Inicio Elaboración Construcción Transición Una de las versiones más populares es el RUP (Rational Unified Process)
RUP Constituye la metodología estandar más utilizada para el análisis, implementación y documentación de sistemas orientados a objetos. RUP no es un sistema cerrado, es un conjunto de metodologías adaptables al contexto y necesidades de cada organización. Su ciclo de vida es una implementación del Desarrollo en espiral.
RUP Principales características Forma disciplinada de asignar tareas y responsabilidades (quien hace que, cuando y cómo) Pretende implementar las mejores prácticas en Ingeniería de software. Desarrollo Iterativo Administración de requisitos Uso de arquitectura basada en componentes Control de cambios Modelado visual de software Verificación de la calidad del software
RUP El RUP es un producto de Rational (IBM). Se caracteriza por ser iterativo e incremental, estar centrado en la arquitectura y guiado por los casos de uso. Incluye artefactos (que son los productos tangibles del proceso, como por ej: El modelo de casos de uso El modelo de clases El código fuente Etc.. Incluye también roles que desempeñan acciones en un determinado momento. Una persona puede desempeñar distintos roles a lo largo del proceso.
RUP Está basado en 5 principios clave Adaptar el proceso El proceso deberá adaptarse a las características propias del proyecto u organización, El tamaño del mismo, así como su tipo o las regularizaciones que lo condicionen, incluirán en su diseño específico. También se deberá tener en cuenta el alcance del proyecto. Balancear Prioridades Los requerimientos de los distintos participantes pueden ser diferentes, contradictorios o disputarse recursos limitados. Debe encontrarse un balance que satisfaga los deseos de todos. Debido a este balanceo se podrán corregir desacuerdos en el futuro.
RUP ...5 principios clave Demostrar valor iterativamente Los proyectos se entregan, aunque sea de un modo interno, en etapas iteradas. En cada iteración se analiza la opinión de los inversores, la estabilidad y calidad del producto, y se refina la dirección del proyecto, así como también los riesgos involucrados. Elevar el nivel de abstracción Persigue el uso de elementos reutilizables tales como los patrones de software, lenguajes 4GL o frameworks. Desarrollo con la mente puesta en la reutilización del código Un alto nivel de abstracción también permite discusiones sobre diversos niveles y soluciones arquitectónicas.
RUP ...5 principios clave Enfocarse en la calidad El control de la calidad no debe realizarse al final de cada iteración, sino en todos los aspectos de la producción. El aseguramiento de la calidad forma parte del proceso de desarrollo y no de un grupo independiente.
RUP Ciclo de vida El ciclo de vida organiza las tareas en fases e iteraciones. Se divide en cuatro fases, dentro de las cuales se realizan varias iteraciones según el proyecto y en las que se hace un mayor o menor hincapié en las distintas actividades. Iniciación Elaboración Construcción Transición
RUP ... Ciclo de vida Las primeras iteraciones (en las fases de inicio y elaboración) se enfocan hacia la comprensión del problema y la tecnología, la delimitación del ámbito del proyecto, la eliminación de los riesgos críticos y al establecimiento de la línea de base de la arquitectura. Fase de Iniciación Las iteraciones hacen mayor énfasis en actividades de modelado del negocio y de requerimientos. Fase de elaboración Las iteraciones se orientan al desarrollo de la línea de base de la arquitectura, abracan más los flujos de trabajo de requerimientos, modelos de negocio, análisis, diseño e implementación orientada a la línea de base de la arquitectura.
RUP ... Ciclo de vida Fase de Construcción Se lleva a cabo la construcción del producto mediante series de iteraciones. Para cada iteración se seleccionan algunos casos de uso, se refina su análisis y diseño y se procede a su implementación y pruebas. Se realiza una pequeña cascada para cada ciclo. Se realizan tantas iteraciones como requiera la implementación del producto. Fase de Transición Se pretende garantizar que se tiene un producto preparado para su entrega a los usuarios.
RUP Secciones Sección de Proceso Modelado de Negocio Requisitos Análisis y diseño Implementación Pruebas Despliegue Sección de Soporte Gestión del cambio y configuraciones Gestión del proyecto Entorno
RUP
RUP Artefactos En cada una de sus fases de la estructura estática realiza una serie de artefactos que sirven para comprender mejor tanto el análisis como del diseño del sistema. Fase de Inicio Documento Visión Especificación de requerimientos Fase de elaboración Diagramas de caso de uso
RUP ... Artefactos Fase de construcción Trabaja desde cuatro vistas: Vista lógica Diagrama de clases Modelo ER Vista de implementación Diagrama de Secuencia Diagrama de estados Diagrama de colaboración Vista conceptual Modelo de dominio Vista física Mapa de comportamiento HARDWARE
Metodologías Ágiles Método para desarrollar Software Característica principal : adaptación al cambio Opuesto a métodos tradicionales (predictivos) Definen de entrada: Alcance (funcionalidad, tecnología, etc..) Costos Tiempos (de inicio a fin del proyecto) Establecen métodos de monitorización y control para prevenir desvíos.
Metodologías Ágiles Problema Intangibilidad del software Solución Método tradicional Búsqueda de un acuerdo inmutable previamente negociado Método Ágil Acuerdo iterativo adaptable a los cambios
Metodologías Ágiles Iteraciones cortas Entre 2 y cuatro semanas  Se planifica sólo cuando ha terminado una iteración
Metodologías Ágiles Cuatro valores del manifiesto ágil Individuos e iteraciones  VS procesos y herramientas Software funcionando VS documentación extensiva Colaboración con el cliente VS negociación contractual Respuesta ante el cambio VS seguir un plan
Metodologías Ágiles Se puede firmar online en agilemanifesto.org
Metodologías Ágiles Individuos e iteraciones Prioridad Calidad profesional del equipo Entrega temprana y continua C ada 2 o 4 semanas se entrega software funcional 100% operativo VS  (tradicional) Procesos y herramientas Debe servir de ayuda pero no pueden ser el objetivo
Metodologías Ágiles Software funcionando Prioridad Satisfacción del cliente Aportar valor al negocio Parte del desarrollo (código documentado) es la documentación del proyecto VS Documentación extensiva Debe servir de complemento pero no ser un impedimento
Metodologías Ágiles Colaboración con el cliente Prioridad Participación con el cliente Comunicación directa y continua En XP el cliente está físicamente presente en el momento del desarrollo VS Negociación contractual Sólo el cliente conoce lo que da verdadero valor al negocio
Metodologías Ágiles Respuesta ante el cambio Prioridad Aceptar cambios de requerimientos Ventaja competitiva para el negocio VS Seguir un plan El cliente no está realmente seguro hasta que no prueba el software
Metodologías Ágiles Hay decenas de metodologías ágiles Las mas representativas SCRUM KANBAN eXtreme Programming (XP)
Metodologías Ágiles SCRUM Roles Scrum Master Dueño del producto Equipo Artefactos Backlog del producto Backlog de sprint Incremento de funcionalidad Procesos Planificación Reunión diaria (15 min) Revisión Retrospectiva
Metodologías Ágiles KANBAN Origen Japones (TOYOTA) 3 reglas Mostrar el proceso Limitar el trabajo en curso (WIP) Optimizar el flujo de trabajo Tableros físicos con columnas Cola de espera Análisis   En cola En curso Desarrollo En cola En curso Implementación En cola En curso
Metodologías Ágiles eXtreme Programming (XP) Valores Comunicación Simplicidad Retroalimentación Respeto Coraje Practicas Cliente in-situ Metáfora Refactoring Entregas cortas TDD Semana de 40 horas Propiedad colectiva Código Estándar Programación de a pares Integración continua Juego de planificación
Metodologías Ágiles eXtreme Programming Refactoring Modificar el código sin modificar la interfaz ni la experiencia del usuario TDD Primero se realiza el test ese se hace fallar  Se acaban los fallos Código estándar Usar las reglas de codificación estándar del lenguaje de programación Pair Programming Programación a pares (2 programadores realizan el mismo trabajo juntos)
Muchas Gracias Hermenegildo Romero Database Team [email_address] www.db-team.com

Más contenido relacionado

La actualidad más candente

Rup disciplinas
Rup disciplinasRup disciplinas
Rup disciplinas
NELSON RODRIGUEZ
 
LINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCH
LINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCHLINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCH
LINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCH
PerozoAlejandro
 
Metodología RUP
Metodología RUPMetodología RUP
Metodología RUP
Jorge Cortés Alvarez
 
Ingenieria web
Ingenieria webIngenieria web
Ingenieria web
Mirsha01
 
LÍNEAS DE PRODUCTOS DE SOFTWARE
LÍNEAS DE PRODUCTOS DE SOFTWARELÍNEAS DE PRODUCTOS DE SOFTWARE
Ejemplo rup
Ejemplo rupEjemplo rup
Ejemplo rup
angel2365
 
Cuadro comparativo
Cuadro comparativo Cuadro comparativo
Cuadro comparativo
Seba Briones
 
Metodologia Incremental
Metodologia IncrementalMetodologia Incremental
Metodologia Incremental
JOHNNY SURI MAMANI
 
Ieee 830
Ieee 830Ieee 830
Ieee 830
ALEX MERINO
 
Metodologías de desarrollo de software
Metodologías de desarrollo de softwareMetodologías de desarrollo de software
Metodologías de desarrollo de software
Wilfredo Mogollón
 
Fases del rup
Fases del rupFases del rup
Fases del rup
MaraJosQuilcaguanoTo
 
Trabajo de diseño de sistemas orientados a objetos
Trabajo de diseño de sistemas orientados a objetosTrabajo de diseño de sistemas orientados a objetos
Trabajo de diseño de sistemas orientados a objetos
douglimar89
 
Herramientas case
Herramientas caseHerramientas case
Herramientas case
Junior Solano de Arco
 
UML
UMLUML
Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de software
Francisco Gómez
 
modelos del proceso del software
 modelos del proceso del software  modelos del proceso del software
modelos del proceso del software
Brihany Rossell
 
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negociosFundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
José Antonio Sandoval Acosta
 
Modelo evolutivo
Modelo evolutivoModelo evolutivo
Modelo evolutivo
Barklyn Lsla
 
MODELO COCOMO (INGENIERA DE SOFTWARE)
MODELO COCOMO (INGENIERA DE SOFTWARE)MODELO COCOMO (INGENIERA DE SOFTWARE)
MODELO COCOMO (INGENIERA DE SOFTWARE)
Yadith Miranda Silva
 
Metodologia para el proyecto
Metodologia para el proyectoMetodologia para el proyecto
Metodologia para el proyecto
grupoclinicapopular
 

La actualidad más candente (20)

Rup disciplinas
Rup disciplinasRup disciplinas
Rup disciplinas
 
LINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCH
LINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCHLINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCH
LINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCH
 
Metodología RUP
Metodología RUPMetodología RUP
Metodología RUP
 
Ingenieria web
Ingenieria webIngenieria web
Ingenieria web
 
LÍNEAS DE PRODUCTOS DE SOFTWARE
LÍNEAS DE PRODUCTOS DE SOFTWARELÍNEAS DE PRODUCTOS DE SOFTWARE
LÍNEAS DE PRODUCTOS DE SOFTWARE
 
Ejemplo rup
Ejemplo rupEjemplo rup
Ejemplo rup
 
Cuadro comparativo
Cuadro comparativo Cuadro comparativo
Cuadro comparativo
 
Metodologia Incremental
Metodologia IncrementalMetodologia Incremental
Metodologia Incremental
 
Ieee 830
Ieee 830Ieee 830
Ieee 830
 
Metodologías de desarrollo de software
Metodologías de desarrollo de softwareMetodologías de desarrollo de software
Metodologías de desarrollo de software
 
Fases del rup
Fases del rupFases del rup
Fases del rup
 
Trabajo de diseño de sistemas orientados a objetos
Trabajo de diseño de sistemas orientados a objetosTrabajo de diseño de sistemas orientados a objetos
Trabajo de diseño de sistemas orientados a objetos
 
Herramientas case
Herramientas caseHerramientas case
Herramientas case
 
UML
UMLUML
UML
 
Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de software
 
modelos del proceso del software
 modelos del proceso del software  modelos del proceso del software
modelos del proceso del software
 
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negociosFundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
 
Modelo evolutivo
Modelo evolutivoModelo evolutivo
Modelo evolutivo
 
MODELO COCOMO (INGENIERA DE SOFTWARE)
MODELO COCOMO (INGENIERA DE SOFTWARE)MODELO COCOMO (INGENIERA DE SOFTWARE)
MODELO COCOMO (INGENIERA DE SOFTWARE)
 
Metodologia para el proyecto
Metodologia para el proyectoMetodologia para el proyecto
Metodologia para el proyecto
 

Destacado

Metodología de desarrollo de software
Metodología de desarrollo de softwareMetodología de desarrollo de software
Metodología de desarrollo de software
Juan Carlos Salvador Garcia
 
Cuadro comparativo entre la metodología estructurada y metodología orientada ...
Cuadro comparativo entre la metodología estructurada y metodología orientada ...Cuadro comparativo entre la metodología estructurada y metodología orientada ...
Cuadro comparativo entre la metodología estructurada y metodología orientada ...
MariaCapuzzo
 
Cuadro comparativo de enfoque estructurado y enfoque orientado
Cuadro comparativo de enfoque estructurado y enfoque orientadoCuadro comparativo de enfoque estructurado y enfoque orientado
Cuadro comparativo de enfoque estructurado y enfoque orientado
FreddySantiago32
 
Metodologia de desarrollo de software
Metodologia de desarrollo de softwareMetodologia de desarrollo de software
Metodologia de desarrollo de software
Victor Varela
 
4 Clase Metodologia De Desarrolo De Software
4 Clase Metodologia De Desarrolo De Software4 Clase Metodologia De Desarrolo De Software
4 Clase Metodologia De Desarrolo De Software
Julio Pari
 
CLASIFICACIÓN DE LAS METODOLOGÍAS DE DESARROLLO DE SOFTWARE
CLASIFICACIÓN DE LAS METODOLOGÍAS DE DESARROLLO DE SOFTWARECLASIFICACIÓN DE LAS METODOLOGÍAS DE DESARROLLO DE SOFTWARE
CLASIFICACIÓN DE LAS METODOLOGÍAS DE DESARROLLO DE SOFTWARE
BiingeSof
 
Metodologias De Desarrollo De Software
Metodologias De Desarrollo De SoftwareMetodologias De Desarrollo De Software
Metodologias De Desarrollo De Software
guesta1695670
 
Metología Agiles Desarrollo Software (XP)
Metología Agiles Desarrollo Software (XP)Metología Agiles Desarrollo Software (XP)
Metología Agiles Desarrollo Software (XP)
Tuyo Mio
 
Metodologias agiles Programacion Xtrema
Metodologias agiles Programacion Xtrema Metodologias agiles Programacion Xtrema
Metodologias agiles Programacion Xtrema
Lis Pater
 
Metodología tradicional
Metodología tradicionalMetodología tradicional
Metodología tradicional
Jesenia Escobar
 
Clasificación de las metodologías de desarrollo de software
Clasificación de las metodologías de desarrollo de softwareClasificación de las metodologías de desarrollo de software
Clasificación de las metodologías de desarrollo de software
ElvisAR
 
Analisis estructurado y Orientado a objeto
Analisis estructurado y Orientado a objetoAnalisis estructurado y Orientado a objeto
Analisis estructurado y Orientado a objeto
NormanBonavista24
 
MÉTODOS TRADICIONALES DE TRABAJO SOCIAL
MÉTODOS TRADICIONALES DE TRABAJO SOCIALMÉTODOS TRADICIONALES DE TRABAJO SOCIAL
MÉTODOS TRADICIONALES DE TRABAJO SOCIAL
bryandcodmw
 
Definicion de usuarios
Definicion de usuariosDefinicion de usuarios
Definicion de usuarios
samazu2012
 
Programación Orientada a Objetos vs Programación Estructurada
Programación Orientada a Objetos vs Programación EstructuradaProgramación Orientada a Objetos vs Programación Estructurada
Programación Orientada a Objetos vs Programación Estructurada
Michael de la Cruz
 

Destacado (15)

Metodología de desarrollo de software
Metodología de desarrollo de softwareMetodología de desarrollo de software
Metodología de desarrollo de software
 
Cuadro comparativo entre la metodología estructurada y metodología orientada ...
Cuadro comparativo entre la metodología estructurada y metodología orientada ...Cuadro comparativo entre la metodología estructurada y metodología orientada ...
Cuadro comparativo entre la metodología estructurada y metodología orientada ...
 
Cuadro comparativo de enfoque estructurado y enfoque orientado
Cuadro comparativo de enfoque estructurado y enfoque orientadoCuadro comparativo de enfoque estructurado y enfoque orientado
Cuadro comparativo de enfoque estructurado y enfoque orientado
 
Metodologia de desarrollo de software
Metodologia de desarrollo de softwareMetodologia de desarrollo de software
Metodologia de desarrollo de software
 
4 Clase Metodologia De Desarrolo De Software
4 Clase Metodologia De Desarrolo De Software4 Clase Metodologia De Desarrolo De Software
4 Clase Metodologia De Desarrolo De Software
 
CLASIFICACIÓN DE LAS METODOLOGÍAS DE DESARROLLO DE SOFTWARE
CLASIFICACIÓN DE LAS METODOLOGÍAS DE DESARROLLO DE SOFTWARECLASIFICACIÓN DE LAS METODOLOGÍAS DE DESARROLLO DE SOFTWARE
CLASIFICACIÓN DE LAS METODOLOGÍAS DE DESARROLLO DE SOFTWARE
 
Metodologias De Desarrollo De Software
Metodologias De Desarrollo De SoftwareMetodologias De Desarrollo De Software
Metodologias De Desarrollo De Software
 
Metología Agiles Desarrollo Software (XP)
Metología Agiles Desarrollo Software (XP)Metología Agiles Desarrollo Software (XP)
Metología Agiles Desarrollo Software (XP)
 
Metodologias agiles Programacion Xtrema
Metodologias agiles Programacion Xtrema Metodologias agiles Programacion Xtrema
Metodologias agiles Programacion Xtrema
 
Metodología tradicional
Metodología tradicionalMetodología tradicional
Metodología tradicional
 
Clasificación de las metodologías de desarrollo de software
Clasificación de las metodologías de desarrollo de softwareClasificación de las metodologías de desarrollo de software
Clasificación de las metodologías de desarrollo de software
 
Analisis estructurado y Orientado a objeto
Analisis estructurado y Orientado a objetoAnalisis estructurado y Orientado a objeto
Analisis estructurado y Orientado a objeto
 
MÉTODOS TRADICIONALES DE TRABAJO SOCIAL
MÉTODOS TRADICIONALES DE TRABAJO SOCIALMÉTODOS TRADICIONALES DE TRABAJO SOCIAL
MÉTODOS TRADICIONALES DE TRABAJO SOCIAL
 
Definicion de usuarios
Definicion de usuariosDefinicion de usuarios
Definicion de usuarios
 
Programación Orientada a Objetos vs Programación Estructurada
Programación Orientada a Objetos vs Programación EstructuradaProgramación Orientada a Objetos vs Programación Estructurada
Programación Orientada a Objetos vs Programación Estructurada
 

Similar a Metodologias de desarrollo

Metodologias
MetodologiasMetodologias
Metodologias
Norerod
 
Proceso del software
Proceso del softwareProceso del software
Proceso del software
Juan Avendaño
 
Proceso del software (Metodos Agiles)
Proceso del software (Metodos Agiles)Proceso del software (Metodos Agiles)
Proceso del software (Metodos Agiles)
Ares Atzarel Hernández Rodríguez
 
Carrera de informatica_educativa
Carrera de informatica_educativaCarrera de informatica_educativa
Carrera de informatica_educativa
Diego Sinche
 
Jhostin vasquez modelos de software
Jhostin vasquez   modelos de softwareJhostin vasquez   modelos de software
Jhostin vasquez modelos de software
jhostinvasquez
 
Modelos de Desarrollo del Software
Modelos de Desarrollo del SoftwareModelos de Desarrollo del Software
Modelos de Desarrollo del Software
GianlucaCastellano1
 
Modelos del software
Modelos del softwareModelos del software
Modelos del software
angelicasolishernnde
 
analisis y modelado de sistemas de informacion
analisis y modelado de sistemas de informacionanalisis y modelado de sistemas de informacion
analisis y modelado de sistemas de informacion
Darkpsyboy Ikhosko
 
Metodología de desarrollo de software
Metodología de desarrollo de softwareMetodología de desarrollo de software
Metodología de desarrollo de software
Abner Garcia
 
Metodos del desarrollo de sistema de informacion
Metodos del desarrollo de sistema de informacionMetodos del desarrollo de sistema de informacion
Metodos del desarrollo de sistema de informacion
caroyu
 
procesos de desarrollo de software
procesos de desarrollo de softwareprocesos de desarrollo de software
procesos de desarrollo de software
joseantonio897
 
METODOLOGIAS CLASES Y GENERACIONES RUP - SCRUM
METODOLOGIAS CLASES Y GENERACIONES RUP - SCRUMMETODOLOGIAS CLASES Y GENERACIONES RUP - SCRUM
METODOLOGIAS CLASES Y GENERACIONES RUP - SCRUM
MilagrosCz
 
Análisis de Sistemas
Análisis de SistemasAnálisis de Sistemas
Análisis de Sistemas
T.I.C
 
Metodologia y prototipo
Metodologia y prototipoMetodologia y prototipo
Metodologia y prototipo
Arturo Jimenez
 
4.1 Proceso Unificado De Rational
4.1 Proceso Unificado De Rational4.1 Proceso Unificado De Rational
4.1 Proceso Unificado De Rational
Julio Pari
 
Rup
RupRup
Proceso Unificado De Rational
Proceso Unificado De RationalProceso Unificado De Rational
Proceso Unificado De Rational
Julio Pari
 
Documentacion rational
Documentacion rationalDocumentacion rational
Documentacion rational
Mila Pascual
 
Documentacion rational
Documentacion rationalDocumentacion rational
Documentacion rational
Mila Pascual
 
Metodologia rup
Metodologia rupMetodologia rup
Metodologia rup
oscarhm90
 

Similar a Metodologias de desarrollo (20)

Metodologias
MetodologiasMetodologias
Metodologias
 
Proceso del software
Proceso del softwareProceso del software
Proceso del software
 
Proceso del software (Metodos Agiles)
Proceso del software (Metodos Agiles)Proceso del software (Metodos Agiles)
Proceso del software (Metodos Agiles)
 
Carrera de informatica_educativa
Carrera de informatica_educativaCarrera de informatica_educativa
Carrera de informatica_educativa
 
Jhostin vasquez modelos de software
Jhostin vasquez   modelos de softwareJhostin vasquez   modelos de software
Jhostin vasquez modelos de software
 
Modelos de Desarrollo del Software
Modelos de Desarrollo del SoftwareModelos de Desarrollo del Software
Modelos de Desarrollo del Software
 
Modelos del software
Modelos del softwareModelos del software
Modelos del software
 
analisis y modelado de sistemas de informacion
analisis y modelado de sistemas de informacionanalisis y modelado de sistemas de informacion
analisis y modelado de sistemas de informacion
 
Metodología de desarrollo de software
Metodología de desarrollo de softwareMetodología de desarrollo de software
Metodología de desarrollo de software
 
Metodos del desarrollo de sistema de informacion
Metodos del desarrollo de sistema de informacionMetodos del desarrollo de sistema de informacion
Metodos del desarrollo de sistema de informacion
 
procesos de desarrollo de software
procesos de desarrollo de softwareprocesos de desarrollo de software
procesos de desarrollo de software
 
METODOLOGIAS CLASES Y GENERACIONES RUP - SCRUM
METODOLOGIAS CLASES Y GENERACIONES RUP - SCRUMMETODOLOGIAS CLASES Y GENERACIONES RUP - SCRUM
METODOLOGIAS CLASES Y GENERACIONES RUP - SCRUM
 
Análisis de Sistemas
Análisis de SistemasAnálisis de Sistemas
Análisis de Sistemas
 
Metodologia y prototipo
Metodologia y prototipoMetodologia y prototipo
Metodologia y prototipo
 
4.1 Proceso Unificado De Rational
4.1 Proceso Unificado De Rational4.1 Proceso Unificado De Rational
4.1 Proceso Unificado De Rational
 
Rup
RupRup
Rup
 
Proceso Unificado De Rational
Proceso Unificado De RationalProceso Unificado De Rational
Proceso Unificado De Rational
 
Documentacion rational
Documentacion rationalDocumentacion rational
Documentacion rational
 
Documentacion rational
Documentacion rationalDocumentacion rational
Documentacion rational
 
Metodologia rup
Metodologia rupMetodologia rup
Metodologia rup
 

Más de Hermes Romero

UNLEASHING INNOVATION Exploring Generative AI in the Enterprise.pdf
UNLEASHING INNOVATION Exploring Generative AI in the Enterprise.pdfUNLEASHING INNOVATION Exploring Generative AI in the Enterprise.pdf
UNLEASHING INNOVATION Exploring Generative AI in the Enterprise.pdf
Hermes Romero
 
Gestión del talento en la hostelería
Gestión del talento en la hosteleríaGestión del talento en la hostelería
Gestión del talento en la hostelería
Hermes Romero
 
Intalligent - Sistema de gestión del talento ágil
Intalligent - Sistema de gestión del talento ágilIntalligent - Sistema de gestión del talento ágil
Intalligent - Sistema de gestión del talento ágil
Hermes Romero
 
Agile talent management
Agile talent managementAgile talent management
Agile talent management
Hermes Romero
 
Metodología de gestión del talento ágil
Metodología de gestión del talento ágilMetodología de gestión del talento ágil
Metodología de gestión del talento ágil
Hermes Romero
 
Intalligent, Agile Talent Management
Intalligent, Agile Talent ManagementIntalligent, Agile Talent Management
Intalligent, Agile Talent Management
Hermes Romero
 
Introducción a Microstrategy
Introducción a MicrostrategyIntroducción a Microstrategy
Introducción a Microstrategy
Hermes Romero
 
Introduction to Mobile Marketing - The complete tutorial
Introduction to Mobile Marketing - The complete tutorialIntroduction to Mobile Marketing - The complete tutorial
Introduction to Mobile Marketing - The complete tutorial
Hermes Romero
 
Still using marketing from the stone age??
Still using marketing from the stone age??Still using marketing from the stone age??
Still using marketing from the stone age??
Hermes Romero
 
Manual XML
Manual XMLManual XML
Manual XML
Hermes Romero
 
Oracle xmldb
Oracle xmldbOracle xmldb
Oracle xmldb
Hermes Romero
 
Fundamentos de DataWarehouse
Fundamentos de DataWarehouseFundamentos de DataWarehouse
Fundamentos de DataWarehouse
Hermes Romero
 
Introducción a UML
Introducción a UMLIntroducción a UML
Introducción a UML
Hermes Romero
 
Desarrollo de sistemas
Desarrollo de sistemasDesarrollo de sistemas
Desarrollo de sistemas
Hermes Romero
 
Calidad de software
Calidad de softwareCalidad de software
Calidad de software
Hermes Romero
 
Proyectos software
Proyectos softwareProyectos software
Proyectos software
Hermes Romero
 
Introducción a Business objects
Introducción a Business objectsIntroducción a Business objects
Introducción a Business objects
Hermes Romero
 

Más de Hermes Romero (17)

UNLEASHING INNOVATION Exploring Generative AI in the Enterprise.pdf
UNLEASHING INNOVATION Exploring Generative AI in the Enterprise.pdfUNLEASHING INNOVATION Exploring Generative AI in the Enterprise.pdf
UNLEASHING INNOVATION Exploring Generative AI in the Enterprise.pdf
 
Gestión del talento en la hostelería
Gestión del talento en la hosteleríaGestión del talento en la hostelería
Gestión del talento en la hostelería
 
Intalligent - Sistema de gestión del talento ágil
Intalligent - Sistema de gestión del talento ágilIntalligent - Sistema de gestión del talento ágil
Intalligent - Sistema de gestión del talento ágil
 
Agile talent management
Agile talent managementAgile talent management
Agile talent management
 
Metodología de gestión del talento ágil
Metodología de gestión del talento ágilMetodología de gestión del talento ágil
Metodología de gestión del talento ágil
 
Intalligent, Agile Talent Management
Intalligent, Agile Talent ManagementIntalligent, Agile Talent Management
Intalligent, Agile Talent Management
 
Introducción a Microstrategy
Introducción a MicrostrategyIntroducción a Microstrategy
Introducción a Microstrategy
 
Introduction to Mobile Marketing - The complete tutorial
Introduction to Mobile Marketing - The complete tutorialIntroduction to Mobile Marketing - The complete tutorial
Introduction to Mobile Marketing - The complete tutorial
 
Still using marketing from the stone age??
Still using marketing from the stone age??Still using marketing from the stone age??
Still using marketing from the stone age??
 
Manual XML
Manual XMLManual XML
Manual XML
 
Oracle xmldb
Oracle xmldbOracle xmldb
Oracle xmldb
 
Fundamentos de DataWarehouse
Fundamentos de DataWarehouseFundamentos de DataWarehouse
Fundamentos de DataWarehouse
 
Introducción a UML
Introducción a UMLIntroducción a UML
Introducción a UML
 
Desarrollo de sistemas
Desarrollo de sistemasDesarrollo de sistemas
Desarrollo de sistemas
 
Calidad de software
Calidad de softwareCalidad de software
Calidad de software
 
Proyectos software
Proyectos softwareProyectos software
Proyectos software
 
Introducción a Business objects
Introducción a Business objectsIntroducción a Business objects
Introducción a Business objects
 

Metodologias de desarrollo

  • 1. Metodologías de Desarrollo Hermenegildo Romero
  • 2. Metodologías de desarrollo Una metodología de desarrollo de software se refiere al entorno que se usa para estructurar, planificar y controlar el proceso de desarrollo de un sistema de información. Una gran variedad de metodologías se han desarrollado a lo largo de los años, cada una de ellas con sus fortalezas y debilidades. Una determinada metodología no es necesariamente aplicable a todo tipo de proyectos, mas bien cada tipo de proyecto tiene una metodología a la que se adapta mejor.
  • 3. Metodologías de desarrollo Una Metodologia de desarrollo de software consiste en: Una filosofía de desarrollo de sofware con una base de procesos de desarrollo de software Múltiples herramientas, modelos y métodos, para asistir en el proceso de desarrollo de software. Suele estar documentada y alguna clase de documentación formal. Suele estar promovida por algún tipo de organización ya sea esta pública o privada que es la que se encarga de promover esta metodología.
  • 4. Metodologías de desarrollo Diferentes enfoques sobre desarrollo de Software Cada metodología de desarrollo tiene más o menos su propio enfoque de en lo que debería de consistir un proyecto de desarrollo de software. Pero todas ellas se basan en una serie de enfoques generalistas como son: Waterfall Model – Lineal Prototyping – Iterativo Incremental – combinación de iterativo y lineal Spiral – Combinación de iterativo y lineal Rapid Application Development (RAD) -- iterativo
  • 5. Waterfall model Waterfall model El Waterfall Model o modelo en cascada en el cual el desarrollo se ve como una serie de escalones descendentes (como si se tratara de una cascada de agua) a través de las distintas fases. Analisis Diseño Desarrollo Pruebas Integración Mantenimiento Creada en 1970 por Winston W. Royce
  • 6. Waterfall model … Waterfall model Los principios básicos de este modelo son: El proyecto se divide en fases secuenciales , se permite algún tipo de solapamiento entre las distintas fases. Hace enfasis en la planificación, los tiempos, fechas objetivo, presupuestos y en la implantación del sistema completo al mismo tiempo. Se mantiene un férreo control durante la duración del proyecto a través del uso extensivo de documentación así como a través de revisiones y aprobaciones por los usuarios y gestores del proyecto, al final de cada fase antes de comenzar la siguiente .
  • 7. Prototipos Metodología de Prototipos Se conoce así a las actividades de creación de prototipos durante el desarrollo de software , los prototipos son versiones incompletas del producto que va ha ser desarrollado. Los principios básicos son: No es una metodología que funcione por si sóla, es mas una via para manejar determinadas fases de una metodología más tradicional y amplia (Incremental, Espiral o RAD) Intenta reducir el riesgo inherente al proyecto dividiendo el proyecto en partes más pequeñas.
  • 8. Prototipos ...prototipos ...principios básicos El usuario está más involucrado a través del proyecto, y eso hace que se incremente la aceptación final del producto por los usuarios. Se van realizando maquetas a menor escala siguiendo una política de modificaciones hasta culminar los requerimientos de los usuarios. Mientras que la mayoría de los prototipos se desarrollan con la expectativa de ser deshechos, es posible en algunos casos evolucionar los prototipos hacia el sistema final
  • 9. Incremental Incremental Combinación de metodologías iterativas y lineales con el objetivo primario de reducir los riesgos del proyecto, los proyectos se dividen en partes mas pequeñas, de esta manera también se facilitan los cambios durante el proceso de desarrollo. Los principios fundamentales son: Se realizan una serie de mini-waterfalls, donde todas las fases del desarrollo en cascada se completan para una pequeña parte del sistema, antes de abordar la siguiente parte. Los conceptos iniciales del sistema, análisis de requerimientos, diseño de arquitectura, etc. Del sistema completo se definen usando también la técnica de Cascada. Después de esto mediante prototipos se van desarrollando las distintas partes en las que ha sido dividido el proyecto. Finalmente el proceso culmina con la implantación del sistema en su conjunto (otro mini-waterfall)
  • 10. Espiral Espiral (Boehm 1988) Básicamente consiste en una serie de ciclos que se repiten en forma de espiral, comenzando desde el centro. Se suele interpretar como que dentro de cada ciclo de la espiral se sigue un Modelo Cascada, pero no necesariamente debe ser así. Aunque el Espiral puede verse como un modelo evolutivo que conjuga la naturaleza iterativa con los aspectos controlados y sistemáticos del Modelo Cascada, con el agregado de gestión de riegos. Este sistema está indicado en grandes proyectos.
  • 11. Espiral ...Espiral En cada vuelta o iteración hay que tener en cuenta: Los Objetivos: Que necesidad debe cubrir el producto. Alternativas: Las diferentes formas de conseguir los objetivos de forma exitosa, desde diferentes puntos de vista como pueden ser: Características: experiencia del personal, requisitos a cumplir, etc. Formas de gestión del sistema. Riesgo asumido con cada alternativa. Desarrollar y Verificar: Programar y probar el software
  • 12. Espiral ...Espiral Si el resultado no es el adecuado o se necesitan mejoras: Se planifican los siguientes pasos y se comienza un nuevo ciclo de la espiral, la espiral tiene dos dimensiones, la radial y la angular. Angular Indica el avance del proyecto dentro de un ciclo Radial Indica el aumento del coste del proyecto, ya que con cada nueva iteración se pasa más tiempo desarrollado
  • 13. Espiral ...Espiral Al ser un modelo de ciclo de vida orientado a la gestión del riesgo, se dice que uno de los aspectos fundamentales de su éxito radica en que el equipo que lo aplique tenga la necesaria experiencia y habilidad para detectar y catalogar correctamente los riesgos.
  • 14. Espiral Para cada ciclo hay cuatro actividades Determinar o fijar objetivos Fijar los productos definidos a obtener, requerimientos, especificaciones, manual de usuario Fijar las restricciones Identificación de riesgos del proyecto y estrategias alternativas para evitarlos Análisis del riesgo Se estudian todos los riesgos potenciales y se seleccionan una o varias alternativas propuestas para reducir o eliminar los riesgos. Desarrollar, verificar y validad (pruebas) Tareas de la actividad propia y prueba Análisis de alternativas e identificación de resolución de riesgos Dependiendo del resultado de la evaluación de riesgos, se elige un modelo para el desarrollo, cascada, iterativo, etc... Planificar Revisamos todo lo realizado, evaluándolo y decidimos si continuamos con las fases siguientes y planificamos la próxima actividad
  • 16. RAD RAD (James Martin 1980) Este método comprende el desarrollo iterativo, la construcción de prototipos y el uso de herramientas CASE. Aporta la velocidad del desarrollo , principalmente por el uso de las herramientas CASE. La Calidad es otra de sus características, mediante la implicación del usuario en las etapas de análisis y diseño Apropiado para proyectos de pequeña embergadura Al igual que con los anteriores divide un proyecto en piezas más pequeñas Pone énfasis en el cumplimiento de las expectativas del negocio, mientras que las caráctristicas tecnicas o la excelencia del desarrollo tiene menos importancia.
  • 17. RAD ...RAD El control del proyecto da prioridad a las fases de desarrollo y define “deadlines”. Si el proyecto empieza a excederse en tiempos, se considera reducir los requerimientos, no aumentar los tiempos. Los usuarios están especialmente involucrados (esto es imperativo) en las fases de diseño mediante el uso de sesiones de trabajo (workshops) Produce documentación para facilitar la evolución futura del producto y el mantenimiento.
  • 18. Otras Metodologías... Metodologías de desarrollo orientado a objetos según fue diseñado por Grady Booch Este modelo incluye seis diagramas Clases Objetos Transición y estados Interacción Módulos Procesos
  • 19. Otras Metodologías Unified Process Basado en UML Organizado en cuatro fases Inicio Elaboración Construcción Transición Una de las versiones más populares es el RUP (Rational Unified Process)
  • 20. RUP Constituye la metodología estandar más utilizada para el análisis, implementación y documentación de sistemas orientados a objetos. RUP no es un sistema cerrado, es un conjunto de metodologías adaptables al contexto y necesidades de cada organización. Su ciclo de vida es una implementación del Desarrollo en espiral.
  • 21. RUP Principales características Forma disciplinada de asignar tareas y responsabilidades (quien hace que, cuando y cómo) Pretende implementar las mejores prácticas en Ingeniería de software. Desarrollo Iterativo Administración de requisitos Uso de arquitectura basada en componentes Control de cambios Modelado visual de software Verificación de la calidad del software
  • 22. RUP El RUP es un producto de Rational (IBM). Se caracteriza por ser iterativo e incremental, estar centrado en la arquitectura y guiado por los casos de uso. Incluye artefactos (que son los productos tangibles del proceso, como por ej: El modelo de casos de uso El modelo de clases El código fuente Etc.. Incluye también roles que desempeñan acciones en un determinado momento. Una persona puede desempeñar distintos roles a lo largo del proceso.
  • 23. RUP Está basado en 5 principios clave Adaptar el proceso El proceso deberá adaptarse a las características propias del proyecto u organización, El tamaño del mismo, así como su tipo o las regularizaciones que lo condicionen, incluirán en su diseño específico. También se deberá tener en cuenta el alcance del proyecto. Balancear Prioridades Los requerimientos de los distintos participantes pueden ser diferentes, contradictorios o disputarse recursos limitados. Debe encontrarse un balance que satisfaga los deseos de todos. Debido a este balanceo se podrán corregir desacuerdos en el futuro.
  • 24. RUP ...5 principios clave Demostrar valor iterativamente Los proyectos se entregan, aunque sea de un modo interno, en etapas iteradas. En cada iteración se analiza la opinión de los inversores, la estabilidad y calidad del producto, y se refina la dirección del proyecto, así como también los riesgos involucrados. Elevar el nivel de abstracción Persigue el uso de elementos reutilizables tales como los patrones de software, lenguajes 4GL o frameworks. Desarrollo con la mente puesta en la reutilización del código Un alto nivel de abstracción también permite discusiones sobre diversos niveles y soluciones arquitectónicas.
  • 25. RUP ...5 principios clave Enfocarse en la calidad El control de la calidad no debe realizarse al final de cada iteración, sino en todos los aspectos de la producción. El aseguramiento de la calidad forma parte del proceso de desarrollo y no de un grupo independiente.
  • 26. RUP Ciclo de vida El ciclo de vida organiza las tareas en fases e iteraciones. Se divide en cuatro fases, dentro de las cuales se realizan varias iteraciones según el proyecto y en las que se hace un mayor o menor hincapié en las distintas actividades. Iniciación Elaboración Construcción Transición
  • 27. RUP ... Ciclo de vida Las primeras iteraciones (en las fases de inicio y elaboración) se enfocan hacia la comprensión del problema y la tecnología, la delimitación del ámbito del proyecto, la eliminación de los riesgos críticos y al establecimiento de la línea de base de la arquitectura. Fase de Iniciación Las iteraciones hacen mayor énfasis en actividades de modelado del negocio y de requerimientos. Fase de elaboración Las iteraciones se orientan al desarrollo de la línea de base de la arquitectura, abracan más los flujos de trabajo de requerimientos, modelos de negocio, análisis, diseño e implementación orientada a la línea de base de la arquitectura.
  • 28. RUP ... Ciclo de vida Fase de Construcción Se lleva a cabo la construcción del producto mediante series de iteraciones. Para cada iteración se seleccionan algunos casos de uso, se refina su análisis y diseño y se procede a su implementación y pruebas. Se realiza una pequeña cascada para cada ciclo. Se realizan tantas iteraciones como requiera la implementación del producto. Fase de Transición Se pretende garantizar que se tiene un producto preparado para su entrega a los usuarios.
  • 29. RUP Secciones Sección de Proceso Modelado de Negocio Requisitos Análisis y diseño Implementación Pruebas Despliegue Sección de Soporte Gestión del cambio y configuraciones Gestión del proyecto Entorno
  • 30. RUP
  • 31. RUP Artefactos En cada una de sus fases de la estructura estática realiza una serie de artefactos que sirven para comprender mejor tanto el análisis como del diseño del sistema. Fase de Inicio Documento Visión Especificación de requerimientos Fase de elaboración Diagramas de caso de uso
  • 32. RUP ... Artefactos Fase de construcción Trabaja desde cuatro vistas: Vista lógica Diagrama de clases Modelo ER Vista de implementación Diagrama de Secuencia Diagrama de estados Diagrama de colaboración Vista conceptual Modelo de dominio Vista física Mapa de comportamiento HARDWARE
  • 33. Metodologías Ágiles Método para desarrollar Software Característica principal : adaptación al cambio Opuesto a métodos tradicionales (predictivos) Definen de entrada: Alcance (funcionalidad, tecnología, etc..) Costos Tiempos (de inicio a fin del proyecto) Establecen métodos de monitorización y control para prevenir desvíos.
  • 34. Metodologías Ágiles Problema Intangibilidad del software Solución Método tradicional Búsqueda de un acuerdo inmutable previamente negociado Método Ágil Acuerdo iterativo adaptable a los cambios
  • 35. Metodologías Ágiles Iteraciones cortas Entre 2 y cuatro semanas Se planifica sólo cuando ha terminado una iteración
  • 36. Metodologías Ágiles Cuatro valores del manifiesto ágil Individuos e iteraciones VS procesos y herramientas Software funcionando VS documentación extensiva Colaboración con el cliente VS negociación contractual Respuesta ante el cambio VS seguir un plan
  • 37. Metodologías Ágiles Se puede firmar online en agilemanifesto.org
  • 38. Metodologías Ágiles Individuos e iteraciones Prioridad Calidad profesional del equipo Entrega temprana y continua C ada 2 o 4 semanas se entrega software funcional 100% operativo VS (tradicional) Procesos y herramientas Debe servir de ayuda pero no pueden ser el objetivo
  • 39. Metodologías Ágiles Software funcionando Prioridad Satisfacción del cliente Aportar valor al negocio Parte del desarrollo (código documentado) es la documentación del proyecto VS Documentación extensiva Debe servir de complemento pero no ser un impedimento
  • 40. Metodologías Ágiles Colaboración con el cliente Prioridad Participación con el cliente Comunicación directa y continua En XP el cliente está físicamente presente en el momento del desarrollo VS Negociación contractual Sólo el cliente conoce lo que da verdadero valor al negocio
  • 41. Metodologías Ágiles Respuesta ante el cambio Prioridad Aceptar cambios de requerimientos Ventaja competitiva para el negocio VS Seguir un plan El cliente no está realmente seguro hasta que no prueba el software
  • 42. Metodologías Ágiles Hay decenas de metodologías ágiles Las mas representativas SCRUM KANBAN eXtreme Programming (XP)
  • 43. Metodologías Ágiles SCRUM Roles Scrum Master Dueño del producto Equipo Artefactos Backlog del producto Backlog de sprint Incremento de funcionalidad Procesos Planificación Reunión diaria (15 min) Revisión Retrospectiva
  • 44. Metodologías Ágiles KANBAN Origen Japones (TOYOTA) 3 reglas Mostrar el proceso Limitar el trabajo en curso (WIP) Optimizar el flujo de trabajo Tableros físicos con columnas Cola de espera Análisis En cola En curso Desarrollo En cola En curso Implementación En cola En curso
  • 45. Metodologías Ágiles eXtreme Programming (XP) Valores Comunicación Simplicidad Retroalimentación Respeto Coraje Practicas Cliente in-situ Metáfora Refactoring Entregas cortas TDD Semana de 40 horas Propiedad colectiva Código Estándar Programación de a pares Integración continua Juego de planificación
  • 46. Metodologías Ágiles eXtreme Programming Refactoring Modificar el código sin modificar la interfaz ni la experiencia del usuario TDD Primero se realiza el test ese se hace fallar Se acaban los fallos Código estándar Usar las reglas de codificación estándar del lenguaje de programación Pair Programming Programación a pares (2 programadores realizan el mismo trabajo juntos)
  • 47. Muchas Gracias Hermenegildo Romero Database Team [email_address] www.db-team.com