Modelo C4: Diagramando una arquitectura de software

Поделиться
HTML-код
  • Опубликовано: 30 июл 2024
  • Hablemos del modelo C4, una manera relativamente reciente de diagramar y documentar una arquitectura de software, creada por Simon Brown. Todos los detalles del modelo C4 en este video.
    Segunda parte del Modelo C4: • 3 diagramas complement...
    MIS CURSOS
    🧹 Arquitecturas Limpias para Desarrollo de Software: platzi.com/l/manuelzapata
    📐 Arquitectura de Software: manuelzapata.co/ars
    🔌 Patrones de Diseño: manuelzapata.co/curso-pdd
    📦 Programación Profesional con Objetos (Gratis): manuelzapata.co/objetos
    🌲 Principios de Diseño SOLID (Gratis): manuelzapata.co/mcp
    🙌 Hazte miembro del canal: / @manuelzapata
    🌎 Mi sitio web: manuelzapata.co
    🎦 Suscríbete al canal: manuelzapata.co/suscribete
    📩 Mi lista de correo: manuelzapata.co/lista
  • НаукаНаука

Комментарии • 119

  • @ManuelZapata
    @ManuelZapata  3 года назад +3

    ⚠️¿Quieres aprender más del modelo C4? Inscríbete a mi Curso de Arquitectura de Software 👇👇👇
    cursosmz.co/inscripcion-curso-arquitectura-software/?

    • @wandybetances3405
      @wandybetances3405 3 года назад +1

      ¿Cuál seria el orden correcto para aprender todos los cursos de su plataforma?

  • @ellocovelo
    @ellocovelo 2 года назад

    Excelente contenido, me servira bastante para comenzar a usar Diagramas C4

  • @Kaleb123
    @Kaleb123 Год назад

    Nuevo suscriptor, soy de Administración y te entendí todo lo explicas de forma sencilla algo que es muy técnico.

  • @linac2270
    @linac2270 10 месяцев назад

    Excelente profe, muchas gracias por crear este tipo de contenido, me quedo muy claro el c4-model!

  • @jesusabregucossio702
    @jesusabregucossio702 3 года назад +1

    Un video explicativo bastante útil para comprender esa tendencia en la arquitectura de software. ¡Gran aporte!

  • @MundoHackers
    @MundoHackers 8 месяцев назад

    Gracias rey , muy bien explicado y deja re claro el tema 👏🏼👏🏼🙏🏼

  • @nelsonscript
    @nelsonscript Год назад +2

    Hola muy buen video te felicito, en mi caso me ha parecido muy buena la experiencia de trabajar con Event Storming, DDD, TDD y Cell Based Architecture, así se aterriza la funcionalidad independientemente de la tecnología a usar POO o programación funcional y se centra más en las necesidades del cliente y el entendimiento de su contexto, saludos!

  • @mgbeltranb
    @mgbeltranb 5 лет назад +2

    Buenísimo Manuel, muchas gracias por la explicación.

  • @paulino_acuna
    @paulino_acuna 8 дней назад

    Excelente explicación 🎉

  • @denisagerez902
    @denisagerez902 2 года назад

    Excelente video! gracias!

  • @iamthefuelte
    @iamthefuelte 3 года назад

    Excelente video!! gracias por compartir este conocimiento!!Saludos desde Argentina.

    • @ManuelZapata
      @ManuelZapata  3 года назад

      Es con el mayor de los gustos, Martín!

  • @prezdev
    @prezdev 4 года назад +2

    Que buenos vídeos viejo! Muchas gracias por toda esta info. Saludos colega!

  • @giancarloaparicio5841
    @giancarloaparicio5841 3 года назад

    Magistral como siempre....
    Gracias por compartir tus conocimientos :)

  • @ricardomelida1601
    @ricardomelida1601 3 года назад

    Parece tan fácil cuando lo explicas.
    Gracias por compartir tu valioso conocimiento Manuel.

    • @ManuelZapata
      @ManuelZapata  3 года назад +1

      Gracias por esas palabras, Ricardo.

  • @federicoalbesa3748
    @federicoalbesa3748 3 года назад +2

    Compadre!!! Excelente video, gracias😁

  • @josu9785
    @josu9785 Год назад

    buen video muchas gracias

  • @arquitecturati5861
    @arquitecturati5861 4 года назад +1

    Muy buen canal. Sigue así.
    Saludos desde México.

  • @pabloroman4908
    @pabloroman4908 3 года назад

    Estoy aprendiendo un monton, gracias!! 😄

  • @cesalab4738
    @cesalab4738 3 года назад +1

    interesante, el modelo C4 se mira como muy buena opción a utilizar....

  • @jklmg10
    @jklmg10 4 года назад +1

    excelente video, saludos desde La Paz,Bolivia

    • @ManuelZapata
      @ManuelZapata  4 года назад

      Gracias. Saludos desde Medellín, Colombia! :)

  • @lilianrgg
    @lilianrgg 4 года назад

    Muy buena explicación, gracias

  •  5 лет назад

    Excelente, aporte.

  • @LinuxUnix2050
    @LinuxUnix2050 4 года назад

    Excelente trabalho Manuel recién descubri tu canal gracias sigue así saludos desde Ecuador

    • @ManuelZapata
      @ManuelZapata  4 года назад

      Con gusto Cesar! No olvides suscribirte 😀

  • @doraivetterivero3676
    @doraivetterivero3676 4 года назад

    Gracias, muy buen video

  • @juandavidcastroperez5472
    @juandavidcastroperez5472 4 года назад +1

    He aprendido cosas que no sabía hermano, gracias, slds

  • @tetormanhbr
    @tetormanhbr 3 года назад

    Excelente explicación.

  • @pw4645
    @pw4645 3 года назад

    muy interesante, gracias.!

  • @andresnator
    @andresnator 5 лет назад

    Gracias Manuel

  • @alonsozy23
    @alonsozy23 4 года назад

    Excelente video, saludos amigo!

  • @fernandovasquez7088
    @fernandovasquez7088 4 года назад

    Excelente video!

  • @raulencioable
    @raulencioable 3 года назад

    muy agradecido!!!

  • @finnelhumano3326
    @finnelhumano3326 4 года назад +1

    Me encanta este tipo de contenido !!!

    • @ManuelZapata
      @ManuelZapata  4 года назад +1

      Gracias Finn El Humano! Si tienes sugerencias de temas que te gustaría aprender, las recibo con mucho gusto.

    • @finnelhumano3326
      @finnelhumano3326 4 года назад

      @@ManuelZapata Me gustaria si podes, que hagas un video explicando sobre que es lo que realmente se hace en la etapa de DISEÑO del desarrollo de software. Cuando alguien quiere diseñar software, por donde empieza? cuales son las herramientas que existen para encararlo? (ya sean diagramas uml, casos de uso, diagrama de flujo de datos, redes de petri, diagrama de transicion de estados.. etc) esas que nombre son las que conozco, pero se que hay muchas mas y me gustaria que las nombres todas... cuales son los problemas que pueden surgir? cuantas personas trabajan en la parte de diseño comunmente en una empresa? un diseñador gana mas dinero que un desarrollador? para ser diseñador hay que tener experiencia previa en programacion o se puede serlo sin saber hacer una linea de codigo? son algunas de las preguntas que me gustaria saber su respuesta ! Muy bueno el contenido :)

    • @ManuelZapata
      @ManuelZapata  4 года назад

      Ufff... de verdad, excelente retroalimentación! Esas preguntas dan tranquilamente para un curso o una buena serie de videos. Ya las anoté todas. Voy a ver como las organizo con los otros contenidos del canal y del blog. Gracias!

  • @aldomartinez5071
    @aldomartinez5071 2 года назад

    Hola Manuel, de antemano gracias por la información. Un par de dudas: Haciendo un comparativo con UML, no me queda muy claro en C4 : 1) La fase sobre los requerimientos del usuario...lo que en UML seria los casos de uso 2) Obligatoriamente tenemos que programar para realizar los diversos diagramas 3) respecto al control de las actividades (workflow) especificas de cada programador..como lo manejas?... Gracias

  • @mariaovalles3649
    @mariaovalles3649 2 года назад

    Excelente!!!

  • @andresfelipecorreavilla3689
    @andresfelipecorreavilla3689 2 года назад

    Hola Manuel, es bueno poner las descripciones containers, persons, en ingles y en español? lo pienso por si en un futuro lo puedan presentar en cualquier parte. Gracias Manuel.

  • @danielcanizalez8558
    @danielcanizalez8558 5 лет назад

    Hola Manuel muy buen video, todos en tu canal. Envié una consulta a través de tu sitio web.

  • @jeffersoncabrera
    @jeffersoncabrera 5 лет назад +9

    Cuando un video de las vistas de kruchten o modelo 4+1 por favor

    • @ManuelZapata
      @ManuelZapata  5 лет назад +4

      Lo anoto en la lista de temas!! Gracias por la sugerencia Jefferson.

    • @paolagalarza2823
      @paolagalarza2823 2 года назад

      @@ManuelZapata Si por favor Manuel, sería genial un video sobre las vistas de Kruchten que es diagramación de arquitectura.

  • @angelcabrera4560
    @angelcabrera4560 2 года назад

    Crack

  • @rogeliomartinezgonzalez4123
    @rogeliomartinezgonzalez4123 3 года назад

    Antes del ver el video ya me he suscrito con la esperanza de que me sirva

  • @eduarfabricioanayaramirez9947
    @eduarfabricioanayaramirez9947 2 года назад

    Hola Manuel, gracias por el aporte, pregunta, cuando hablan de diseño técnico de un requerimiento, que típo de diagrama se aplica?.

    • @ManuelZapata
      @ManuelZapata  2 года назад +1

      Pueden aplicar varios. Del modelo C4, los diagramas de componentes. De UML, podría ser un diagrama de clases o un diagrama de secuencia.

  • @D.E.77
    @D.E.77 3 года назад

    Hola, gracias por el video, quisiera hacerte una pregunta ¿tendras porseacaso un video donde hables de la metodologia xp?

    • @ManuelZapata
      @ManuelZapata  3 года назад +1

      Lo siento. No tengo nada sobre el tema.

  • @jeffersoncabrera
    @jeffersoncabrera 4 года назад

    Estimado Manuel Zapata que programas open source o de costo nos recomiendas para el diseño de arquitectura del modelo C4 y otros diagramas de software?

    • @ManuelZapata
      @ManuelZapata  4 года назад +2

      Jefferson, ahora estoy usando draw.io, y le instalo este plugin para el modelo C4: tobiashochguertel.github.io/c4-draw.io/

  • @aom9913
    @aom9913 4 года назад +1

    Kruchten!!! Queremos saber!

    • @ManuelZapata
      @ManuelZapata  4 года назад +1

      No son muy fan de las vistas de Kruchten, pero por honor al conocimiento, haré este año ese video!

  • @davidr2396
    @davidr2396 3 года назад +1

    Genial el video, una duda. ¿Qué software usas para diagramar? Gracias

  • @gustavovasquezveliz7046
    @gustavovasquezveliz7046 4 года назад +1

    Buen video, pero me queda la siguiente duda:
    En un equipo pequeño de 4 desarrolladores donde cada uno se encarga de frontend, backend, mobile y (cualquier otro rol relacionado al desarrollo) y cada uno aplica TDD con sprints de 1 semana, ¿quién y en qué momento debe hacer estos diagramas?
    En el ejemplo de diagrama de componentes veo ya algo medianamente grande. Lo que no me cuadra de hacer diagramas es que hay que estar actualizandolos a la par del desarrollo, y si se usa herramientas colaborativas como miro o draw.io me pasa que el que hoy hace mobile va a consumir algunos metodos que el de backend definió hoy en alguna clase, pero el de backend mañana va a renombrar/agregar/eliminar algunos métodos de la clase que usa el de mobile.. y se debe volver a actualizar el diagrama (otro flujo de trabajo extra al ya apretado sprint)

    • @ManuelZapata
      @ManuelZapata  3 года назад +3

      Tocas unos puntos muy interesantes aquí, Gustavo. Aquí mis comentarios:
      - Los diagramas no necesariamente tienes que actualizarlos a la par del desarrollo. Yo prefiero hacerlo cuando ya tengo una funcionalidad estable. ¿Por qué? Porque la funcionalidad va a ir cambiando hasta que se estabilice.
      - Los diagramas no tienen que representar absolutamente. Solo que sea importante para que alguien entienda el sistema. Por ejemplo, si los CRUD no añaden mayor detalle, esas interacciones se podrían eliminar.
      - ¿Quién hace los diagramas? Por lo general, solo hay un diagrama de contexto y uno de contenedores. Esos los puede hacer cualquiera en el equipo. Luego, yo asignaría la actualización de los diagramas de componentes a quien tocó una funcionalidad.
      - No todas las funcionalidades afectan los diagramas.

  • @nsaid26
    @nsaid26 4 года назад

    Recién descubrí el canal, está de más, me estoy preparando para un rol de arquitectura. Que libros me recomiendas ??
    saludos.

    • @ManuelZapata
      @ManuelZapata  4 года назад +1

      Aquí van los libros recomendados, Norbert: manuelzapata.co/libros-recomendados-arquitectura-de-software/

    • @nsaid26
      @nsaid26 4 года назад

      @@ManuelZapata Muchas gracias por la info y éxitos en tu canal, saludos.

  • @juanantoniososapesoa7549
    @juanantoniososapesoa7549 3 года назад

    Muy bueno el vídeo. Pero que herramienta se utiliza para hacer el diagrama C4? Por favor y saludos

    • @ManuelZapata
      @ManuelZapata  3 года назад

      diagrams.net es la que estoy usando desde hace un tiempo.

  • @juanhenaoparra9794
    @juanhenaoparra9794 4 года назад

    Excelente! Dónde haces los diagramas?

    • @ManuelZapata
      @ManuelZapata  4 года назад +3

      Uso draw.io con un plugin para C4. Saludos Juan!

  • @Coderoll
    @Coderoll 4 года назад

    Hola Manuel, alguna herramienta (gratis por supuesto) que nos ayude con estos diagramas? gracias, saludos!

    • @ManuelZapata
      @ManuelZapata  4 года назад +3

      Hola Oscar, hay varias. La que más me gusta, por su simplicidad es draw.io, junto con un plugin de C4: github.com/tobiashochguertel/c4-draw.io

  • @jamesbarreto9553
    @jamesbarreto9553 3 года назад

    Hola buen día Manuel.
    Descubri hace poco tu canal y me parece que explicas muy bien. Felicidades por no ser egoista y por compartir tus conocimientos.
    Soy nuevo en este mundo y quiero hacer una pregunta. Espero poder hacerme entender.
    Es posible desarrollar un sistema que cumpla con lo siguiente:
    1. Que contenga una aplicacion para movil android (que funcione sin acceso a internet), la cual pueda recopilar y almacenar datos en la memoria del movil. Posteriormente estos datos sean enviados atraves de internet. (Aqui tengo la duda de a donde deberian ser enviados estos datos para poder revisarlos antes de almacenarlos en una base de datos)
    2. Una aplicacion web donde se puedan recolectar el mismo tipo de datos que con el movil.
    3. una base de datos para posteriores consultas.
    Agradezco tus comentarios.
    Feliz Día

    • @ManuelZapata
      @ManuelZapata  3 года назад

      Seguro ya resolviste la pregunta. Totalmente posible lo que mencionas. Necesitas que la aplicación móvil implemente una base de datos local para que guarde los datos y luego sean sincronizados con el servidor.

  • @inf2094
    @inf2094 2 года назад

    Muy buen video. Algún software modela el C4.

  • @javi68yt2
    @javi68yt2 3 года назад

    Sería interesante hacer un paralelismo entre C4 y Arquitectura Hexagonal y DDD

    • @ManuelZapata
      @ManuelZapata  3 года назад +1

      C4 es solo para diagramar. Es totalmente independiente de la arquitectura que uses. DDD no es una arquitectura, pero puedes aplicar algunos de sus conceptos con Arquitectura Hexagonal.
      Sería genial hacer un video del tema, pero te adelanto parte de la respuesta.

  • @wilru25
    @wilru25 11 месяцев назад

    Este modelo C4 me sirve si el sistema a desarrollar se hace con herramientas low Code? Cómo puedo implementar?

    • @ManuelZapata
      @ManuelZapata  11 месяцев назад

      Por supuesto. También sirve si en el ecosistema hay herramientas Low Code. Absolutamente nada cambia.

  • @manuelsebastianmunoz8387
    @manuelsebastianmunoz8387 3 года назад

    Hola Manuel, muy bueno el video gracias! Una critica solamente para aclarar, en el diagrama de componentes el zoom esta hecho a la aplicacion API no a la WEB. Saludos!

    • @ManuelZapata
      @ManuelZapata  3 года назад +1

      Gracias por la observación, Manuel!

    • @manuelsebastianmunoz8387
      @manuelsebastianmunoz8387 3 года назад

      @@ManuelZapata Gracias de nuevo por este y los demás videos sigo aprendiendo!

  • @facilwebnube
    @facilwebnube 3 года назад

    donde puedo hacer un curso de C4

    • @ManuelZapata
      @ManuelZapata  3 года назад

      En mi curso de Arquitectura de Software hablamos a fondo de C4: cursosmz.co/inscripcion-curso-arquitectura-software/

  • @EduardoPatricioRoseroVaca
    @EduardoPatricioRoseroVaca 3 года назад

    hay alguna herramienta que implementa el modelo C4

    • @ManuelZapata
      @ManuelZapata  3 года назад

      diagrams.net (draw.io) lo tiene incluido.

  • @josu9785
    @josu9785 Год назад

    hola

  • @IsradelaCruz
    @IsradelaCruz 2 года назад

    Buenas, como conocedor avanzado de UML te digo que estoy en desacuerdo con tu planteamiento inicial respecto al mismo. Con UML puedes modelar todo lo que necesites, incluso tu vida real porque UML es para modelar objetos y eso es lo que tenemos en nuestro día a día. Ahora, que muchos ingenieros y desarrolladores no le hayan prestado la atención necesaria, no quiere decir que no siga siendo la mejor forma de expresar lo que quieres hacer a la hora de desarrollar. C4 es un invento como casi todo lo actual, para que la gente no piense. Repito; no existe en el mundo del modelado de software nada mejor que UML .

  • @TheSOM9000
    @TheSOM9000 2 года назад

    ¿porque no encuentro nada de información del modelo Mierdisoft, perdón quise decir microsoft? -.-

  • @aoim123
    @aoim123 4 года назад

    Confundir la metodología de trabajo RUP con lenguaje de UML, UML no te limita mi estimado y puedes adaptarlo a tu método de trabajo

    • @ManuelZapata
      @ManuelZapata  4 года назад

      No te sigo muy bien. Por qué crees que se confunde RUP con UML?

    • @aoim123
      @aoim123 4 года назад

      @@ManuelZapata mi estimado parece que expresas que UML es una "metodología" que tienes que seguir reglas, y ese lenguaje puedes adaptarlo a como a ti te pueda ser mas fácil, es decir no hay una regla estricta de como debas usarlo y se puede adaptar a varias herramientas o especificaciones como C4.

    • @ManuelZapata
      @ManuelZapata  4 года назад +5

      Interesante discusión @aoim123. Si en algún momento dije o se entendió que UML es una metodología, claramente es un error.
      Pero UML es un lenguaje, con reglas y versiones muy claras. Puedes adaptarlo? Por supuesto. Pero creo que nos estaríamos yendo en contra de la idea original de UML: crear un lenguaje estándar para diseñar.
      De ahí que creo que puedes tomar sus elementos más útiles, y donde no te de o sea demasiado estricto, buscar otras opciones (como C4). Saludos!!

  • @willysystems
    @willysystems 2 года назад

    Creo que confundes UML y C4, uno es lenguaje de modelado y el otro es método o técnica para describir la arquitectura. Gracias por el vídeo 😃

  • @luisolazo6507
    @luisolazo6507 2 года назад

    Arquitectura de servicios no, arquitectura orientada a servicios

  • @josu9785
    @josu9785 Год назад

    soy gay

  • @johncerpa3782
    @johncerpa3782 3 года назад

    Buen vídeo, gracias!