Está en la página 1de 15

MODULO: METODOLOGÍAS DE DESARROLLO DE SOFTWARE.

PROFESOR: Eduardo Rojas Zamorano.

INTEGRANTES: Moisés Chamorro López.


José Ríos Silva.
Francisco Rodríguez
Sebastián Rojas Cerda

“METODOLOGÍAS ÁGILES Y COMPLEJAS


DE INGENIERÍA DE SOFTWARE”

2019
INTRODUCCIÓN.

El término ingeniería del software empezó a conocerse en la década de los sesenta, este se usó
para expresar el área de conocimiento que se estaba desarrollando en torno a las problemáticas
que ofrecían el desarrollo de los softwares de la época. El crecimiento espectacular de la
demanda de sistemas de computación cada vez más complejos, asociado a la inmadurez del
propio sector informático y a la falta de metodologías, recursos y procesos provocó una crisis en
el desarrollo de software. Durante esa década muchos proyectos importantes superaban con
creces los presupuestos y fechas estimados la comúnmente llamada crisis del software finalizó y
se comenzó a progresar en los procesos de diseño y metodologías en el área de la informática.
Posterior a la crisis se conocieron las primeras metodologías, cada nuevo modelo representa
un proceso desde una perspectiva particular y así proporcione información parcial sobre el
proceso. Estos modelos generales no son descripciones definitivas de los procesos del software
más bien son metodologías abstractas de los procesos que se pueden utilizar para el desarrollo del
software. Puede pensarse en ellos como marcos de trabajo del proceso y que pueden ser
adaptados para crear procesos más específicos. Los modelos que mencionaremos en este trabajo
y dentro de los que se explicaran se encuentra el modelo en V. Este considera las actividades
fundamentales del proceso especificación, desarrollo, validación y evolución. Los representa
como fases separadas del proceso, tales como la especificación de requerimientos, el diseño del
software, la implementación, las pruebas, etcétera.
Este trabajo presentará algunas metodologías y sus características, explicando de una forma
clara y sencilla sus formas para desarrollar un software eficiente.

Actividad Evaluada
1- Investigar más características de cada metodología.
2- Seleccionar y Justificar elección de una metodología de software, para los siguientes
Sistemas.

DESARROLLO.

1. METODOLOGÍA SCRUM.
El término Scrum fue conocido y definido por IKUJIRO NONAKA E HIROTAKA TAKEUCHI
en los años 80, cuando las principales empresa de desarrollo tecnológica empezaban a dominar el
mercado y a definir conductas de trabajo. Ambos publicaron en 1986 en la Harvard Business
Review donde se señalaba como “El nuevo juego para el desarrollo de productos”. Así abrieron
una caja que durante los próximos años que ha evolucionado y se ha extendido por muchos
sectores, no sólo el tecnológico.
Entonces podemos definir a esta metodología Scrum como una metodología ágil y flexible para
gestionar el desarrollo de software, cuyo principal objetivo es maximizar el retorno de la
inversión para su empresa y se basa en construir primero la funcionalidad de mayor valor para el
cliente y en los principios de inspección continua, adaptación, autogestión e innovación.
MÉTODO DE TRABAJO.
El plan de acción se compone de una secuencia conocidos como Sprint, unidades técnicas o
procedimientos que tienen un significado completo en sí mismo y que suelen contener los
resultados del esfuerzo realizado durante dos semanas.

Al organizar el trabajo de esta forma secuencial, el equipo tiene la oportunidad de perfeccionar


cada sprint en la fase siguiente. Además, al concretar el proyecto general en pequeños bloques de
contenido, el equipo tiene una mayor flexibilidad para ir avanzando etapas del proceso sin tener
que esperar hasta el resultado final. De este modo, los logros del plan de acción comienzan a
observarse incluso antes de haber llegado a la meta. 
Esto es especialmente práctico para el cliente que puede evaluar su nivel de satisfacción con el
desarrollo de su encargo, evitando el riesgo de la disconformidad en la entrega definitiva. Los
participantes en ese reto tienen una mayor capacidad de influencia para hacer mejoras. Es
entonces cuando una metodología puede considerarse verdaderamente ágil. 

ROLES EN LA METODOLOGÍA SCRUM. 


Estos son los tres agentes más importantes de la metodología Scrum:

1. PRODUCT OWNER: Es quien ocupa este papel tiene la responsabilidad de dialogar con el
cliente y de garantizar que el equipo está trabajando según lo previsto. Este papel debe asumirse
de manera individual, no debe existir lucha de poder en torno a esta competencia.
2. El Scrum Máster: Es el perfil de quien comprueba que los integrantes del proyecto alcanzan
sus metas realizando un proceso de acompañamiento constante. Desde su posición, ayuda al
grupo a adquirir las habilidades necesarias para el perfecto desarrollo de sus funciones.
3. El Scrum Team: Es la base de esta metodología ágil puesto que es un equipo capaz de trabajar
de manera autónoma en beneficio del producto principal.
EJEMPLOS DONDE SE UTILIZA SCRUM.
Un ejemplo de caso de éxito utilizando la metodología Scrum es Spotify, ya que dieron mucha
importancia al rol del Scrum Máster y al del Product Owner, que se han visto en otras empresas,
gracias a esta metodología, se descubrieron y entendieron las necesidades reales de los clientes y
realizaron un buen trabajo de equipo coordinándose en la empresa.
Apple es otra de las empresas más populares que gestionan sus proyectos a través de técnicas
Scrum. Esta distribuye y planifica las tareas, asumen responsabilidades individuales y por equipo,
dan mucha importancia al proceso de testeo de los productos y destinan parte de su presupuesto
al desarrollo de proyectos ágiles.

2. METODOLOGÍA DRA.
Esta metodología ágil es un proceso de desarrollo de software, desarrollado inicialmente por
James Martin en 1980. El método comprende el desarrollo iterativo, la construcción de prototipos
y el uso de utilidades CASE. Tradicionalmente, el desarrollo rápido de aplicaciones tiende a
englobar también la usabilidad, utilidad y la rapidez de ejecución. El Desarrollo Rápido de
Aplicaciones conocido como DRA (Rapid Application Development), es un modelo de proceso
del desarrollo del software lineal secuencial que enfatiza un ciclo de desarrollo extremadamente
corto. Esta adaptación a “Alta velocidad” en el que se logra el desarrollo rápido utilizando un
enfoque de construcción basado en componentes. Si se comprenden bien los requisitos y se limita
el ámbito del proyecto, el proceso DRA permite al equipo de desarrollo crear un sistema
completamente funcional dentro de periodos cortos de tiempo.

FASES DE LA METODOLOGÍA DRA.


Modelado de gestión: el flujo de información entre las funciones de gestión se modela de forma
que responda a las siguientes preguntas: ¿Qué información conduce el proceso de gestión? ¿Qué
información se genera? ¿Quién la genera? ¿A dónde va la información? ¿Quién la proceso?

Modelado de datos: el flujo de información definido como parte de la fase de modelado de


gestión se refina como un conjunto de objetos de datos necesarios para apoyar la empresa. Se
definen las características llamadas atributos de cada uno de los objetos y las relaciones entre
estos objetos.
Modelado de proceso: los objetos de datos definidos en la fase de modelado de datos quedan
transformados para lograr el flujo de información necesario para implementar una función de
gestión. Las descripciones del proceso se crean para añadir, modificar, suprimir, o recuperar un
objeto de datos. Es la comunicación entre los objetos.

Generación de aplicaciones: El DRA asume la utilización de técnicas de cuarta generación. En


lugar de crear software con lenguajes de programación de tercera generación, el proceso DRA
trabaja para volver a utilizar componentes de programas ya existentes cuando es posible o a crear
componentes reutilizables (cuando sea necesario). En todos los casos se utilizan herramientas
automáticas para facilitar la construcción del software.

Pruebas de entrega: Como el proceso DRA enfatiza la reutilización, ya se han comprobado


muchos de los componentes de los programas. Esto reduce tiempo de pruebas. Sin embargo, se
deben probar todos los componentes nuevos y se deben ejercitar todas las interfaces a fondo.
CARACTERÍSTICAS Y VENTAJAS DEL MODELO DRA.
Debido a que el software o aplicación se requiere lo más pronto posible no existe una
especificación del sistema detallada.
 El software no se desarrolla y utiliza en su totalidad, sino en una serie de incrementos, donde
en cada incremento se incluyen nuevas funcionalidades al sistema.
 A menudo se desarrollan las interfaces de usuario del sistema utilizando un sistema de
desarrollo interactivo que permite que el diseño de la interfaz se cree rápidamente dibujando y
colando iconos en la interfaz.
 Para su desarrollo se utilizan herramientas de desarrollo visual para agilizar el proceso.
 Se necesitan equipos compuestos por alrededor de seis personas, incluyendo desarrolladores y
usuarios de tiempo completo, así como aquellas personas involucradas en los requisitos.

VENTAJAS.

 Los entregables pueden ser fácilmente trasladados a otra plataforma.


 El desarrollo se realiza a un nivel de abstracción mayor.
 Entrega temprana al cliente.
 Compromiso del cliente con el sistema.
 Mayor flexibilidad.
 Menor codificación manual.
 Mayor involucramiento de los usuarios.
 Posiblemente menos fallas.
 Posiblemente menor costo.
 Ciclos de desarrollo más pequeños.
 Interfaz gráfica estándar.

3. METODOLOGÍA EN V.
El modelo en V es una variación del modelo en cascada que muestra cómo se relacionan las
actividades de prueba con el análisis y el diseño. Como se muestra en la figura de más adelante,
la codificación forma el vértice de la V, con el análisis y el diseño a la izquierda y las pruebas y
el mantenimiento a la derecha.
La unión mediante líneas discontinuas entre las fases de la parte izquierda y las pruebas de la
derecha representa una doble información. Por un lado, sirve para indicar en qué fase de
desarrollo se deben definir las pruebas correspondientes. Por otro sirve para saber a qué fase de
desarrollo hay que volver si se encuentran fallos en las pruebas correspondientes.
Por lo tanto, el modelo en V hace más explícita parte de las iteraciones y repeticiones de trabajo
que están ocultas en el modelo en cascada. Mientras el foco del modelo en cascada se sitúa en los
documentos y productos desarrollados, el modelo en V se centra en las actividades y la
corrección.
Ventajas y desventajas del Modelo en “V”

VENTAJAS:
 La relación entre las etapas de desarrollo y los distintos tipos de pruebas facilitan la
localización de fallos.
 Es un modelo sencillo y de fácil aprendizaje.
 Hace explícito parte de la iteración y trabajo que hay que revisar.
 Especifica bien los roles de los distintos tipos de pruebas a realizar.
 Involucra al usuario en las pruebas.

DESVENTAJAS:
 Es difícil que el cliente exponga explícitamente todos los requisitos.
 El cliente debe tener paciencia pues obtendrá el producto al final del ciclo de vida.
 Las pruebas pueden ser caras y, a veces, no lo suficientemente efectivas.
 El producto final obtenido puede que no refleje todos los requisitos del usuario.
4. METODOLOGÍA XP.
Es una de las llamadas metodologías ágiles de desarrollo de software más exitosas de los tiempos
recientes. La metodología propuesta en XP está diseñada para entregar el software que los
clientes necesitan en el momento en que lo necesitan.
XP entrega a los desarrolladores a responder a los requerimientos cambiantes de los clientes, aún
en fases tardías del ciclo de vida del desarrollo.
La clave del proceso de desarrollo de XP es la comunicación entre sus fases una gran mayoría de
los problemas en los proyectos de desarrollo son provocados por falta de comunicación en el
equipo, así que se pone un gran énfasis en facilitar que la información fluya lo más
eficientemente posible.
FASES DE LA METODOLOGÍA XP.

FASE DE EXPLORACIÓN.
Es la fase en la que se define el alcance general del proyecto. En esta fase, el cliente define lo que
necesita mediante la redacción de sencillas “historias de usuarios”. Los programadores estiman
los tiempos de desarrollo en base a esta información. Debe quedar claro que las estimaciones
realizadas en esta fase son primarias.

FASE DE PLANIFICACIÓN.
La planificación es una fase corta, en la que el cliente, los gerentes y el grupo de desarrolladores
acuerdan el orden en que deberán implementarse las historias de usuario y asociadas a éstas las
entregas. Típicamente esta fase consiste en una o varias reuniones grupales de planificación.

FASE DE ITERACIONES.
Esta es la fase principal en el ciclo de desarrollo de XP. Las funcionalidades son desarrolladas en
esta fase, generando al final de cada una un entregable funcional que implementa las historias de
usuario asignadas a la iteración. Como las historias de usuario no tienen suficiente detalle como
para permitir su análisis y desarrollo, al principio de cada iteración se realizan las tareas
necesarias de análisis, recabando con el cliente todos los datos que sean necesarios. El cliente,
por lo tanto, también debe participar activamente durante esta fase del ciclo.

FASE DE PUESTA EN PRODUCCIÓN.


Si bien al final de cada iteración se entregan módulos funcionales y sin errores, puede ser
deseable por parte del cliente no poner el sistema en producción hasta tanto no se tenga la
funcionalidad completa. En esta fase no se realizan más desarrollos funcionales, pero pueden ser
necesarias tareas de ajuste.

CARACTERISTICAS DE LA METODOLOGÍA XP.


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.
Programación en parejas: se recomienda que las tareas de desarrollo se lleven a cabo por dos
personas en un mismo puesto. Se supone que la mayor calidad del código escrito de esta manera
el código es revisado y discutido mientras se escribe es más importante que la posible pérdida de
productividad inmediata.
Integración del equipo de programación con el cliente: 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: rescribir ciertas partes 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.
Propiedad del código compartida: dividir la responsabilidad en el desarrollo de cada módulo en
grupos de trabajo distintos, este método promueve el que todo el personal pueda corregir y
extender cualquier parte del proyecto.
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.
5. METODOLOGÍA ESPIRAL.
El modelo en espiral, propuesto originalmente por Boehm, es un modelo de proceso de software
evolutivo que conjuga la naturaleza iterativa de construcción de prototipos con los aspectos
controlados y sistemáticos del modelo lineal secuencial. Proporciona el potencial para el
desarrollo rápido de versiones incrementales del software. En el modelo espiral, el software se
desarrolla en una serie de versiones incrementales. Durante las primeras iteraciones, la versión
incremental podría ser un modelo en papel o un prototipo. Durante las últimas iteraciones, se
producen versiones cada vez más completas del sistema diseñado.
El modelo en espiral se divide en un número de actividades de marco de trabajo, también
llamadas regiones de tareas. Generalmente, existen entre tres y seis regiones de tareas.

Comunicación con el cliente: Las tareas requeridas para establecer comunicación entre el
desarrollador y el cliente.
Planificación: Las tareas requeridas para definir recursos, el tiempo y otra información
relacionadas con el proyecto.
Análisis de riesgos: Las tareas requeridas para evaluar riesgos técnicos y de gestión.
Ingeniería: Las tareas requeridas para construir una o más representaciones de la aplicación.
Construcción y acción: Las tareas requeridas para construir, probar, instalar y proporcionar
soporte al usuario (por ejemplo: documentación y práctica).
Evaluación del cliente: Las tareas requeridas para obtener la reacción del cliente según la
evaluación de las representaciones del software creadas durante la etapa de ingeniería e
implementada durante la etapa de instalación.
Desarrollo de Casos.
Registro Civil ON-LINE: La metodología SCRUM es la que mejor se aplica a un software como
este, ya que está diseñada para maximizar el retorno de la inversión para una empresa y se basa en
construir primero la funcionalidad de mayor valor para el cliente y en los principios de inspección
continua, adaptación, autogestión e innovación.
Minimarket “Doña Juanita”: La metodología DRA nos ofrece la retroalimentación que nos
permite ir mejorando con cada presentación de avance y dirigiéndose más a los requisitos y
comodidades del cliente.
Diario La Tercera ON-LINE: La metodología en V permite una detección temprana de las
desviaciones y los riesgos y mejora la gestión de procesos, reduciendo así los riesgos del proyecto.
por lo tanto, es un modelo que se adapta mucho a softwares como este
Transantiago: La metodología en Espiral nos otorga los requerimientos necesarios para programas
que para su uso ya debe estar completo y sin fallas, una característica clave del desarrollo en espiral
es la minimización de los riesgos en el desarrollo de software.
Intranet AIEP: La metodología XP es más flexible a cambios se basa en la comunicación, la
reutilización del código desarrollado y la realimentación. tiene una planificación flexible y abierta,
también una rápida respuesta a cambios.
Red Social – para Amantes de la Tecnología: La metodología XP es flexible y nos permite
actualizar el software de forma más fácil, por lo que nos permite tener una red social en constante
cambio al día con la información.
CONCLUSIÓN.
Las metodologías ágiles tienen como punto fuerte la adaptación a cualquier cambio en un
proyecto para aumentar sus posibilidades de éxito. Una metodología ágil tiene varios principios
donde los individuos y sus interacciones son más importantes que los procesos y las herramientas.
El software que funciona es más importante que la documentación exhaustiva y dentro de esto la
colaboración con el cliente en lugar de negociación de contratos.

También podría gustarte