WorksheetsCasos Practico EGEL 6
Total questions: 54
Worksheet time: 27mins
· Proyectos que buscan mejorar la eficiencia y la calidad del software existente.
· Desarrollos que requieren una actualización significativa de sistemas heredados.
Casos Prácticos
Migración
Sustitución
· Proyectos que trasladan aplicaciones a nuevas plataformas o tecnologías.
· Desarrollos que buscan mejorar la escalabilidad y el rendimiento.
Casos Prácticos
Migración
Sustitución
· Proyectos que reemplazan un sistema existente con una solución completamente nueva.
· Desarrollos que necesitan abordar problemas fundamentales de un sistema heredado.
Casos Prácticos
Migración
Sustitución
· Desarrollos de sistemas de registro distribuido y contratos inteligentes.
· Proyectos que requieren transparencia y seguridad en las transacciones.
Blockchain
Internet de las Cosas (IoT)
Inteligencia Artificial (IA)
· Desarrollos que integran dispositivos físicos conectados a la red.
· Proyectos que buscan recopilar datos en tiempo real de entornos físicos.
Blockchain
Internet de las Cosas (IoT)
Inteligencia Artificial (IA)
· Aplicaciones que utilizan aprendizaje automático para tomar decisiones.
· Sistemas que incorporan procesamiento de lenguaje natural para interactuar con usuarios.
Blockchain
Internet de las Cosas (IoT)
Inteligencia Artificial (IA)
· Proyectos que actualizan bases de datos o realizan cambios masivos en lotes.
· Desarrollos que requieren procesamiento por lotes para eficiencia y control.
Transformación en Lote
Transformación Continua
Transformación Interactiva
· Desarrollos que implementan integración continua y despliegue continuo (CI/CD).
· Proyectos que buscan entregas de software rápidas y frecuentes.
Transformación en Lote
Transformación Continua
Transformación Interactiva
· Aplicaciones que requieren interactividad y respuesta en tiempo real.
· Desarrollos de sistemas de colaboración en línea.
Transformación en Lote
Transformación Continua
Transformación Interactiva
· Proyectos que simulan comportamientos complejos antes de la implementación.
· Desarrollos que necesitan pruebas exhaustivas antes de la ejecución.
Simulación Dinámica
Sistemas de Tiempo Real
Administración de Transacción
· Aplicaciones que deben responder instantáneamente a eventos.
· Desarrollos en entornos críticos que requieren baja latencia.
Simulación Dinámica
Sistemas de Tiempo Real
Administración de Transacción
· Sistemas financieros que necesitan asegurar la integridad de las transacciones.
· Desarrollos que requieren control de concurrencia en operaciones críticas.
Simulación Dinámica
Sistemas de Tiempo Real
Administración de Transacción
Proyectos de Software Complejos:
· Desarrollos que requieren una comprensión más profunda de los requisitos a lo largo del tiempo.
· Proyectos en los que los detalles específicos no están claros desde el principio.
Adaptación a Cambios Constantes:
· Desarrollos en entornos donde los requisitos pueden cambiar o evolucionar durante el proceso.
· Proyectos que buscan ser flexibles y ajustarse a las necesidades cambiantes del cliente.
Mejora Continua:
· Desarrollos que pueden beneficiarse de la retroalimentación frecuente y la optimización constante.
· Proyectos donde la mejora continua es esencial para el éxito final del software.
Desarrollo Iterativo
Desarrollo Incremental
Prototipo de Requisitos
Proyectos con Funcionalidades Claramente Definidas:
· Desarrollos donde las funciones del software se pueden dividir en partes claramente definidas.
· Proyectos que permiten construir y entregar incrementos de funcionalidad de manera independiente.
Despliegue Progresivo:
· Desarrollos que buscan desplegar partes funcionales del software de manera progresiva.
· Proyectos donde se valora la entrega temprana de características utilizables.
Reducción de Riesgos:
· Desarrollos que buscan mitigar riesgos mediante la entrega incremental y temprana de partes del software.
· Proyectos donde la validación temprana ayuda a identificar y abordar problemas más rápidamente.
Desarrollo Iterativo
Desarrollo Incremental
Prototipo de Requisitos
Desarrollo de Software Complejo:
· En proyectos donde los requisitos del sistema son complejos y pueden no entenderse completamente desde el principio.
· Para clarificar y validar los requisitos con el cliente antes de la implementación completa.
Interfaz de Usuario (UI) Exigente:
· Cuando la interfaz de usuario es crucial y se necesita obtener retroalimentación temprana sobre su usabilidad.
· Para evaluar la experiencia del usuario y realizar ajustes antes de la implementación final.
Desarrollo Iterativo
Desarrollo Incremental
Prototipo de Requisitos
Evaluación de Alternativas de Diseño:
· En proyectos donde hay varias opciones de diseño y es necesario evaluar su viabilidad y eficacia.
· Para comparar diferentes enfoques antes de comprometerse con un diseño final.
Optimización de Rendimiento:
· Cuando se busca optimizar el rendimiento del sistema y es necesario realizar pruebas y ajustes.
· Para identificar posibles cuellos de botella y mejorar la eficiencia del sistema.
Prototipo de Análisis
Prototipo de Diseño
Prototipo Vertical
Evaluación de Aspecto Visual:
· En proyectos donde el aspecto visual y la estética del producto son críticos.
· Para obtener retroalimentación sobre el diseño visual antes de la implementación final.
Pruebas de Usabilidad:
· Cuando la usabilidad es una prioridad y se busca evaluar la facilidad de uso del sistema.
· Para realizar pruebas de usabilidad antes de la implementación completa.
Prototipo de Análisis
Prototipo de Diseño
Prototipo Vertical
Evaluación de Funcionalidades Críticas:
· En proyectos donde ciertas funcionalidades son críticas y deben ser probadas antes de la implementación completa.
· Para validar la viabilidad técnica de las funciones clave.
Integración de Componentes:
· Cuando es crucial evaluar la integración entre componentes antes de avanzar.
· Para abordar posibles problemas de interoperabilidad.
Prototipo de Análisis
Prototipo de Diseño
Prototipo Vertical
Proyectos de Investigación:
· En proyectos donde la viabilidad técnica o conceptual es incierta.
· Para explorar soluciones y evaluar la factibilidad antes de comprometerse completamente.
Desarrollos Innovadores:
· Cuando se están explorando nuevas tecnologías o enfoques innovadores.
· Para determinar la factibilidad y los desafíos asociados.
Prototipo de Factibilidad
Prototipo Vertical
Prototipo Horizontal
Desarrollo de Aplicaciones Web:
· Reutilización de componentes frontend como botones, barras de navegación y formularios en diferentes páginas web.
· Integración de bibliotecas y frameworks existentes para funcionalidades específicas.
Sistemas de Gestión de Bases de Datos:
· Uso de procedimientos almacenados y funciones reutilizables para realizar operaciones comunes en bases de datos.
· Integración de consultas SQL optimizadas y probadas previamente.
Consumiendo Componentes Reusables
Produciendo Componentes Reusables
Requisitos
Desarrollo de Bibliotecas de Software:
· Creación de bibliotecas de funciones y clases que pueden ser reutilizadas en diferentes proyectos.
· Desarrollo de módulos independientes que proporcionan funcionalidades específicas.
Frameworks de Desarrollo:
· Creación de frameworks que proporcionan un conjunto de herramientas y estructuras reutilizables.
· Desarrollo de APIs que permiten la integración con otras aplicaciones.
Consumiendo Componentes Reusables
Produciendo Componentes Reusables
Requisitos
Sistemas de Gestión de Requisitos:
· Utilización de plantillas y formatos estándar para la documentación de requisitos.
· Reutilización de casos de uso y escenarios en proyectos similares.
Consumiendo Componentes Reusables
Produciendo Componentes Reusables
Requisitos
Modelado de Datos:
· Uso de modelos de datos existentes como base para nuevos proyectos.
· Reutilización de diagramas de clases y relaciones.
Análisis
Diseño
Implementación
Patrones de Diseño:
· Aplicación de patrones de diseño reconocidos en el desarrollo de nuevas funcionalidades.
· Utilización de soluciones de diseño probadas y optimizadas.
Análisis
Diseño
Implementación
Desarrollo de Componentes Reusables:
· Creación de funciones y clases que puedan ser reutilizadas en diferentes partes del código.
· Desarrollo de bibliotecas internas que proporcionan funcionalidades específicas.
Análisis
Diseño
Implementación
Reutilización de Casos de Prueba:
· Utilización de casos de prueba existentes para validar nuevas versiones del software.
· Adaptación de escenarios de prueba para diferentes versiones o configuraciones.
Pruebas
Integración
Documentación
Integración de Componentes:
· Utilización de mecanismos de integración probados para ensamblar diferentes partes del sistema.
· Reutilización de scripts y herramientas de integración.
Pruebas
Integración
Documentación
Plantillas de Documentación:
· Utilización de plantillas estándar para documentos de diseño, implementación y pruebas.
· Reutilización de secciones de documentación en proyectos similares.
Pruebas
Integración
Documentación
Corrección de Errores Conocidos:
· Aplicación de soluciones previamente implementadas para corregir errores conocidos.
· Reutilización de parches y actualizaciones de mantenimiento.
Pruebas
Mantenimiento
Documentación
Desarrollo Ágil:
· Métodos ágiles como Scrum y Kanban enfatizan la flexibilidad, la colaboración y la entrega continua.
· Uso de iteraciones cortas para adaptarse rápidamente a los cambios en los requisitos del cliente.
Desarrollo Estructurado:
· Empleo de diagramas de flujo y técnicas de diseño estructurado para planificar y controlar el flujo del programa.
· Utilización de técnicas de partición modular para dividir un sistema en módulos manejables.
Métodos
Metodologías
Modelo Estático
Metodología en Cascada:
· Aplicación secuencial de fases, donde cada fase debe completarse antes de pasar a la siguiente.
· Utilización de un modelo de desarrollo lineal y predictivo.
Desarrollo Rápido de Aplicaciones (RAD):
· Enfoque iterativo y flexible que pone énfasis en la rápida entrega de prototipos y versiones incrementales.
· Colaboración cercana entre desarrolladores y usuarios finales para obtener retroalimentación continua.
Métodos
Metodologías
Modelo Estático
Modelo de Casos de Uso:
· Representación estática de cómo interactúan los actores externos con el sistema.
· Descripción de las funcionalidades del sistema desde una perspectiva de usuario.
Modelo de Clases UML:
· Representación estática de la estructura y relaciones entre las clases en un sistema.
· Utilización de diagramas de clases para visualizar la organización del código.
Métodos
Metodologías
Modelo Estático
Diagrama de Secuencia UML:
· Representación dinámica de cómo interactúan los objetos en un escenario específico.
· Visualización del flujo de mensajes entre objetos a lo largo del tiempo.
Diagrama de Actividades UML:
· Representación dinámica de los flujos de trabajo y actividades en un sistema.
· Utilización de nodos y arcos para modelar la secuencia de actividades.
Modelo Dinámico
Metodologías Estructuradas
Diagrama de Flujo de Datos
Durante el Análisis, las Siguientes Herramientas se Usan para Describir el Sistema Lógico
Modelo Dinámico
Metodologías Estructuradas
Diagrama de Flujo de Datos
· Representar el flujo de información en un sistema.
· Identificar procesos, flujos de datos y almacenes de datos.
Modelo Dinámico
Metodologías Estructuradas
Diagrama de Flujo de Datos
· Detallar cómo funcionan los procesos identificados en el diagrama de flujo de datos.
· Describir las entradas, salidas y acciones de cada proceso.
Especificación de Procesos
Diccionario de Datos
Diagrama de Transición de Estados
· Definir y organizar términos y datos utilizados en el sistema.
· Proporcionar una referencia centralizada para la terminología del sistema.
Especificación de Procesos
Diccionario de Datos
Diagrama de Transición de Estados
· Modelar cómo un sistema reacciona a eventos y transiciones de un estado a otro.
· Representar el comportamiento basado en estados del sistema.
Especificación de Procesos
Diccionario de Datos
Diagrama de Transición de Estados
· Visualizar y modelar las relaciones entre entidades en una base de datos.
· Definir la estructura de la base de datos mediante entidades y sus atributos.
Diagrama Entidad–Relación
Actividades
Diagrama de Clases
Escenarios:
· Describir situaciones específicas de interacción entre usuarios y el sistema.
Tarjetas CRC (Clasificación, Responsabilidad, Colaboración):
· Identificar clases de objetos, sus responsabilidades y cómo colaboran.
Ing. De Información:
Analizar cómo se recopila, almacena y procesa la información
Diagrama Entidad–Relación
Técnicas para Identificar Objetos en el Dominio del Problema
Diagrama de Clases
· Representar la estructura estática del sistema mediante clases y sus relaciones.
· Identificar atributos y métodos de las clases.
Diagrama Entidad–Relación
Técnicas para Identificar Objetos en el Dominio del Problema
Diagrama de Clases
· Crear diagramas y representaciones visuales de componentes, estructuras y flujos de datos en un sistema.
· Modelar la arquitectura y diseño del sistema.
Herramientas de Modelado de Sistema
Herramientas de Gestión de Requisitos
Herramientas de Generación de Código
· Capturar, organizar y gestionar los requisitos del proyecto.
· Facilitar la comunicación y colaboración entre los miembros del equipo respecto a los requisitos.
Herramientas de Modelado de Sistema
Herramientas de Gestión de Requisitos
Herramientas de Generación de Código
· Automatizar la generación de código a partir de modelos y especificaciones.
· Mejorar la productividad al convertir modelos de alto nivel en implementaciones de código.
Herramientas de Modelado de Sistema
Herramientas de Gestión de Requisitos
Herramientas de Generación de Código
· Facilitar la identificación y corrección de errores en el código.
· Automatizar pruebas para evaluar la funcionalidad y el rendimiento del software.
Herramientas de Depuración y Pruebas
Herramientas de Gestión de Configuración
Herramientas de Documentación
· Controlar y gestionar cambios en el código, documentos y otros artefactos del proyecto.
· Mantener un registro de versiones y configuraciones del software.
Herramientas de Depuración y Pruebas
Herramientas de Gestión de Configuración
Herramientas de Documentación
· Facilitar la creación y gestión de documentación técnica y de usuario.
· Mejorar la trazabilidad y comprensión del proyecto mediante documentación actualizada.
Herramientas de Depuración y Pruebas
Herramientas de Gestión de Configuración
Herramientas de Documentación
· Planificar, organizar y gestionar las tareas y recursos del proyecto.
· Realizar un seguimiento del progreso y la asignación de actividades.
Herramientas de Depuración y Pruebas
Herramientas de Gestión de Configuración
Herramientas de Gestión de Proyectos
· Mostrar cómo se crean instancias específicas de clases.
· Representar el estado y los valores de los atributos de las instancias.
Instanciación
Atributos
Notación Extendida
· Representar características o propiedades de una clase.
· Incluir valores de atributos en el diagrama de objetos.
Instanciación
Atributos
Notación Extendida
· Detallar los valores específicos de los atributos.
Instanciación
Atributos
Notación Extendida
· Simplificar la representación de atributos en el diagrama de objetos.
Notación Compacta
Identificadores
Atributos Derivados
· Indicar atributos que sirven como identificadores únicos para instancias de una clase.
Notación Compacta
Identificadores
Atributos Derivados
· Representar atributos cuyos valores se derivan de otros atributos en el modelo.
Notación Compacta
Identificadores
Atributos Derivados
