Documentos de Académico
Documentos de Profesional
Documentos de Cultura
LABORATORIO N° 01
Alumno(s) Nota
Grupo B
Ciclo III
Fecha de entrega 01/09/2023
I.- OBJETIVOS:
II.- SEGURIDAD:
Advertencia:
En este laboratorio está prohibida la manipulación del
hardware, conexiones eléctricas o de red; así como la
ingestión de alimentos o bebidas.
● No aplica
V.- RECURSOS:
VII.- PROCEDIMIENTO:
Nota:
Las secciones en cursivas son demostrativas, pero sirven para que usted pueda instalar las herramientas de
desarrollo en un equipo externo.
1. CASO PRÁCTICO
Se desea desarrollar un sistema Web para una agencia de viajes, tanto para dentro del país como para el
extranjero. En ese sentido, se necesita lo siguiente:
● Indicar el procedimiento general a considerar para su desarrollo (no código ni tecnologías de desarrollo)
1. Requisitos y Análisis:
Comenzar por reunirse con los stakeholders de la agencia de viajes para comprender sus
necesidades y objetivos.
Realizar un análisis detallado de los procesos de negocio y los requisitos del sistema.
Identificar las características clave que el sistema debe tener, como la gestión de reservas,
búsqueda de destinos, gestión de pagos, etc.
2. Diseño del Sistema:
Diseñar la arquitectura general del sistema, incluyendo la estructura de la base de datos y la lógica
de la aplicación.
Nro. DD-106
Laboratorio de Ingeniería de Requerimientos
Página 2 de 2
Crear diagramas de flujo y prototipos de la interfaz de usuario para visualizar cómo funcionará el
sistema.
Definir los casos de uso y escenarios de usuario.
3. Desarrollo:
Codificar la aplicación siguiendo las mejores prácticas de desarrollo web.
Implementar la funcionalidad de búsqueda y reserva de viajes, procesamiento de pagos, gestión de
usuarios, y otras características requeridas.
4. Base de Datos:
Diseñar y desarrollar la base de datos para almacenar información sobre destinos, usuarios,
reservas, precios, etc.
Utiliza un modelo de datos que sea eficiente y que cumpla con las necesidades del sistema.
5. Pruebas:
Realizar pruebas exhaustivas para asegurarse de que el sistema funcione correctamente y que no
haya errores.
Realizar pruebas de rendimiento para garantizar que el sistema pueda manejar un alto volumen de
tráfico.
Solicita retroalimentación de los usuarios y realiza ajustes según sea necesario.
6. Implementación:
Despliega el sistema en un entorno de producción.
Configura la infraestructura necesaria, como servidores web y bases de datos.
Asegúrate de que el sistema esté disponible en línea para los usuarios.
7. Mantenimiento y Soporte:
Proporciona soporte continuo para solucionar problemas y realizar actualizaciones.
Realiza copias de seguridad periódicas de los datos y garantiza la seguridad de la información del
usuario.
4. Verificación:
Llevar a cabo pruebas integrales para verificar que el sistema cumpla con los requisitos definidos.
Esto incluye pruebas de funcionalidad, pruebas de rendimiento y pruebas de seguridad.
Asegurarse de solucionar cualquier problema que surja durante las pruebas antes de proceder.
5. Mantenimiento:
Proporcionar soporte continuo para resolver problemas y realizar actualizaciones.
Realizar copias de seguridad y monitorear el sistema en producción.
Implementar cambios solicitados por los usuarios si es necesario, siguiendo un proceso de control
de cambios.
● Identificar e indicar las dificultades halladas, ventajas o desventajas, comparando el marco de trabajo
indicado por la metodología en Cascada versus tu propio procedimiento de desarrollo.
Procedimiento de Desarrollo Propuesto:
Dificultades:
Requisitos cambiantes: Si los requisitos no están completamente definidos al principio, pueden
surgir problemas de alcance y cambios frecuentes en el proyecto.
Mayor complejidad en la gestión del proyecto: La metodología propuesta puede requerir una gestión
más activa para mantener un equilibrio entre desarrollo y cambios constantes.
Mayor dificultad en la estimación de tiempos: La flexibilidad puede hacer que sea más difícil estimar
con precisión cuánto tiempo llevará completar el proyecto.
Ventajas:
Mayor flexibilidad: Permite a los equipos adaptarse a cambios en los requisitos y retroalimentación
de manera más eficiente.
Retroalimentación temprana: Los usuarios pueden ver y probar prototipos o versiones preliminares
del sistema antes de que esté completamente desarrollado, lo que permite correcciones tempranas.
Mayor adaptación a entornos dinámicos: Es especialmente adecuado para proyectos donde los
requisitos no son estáticos o donde los cambios son frecuentes.
Metodología en Cascada:
Dificultades:
Rigidez ante cambios: La metodología en cascada es inflexible cuando se trata de cambios en los
requisitos. Cualquier modificación a mitad del proyecto puede ser costosa y llevar a rehacer etapas
anteriores.
Feedback limitado: Los stakeholders y usuarios pueden no ver el producto hasta que esté casi
terminado, lo que limita la retroalimentación temprana y puede llevar a desviaciones importantes de
los objetivos iniciales.
Mayor riesgo de incumplimiento de plazos: Si surgen problemas en etapas avanzadas, puede ser
difícil cumplir con los plazos establecidos.
Ventajas:
Requisitos claros desde el principio: Cuando los requisitos están bien definidos al principio, la
metodología en cascada puede ser eficiente y efectiva.
Documentación completa: Cada etapa produce documentación detallada que es útil para futuros
mantenimientos y mejoras.
Estructura clara: El proceso es estructurado y fácil de gestionar cuando los requisitos son estables.
Nro. DD-106
Laboratorio de Ingeniería de Requerimientos
Página 4 de 2
2. INVESTIGACIÓN:
Investigar sobre otras metodologías tradicionales de desarrollo de software (no RUP). Indicar:
● Forma de trabajo
● Ventajas / Desventajas
● Un ejemplo de aplicación por cada metodología investigada (ideal que sea un ejemplo real)
Metodología DevOps:
Forma de trabajo:
DevOps es una metodología que busca integrar y automatizar el desarrollo de software (Dev) con
las operaciones de TI (Ops) para acelerar la entrega de software de alta calidad. Aquí hay algunos
puntos clave sobre cómo funciona:
Colaboración: Fomenta la colaboración cercana entre equipos de desarrollo y operaciones,
eliminando silos de información.
Automatización: Utiliza herramientas de automatización para desplegar, probar y entregar software
de forma continua.
Entrega Continua: Busca la entrega de pequeños cambios de forma continua, en lugar de
lanzamientos grandes y poco frecuentes.
Monitorización y Retroalimentación: Supervisa constantemente la aplicación en producción para
identificar problemas y mejorar el rendimiento.
Cultura de Mejora Continua: Promueve una cultura de aprendizaje y mejora constante.
Ventajas:
Entrega más rápida de software: DevOps permite lanzar nuevas características y correcciones de
errores más rápido, lo que satisface las demandas de los clientes.
Mayor calidad: La automatización de pruebas y despliegues reduce los errores humanos y mejora
la calidad del software.
Mayor colaboración: Fomenta la comunicación y colaboración entre equipos, lo que conduce a
soluciones más efectivas.
Mayor visibilidad: Proporciona una visión más clara del estado de los sistemas en producción.
Desventajas:
Cambio cultural: Implementar DevOps a menudo requiere un cambio cultural en la organización,
lo que puede ser desafiante.
Nro. DD-106
Laboratorio de Ingeniería de Requerimientos
Página 5 de 2
Metodología Scrum:
Forma de trabajo:
Scrum es un marco de trabajo ágil que se utiliza principalmente en el desarrollo de software, pero
también se ha aplicado en otras áreas. Aquí están los conceptos clave de cómo funciona Scrum:
Equipos autoorganizados: Se forman equipos multidisciplinarios y autoorganizados que trabajan
en ciclos llamados "sprints".
Roles definidos: Scrum define roles claros, como el Scrum Master (facilitador), el Product Owner
(responsable del producto) y el Equipo de Desarrollo.
Reuniones regulares: Se llevan a cabo reuniones regulares como la Daily Standup, Sprint
Planning, Sprint Review y Sprint Retrospective.
Backlog de producto y sprint: El trabajo se organiza en un Backlog de Producto, y durante cada
Sprint, se seleccionan elementos del Backlog para desarrollar.
Iteraciones y entregas: El trabajo se divide en iteraciones llamadas "sprints", generalmente de 2 a
4 semanas, y al final de cada sprint, se entrega un incremento potencialmente utilizable del
producto.
Ventajas:
Flexibilidad: Scrum permite cambios de prioridad y requisitos a lo largo del proyecto, lo que es
valioso en entornos de desarrollo de software cambiantes.
Nro. DD-106
Laboratorio de Ingeniería de Requerimientos
Página 6 de 2
OBSERVACIONES Y CONCLUSIONES
● La metodología en cascada puede ser más eficaz en proyectos con requisitos estables, mientras
que la metodología propuesta es más adaptable a entornos cambiantes.
● La metodología en cascada podría ser más adecuada para aspectos críticos del sistema web,
como la gestión de datos de clientes y la seguridad de la información.
● La retroalimentación temprana y continua con los usuarios es esencial para garantizar que el
sistema web cumpla con sus expectativas cambiantes y ofrezca opciones de viaje relevantes.
● En un sistema web de agencia de viajes, la documentación completa es importante para la gestión
de reservas, la seguridad de los datos del cliente y la trazabilidad de las transacciones.
● La flexibilidad del procedimiento general es beneficiosa para un sistema web de agencia de viajes,
ya que los requisitos y ofertas de viaje pueden cambiar con frecuencia debido a la temporada, la
disponibilidad y las preferencias del cliente.