Está en la página 1de 11

TECNOLÓGICO NACIONAL DE MÉXICO

INSTITUTO TECNOLÓGICO DE ACAPULCO

INGENIERÍA EN SISTEMAS COMPUTACIONALES

FUNDAMENTOS DE INGENIERÍA DE SOFTWARE

PROFESORA:
ING. MARÍA NANCY GARCÍA CASTRO

TEMA I FUNDAMENTOS DE INGENIERÍA DE SOFTWARE

ALUMNO:
JOSHUA HERNÁNDEZ ÁLVAREZ (N°Control: 19320976)

HORARIO:
LUNES A JUEVES: 12:00 – 13:00 IS2

CICLO ESCOLAR AGOSTO 2021 – ENERO 2022


ÍNDICE
METODOLOGÍAS DE DESARROLLO DE SOFTWARE ÁGILES...................................................1
METODOLOGÍA DE PROGRAMACIÓN EXTREMA (XP).............................................................1
PRÁCTICAS......................................................................................................................................1
DIAGRAMA.......................................................................................................................................1
VENTAJAS........................................................................................................................................2
DESVENTAJAS................................................................................................................................2
USO....................................................................................................................................................2
METODOLOGÍA SCRUM...................................................................................................................2
FASES................................................................................................................................................3
DIAGRAMA.......................................................................................................................................3
VENTAJAS........................................................................................................................................3
DESVENTAJAS................................................................................................................................4
USO....................................................................................................................................................4
METODOLOGÍA WIN & WIN.............................................................................................................4
FASES................................................................................................................................................4
DIAGRAMA.......................................................................................................................................5
VENTAJAS........................................................................................................................................5
DESVENTAJAS................................................................................................................................5
USO....................................................................................................................................................5
INGENIERÍA WEB...............................................................................................................................5
FASES................................................................................................................................................6
DIAGRAMA.......................................................................................................................................6
VENTAJAS........................................................................................................................................6
DESVENTAJAS................................................................................................................................6
CONCLUSIONES.............................................................................................................................7
BIBLIOGRAFÍA........................................................................................................................................8
TECNOLÓGICO NACIONAL DE MÉXICO
INSTITUTO TECNOLÓGICO DE ACAPULCO

INGENIERÍA EN SISTEMAS COMPUTACIONALES

FUNDAMENTOS DE INGENIERÍA DE SOFTWARE

PROFESORA:
ING. MARÍA NANCY GARCÍA CASTRO

T5. METODOLOGÍAS DE DESARROLLO DE SOFTWARE


ÁGILES

ALUMNO:
JOSHUA HERNÁNDEZ ÁLVAREZ (N°Control: 19320976)

CICLO ESCOLAR AGOSTO 2021 – ENERO 2022


METODOLOGÍAS DE DESARROLLO DE SOFTWARE ÁGILES
METODOLOGÍA DE PROGRAMACIÓN EXTREMA (XP)
Este es posiblemente el método ágil más conocido y ampliamente utilizado. En la programación
extrema, todos los requerimientos se expresan como escenarios, los cuales se implementan
directamente como una serie de tareas. Los programadores trabajan en parejas y desarrollan
pruebas para cada tarea antes de escribir el código. Las pruebas se deben ejecutar
satisfactoriamente cuando el código nuevo se integre al sistema.
PRÁCTICAS
La programación extrema implica varias prácticas que se ajustan de los métodos ágiles:

 El desarrollo incremental se lleva a cabo a través de entregas del sistema pequeñas y


frecuentes y por medio de un enfoque para la descripción de requerimientos basado en
las historias de cliente o escenarios que pueden ser la base para el proceso de
planificación.
 La participación del cliente se lleva a cabo a través del compromiso a tiempo completo
del cliente en el equipo de desarrollo. Los representantes de los clientes participan en el
desarrollo y son los responsables de definir las pruebas de aceptación del sistema.
 El interés en las personas, en vez de en los procesos, se lleva a cabo a través de la
programación en parejas, la propiedad colectiva del código del sistema, y un proceso de
desarrollo sostenible que no implique excesivas jornadas de trabajo.
 El interés en las personas, en vez de en los procesos, se lleva a acabo a través de la
programación en parejas, la propiedad colectiva del código del sistema, y un proceso de
desarrollo sostenible que no implique excesivas jornadas de trabajo.
 El cambio se lleva a cabo a través de las entregas regulares del sistema, un desarrollo
previamente probado y la integración continua.
 El mantenimiento de la simplicidad se lleva a cabo a través de la refactorización
constante para mejorar la calidad del código y la utilización de diseños sencillos que no
prevén cambios futuros en el sistema.
En un proceso XP, los clientes intervienen estrechamente en la especificación y priorización de
los requerimientos del sistema. Estos últimos no se especifican como lis-tas de actividades
requeridas del sistema. En cambio, el cliente del sistema forma parte del equipo de desarrollo y
discute los escenarios con otros miembros del equipo. En conjunto, desarrollan una “tarjeta de
historia” que encapsula las necesidades del cliente. Entonces, el equipo de desarrollo
implementa dicho escenario en una liberación futura del software.

Página | 1
DIAGRAMA

VENTAJAS
La programación extrema toma un enfoque “extremo” para el desarrollo incremental. Nuevas
versiones del software se construyen varias veces al día y las versiones se entregan a los
clientes aproximadamente cada dos semanas. Nunca se descuidan las fechas límite de las
liberaciones; si hay problemas de desarrollo, se consulta al cliente y la funcionalidad se elimina
de la liberación planeada.

 Eficiente a la hora de pruebas y planificación.


 Menor tasa de error.
 Más facilidad a la hora de hacer cambios.
 Programación organizada y más comunicación entre los clientes y developers.
DESVENTAJAS
 Dificultar a la hora de llevar un historial sobre lo que se ha hecho en el proyecto.
 No todos los proyectos se adaptan a la metodología extrema. Si son diseños complejos
puede fallar.
 Depende de las personas que estén trabajando en el proyecto, la metodología extrema
actúa de forma dinámica.
USO
En la práctica, muchas compañías que adoptaron XP no usan todas las prácticas de
programación extrema. Seleccionan según sus formas específicas de trabajar. Por ejemplo,
algunas compañías encuentran útil la programación en pares; otras prefieren usar la
programación y las revisiones individuales. Para acomodar diferentes niveles de habilidad,
algunos programadores no hacen refactorización en partes del sistema que ellos no
desarrollan, y pueden usarse requerimientos convencionales en vez de historias de usuario. Sin
embargo, la mayoría de las compañías que adoptan una variante XP usan liberaciones
pequeñas, desarrollo de primera prueba e integración continua.
METODOLOGÍA SCRUM
Como cualquier otro proceso de diseño de software profesional, el desarrollo ágil tiene que
administrarse de tal modo que se busque el mejor uso del tiempo y de los recursos disponibles
para el equipo. Esto requiere un enfoque diferente a la administración del proyecto, que se
adapte al desarrollo incremental y a las fortalezas particulares de los métodos ágiles. El
enfoque de Scrum es un método ágil general, su enfoque está en la administración iterativa del
desarrollo, y no en enfoques técnicos específicos para la ingeniería de software ágil. Este
proceso no prescribe el uso de prácticas de programación, como la programación en pares y el

Página | 2
desarrollo de primera prueba. Por lo tanto, puede usarse con enfoques ágiles más técnicos,
como XP, para ofrecer al proyecto un marco administrativo.

FASES
Existen tres fases con Scrum:

 Planeación del bosquejo.


 Establecer los objetivos generales del proyecto.
 Diseño de la arquitectura de software.
A esto le sigue una serie de ciclos sprint, donde cada ciclo desarrolla un incremento del
sistema. Finalmente, la fase de cierre del proyecto concluye el proyecto, completa la
documentación requerida, como los marcos de ayuda del sistema y los manuales del usuario, y
valora las lecciones aprendidas en el proyecto. Al final de un sprint, la funcionalidad completa
se entrega a los participantes. Las características clave de este proceso son las siguientes:

 Los sprints tienen longitud fija, por lo general de dos a cuatro semanas. Corresponden
al desarrollo de una liberación del sistema en XP.
 El punto de partida para la planeación es la cartera del producto, que es la lista de
trabajo por realizar en el proyecto. El cliente interviene estrechamente en este proceso y
al comienzo de cada sprint puede introducir nuevos requerimientos o tareas.
 La fase de selección incluye a todo el equipo del proyecto que trabaja con el cliente, con
la finalidad de seleccionar las características y la funcionalidad a desarrollar durante el
sprint.
 Al final del sprint, el trabajo hecho se revisa y se presenta a los participantes. Luego
comienza el siguiente ciclo de sprint.
DIAGRAMA

Página | 3
VENTAJAS
La característica innovadora de Scrum es su fase central, a saber, los ciclos sprint. Un sprint de
Scrum es una unidad de planeación en la que se valora el trabajo que se va a realizar, se
seleccionan las particularidades por desarrollar y se implementa el software.

 El producto se desglosa en un conjunto de piezas manejables y comprensibles.


 Los requerimientos inestables no retrasan el progreso.
 Todo el equipo tiene conocimiento de todo y, en consecuencia, se mejora la
comunicación entre el equipo.
 Se establece confianza entre clientes y desarrolladores, a la vez que se crea una cultura
positiva donde todos esperan el triunfo del proyecto.
DESVENTAJAS
 Funciona mejor con equipos reducidos.
 Requiere una exhausta definición de las tareas y sus plazos.
 Exige alta formación de las personas que trabajan en el proyecto.
USO
Scrum, como originalmente se designó, tenía la intención de usarse con equipos co-asignados,
donde todos los miembros del equipo pudieran congregarse a diario en reuniones breves. Sin
embargo, mucho del desarrollo del software implica ahora equipos distribuidos con miembros
del equipo ubicados en diferentes lugares alrededor del mundo.
METODOLOGÍA WIN & WIN
El modelo en espiral WINWIN de Boehm define un conjunto de actividades de negociación al
principio de cada paso alrededor de la espiral. Más que una simple actividad de comunicación
con el cliente, se definen las siguientes actividades:

 Identificación del sistema o subsistemas clave de los directivos.


 Determinación de las condiciones de victoria de los directivos.
 Negociación de las condiciones de victoria de los directivos para reunirlas en un
conjunto de condiciones de victoria-victoria para todos los afectados (incluyendo el
equipo del proyecto de software).
FASES
Conseguidos completamente los pasos iniciales anteriores se logra un resultado de victoria-
victoria que será el criterio clave para continuar con la definición del sistema y del software.

 Identificar el siguiente nivel para los directivos.


 Identificar las condiciones de victoria de los directivos.
 Reunir las condiciones de victoria y establecer los objetivos, restricciones y alternativas
del siguiente nivel.
 Evaluar las alternativas del producto y del proceso y resolución de riesgos.
 Definir el siguiente nivel del producto y del proceso, incluyendo particiones.
 Validar las definiciones del producto y del proceso.
 Revisión y comentarios.

Página | 4
DIAGRAMA

Además del énfasis realizado en la negociación inicial, el modelo espiral WINWIN introduce tres
hitos en el proceso, llamados puntos de fijación que ayudan a establecer la completitud de un
ciclo alrededor de la espiral y proporcionan hitos de decisión antes de continuar el proyecto de
software.
VENTAJAS
 El modelo WINWIN puede adaptarse y aplicarse a lo largo de la vida del software.
 Mejor reacción ante riesgos en cada uno de los niveles evolutivos.
 Permite a quien lo desarrolla aplicar el enfoque de construcción de prototipos.
DESVENTAJAS
 Resulta difícil convencer a grandes clientes de que el enfoque evolutivo es controlable.
 Genera mucho tiempo en el desarrollo de sistemas.
 Requiere experiencia en identificar los riesgos.
USO
Se utiliza en la construcción de prototipos como mecanismos de reducción de riesgos, pero, lo
que es más importante, permite a quien lo desarrolla aplicar el enfoque de construcción de
prototipos en cualquier etapa de evolución del producto. Mantiene el enfoque sistemático de los
pasos sugeridos por el ciclo de vida clásico, pero lo incorpora al marco de trabajo iterativo que
refleja de forma más realista el mundo real.
INGENIERÍA WEB
Los sistemas y aplicaciones (WebApps) basados en Web hacen posible que una población
extensa de usuarios finales disponga de una gran variedad de contenido y funcionalidad La
ingeniería Web no es un clónico perfecto de la ingeniería del software, pero toma prestado
muchos de los conceptos y principios básicos de la ingenie- ría del software, dando importancia
a las mismas actividades técnicas y de gestión. Existen diferencias sutiles en la forma en que
se llevan a cabo estas actividades, pero la filosofía primordial es idéntica dado que dicta un
enfoque disciplinado para el desarrollo de un sistema basado en computadora.

Página | 5
FASES
Al igual que cualquier disciplina de ingeniería, la ingeniería Web aplica. un enfoque genérico
que se suaviza con estrategias, tácticas y métodos especializados. El proceso de ingeniería
Web comienza con una formulación del problema que pasa a resolverse con las WebApps. Se
planifica el proyecto y se analizan los requisitos de la WebApp, entonces se lleva a cabo el
diseño de interfaces arquitectónicas y del navegador. El sistema se implementa utilizando
lenguajes y herramientas especializados asociados con la Web, y entonces comienzan las
pruebas. Dado que las WebApps están en ante evolución, deben de estar en los mecanismos
para el control de configuraciones, garantía de calidad y soporte continuado.
DIAGRAMA

Además del énfasis realizado en la negociación inicial, el modelo espiral WINWIN introduce tres
hitos en el proceso, llamados puntos de fijación que ayudan a establecer la completitud de un
ciclo alrededor de la espiral y proporcionan hitos de decisión antes de continuar el proyecto de
software.
VENTAJAS
 Soporte: una aplicación web reside en una red y debe dar servicio a una comunidad
diversa de clientes.
 Inmediatez: se refiere al corto tiempo que normalmente tienen los proyectos web para
terminar, o por lo menos, lanzar una versión oficial.
 Evolución: las aplicaciones web y sitios web están en constante evolución, y se
actualizan gradualmente.
 Medible: se puede conocer la cantidad de usuarios que visitan el sitio web, así como
los patrones de comportamiento.
DESVENTAJAS
 Seguridad: dado que no controlamos quien pueda acceder a nuestro sitio, la seguridad
y confidencialidad de la información requieren un énfasis especial.
 Estética: nuestro sitio debe ser ergonómico, atractivo y usable para que sea más
agradable para el usuario acceder a él.

Página | 6
CONCLUSIONES
Metodología XP
La programación extrema tiene muchas ventajas, sin embargo, no es aconsejable si no se
disminuye el costo del tiempo de producción, debido a que tiene muchas limitaciones. Es una
metodología muy ligera que facilita la creación de un proyecto de software, ya que es eficiente
y flexible, esta tiene técnicas y herramientas que pueden facilitar llegar a un objetivo en
concreto la cual es satisfacer al cliente mediante la entrega de un software de calidad. Las
pruebas seguidas podrían ocasionar una pérdida de tiempo en el diseño, por lo que tampoco se
podría volver tan ligero.
Como tal el objetivo principal de la XP es la satisfacción del cliente. Se le trata de dar al cliente
lo que quiere y cuando quiere. Por tanto, se debe responder rápidamente a las necesidades del
cliente, aunque realice cambios en fases avanzadas del proyecto. Tanto los jefes, clientes y
desarrolladores deben estar involucrados en el desarrollo. XP es más una filosofía de trabajo
que recoge lo mejor de las distintas metodologías y las junta para que se refuercen.
Metodología Scrum
Usando esta metodología se mejora la calidad del producto final y la productividad de los
integrantes, así como realizar el seguimiento diario de los avances del proyecto, se realizan
iteraciones cortas y sprints que sirven para que el cliente pueda obtener los beneficios del
proyecto en forma incremental. Esto le permite ver a el cliente el progreso y resultado del
proyecto en varias etapas dentro del mismo proyecto. La idea principal es la de ponerse a
trabajar prácticamente desde el primer momento y empezar a sacar beneficios del trabajo.
Metodología WIN&WIN
El objetivo de esta metodología es “ganar-ganar”, el cliente recibe el producto que satisface la
mayoría de sus necesidades, y el desarrollador trabaja para alcanzar presupuestos y fechas de
entrega. Y para lograrse ese objetivo, se realizan varias actividades de negociación al principio
de cada paso alrededor de la espiral. Este modelo hace tener disciplina, flexibilidad y ayuda a
mantener el proyecto a tiempo. Este modelo implica que las partes interesadas participen en un
proceso de negociación para que puedan converger en un conjunto de requisitos mutuamente
satisfactorios.
Ingeniería WEB
Se ocupa del desarrollo y gestión de sistemas web grandes y complejos, tiene como objetivos
gestionar y controlar la complejidad en todo el ciclo de vida, además de soportar efectivamente
los diferentes tipos de usuario de una aplicación web. Hacer de los sistemas basados en la
Web menos una aspiración y más una profesión. Los sistemas web evolucionan su
compatibilidad y flexibilidad. La ingeniería web intenta evitar el caos en el desarrollo de
sistemas basados en la web para así controlar el proceso, minimizar riesgos y potenciar la
calidad/capacidad de mantenimiento. Incorpora muchos de los principios y muchas de las
prácticas de la ingeniería del software.

Página | 7
BIBLIOGRAFÍA
Pressman, R. S. (2002). INGENIERÍA DEL SOFTWARE. Un enfoque práctico. (5: edición).
Aravaca, Madrid: McGRAW-HILLDNTERAMERICANA DE ESPANA, S. A. U.
Somerville, I. (2011). Ingeniería de Software. Nacaulpan de Juárez, Estado de México:
PEARSON EDUCACIÓN.

Página | 8

También podría gustarte