01. Diagrama de Contexto del Sistema
Fase: 03 — Ingeniería de Requisitos
Entregable: 01
Proyecto: NoteVault (PC, Mac, Android, iPhone)
1. Diagrama C4 Nivel 1 — Contexto de NoteVault
El siguiente diagrama formaliza las fronteras del sistema NoteVault con los actores humanos y servicios externos:
C4Context
title Diagrama de Contexto del Sistema — NoteVault
Person(user, "Usuario Soberano", "Estudiante, investigador, atleta o profesional.")
System(nv_desktop, "NoteVault Desktop", "Cliente Electron para PC (Windows, macOS, Linux). Edición avanzada de notas, canvas, mentor de estudio y navegación.")
System(nv_mobile, "NoteVault Mobile", "Cliente Flutter para Android y iPhone. Registro ágil de hábitos, entrenamiento en el gimnasio, finanzas y tareas.")
System_Ext(filesystem, "Sistema de Archivos Local", "Almacenamiento persistente en disco (Markdown, JSON, imágenes y videos).")
System_Ext(sync_service, "Herramienta de Sincronización", "Syncthing, iCloud Drive, Google Drive o Git que replica la carpeta entre dispositivos.")
System_Ext(ai_service, "Proveedores de IA", "APIs de LLM externas (Anthropic Claude, OpenAI) o modelos locales (Ollama) para el Asistente y Mentor.")
Rel(user, nv_desktop, "Escribe notas, genera planes de estudio, analiza canvas y programa proyectos", "Teclado, Mouse, Pantalla grande")
Rel(user, nv_mobile, "Marca hábitos, registra series de ejercicio, anota gastos y revisa tareas", "Interfaz táctil móvil")
Rel(nv_desktop, filesystem, "Lee y escribe estado de módulos y notas", "Node.js fs API (POSIX paths)")
Rel(nv_mobile, filesystem, "Lee y escribe estado idéntico de módulos", "dart:io / Scoped Storage")
Rel(sync_service, filesystem, "Detecta cambios en archivos y los replica bidireccionalmente", "P2P / Nube de archivos")
Rel(nv_desktop, ai_service, "Envía contexto de notas y recibe planes/asistencia", "HTTPS / REST seguro")
2. Marco Conceptual: Frontera del Sistema C4
1. **Entidad principal e independiente.**
2. **Es la entidad líder del conjunto de datos:** posee un identificador global único que delimita el alcance del sistema frente al entorno exterior (`system_boundary_id`: `C4-CONTEXT-NOTEVAULT`) consultado en la arquitectura empresarial.
3. **Existe por sí misma en el modelo C4 sin depender de diagramas de componentes internos**, y es la única responsable de fijar con qué actores y sistemas externos se comunica NoteVault.
4. **Punto de entrada y límite de consistencia:** Define la superficie de ataque y los canales de entrada y salida de datos del sistema.