Register
Process Type
Graphical expression
Mind Type
Structured expression
Note Type
Efficient expression

BlokkdiagramSyntaks

Blokkdiagram

Et blokkdiagram består av blokker og koblinger, for å visuelt representere komplekse systemer, prosesser eller arkitekturer. Blokker representerer grunnleggende komponenter eller funksjoner, og koblinger viser forholdet eller flyten mellom disse komponentene. Blokkdiagrammer er avgjørende innen ulike felt som ingeniørfag, programvareutvikling og prosessledelse.

Kode
                            
Kopier
Bygg inn
block-beta columns 1 db(("DB")) blockArrowId6<["   "]>(down) block:ID A B["A wide one in the middle"] C end space D ID --> D C --> D style B fill:#f96,stroke:#333,stroke-width:4px

Bruksområder for blokkdiagrammer

Hovedformålet med et blokkdiagram er å gi et overordnet bilde av systemet, slik at folk enkelt kan forstå og analysere det uten å trenge inn i de komplekse detaljene i hver komponent. Dette gjør blokkdiagrammer spesielt nyttige for å forenkle komplekse systemer og for å forklare den overordnede strukturen og samspillet mellom komponentene i et system.

Bruksscenario

Blokkdiagrammer har bred anvendelse i ulike bransjer og disipliner, hovedsakelig innen:

  • Programvarearkitektur: innen programvareutvikling kan blokkdiagrammer brukes til å illustrere arkitekturen til en programvareapplikasjon. Dette inkluderer å vise hvordan ulike moduler eller tjenester samhandler, dataflyt og samspillet mellom komponenter på høyt nivå.
  • Nettverkstopologi: blokkdiagrammer er svært godt egnet til å representere nettverksarkitekturer innen IT og telekom. De kan vise hvordan ulike nettverksenheter og tjenester kobles sammen, inkludert rutere, svitsjer, brannmurer og dataflyten i nettverket.
  • Prosessflytdiagram: i forretningsvirksomhet og produksjon kan blokkdiagrammer brukes til å lage flytskjemaer. Disse flytskjemaene representerer de ulike fasene i en forretnings- eller produksjonsprosess og bidrar til å visualisere trinnrekkefølge, beslutningspunkter og kontrollflyt.
  • Elektrisk system: ingeniører bruker blokkdiagrammer til å representere elektriske systemer og kretser. De kan illustrere den overordnede strukturen til elektriske systemer, samspillet mellom ulike elektriske komponenter og strømflyten.
  • Undervisningsformål: blokkdiagrammer brukes også mye i undervisningsmateriell for å forklare komplekse begreper og systemer på en forenklet måte. Blokkdiagrammer bidrar til å bryte ned og visualisere vitenskapelige teorier, ingeniørprinsipper og tekniske systemer.

Deretter skal vi gå i dybden på hvordan du oppretter og arbeider med blokkdiagrammer i Mermaid, og dekke alt fra grunnleggende syntaks til avansert konfigurasjon og stil.

Enkelt blokkdiagram

Grunnstruktur

Et blokkdiagram består av blokker som representerer ulike entiteter eller komponenter. I Mermaid kan blokker enkelt opprettes med enkle tekstetiketter. Den mest grunnleggende formen for et blokkdiagram kan være en serie blokker uten noen forbindelseslinjer.

Eksempel på enkelt blokkdiagram: for å opprette et enkelt blokkdiagram med tre blokker merket a , b og c , er syntaksen som følger:

Kode
                            
Kopier
Bygg inn
block-beta a b c

Denne koden genererer tre blokker ordnet horisontalt, der hver blokk automatisk får avstand og justeres for optimal lesbarhet.

Definer antall kolonner som skal brukes

Diagram med flere kolonner

Selv om enkle blokkdiagrammer er lineære og enkle, kan mer komplekse systemer kreve et strukturert oppsett. Mermaid lar deg organisere blokker i flere kolonner, noe som bidrar til å lage mer komplekse og detaljerte diagrammer.

Eksempel på diagram med flere kolonner: i situasjoner der du trenger å fordele blokker over flere kolonner, kan du angi antall kolonner og ordne blokkene deretter. Slik oppretter du et blokkdiagram med tre kolonner og fire blokker, der den fjerde blokken vises på den andre linjen:

Kode
                            
Kopier
Bygg inn
block-beta columns 3 a b c d

Med denne syntaksen ordner Mermaid blokkene a, b, c og d i tre kolonner og bryter til neste linje etter behov. Denne funksjonen er spesielt nyttig for å representere hierarkiske eller flerlags systemer.

Avansert blokkkonfigurasjon

Mermaids avanserte syntaks gir større fleksibilitet og kompleksitet i diagramdesign, og kan tilpasses et bredere spekter av brukstilfeller og scenarier.

Juster blokkbredde

Spenn over flere kolonner

I mer komplekse diagrammer trenger du kanskje blokker som spenner over flere kolonner, for å framheve bestemte komponenter eller representere større entiteter. Mermaid lar deg justere blokkbredden til å dekke flere kolonner, noe som forbedrer diagrammets lesbarhet og struktur.

Eksempel: for å opprette en blokk som spenner over to kolonner, kan du angi ønsket bredde for hver blokk:

Kode
                            
Kopier
Bygg inn
block-beta columns 3 a["A label"] b:2 c:2 d

I dette eksempelet opptar blokken merket A label én kolonne, mens blokkene b og c spenner over 2 kolonner, og d tildeles sin egen kolonne. Denne fleksibiliteten i blokkstørrelse er avgjørende for å representere systemer med komponenter av ulik betydning eller størrelse på en nøyaktig måte.

Opprett sammensatte blokker

Nestede blokker

Sammensatte blokker gjør det mulig å representere nestede eller hierarkiske systemer, der én komponent inneholder flere underkomponenter.

Eksempel: å opprette en sammensatt blokk innebærer å definere en overordnet blokk og deretter neste underblokker i den. Slik definerer du syntaksen for en sammensatt blokk med nestede elementer:

Kode
                            
Kopier
Bygg inn
block-beta block D end A["A: I am a wide one"]

I denne syntaksen er D en underblokk nestet inne i en større overordnet blokk. Denne funksjonen er spesielt nyttig for å beskrive komplekse strukturer, for eksempel en server med flere tjenester eller en avdeling innenfor rammen av en større organisasjon.

Automatisk kolonnebredde

Juster bredden

Mermaid lar kolonnebredden justeres dynamisk basert på innholdet i blokkene. Bredden på en kolonne bestemmes av den bredeste blokken i kolonnen, noe som sikrer at diagrammet forblir balansert og lesbart.

Eksempel: i et diagram med blokker av ulik størrelse justerer Mermaid automatisk kolonnebredden til å passe den største blokken i hver kolonne.

Kode
                            
Kopier
Bygg inn
block-beta columns 3 a:3 block:group1:2 columns 2 h i j k end g block:group2:3 %% columns auto (default) l m n o p q r end

Her demonstreres hvordan Mermaid dynamisk justerer kolonnebredden til å passe den bredeste blokken.

Horisontal sammenslåing av blokker: i situasjoner der du trenger å stable blokker horisontalt, kan dette gjøres med kolonnebredde. Følgende er syntaksen for å opprette et blokkdiagram med 4 blokker stablet sammen:

Kode
                            
Kopier
Bygg inn
block-beta block columns 1 a["A label"] b c d end

I dette eksempelet justeres bredden på den sammenslåtte blokken automatisk til bredden på den største underblokken.

Blokktyper og former

Mermaid-blokkdiagrammer er ikke begrenset til standard rektangelformer. Mermaid tilbyr en rekke blokkformer, noe som muliggjør en mer detaljert og personlig representasjon av ulike typer informasjon eller entiteter.

Standard blokkform

Rektangel med avrundede hjørner

Opprett en boks med avrundede hjørner, som kan brukes til å representere en mykere eller mer fleksibel komponent:

Kode
                            
Kopier
Bygg inn
block-beta id1("This is the text in the box")

Stadionform

Stadionformede blokker kan brukes til å representere prosessorienterte komponenter:

Kode
                            
Kopier
Bygg inn
block-beta id1(["This is the text in the box"])

Subprosessform

Brukes til å representere en subprosess eller en inneholdt flyt, representert av en rektangelblokk med doble vertikale linjer:

Kode
                            
Kopier
Bygg inn
block-beta id1[["This is the text in the box"]]

Sylinderform

Sylinderformen er godt egnet til å representere databaser eller lagringskomponenter:

Kode
                            
Kopier
Bygg inn
block-beta id1[("Database")]

Sirkel

Sirkelformen kan brukes til å representere sentrale eller kritiske komponenter:

Kode
                            
Kopier
Bygg inn
block-beta id1(("This is the text in the circle"))

Asymmetrisk form, diamant og sekskant

Bruk diamant for beslutninger, og asymmetrisk form og sekskant for unike eller spesialiserte prosesser:

Asymmetrisk form
Kode
                            
Kopier
Bygg inn
block-beta id1>"This is the text in the box"]
Diamant
Kode
                            
Kopier
Bygg inn
block-beta id1{"This is the text in the box"}
Sekskant
Kode
                            
Kopier
Bygg inn
block-beta id1{{"This is the text in the box"}}

Parallellogram og trapes

Parallellogram og trapes er godt egnet for inngangs-/utgangs- og overgangsprosesser

Kode
                            
Kopier
Bygg inn
block-beta id1[/"This is the text in the box"/] id2["This is the text in the box"] A[/"Christmas"] B["Go shopping"/]

Dobbel sirkel

For å utheve kritiske eller høyt prioriterte komponenter er det svært effektivt å bruke dobbel sirkel:

Kode
                            
Kopier
Bygg inn
block-beta id1((("This is the text in the circle")))

Pilblokker og tomme blokker

Pilblokk

Blokkpiler kan visuelt vise retningen eller flyten i en prosess:

Kode
                            
Kopier
Bygg inn
block-beta blockArrowId<["Label"]>(right) blockArrowId2<["Label"]>(left) blockArrowId3<["Label"]>(up) blockArrowId4<["Label"]>(down) blockArrowId5<["Label"]>(x) blockArrowId6<["Label"]>(y) blockArrowId6<["Label"]>(x, down)

Tom blokk

Tomme blokker kan brukes til å lage tomrom, noe som er nyttig for oppsett og lesbarhet:

Kode
                            
Kopier
Bygg inn
block-beta columns 3 a space b c d e
Kode
                            
Kopier
Bygg inn
block-beta ida space:3 idb idc

Merk at du kan bruke tallsymbolet space:num til å angi antall kolonner en tom blokk opptar, der num angir kolonnebredden. Du kan også bruke space , som standard er én kolonne.

Standardformer og spesielle former i Mermaid forbedrer blokkdiagrammets uttrykksevne og gjør det mulig å representere ting mer nøyaktig og kontekstuelt.

Koble blokker sammen med linjer

En nøkkelegenskap ved Mermaid-blokkdiagrammer er muligheten til å koble sammen de enkelte blokkene med ulike typer linjer eller lenker.

Grunnleggende koblinger og piltyper

Å koble sammen blokker krever piler eller linjer. Disse koblingene beskriver forholdet eller informasjonsflyten mellom blokkene. Mermaid tilbyr en rekke piltyper for å dekke ulike diagrambehov.

Grunnleggende lenker

Opprett en enkel lenke med pil som viser retningen eller flyten fra én blokk til en annen:

Kode
                            
Kopier
Bygg inn
block-beta A space B A-->B

Dette eksempelet viser en direkte kobling fra blokk A til blokk B.

Tekst på lenker

I tillegg til å koble sammen blokker trenger man ofte å beskrive eller merke relasjonen. Mermaid lar deg legge til tekst på lenker, noe som gir lenken kontekst.

For å legge til tekst på en lenke inkluderer syntaksen teksten i lenkedefinisjonen:

Kode
                            
Kopier
Bygg inn
block-beta A space:2 B A-- "X" -->B
Kanter og stil:
Kode
                            
Kopier
Bygg inn
block-beta columns 1 db(("DB")) blockArrowId6<["   "]>(down) block:ID A B["A wide one in the middle"] C end space D ID --> D C --> D style B fill:pink,stroke:#333,stroke-width:4px

Stil og tilpasning

I tillegg til strukturen og oppsettet til blokkdiagrammet tilbyr Mermaid også en lang rekke stilalternativer. Disse tilpasningsfunksjonene gjør det mulig å lage diagrammer med mer visuell karakter og mer informasjon.

Stil for enkeltblokk

Mermaid kan utføre detaljert stilsetting av enkeltblokker, og du kan bruke ulike CSS-egenskaper, for eksempel farge, strek og rammetykkelse.

Tilpass stilen til en enkelt blokk

For å bruke en egendefinert stil på en blokk kan du bruke style -syntaksen, etterfulgt av blokkidentifikatoren og de ønskede CSS-egenskapene:

Kode
                            
Kopier
Bygg inn
block-beta id1 space id2 id1("Start")-->id2("Stop") style id1 fill:pink,stroke:#333,stroke-width:4px style id2 fill:#bbf,stroke:#f66,stroke-width:2px,color:#fff,stroke-dasharray: 5 5

Klassestil

Mermaid støtter å bruke stiler på klasser. Hvis du vil bruke et bestemt sett med stiler på flere elementer, er det enklere å bruke stilinnstillinger, siden du bare trenger å koble disse elementene til én klasse.

Angi stil for en enkelt klasse

Kode
                            
Kopier
Bygg inn
block-beta A space B A-->B classDef blue fill:pink,stroke:#333,stroke-width:4px; class A blue style B fill:#bbf,stroke:#f66,stroke-width:2px,color:#fff,stroke-dasharray: 5 5

Her defineres klassen blue og brukes på blokk A, mens blokk B får en egen stil.

Brukstilfelle

Når de modulære diagrammene i Mermaid-blokkdiagrammer brukes i reelle scenarier, viser allsidigheten deres seg til fulle.

Detaljerte eksempler på ulike funksjoner

Gjennom struktur, lenker og stylelementer kan vi opprette Mermaid-blokkdiagrammer som spiller bestemte roller i ulike sammenhenger.

Systemarkitektur

Følgende er en enkel programvaresystemarkitektur med sammenkoblede komponenter:

Kode
                            
Kopier
Bygg inn
block-beta columns 3 Frontend blockArrowId6<[" "]>(right) Backend space:2 down<[" "]>(down) Disk left<[" "]>(left) Database[("Database")] classDef front fill:pink,stroke:#333; classDef back fill:#f96,stroke:#333; class Frontend front class Backend,Database back

Dette eksempelet viser en grunnleggende arkitektur med frontend, backend og database, der hver blokk vises på ulike måter for å skille mellom ulike komponenttyper.

Forretningsprosess

Følgende er en forretningsprosess med beslutningspunkter og flere faser:

Kode
                            
Kopier
Bygg inn
block-beta columns 3 Start(("Start")) space:2 down<[" "]>(down) space:2 Decision{{"Make Decision"}} right<["Yes"]>(right) Process1["Process A"] downAgain<["No"]>(down) space r3<["Done"]>(down) Process2["Process B"] r2<["Done"]>(right) End(("End")) style Start fill:pink; style End fill:pink;

Disse praktiske eksemplene framhever den praktiske verdien av Mermaid-blokkdiagrammer når det gjelder å forenkle kompleks informasjon og oppnå effektiv kommunikasjon på tvers av fagområder.

Feilsøking

Det kan noen ganger være utfordrende å lage komplekse blokkdiagrammer med Mermaid-syntaks. Her listes vanlige syntaksfeil opp, sammen med tips for å håndtere mer komplekse diagramstrukturer.

Vanlige syntaksfeil

Å unngå vanlige syntaksfeil er nøkkelen til å bruke Mermaid-blokkdiagrammer problemfritt.

Lenkefeil

Bruk av feil lenkesyntaks kan føre til uventede resultater eller ødelagte diagrammer:

                            
Kopier
Bygg inn
block-beta A - B

Rettelse: sørg for å bruke piler ( --> eller --- ) riktig for å koble sammen blokkene, for å definere retningen og typen av kobling. I tillegg er et av grunnprinsippene i blokkdiagrammer at forfatteren har full kontroll over plasseringen av blokkene, så i tilfellet ovenfor må du legge til mellomrom mellom blokkene:

Kode
                            
Kopier
Bygg inn
block-beta A space B A --> B

Stilfeiljustering

Bruk av stiler i feil kontekst eller med feil syntaks kan føre til at stilen ikke brukes som forventet:

Kode
                            
Kopier
Bygg inn
block-beta A style A fillpink;

Rettelse: sørg for å skille stil-egenskapene riktig med komma og bruke riktig format for CSS-egenskaper for å rette opp syntaksen:

Kode
                            
Kopier
Bygg inn
block-beta A style A fill:pink,stroke:#333;