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

Tecnológico Nacional de México

Instituto Tecnológico de Tláhuac


Ing. Sistemas Computacionales

Fundamento de Ingeniería de Software

Docente: Ing. Olivia Martínez Lozano

Equipo 3:

 Aguilera Hidalgo Itzel


 Casillas Jiménez Arturo Kevin
 Chávez Cañares Martín
 Gutiérrez Valdez Oliver Kevin
 Trujillo Hernández Raymundo Alexis

5S1

Tema: Metodologías del Desarrollo del Software


Metodologías del Desarrollo de Software

Metodologías Agiles ................................................................................................................ 2


Metodologías Clásicas............................................................................................................... 7
Metodologías Agiles

SCRUM (FASES):
-Recogida de requisitos
El proceso comienza con la generación de la lista de objetivos o requisitos
priorizada, que actúa como plan del proyecto y que es entregada por el cliente o
dueño del producto al equipo. La lista de objetivos/requisitos priorizada
representa la visión y expectativas del cliente respecto a los objetivos y entregas
del producto o proyecto.
Es importante comprender que el cliente es el responsable de crear y gestionar
la lista con ayuda del líder del proceso, el Scrum master, que es el director del
proyecto y encargado de eliminar los obstáculos que impiden que el equipo de
desarrollo alcance el objetivo del sprint.
Esta etapa sería la “planificación” del proyecto, en un marco no ágil de trabajo.
-Gestión de backlog
Es el conjunto de funcionalidades y tareas a realizar. Para cada objetivo/requisito
se indica el valor que aporta al cliente y el costo estimado de completarlo,
velando por un equilibrio entre ambos en pos del ROI.
-Sprint Planning Meeting
Un sprint es una unidad de trabajo que agrupa un conjunto de tareas en un
periodo de tiempo. La primera iteración es de planificación y está compuesta por
dos partes:
Selección de requisitos: Es la iteración entre cliente y equipo, el momento en que
el equipo pregunta al cliente las dudas que surgen y se seleccionan los requisitos
más prioritarios que se comprometen a completar en la iteración. Tiene una
duración máxima de cuatro horas.
Planificación de la iteración: Se elabora la lista de tareas o acciones necesarias
para desarrollar los requisitos a los que se han comprometido. La estimación de
esfuerzo se hace de manera conjunta, siempre con el scrum master como
facilitador, y los miembros del equipo se autoasignan las tareas. La duración de
este ejercicio no debe superar las cuatro horas.
-Ejecución de sprint
En la metodología Scrum un proyecto se ejecuta en bloques temporales cortos
y fijos, llamados sprint, que son iteraciones de 2 semanas. Si se sobrepasa este
tiempo, como máximo un sprint puede tomar 4 semanas.
Daily Scrum Meeting: Todos los días, una vez comenzado el sprint, el equipo
realiza una reunión de coordinación. En estas sesiones diarias, cada miembro
del equipo revisa el trabajo que el resto está realizando.
En la reunión cada integrante debe responder a tres preguntas:
¿Qué he hecho desde la última reunión de sincronización?
¿Qué voy a hacer a partir de este momento?
¿Qué impedimentos tengo o voy a tener?
Estas reuniones son fundamentales en el proceso, ya que son instancias para
avanzar desde los procesos individuales que desarrolla cada miembro del equipo
a la colaboración de todos en el desarrollo.
-Inspección e iteración
El último día de la iteración se realiza la reunión de revisión de la iteración, y se
compone de dos partes:
Sprint Review: El equipo desarrollador presenta al cliente los requisitos
completados en la iteración, en forma de incremento de producto preparado para
ser entregado. El cliente revisa el entregable y se adaptan las mejoras
necesarias.
Sprint Retrospective: En esta fase el equipo analiza cómo ha sido su manera de
trabajar y cuáles son los problemas que podrían impedirle progresar
adecuadamente, enfocando el proceso a la mejora continua del equipo.
Todas las instancias de reunión se deben cronometrar y respetar en el marco de
tiempos establecidos. Esta variable es fundamental para mantener los esfuerzos
enfocados en el desarrollo del producto.
XP(FASES):
-Planificación del proyecto.
Define la historia de usuario con el cliente. Las historias de usuario tienen la
misma finalidad que los casos de uso pero con algunas diferencias.
-Diseño.
Consiste en los diseños simples y sensillos. Se usa un glosario de términos y
una correcta especificación de los nombres de métodos y clases. Si surgen
problemas potenciales, XP sugiere utilizar una pareja de desarrollo para que
investiguen y reduzcan al máximo el riego.

-Codificación.
La codificación debe hacerse atendiendo a estándares de codificación ya
creados. Programar bajo estándares mantiene el código consistente y facilita
su comprensión y escalabilidad.
-Pruebas.
Se comprueba el código que se va implementando

KANBAN (FASES):
-Definir el flujo de trabajo de los proyectos
Para ello, simplemente deberemos crear nuestro propio tablero, que deberá ser
visible y accesible por parte de todos los miembros del equipo. Cada una de las
columnas corresponderá a un estado concreto del flujo de tareas, que nos
servirá para saber en qué situación se encuentra cada proyecto. El tablero
debe tener tantas columnas como estados por los que pasa una tarea, desde
que se inicia hasta que finaliza (p.e: diagnóstico, definición, programación,
ejecución, testing, etc.).
-Visualizar las fases del ciclo de producción
Al igual que Scrum, Kanban se basa en el principio de desarrollo incremental,
dividiendo el trabajo en distintas partes. Esto significa que no hablamos de la
tarea en sí, sino que lo dividimos en distintos pasos para agilizar el proceso de
producción.
-Stop Starting, start finishing
Este es el lema principal de la metodología Kanban. De esta manera, se
prioriza el trabajo que está en curso en vez de empezar nuevas tareas.
Precisamente, una de las principales aportaciones del Kanban es que el trabajo
en curso debe estar limitado y, por tanto, existe un número máximo de tareas a
realizar en cada fase.
-Control del Flujo
A diferencia de SCRUM, la metodología Kanban no se aplica a un único
proyecto, sino que mezcla tareas y proyectos. Se trata de mantener a los
trabajadores con un flujo de trabajo constante, las tareas más importantes en
cola para ser desarrolladas y un seguimiento pasivo para no tener que
interrumpir al trabajador en cada momento.

FDD(Fases):
1. Desarrollar un modelo global: Al inicio del desarrollo se construye un
modelo teniendo en cuenta la visión, el contesto y los requisitos que
debe tener el sistema a construir. Este modelo se divide en áreas que se
analizan detalladamente. Se construye un diagrama de clases por cada
área.
2. Construir una lista de los rasgos: Se elabora una lista que resuma las
funcionalidades que debe tener el sistema, cuya lista es evaluada por el
cliente. Cada funcionalidad de la lista se divide en funcionalidades más
pequeñas para un mejor entendimiento del sistema.
3. Planear por rasgo: Se procede a ordenar los conjuntos de
funcionalidades conforme a su prioridad y dependencia, y se asigna a
los programadores jefes.
4. Diseñar por rasgo: Se selecciona un conjunto de funcionalidades de la
lista. Se procede a diseñar y construir la funcionalidad mediante un
proceso iterativo, decidiendo que funcionalidad se van a realizar en cada
iteración. Este proceso iterativo incluye inspección de diseño,
codificación, pruebas unitarias, integración e inspección de código.
Metodologías Clásicas

Cascada(Fases)
1. Análisis de requisitos
En esta fase se analizan las necesidades de los usuarios finales del software
para determinar qué objetivos debe cubrir. De esta fase surge una memoria
llamada SRD (documento de especificación de requisitos), que contiene la
especificación completa de lo que debe hacer el sistema sin entrar en detalles
internos. Es importante señalar que en esta etapa se debe consensuar todo lo
que se requiere del sistema y será aquello lo que seguirá en las siguientes
etapas, no pudiéndose requerir nuevos resultados a mitad del proceso de
elaboración del software.
2. Diseño del Sistema
Se descompone y organiza el sistema en elementos que puedan elaborarse
por separado, aprovechando las ventajas del desarrollo en equipo. Como
resultado surge el SDD (Documento de Diseño del Software), que contiene la
descripción de la estructura relacional global del sistema y la especificación de
lo que debe hacer cada una de sus partes, así como la manera en que se
combinan unas con otras. Es conveniente distinguir entre diseño de alto nivel o
arquitectónico y diseño detallado. El primero de ellos tiene como objetivo definir
la estructura de la solución (una vez que la fase de análisis ha descrito el
problema) identificando grandes módulos (conjuntos de funciones que van a
estar asociadas) y sus relaciones. Con ello se define la arquitectura de la
solución elegida. El segundo define los algoritmos empleados y la organización
del código para comenzar la implementación.
3. Diseño del Programa
Es la fase en donde se realizan los algoritmos necesarios para el cumplimiento
de los requerimientos del usuario así como también los análisis necesarios
para saber que herramientas usar en la etapa de Codificación.
4. Codificación
Es la fase en donde se implementa el código fuente, haciendo uso de
prototipos así como de pruebas y ensayos para corregir errores. Dependiendo
del lenguaje de programación y su versión se crean las bibliotecas y
componentes reutilizables dentro del mismo proyecto para hacer que la
programación sea un proceso mucho más rápido.
5. Pruebas
Los elementos, ya programados, se ensamblan para componer el sistema y se
comprueba que funciona correctamente y que cumple con los requisitos, antes
de ser entregado al usuario final.
6. Verificación
Es la fase en donde el usuario final ejecuta el sistema, para ello el o los
programadores ya realizaron exhaustivas pruebas para comprobar que el
sistema no falle.

7. Mantenimiento
Una de las etapas mas criticas, ya que se destina un 75% de los recursos, es el
mantenimiento del Software ya que al utilizarlo como usuario final puede ser
que no cumpla con todas nuestras expectativas.
Espiral(Fases)

1. Planificación. Se determinan los objetivos y el alcance del ciclo que


comienza, tras un necesario ejercicio de investigación. Con cada
iteración, se irá incrementando el tamaño de software entregado y la
funcionalidad cubierta.
2. Análisis de Riesgo. Se evalúa todo aquello que pueda afectar al
proyecto según el estado en que se encuentre y su grado de avance.
Para ello, se diseñarán los prototipos que deberán ser validados en el
ciclo.
3. Implementación. Se desarrolla y valida el software según el alcance
acordado, el cual está íntimamente relacionado y condicionado con el
análisis de riesgos anterior.
4. Evaluación. Antes de proceder a realizar otra vuelta en la espiral, se
debe prestar atención a lo que sucedió en la vuelta anterior. Se debe
analizar en detalle si los riesgos detectados anteriormente ya tuvieron
solución. Básicamente, esta fase servirá para determinar el avance del
proyecto y dar pistas de hacia dónde debe enfocarse la próxima
iteración.
BIBLIOGRAFIAS
https://www.ecured.cu/Metodolog%C3%ADa_Scrum
https://blog.ida.cl/estrategia-digital/metodologia-scrum-en-proyectos-digitales/
http://ingsoftware072301.obolog.es/metodologia-xp-2012877
http://programacionextrema.tripod.com/fases.htm#primeraFase
https://www.iebschool.com/blog/metodologia-kanban-agile-scrum/
https://www.ecured.cu/Metodolog%C3%ADa_FDD
https://www.ecured.cu/Modelo_en_cascada
https://aspgems.com/metodologia-de-desarrollo-de-software-iii-modelo-en-
espiral/

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