Post

Flujo de Diseño del Sistema

1 Flujo de Diseño del Sistema

  1. Entender el problema y el alcance:
    • Definir los casos de uso, con la ayuda del entrevistador: especificar lo que se espera del sistema
    • Sugerir características adicionales: proponer mejoras o funcionalidades que podrían ser útiles
    • Eliminar elementos que el entrevistador considere fuera de alcance: focalizarse en lo relevante para la solución
    • Suponer que se requiere alta disponibilidad, agregarlo como caso de uso: asegurar que el sistema funcione sin interrupciones

2 Pensar en las restricciones:

  • Preguntar cuántas solicitudes por mes: entender la magnitud del tráfico
  • Preguntar cuántas solicitudes por segundo (pueden dar la cifra o hacerte calcularlo): determinar la carga por segundo para dimensionar el sistema
  • Estimar porcentaje de lecturas vs. escrituras: tener claro si el sistema tiene más operaciones de lectura o escritura
  • Mantener en mente la regla 80/20: la mayoría de las operaciones suelen ser lecturas
  • Cuánto dato se escribe por segundo: dimensionar el volumen de datos escritos
  • Almacenamiento total requerido en 5 años: planificar la capacidad de almacenamiento a largo plazo
  • Cuánto dato se lee por segundo: dimensionar el volumen de datos leídos

3 Diseño abstracto:

  • Capas (servicio, datos, caché): definir cómo se organizarán los componentes del sistema
  • Infraestructura: balanceo de carga, mensajería: cómo se distribuirán las peticiones y se manejarán los mensajes entre servicios
  • Visión general de cualquier algoritmo clave que impulse el servicio: especificar la lógica fundamental del sistema
  • Considerar cuellos de botella y determinar solución: prever posibles puntos débiles y cómo solucionarlos

Recomenaciones

  • Puedo consultar libros para realizar un diagrama en especifico o quizas la documentacion si se trata por ejemplo de UML
  • puedes utilizar un template de Ingenieria de software en caso necesite estructurar el desarrollo de un software
  • Los modelos no deben establecer a pie de la letra el desarrollo el sistema.
  • En definitiva, lo importante es cumplir los requerimientos del cliente
This post is licensed under CC BY 4.0 by the author.