Articulo de referencia

Diseño de sistemas

El estudio básico del diseño de sistemas es la comprensión de las partes componentes y su interacción posterior entre sí. [ 1 ] El diseño de sistemas ha aparecido en una varieda...

El estudio básico del diseño de sistemas es la comprensión de las partes componentes y su interacción posterior entre sí. [ 1 ]

El diseño de sistemas ha aparecido en una variedad de campos, incluyendo la aeronáutica, [ 2 ] la sostenibilidad, [ 3 ] la arquitectura de computadoras/software, [ 4 ] y la sociología. [ 5 ]

Desarrollo de productos

Si el tema más amplio del desarrollo de productos "combina la perspectiva del marketing, el diseño y la fabricación en un único enfoque para el desarrollo de productos", [ 6 ] entonces el diseño es el acto de tomar la información de marketing y crear el diseño del producto que se va a fabricar.

Así, en el desarrollo de productos, el diseño de sistemas implica el proceso de definir y desarrollar sistemas, como interfaces y datos , para que un sistema de control electrónico cumpla con los requisitos especificados . El diseño de sistemas puede considerarse como la aplicación de la teoría de sistemas al desarrollo de productos . Existe cierta superposición con las disciplinas de análisis de sistemas , arquitectura de sistemas e ingeniería de sistemas . [ 7 ] [ 8 ] [ 9 ]

Diseño físico

El diseño físico se refiere a los procesos reales de entrada y salida del sistema. Esto se explica en términos de cómo se ingresan los datos al sistema, cómo se verifican/autentican, cómo se procesan y cómo se muestran. En el diseño físico, se definen los siguientes requisitos del sistema.

  1. Requisito de entrada,
  2. Requisitos de producción,
  3. Requisitos de almacenamiento,
  4. Requisitos de procesamiento,
  5. Control del sistema y copia de seguridad o recuperación. [ 10 ]

Dicho de otro modo, la parte física del diseño del sistema generalmente se puede dividir en tres subtareas:

  1. Diseño de interfaz de usuario
  2. Diseño de datos
  3. Diseño de procesos

Diseño arquitectónico

El diseño de la estructura general de un sistema se centra en crear un sistema escalable, fiable y eficiente. Por ejemplo, servicios como Google, Twitter, Facebook, Amazon y Netflix son ejemplos de sistemas distribuidos a gran escala. A continuación, se presentan algunas consideraciones clave:

  1. Requisitos funcionales y no funcionales
  2. Estimación de capacidad
  3. Uso de bases de datos relacionales y/o NoSQL
  4. Escalado vertical, escalado horizontal, fragmentación
  5. Balanceo de carga
  6. replicación primaria-secundaria
  7. Caché y CDN
  8. Servidores sin estado y con estado
  9. Geoenrutamiento de centros de datos
  10. Cola de mensajes, arquitectura de publicación-suscripción
  11. Monitoreo y registro de métricas de rendimiento
  12. Automatización de la creación, prueba, configuración e implementación
  13. Encontrar un único punto de fallo
  14. Limitación de velocidad de API
  15. Acuerdo de Nivel de Servicio

Diseño de sistemas de aprendizaje automático

El diseño de sistemas de aprendizaje automático se centra en la creación de sistemas escalables, fiables y eficientes que integran modelos de aprendizaje automático (ML) para resolver problemas del mundo real. Los sistemas de ML requieren una cuidadosa consideración de las canalizaciones de datos, el entrenamiento de modelos y la infraestructura de implementación. Los sistemas de ML se utilizan con frecuencia en aplicaciones como motores de recomendación , detección de fraude y procesamiento del lenguaje natural .

Los componentes clave a considerar al diseñar sistemas de aprendizaje automático incluyen:

  1. Definición del problema: Defina claramente el problema, los requisitos de datos y las métricas de evaluación. Los criterios de éxito suelen incluir precisión, latencia y escalabilidad. [ 11 ]
  2. Canalización de datos: Construya canalizaciones automatizadas para recopilar, limpiar, transformar y validar datos. [ 12 ]
  3. Selección y entrenamiento de modelos: Elija algoritmos apropiados (por ejemplo, regresión lineal , árboles de decisión , redes neuronales ) y entrene los modelos utilizando marcos de trabajo como TensorFlow o PyTorch .
  4. Despliegue y servicio: Despliegue los modelos entrenados en entornos de producción utilizando arquitecturas escalables como servicios en contenedores (por ejemplo, Docker y Kubernetes ). [ 13 ]
  5. Monitoreo y mantenimiento: Monitorear continuamente el rendimiento del modelo, volver a entrenarlo según sea necesario y asegurar que se aborde la deriva de los datos . [ 14 ]

El diseño de un sistema de aprendizaje automático implica equilibrar la precisión, la latencia, el coste y la mantenibilidad, garantizando al mismo tiempo la escalabilidad y la fiabilidad del sistema. Esta disciplina se solapa con MLOps , un conjunto de prácticas que unifica el desarrollo y las operaciones de aprendizaje automático para asegurar una implementación fluida y una gestión eficaz del ciclo de vida de los sistemas de aprendizaje automático.

Véase también

Referencias

  1. Papanek, Victor J. (1984) [1972]. Diseño para el mundo real: Ecología humana y cambio social (2.ª  ed.). Chicago: Academy Chicago. p.  276. ISBN 0897331532OCLC 12343986 
  2. Defoort, Sebastien; Balesdent, M.; Klotz, Patricia; Schmollgruber, Peter; Morio, Jerome; Hermetz, J.; Blondeau, Christophe; Bérend, Nicolas; Carrier, Gérald; Bailly, Didier (2012). "Diseño de sistemas aeroespaciales multidisciplinarios: principios, problemas y experiencia de Onera" . AerospaceLab Journal (4).
  3. Blizzard, Jacqualyn; Klotz, Leidy (2012). "Un marco para el diseño de sistemas sostenibles integrales" . R Design Studies . 33 (5): 456– 479. doi : 10.1016/j.destud.2012.03.001 .
  4. Lukosh, Heidi; Bekebrede, Geertje; Kurapati, Shalini; Lukosch, Stephan (2018). "Una base científica de los juegos de simulación para el análisis y diseño de sistemas complejos" . Simulation & Gaming . 49 (3): 279– 314. doi : 10.1177/1046878118768858 . PMC 6187265. PMID 30369775 .  
  5. Werner, Ulrich (septiembre de 1987). "Heurísticas críticas del diseño de sistemas sociales". European Journal of Operational Research . 31 (3): 276-283. doi : 10.1016/0377-2217(87)90036-1 .
  6. Ulrich, Karl T.; Eppinger, Steven D. (2000). Diseño y desarrollo de productos (Segunda edición). Boston: Irwin McGraw-Hill. 
  7. Este artículo incorpora material de dominio público de la Norma Federal 1037C . Administración de Servicios Generales . Archivado del original el 22 de enero de 2022.Dominio público 
  8. Este artículo incorpora material de dominio público del Diccionario de términos militares y afines . Departamento de Defensa de los Estados Unidos .Dominio público 
  9. Cardenas, IC; Kozine, I (2025). "Personalizando un enfoque para analizar un sistema sociotécnico subespecificado" . Engineering Management Journal : 1–20 . doi : 10.1080/10429247.2025.2502690 . Este artículo incorpora texto de esta fuente, que está disponible bajo la licencia CC BY 4.0 .
  10. Arden, Trevor (1991). Aplicaciones de la tecnología de la información . Londres: Pitman. ISBN 978-0-273-03470-4.
  11. Sorvisto, Dayne (2023). MLOps Lifecycle Toolkit: A Software Engineering Roadmap for Designing, Deploying, and Scaling Stochastic Systems . Apress. ISBN 978-1-4842-9641-7.
  12. Polyzotis, Neoklis (2017). «Desafíos de la gestión de datos en el aprendizaje automático en producción». Actas de la Conferencia Internacional ACM de 2017 sobre Gestión de Datos . págs. 1723–1726 . doi : 10.1145/3035918.3054782 . ISBN  978-1-4503-4197-4.
  13. Huyen, Chip (2022). Diseño de sistemas de aprendizaje automático . O'Reilly Media. ISBN 978-1-098-10796-3.
  14. "Aprendizaje automático a gran escala: desafíos y mejores prácticas" . Blog de Google Cloud . 2020.

Lecturas adicionales

  • Diseño de sistemas interactivos . Curso impartido por Chris Johnson, 1993.
  • Curso impartido por la profesora Birgit Weller, 2020