Metodologias de desarrollo de software

12
IUTEB PNF EN INFORMATICA PROYECTO SOCIOTECNOLOGICO III TRAYECTO III SEMESTRE VI SECCION T1 VI METODOLOGIAS DE DESARROLLO DE SOFTWARE METODOLOGIAS TRADICIONALES METODOLOGIAS AGILES Son aquellas metodologías con mayor énfasis en la planificación y control del proyecto, en especificación precisa de requisitos y modelado, reciben el apelativo de Metodologías Tradicionales (o también denominadas Metodologías Pesadas, o Peso Pesado). Metodologías Ágiles, están más orientadas a una fuerte planificación durante todo el proceso de desarrollo; llamadas también metodologías tradicionales o clásicas, donde se realiza una intensa etapa de análisis y diseño antes de la construcción del sistema. CARACTERISTICAS PRINCIPALES

Transcript of Metodologias de desarrollo de software

Page 1: Metodologias de desarrollo de software

IUTEB PNF EN INFORMATICA PROYECTO SOCIOTECNOLOGICO III

TRAYECTO III SEMESTRE VI SECCION T1 VI

METODOLOGIAS DE DESARROLLO DE SOFTWARE

METODOLOGIAS TRADICIONALES METODOLOGIAS AGILES

Son aquellas metodologías con mayor énfasis en la planificación y control del proyecto, en especificación precisa de requisitos y modelado, reciben el apelativo de Metodologías Tradicionales (o también denominadas Metodologías Pesadas, o Peso Pesado).

Metodologías Ágiles, están más orientadas a una fuerte planificación durante todo el proceso de desarrollo; llamadas también metodologías tradicionales o clásicas, donde se realiza una intensa etapa de análisis y diseño antes de la construcción del sistema.

CARACTERISTICAS PRINCIPALES

XP SCRUM WATCH MERINDE RUP

Las características fundamentales del método son:

*Equipos autodirigidos.*Utiliza reglas para crear un entorno ágil de

1-Está sólidamente fundamentado.- Posee una base conceptual y

*Apoya las comunidades de desarrollo de software

*Forma disciplinada de asignar tareas y responsabilidades

Page 2: Metodologias de desarrollo de software

Desarrollo iterativo e incremental: pequeñas mejoras, unas tras otras.Pruebas unitarias continuas, frecuentemente repetidas y automatizadas, incluyendo pruebas de regresión. Se aconseja escribir el código de la prueba antes de la codificación.Frecuente integración del equipo de programación con el cliente o usuario. Se recomienda que un representante del cliente trabaje junto al equipo de desarrollo.Corrección de todos los errores antes de añadir nueva funcionalidad. Hacer entregas frecuentes.Refactorización del código, es decir, reescribir ciertas partes

administración de proyectos.*No prescribe prácticas específicas de ingeniería.*Los requerimientos se capturan como ítems de la lista Product Backlog.*El producto se construye en una serie de Sprints de un mes de duración.

metodológica muy bien sustentada. En concreto, el método emplea una arquitectura de dominio de tres capas que define los elementos

2) Es estructurado y modular.- Posee una clara estructura que facilita su comprensión y utilización. Esta estructura separa los tres elementos primordiales de un método: el producto que se quiere elaborar, los actores que lo elaboran y el proceso que siguen los actores para elaborar el producto. Estos tres elementos definen los tres componentes del método WATCH: modelo de productos, modelo de actores y modelo de procesos.

ampliamente utilizadas para el desarrollo de software y la freingenieria del proceso del negocio.*Pretende entre sus principales objetivos apoyar a la s comunidades de desarrollo de softwareblibre ben sus proyectos.*Abarca el desarrollo completo de sistemas de software de diversas, complejidad y magnitud por lo cual su estructura responde a cdesarrollos maximos y debera adaptarse y dimensionarse en cada momentos.

(quién hace qué, cuándo 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 del software.*Verificación de la calidad del software.

Page 3: Metodologias de desarrollo de software

del código para aumentar su legibilidad y mantenibilidad pero sin modificar su comportamiento. Las pruebas han de garantizar que en la refactorización no se ha introducido ningún fallo.

Simplicidad en el código: es la mejor manera de que las cosas funcionen. Cuando todo funcione se podrá añadir funcionalidad si es necesario. La programación extrema apuesta que es más sencillo hacer algo simple y tener un poco de trabajo extra para cambiarlo si se requiere, que realizar algo complicado y quizás nunca utilizarlo.

3) Es de propósito específico.- El método está dirigido al desarrollo de aplicaciones geográficas en entornos empresariales; es decir, al desarrollo de sistemas de información de carácter corporativo que estén orientados al manejo de datos e información geográfica. Esta orientación concreta y específica resuelve los problemas que tienen la mayoría de los métodos comerciales y académicos existentes, cuya generalidad va en detrimento de su aplicabilidad en sistemas muy especializados, tales como los SIG y SIE.

Page 4: Metodologias de desarrollo de software

4) Es flexible y adaptable.-

5) Emplea las mejores prácticas del desarrollo de software.-

CICLOS DE CADA METODOLOGIA DE DESARROLLO DE SOFTWARE

METODOLOGIA CICLORUP Fases del ciclo de vida del RUP:

1. Fase de Inicio: Esta fase tiene como propósito definir y acordar el alcance del proyecto con los patrocinadores, identificar los riesgos asociados al proyecto, proponer una visión muy general de la arquitectura de software y producir el plan de las fases y el de iteraciones posteriores.

2. Fase de elaboración: En la fase de elaboración se seleccionan los casos de uso que permiten definir la arquitectura base del sistema y se desarrollaran en esta fase, se realiza la especificación de los casos de uso seleccionados y el primer análisis del dominio del problema, se diseña la solución preliminar.

3. Fase de Desarrollo: El propósito de esta fase es completar la funcionalidad del sistema, para ello se deben clarificar los requerimientos pendientes, administrar los cambios de acuerdo a las evaluaciones realizados por los usuarios y se realizan las mejoras para el proyecto.

4. Fase de Cierre: El propósito de esta fase es asegurar que el software esté disponible para los usuarios finales, ajustar los errores y defectos encontrados en las pruebas de aceptación, capacitar a los usuarios

Page 5: Metodologias de desarrollo de software

y proveer el soporte técnico necesario. Se debe verificar que el producto cumpla con las especificaciones entregadas por las personas involucradas en el proyecto.

MERINDECiclos de vida de merinde:1.- InicioSu proposito general es establecer los objetivos para el ciclo de vida del producto durante esta fase se define el modelo del negocio y el alcance del proyecto. Se identifica los actores y casos de uso. Se desarrolla un plan denegocio para determinar que curso deben ser asignados al proyecto. Esta fase con el establecimiento del ambiento del producto e identificacion de los principales riesgos y la viabilidad del proyecto.Objetivos espeecificos de esta fase:

Establecer el ambito del proyecto y sus limites. encontar los casos de uso criticos del sistema, los escenarios basicos que definen la

funcionalidad.2.- Elaboracion.Su objetivo es plantear la arquitectura para el ciclo de vida del producto se construye un modelo de arquitectura que se desarrolla en iterativas sucesivas hasta obtener el producto final, este prototipo debe contener los casos de uso criticos que fueron identificados en la fase de inicio. En esta fase se realiza la captura de la mayor parte de los requerimientos funcionales, manejando los riesgos que interfieran con los objetivos del sistema, acumulando la informacion necesaria para el plan de construccion y obteniendo sufiente informacion para hacer realizable el caso del negocio.En esta fase de elaboracion finaliza con obtencion de una linea base de la arquitectura del sistema, la captura de la mayoria de los requerimientos y la reduccion de los riesgos importantes asi como permitir la escabilidad del proyecto durante la fase de construccion.Los objetivos especificos de esta fase son:

Definir, validar y establecer la arquitectura. comprobar la vision.

Page 6: Metodologias de desarrollo de software

3.- Construccion.Esta fase es alcanzar la capacidad operacional del producto de forma incrementar a traves de las sucesivas iteraciones. En esta fase todas las caracteristicas, componentes y requerimientos debe intengrados, implementados y probados en su totalidad, obteniendo una version aaceptable del producto comunmente llamado version beta.Los objetivos especificos de esta fase son:

Minimizar los costos de desarrollo mediante a optimizacion de rescursos y evitando el tener que dehacer un trabajo o incluson de desecharla.

conseguir una calidad adecuada tan rapido como sea practico.

4.- Transicion.Esta fase tiene como objetivo entregar el producto funcional en manos de los usarios finales una vez realizadass las pruebas de caeptacion por un grupo especial de usuarios, para lo que se requerira desarrollar nuevas versiones actualizadas del producto, entrenar a los finales finales una vez realizaadaas las pruebas de aceptacion por un grupo especial de uysuarios para lo que requerira desarrollar nuevas versiones actualizads del producto , entrenar a los usuarios en el manejo del sistema, completar la documentacion y en general tareas relacionadas con la configuracion, instalacion y usabilidad del producto.

objetivos de esta fase: Garantizar que el usuario aprenda a operar y mantener el sistema. Conseguir un producto final que cumpla con os requerimientos esperados.

WATCH

Page 7: Metodologias de desarrollo de software

XP1.- Planificación del proyecto.Historias de usuario: El primer paso de cualquier proyecto que siga la metodología X.P es definir las historias de usuario con el cliente.2.- Diseño. Diseños simples: La metodología X.P sugiere que hay que conseguir diseños simples y sencillos. Hay que procurar hacerlo todo lo menos complicado posible para conseguir un diseño fácilmente entendible e impleméntable que a la larga costará menos tiempo y esfuerzo desarrollar.3.-Codificación.El cliente es una parte más del equipo de desarrollo; su presencia es indispensable en las distintas fases de X.P. A la hora de codificar una historia de usuario su presencia es aún más necesaria. No olvidemos que los clientes son los que crean las historias de usuario y negocian los tiempos en los que serán implementadas. Antes del desarrollo de cada historia de usuario el cliente debe especificar detalladamente lo que ésta hará y también tendrá que estar presente cuando se realicen los test que verifiquen que la historia implementada cumple la funcionalidad especificada.4.-Pruebas.Uno de los pilares de la metodología X.P es el uso de test para comprobar el funcionamiento de los códigos que vayamos implementando.

SCRUM Fase de inicio

Page 8: Metodologias de desarrollo de software

En esta fase se pantea la visión que tiene el equipo o desarrollador en cuanto a lo que será el sistema, se fijan los propósitos o fines principales para el ciclo de vida del producto. Durante la fase de inicio se establece el mecanismo por el cual el producto le proveerá beneficios al usuario final o bien sea al cliente. Se describen todos los actores y casos de usos del producto y además se debe crear o implementar un plan de negocio para definir los recursos que se asignaran al proyecto. Para finalizar esta fase se deben haber tomado en cuenta los costos en recursos, el tiempo total del proyecto, los riesgos e incertidumbres que pueda generar, además de su viabilidad.

Fase de Elaboración

El propósito específico que tiene la fase de elaboración es proyectar la manera en que se va a realizar la arquitectura para el ciclo de vida del producto, es decir, para su evolución durante su uso o bien sea su permanencia en cuanto a funcionamiento, se elabora una arquitectura en diversas interacciones hasta lograr el producto deseado. Esta fase debe seguir el patrón de todos los casos de uso planteados en la fase de inicio.

Además se deben considerar la mayoría de las exigencias funcionales, tomando en cuenta los riesgos que puedan afectar los fines del sistema para que de esta manera pueda hacerse realizable el producto en cuestión.

La fase de elaboración concluye cuando el equipo del proyecto tiene en claro los riesgos principales que puedan afectar al producto, de manera de saber cuáles son los requerimientos en cuanto a la realización de este, además de la evolución que este tendrá.

Fase de Construcción

Una vez que el equipo este en esta fase deben tener como meta o finalidad lograr la disposición o capacidad operativa del producto, considerando que en dicho producto deben de estar incluidas todas las propiedades, elementos, requisitos y/o exigencias, las cuales previamente deben haber sido evaluadas y probadas totalmente, obteniendo de esta manera una versión del producto que sea aprobada o admisible para quien vaya a hacer uso de esta.

En conclusión, el objetivo de esta fase es el desarrollo total del sistema ya preparado para la fase de transición, debe haber sido probada toda su funcionalidad y aplicación de manera de evitar que sea pospuesta la fase de

Page 9: Metodologias de desarrollo de software

transición por incumplimiento de los criterios de esta fase.