Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Metodologias de Ingenieria de Software

No description
by

Edison Condor

on 15 January 2013

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Metodologias de Ingenieria de Software

METODOLOGIAS DE INGENIERIA DE SOFTWARE METODOLOGIAS El desarrollo de software no es una tarea fácil. Prueba de ello es que existen numerosas propuestas metodológicas que inciden en distintas dimensiones del proceso de desarrollo. DEFINICIÓN Una metodología es un conjunto integrado de técnicas y métodos que permite abordar de forma homogénea y abierta cada una de las actividades del ciclo de vida de un proyecto de desarrollo. Es un proceso de software detallado y completo.

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. DESARROLLO ITERATIVO E INCREMENTAL El desarrollo iterativo e incremental es una parte esencial de RUP, de DSDM, XP y generalmente de los marcos de trabajo de desarrollo de software ágil. RAPID APPLICATION DEVELOPMENT (RAD) La metodología de desarrollo rápido de aplicaciones (RAD) se desarrolló para responder a la necesidad de entregar sistemas muy rápido
No es apropiado para todos los proyectos.
El alcance, el tamaño y las circunstancias, determina el éxito de un enfoque RAD.

El método RAD tiene una lista de tareas y una estructura de desglose de trabajo diseñada para la rapidez.

El método comprende el desarrollo iterativo, la construcción de prototipos y el uso de utilidades CASE (Computer Aided Software Engineering). Tradicionalmente, el desarrollo rápido de aplicaciones tiende a englobar también la usabilidad, utilidad y rapidez de ejecución. VENTAJAS DEL USO DE UNA METODOLOGÍA
Desde el punto de vista de gestión:

Facilitar la tarea de planificación

Facilitar la tarea del control y seguimiento de un proyecto

Mejorar la relación coste/beneficio

Optimizar el uso de recursos disponibles

Facilitar la evaluación de resultados y cumplimiento de los objetivos

Definir el ciclo de vida que más se adecue a las condiciones y características del desarrollo
Facilitar la comunicación efectiva entre usuarios y desarrolladores

Desde el punto de vista de los ingenieros del software:

Ayudar a la comprensión del problema

Optimizar el conjunto y cada una de las fases del proceso de desarrollo

Facilitar el mantenimiento del producto final

Permitir la reutilización de partes del producto

Desde el punto de vista del cliente o usuario:

Garantía de un determinado nivel de calidad en el producto final

Confianza en los plazos de tiempo fijados en la definición del proyecto DEBILIDADES EN EL MODELO

En la retroalimentación hacia el grupo de desarrollo, utilizar este modelo de desarrollo puede llevar a avances extremadamente lentos.
No es una aplicación ideal para desarrollos en los que de antemano se sabe que serán grandes en el consumo de recursos y largos en el tiempo.

Al requerir constantemente la ayuda de los usuarios finales, se agrega un coste extra a la compañía, pues mientras estos usuarios evalúan el software dejan de ser directamente productivos para la compañía. Ventajas

•Velocidad de desarrollo
•Calidad: resuelve las necesidades de usuarios así como el grado al cual un sistema entregado tiene costes de mantenimiento bajos.
•Visibilidad temprana debido al uso de técnicas de prototipado.
•Mayor flexibilidad que otros modelos.
•Ciclos de desarrollo más cortos. Inconvenientes

•Características reducidas.
•Escalabilidad reducida.
•Más difícil de evaluar el progreso porque no hay hitos clásicos. RATIONAL UNIFIED PROCESS (RUP) El proceso unificado Rational (RUP) es un marco de trabajo de proceso de desarrollo de software iterativo creado por Rational Software Corporation, una división de IBM desde 2003. RUP no es un proceso preceptivo concreto individual, sino un marco de trabajo de proceso adaptable, con la idea de ser adaptado por las organizaciones de desarrollo y los equipos de proyecto de software que seleccionarán los elementos del proceso que sean apropiados para sus necesidades. Módulos de RUP RUP se basa en un conjunto de módulos o elementos de contenido, que describen qué se va a producir, las habilidades necesarias requeridas y la explicación paso a paso describiendo cómo se consiguen los objetivos de desarrollo. Los módulos principales, o elementos de contenido, son: Fases del ciclo de vida del proyecto RUP determina que el ciclo de vida del proyecto consiste en cuatro fases que permiten que el proceso sea presentado a alto nivel de una forma similar a un estilo en cascada.Cada fase tiene un objetivo clave y un hito al final que denota que el objetivo se ha logrado. •Roles (quién): conjunto de habilidades, competencias y responsabilidades relacionadas.
•Productos de trabajo (qué): representa una tarea, incluyendo todos los documentos y modelos producidos en el proceso.
•Tareas (cómo): describe una unidad de trabajo asignada a un rol que proporciona un resultado significante. Las cuatro fases en las que divide el ciclo de vida del proyecto son:
•Fase de iniciación: se define el alcance del proyecto.
•Fase de elaboración: se analizan las necesidades del negocio en mayor detalle y se define sus principios arquitectónicos.
•Fase de construcción: se crea el diseño de la aplicación y el código fuente.
•Fase de transición: se entrega el sistema a los usuarios. RUP proporciona un prototipo al final de cada iteración.
Dentro de cada iteración, existen seis disciplinas de ingeniería
o Modelaje de negocio
o Requisitos
o Análisis y diseño
o Implementación
o Pruebas
o Despliegue
Tres disciplinas de soporte
o Gestión de la configuración y del cambio
o Gestión de proyectos
o Entorno Extreme Programming (XP) Se considera una de las mejores metodologías de desarrollo
Es una metodología ágil centrada en potenciar las relaciones interpersonales
Promueve el trabajo en equipo
aprendizaje de los desarrolladores
Propicia un buen clima de trabajo
Se basa en la realimentación continua:cliente-equipo de desarrollo
Comunicación fluida entre todos los participantes, Simplicidad en las soluciones implementadas y coraje para enfrentar los cambios. Elementos de la metodología Las historias de usuario: son la técnica utilizada para especificar los requisitos del software.

Roles XP: los roles de acuerdo con la propuesta de Beck son:

Programador
Cliente
Encargado de pruebas (tester)
Encargado de seguimiento (tracker)
Entrenador (coach)
Consultor
Gestor (big boss)
Proceso XP: el ciclo de desarrollo consiste (a grandes rasgos) en los siguientes pasos:

1.El cliente define el valor de negocio a implementar
2.El programador estima el esfuerzo necesario para su implementación
3.El programador construye ese valor
4.Vuelve al paso 1 SCRUM Scrum es un proceso ágil que se puede usar para gestionar y controlar
desarrollos complejos de software y productos usando prácticas iterativas e incrementales.
Scrum es un proceso incremental iterativo para desarrollar cualquier producto o gestionar
cualquier trabajo.
Aunque Scrum estaba previsto que fuera para la gestión de proyectos de desarrollo de software,
se puede usar también para la ejecución de equipos de mantenimiento de software o como un enfoque
de gestión de programas. Ventajas Una de las mayores ventajas de Scrum es que es muy fácil de entender y requiere poco esfuerzo para comenzar a usarse.
Una parte muy importante de Scrum son las reuniones que se realizan durante cada una de las iteraciones.

Scrum diario: cada día durante la iteración, tiene lugar una reunión de estado del proyecto. A esta reunión se le domina Scrum

Reunión de planificación de iteración (sprint): se lleva a cabo al principio del ciclo de la iteración.

Reunión de revisión de iteración: al final del ciclo de la iteración.

Iteración retrospectiva: al final del ciclo de la iteración. Proceso del Scrum Dynamic Systems Development Method (DSDM) El método de desarrollo de sistemas dinámico (DSDM) es una metodología de desarrollo de software originalmente basada en la metodología RAD. DSDM es un enfoque iterativo e incremental que enfatiza la participación continua del usuario.
Su objetivo es entregar sistemas software en tiempo y presupuesto ajustándose a los cambios de requisitos durante el proceso de desarrollo. DSDM es uno de los métodos ágiles para el desarrollo de software, y forma parte de la Alianza Ágil. Proceso de DSDM Otros métodos ágiles Crystal Clear Crystal Clear es un miembro de la familia de metodologías Crystal se considera un ejemplo de metodología ágil.
Crystal Clear cuenta con las siguientes propiedades (las tres primeras son requeridas):

Entrega frecuente de código usable a los usuarios
Mejora reflexiva
Comunicación osmótica preferiblemente estando en la misma ubicación
Seguridad personal
Fácil acceso a los usuarios expertos Agile Unified Process (AUP) El proceso unificado ágil (AUP) es una versión simplificada de RUP describe un enfoque simple, fácil de entender, del desarrollo de software de aplicación de negocios usando técnicas
Inicio: el objetivo es identificar el alcance inicial del proyecto

Elaboración: el objetivo es probar la arquitectura del sistema.

Construcción: el objetivo es construir software operativo de forma incremental que cumpla con las necesidades

Transición: el objetivo es validar y desplegar el sistema
Full transcript