Un patrón de diseño es una solución ya probada y comúnmente utilizada para resolver
problemas en el diseño de [Link] a crear aplicaciones más organizadas, fáciles de
mantener y comprensibles. En interfaces de usuario son especialmente importantes porque
permiten lograr diseños claros, fáciles de usar y visualmente agradables.
Modelo:
Es la capa que maneja los datos y la lógica de negocio. Se ocupa de almacenar,
actualizar y procesar la información, sin preocuparse por cómo se mostrará al usuario.
También puede encargarse de operaciones como acceder a bases de datos o realizar
cálculos.
Vista:
Es la parte visual de la aplicación. Su función es mostrar los datos del Modelo al
usuario mediante elementos gráficos como texto, imágenes. También puede validar
información básica que ingresa el usuario, como evitar que escriba un valor inválido.
Controlador:
Actúa como intermediario entre la Vista y el Modelo. Recibe las acciones del usuario
(clics), las interpreta y decide qué debe hacer la aplicación: actualizar datos en el
Modelo, cambiar lo que muestra la Vista o manejar errores. También participa en la
validación y en la navegación dentro de la aplicación.
Además, un mockup es una representación visual del diseño de una interfaz. Puede ser estático
o interactivo y sirve como una versión preliminar del producto antes de comenzar su desarrollo.
Flujo de Trabajo Resumido de Git
1. Flujo Local (Guardar Cambios)
working directory : Es donde tienes los archivos del proyecto y donde realizas
las ediciones.
git add: Mueve los cambios desde el working directory a la staging
á[Link] selecciona qué cambios específicos quieres incluir en tu próxima
confirmación.
staging area: Es un "lugar intermedio" que mantiene los cambios que has marcado
para ser confirmados.
git commit: Toma los cambios que están en la staging area y los guarda
permanentemente como una versión en el local repo.
2. Flujo Remoto (Compartir y Sincronizar)
git push: Envía los commits desde tu local repo al remote repo. Esto
comparte tus cambios con el equipo.
git pull: Trae las actualizaciones y commits que otros hayan subido al remote
repo y las fusiona en tu local repo y las aplica a tu working directory.
3. Navegación
git checkout: Te permite moverte entre las diferentes ramas guardadas en tu
local repo y actualizar el estado de tu working directory.
Metodología secuencial (tradicional):
Decisiones al inicio del proyecto.
Requisitos poco claros.
Cambios de etapa provocan pérdida de información.
Errores detectados al final.
Poco tiempo para pruebas y proyectos largos.
Necesita un entorno estático.
Metodologías ágiles:
Desarrollo iterativo e incremental.
Mejor comunicación y resolución de problemas.
Adaptación a entornos cambiantes.
Requisitos y soluciones evolucionan con el tiempo.
Proyectos más rápidos y flexibles.
SCRUM
Proceso iterativo y adaptativo que maximiza productividad.
Entregas frecuentes.
Trabajo en equipo monitorizado.
Diseño evolutivo e incremental.
Roles principales:
Cliente / Stakeholders: reciben, usan o se ven afectados por el producto; pueden ser
proveedores o inversores.
Product Owner: representa al cliente, define y prioriza características, gestiona
feedback, mantiene el Product Backlog.
SCRUM Master: guía al equipo, organiza tareas, gestiona problemas, se comunica con
Product Owner.
Equipo de desarrollo: define tareas del sprint, se autogestiona, desarrolla software,
asegura evolución del proceso.
Artefactos de SCRUM
Product Backlog: lista priorizada de funcionalidades (historias de usuario) que debe
entregar el proyecto; cambia y se evalúa continuamente.
Historias de usuario: requisitos escritos en lenguaje simple; de ellas se derivan tareas
de programación.
Sprint Backlog: conjunto de tareas seleccionadas del Product Backlog para cada sprint.
Herramientas como Trello: permiten controlar tareas y coordinar la interacción del
equipo.