Вы находитесь на странице: 1из 25

Metodologa de desarrollo de software

En ingeniera de software es un marco de trabajo usado para estructurar, planificar y controlar el proceso de desarrollo en sistemas de informacin.

Introduccin


Una metodologa de desarrollo de software se refiere a un framework que es usado para estructurar, planear y controlar el proceso de desarrollo en sistemas de informacin. A lo largo del tiempo, una gran cantidad de mtodos han sido desarrollados diferencindose por su fortaleza y debilidad.

Historia


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 idea principal era continuar el desarrollo de los sistemas de informacin en una muy deliberada, estructurada y metdica, reiterando cada una de las etapas del ciclo de vida. Los sistemas de informacin en torno a las actividades resueltas pesadas para el procesamiento de datos y rutinas de clculo.

1970s  Programacin estructurada sol desde 1969  Programacin estructurada Jackson desde 1975 1980s  Structured System Analysis and Desing Methodology (SSADM) desde 1980  Structured Analysis and Desing Technique (SADT) desde 1980  Ingeniera de la informacin (IE/IEM) desde 1981 1990s  Rapid application development (RAD) desde 1991.  Programacion orientada a objetos (OOP) a lo largo de la dcada de los 90's  Virtual finite state state machine (VFSM) desde 1990s  Dynamic System Development Method desarrollado en UK desde 1995.  Scrum (desarrollo), en la ltima parte de los 90's  Rational Unified Process (RUP) desde 1999. Nuevo milenio  Extreme Programming (XP) desde 1999  Enterprise Unified Process (EUP) extensiones RUP desde 2002  Constructionist desing methodology (CDM) desde 2004 por Kristinn R. Thrisson.  Agile Unified Process (AUP) desde 2005 por Scott Ambler

Enfoques de desarrollo de software




Cada metodologa de desarrollo de software tiene ms o menos su propio enfoque para el desarrollo de software. Estos son los enfoques ms generales, que se desarrollan en varias metodologas especficas. Estos enfoques son los siguientes:
    

Modelo en cascada: Framework lineal. Prototipado: Framework iterativo. Incremental: Combinacin de framework lineal e iterativo. Espiral: Combinacin de framework lineal e iterativo. RAD: Rapid Application Development, framework interactivo.

Enfoques de desarrollo de software

Modelo en cascada


Es un proceso secuencial de desarrollo en el que los pasos de desarrollo son vistos hacia abajo (como en una cascada de agua) a travs de las fases de anlisis de las necesidades, el diseo, implementacin, pruebas (validacin), la integracin, y mantenimiento. La primera descripcin formal del modelo de cascada se cita a menudo a un artculo publicado por Winston Royce W. en 1970, aunque Royce no utiliza el trmino "cascada" de este artculo.

Los principios bsicos del modelo de cascada son los siguientes:




El proyecto est dividido en fases secuenciales, con cierta superposicin y splashback aceptable entre fases. Se hace hincapi en la planificacin, los horarios, fechas, presupuestos y ejecucin de todo un sistema de una sola vez. Un estricto control se mantiene durante la vida del proyecto a travs de la utilizacin de una amplia documentacin escrita, as como a travs de comentarios y aprobacin / signoff por el usuario y la tecnologa de la informacin de gestin al final de la mayora de las fases antes de comenzar la prxima fase.

Prototipado


El prototipado es el framework de actividades dedicada al desarrollo de software prototipo, es decir, versiones incompletas del software a desarrollar.

Incremental


Provee una estrategia para controlar la complejidad y los riesgos, desarrollando una parte del producto software reservando el resto de aspectos para el futuro.

Los principios bsicos son:




Una serie de mini-Cascadas se llevan a cabo, donde todas las fases de la cascada modelo de desarrollo se han completado para una pequea parte de los sistemas, antes de proceder a la prxima incremental Se definen los requisitos antes de proceder con la evolutivo, se realiza un mini-Cascada de desarrollo de cada uno de los incrementos del sistema El concepto inicial de software, anlisis de las necesidades, y el diseo de la arquitectura y colectiva bsicas se definen utilizando el enfoque de cascada, seguida por iterativo de prototipos, que culmina en la instalacin del prototipo final.

Espiral


Los principios bsicos son:




La atencin se centra en la evaluacin y reduccin del riesgo del proyecto dividiendo el proyecto en segmentos ms pequeos y proporcionar ms facilidad de cambio durante el proceso de desarrollo, as como ofrecer la oportunidad de evaluar los riesgos y con un peso de la consideracin de la continuacin del proyecto durante todo el ciclo de vida. Cada viaje alrededor de la espiral atraviesa cuatro cuadrantes bsicos: (1) determinar objetivos, alternativas, y desencadenantes de la iteracin; (2) Evaluar alternativas; Identificar y resolver los riesgos; (3) desarrollar y verificar los resultados de la iteracin, y (4) plan de la prxima iteracin. Cada ciclo comienza con la identificacin de los interesados y sus condiciones de ganancia, y termina con la revisin y examinacin.

Rapid Application Development (RAD)




El desarrollo rpido de aplicaciones (RAD) es una metodologa de desarrollo de software, que implica el desarrollo iterativo y la construccin de prototipos. El desarrollo rpido de aplicaciones es un trmino originalmente utilizado para describir un proceso de desarrollo de software introducido por James Martn en 1991.

Principios bsicos:
 

  

Objetivo clave es para un rpido desarrollo y entrega de una alta calidad en un sistema de relativamente bajo costo de inversin. Intenta reducir el riesgo inherente del proyecto partindolo en segmentos ms pequeos y proporcionar ms facilidad de cambio durante el proceso de desarrollo. Orientacin dedicada a producir sistemas de alta calidad con rapidez, principalmente mediante el uso de iteracin por prototipos (en cualquier etapa de desarrollo), promueve la participacin de los usuarios y el uso de herramientas de desarrollo computarizadas. Estas herramientas pueden incluir constructores de Interfaz grafica de usuario (GUI), Computer Aided Software Enginnering (CASE) las herramientas, los sistemas de gestin de base de datos (DBMS), lenguajes de programacin de cuarta generacin, generadores de cdigo, y tcnicas orientada a objetos. La participacin activa de los usuarios es imprescindible. Iterativamente realiza la produccin de software, en lugar de enfocarse en un prototipo. Produce la documentacin necesaria para facilitar el futuro desarrollo y mantenimiento.

Proceso Unificado de Rational




El Proceso Racional Unificado (Rational Unified Process en ingls, habitualmente resumido como RUP) es un proceso de desarrollo de software y junto con el Lenguaje Unificado de Modelado UML, constituye la metodologa estndar ms utilizada para el anlisis, implementacin y documentacin de sistemas orientados a objetos. El RUP no es un sistema con pasos firmemente establecidos, sino un conjunto de metodologas adaptables al contexto y necesidades de cada organizacin. Tambin se conoce por este nombre al software desarrollado por Rational, hoy propiedad de IBM, el cual incluye informacin entrelazada de diversos artefactos y descripciones de las diversas actividades. Est incluido en el Rational Method Composer (RMC), que permite la personalizacin de acuerdo con las necesidades. Originalmente se dise un proceso genrico y de dominio pblico, el Proceso Unificado, y una especificacin ms detallada, el Rational Unified Process, que se vendiera como producto independiente.

Principios de desarrollo


El RUP est basado en 6 principios clave que son los siguientes:


     

Adaptar el proceso Equilibrar prioridades Demostrar valor iterativamente Colaboracin entre equipos Elevar el nivel de abstraccin Enfocarse en la calidad

Principales caractersticas
       

Forma disciplinada de asignar tareas y responsabilidades (quin hace qu, cundo y cmo) Pretende implementar las mejores prcticas en Ingeniera de Software Desarrollo iterativo Administracin de requisitos Uso de arquitectura basada en componentes Control de cambios Modelado visual del software Verificacin de la calidad del software

Fases
  

Establece oportunidad y alcance Identifica las entidades externas o actores con las que se trata Identifica los casos de uso

RUP comprende 2 aspectos importantes por los cuales se establecen las disciplinas:  'Proceso': Las etapas de esta seccin son: (Revise nuevamente la grfica)
     

Modelado de negocio Requisitos Anlisis y Diseo Implementacin Pruebas Despliegue Gestin del cambio y configuraciones Gestin del proyecto Entorno

Soporte: En esta parte nos encontramos con las siguientes etapas:


  

Comentarios sobre Alcance del RUP




La metodologa RUP es ms apropiada para proyectos grandes (Aunque tambin pequeos), dado que requiere un equipo de trabajo capaz de administrar un proceso complejo en varias etapas. En proyectos pequeos, es posible que no se puedan cubrir los costos de dedicacin del equipo de profesionales necesarios

Programacin extrema (XP)




Es el ms destacado de los procesos giles de desarrollo de software. Al igual que stos, la programacin extrema se diferencia de las metodologas tradicionales principalmente en que pone ms nfasis en la adaptabilidad que en la previsibilidad. Se puede considerar la programacin extrema como la adopcin de las mejores metodologas de desarrollo de acuerdo a lo que se pretende llevar a cabo con el proyecto, y aplicarlo de manera dinmica durante el ciclo de vida del software.

Valores


Los Valores originales de la programacin extrema son:


    

Simplicidad: Comunicacin: Retroalimentacin (feedback):. Coraje o valenta: Respeto:

Caractersticas fundamentales
Las caractersticas fundamentales del mtodo son:  Desarrollo iterativo e incremental: pequeas mejoras, unas tras otras.  Pruebas unitarias continuas, frecuentemente repetidas y automatizadas, incluyendo pruebas de gestin.  Programacin en parejas: se recomienda que las tareas de desarrollo se lleven a cabo por dos personas en un mismo puesto.  Frecuente integracin del equipo de programacin con el cliente o usuario. Se recomienda que un representante del cliente trabaje junto al equipo de desarrollo.  Correccin de todos los errores antes de aadir nueva funcionalidad.  Refactorizacin del cdigo, es decir, reescribir ciertas partes del cdigo para aumentar su legibilidad y mantenibilidad pero sin modificar su comportamiento.  Propiedad del cdigo compartida: promueve el que todo el personal pueda corregir y extender cualquier parte del proyecto.  Simplicidad en el cdigo: es la mejor manera de que las cosas funcionen. Cuando todo funcione se podr aadir funcionalidad si es necesario.

Agile Unified Process




El Proceso Unificado Agil de Scott Ambler o Agile Unified Process (AUP) en ingls es una versin simplificada del Proceso Unificado de Rational (RUP). Este describe de una manera simple y fcil de entender la forma de desarrollar aplicaciones de software de negocio usando tcnicas giles y conceptos que an se mantienen vlidos en RUP. El AUP aplica tcnicas giles incluyendo Desarrollo Dirigido por Pruebas (test driven development TDD), Modelado Agil, Gestin de Cambios Agil, y Refactorizacin de Base de Datos para mejorar la productividad

Otros enfoques de desarrollo de software




Metodologas de desarrollo Orientado a objetos, Disea orientado a objetos (OOD) de Grady Booch, tambin conocido como Anlisis y Diseo Orientado a Objetos (OOAD). El modelo incluye seis diagramas: de clase, objeto, estado de transicin, la interaccin, mdulo, y el proceso. Top-down programming, evolucionado en la dcada de 1970 por el investigador de IBM Harlan Mills (y Niklaus Wirth) en Desarrollo Estructurado. Proceso Unificado, es una metodologa de desarrollo de software, basado en UML. Organiza el desarrollo de software en cuatro fases, cada una de ellas con la ejecucin de una o ms iteraciones de desarrollo de software: creacin, elaboracin, construccin, y las directrices. Hay una serie de herramientas y productos diseados para facilitar la aplicacin. Una de las versiones ms populares es la de Rational Unified Process.

UNIVERSIDAD TECNICA JOSE PERALTA


ANALISIS DE SISTEMAS Metodologa de desarrollo de Software NOMBRE: Karina Rivera . CATEDRATICO: Ing. Jaime Sayago

Вам также может понравиться