Det finns inte en enda allmänt accepterad grafisk representation för en programtyp av fil eller funktion. Representationen beror starkt på sammanhanget och syftet med diagrammet. Emellertid finns det flera vanliga notationer inom olika diagrammatekniker:
för programfiler (övergripande struktur):
* filikoner: Den enklaste representationen är en generisk filikon (ofta en tom sida eller en dokumentsymbol) med en etikett som indikerar filens namn och eventuellt dess typ (t.ex. `.exe`,` .py`, `.java`). Detta är vanligt i filsystemdiagram eller flödesscheman som visar dataöverföring.
* lådor i flödesscheman: I en flödeschema på högre nivå som visar programutförande kan programfilen representeras av en rektangel eller en rundad rektangel som innehåller filens namn.
* noder i UML -diagram: UML (Unified Modeling Language) Diagram kan representera en programfil som en komponent eller ett paket som visar dess relationer till andra komponenter.
* Dataflödesdiagram (DFD): En programfil kan visas som en datalager eller en process i en DFD, beroende på om den behandlas som en statisk datakälla eller ett aktivt bearbetningselement.
för funktioner (intern struktur och relationer):
* rektanglar i flödesscheman: Funktioner representeras vanligtvis av rektanglar i flödesscheman, med funktionens namn inuti.
* uml -diagram (aktivitet, sekvens, klass):
* Aktivitetsdiagram: Visa kontrollflödet inom en funktion som en serie handlingar och beslutspunkter.
* Sekvensdiagram: Illustrerar interaktioner mellan olika funktioner eller objekt, som visar sekvensen för samtal och meddelande som passerar.
* klassdiagram: Om funktioner är metoder inom klasser visas de i klassdiagrammet som en del av klassdefinitionen.
* Kontrollflödesgrafer (CFG): Dessa är mer formella representationer som används i programanalys och kompilatordesign. Noder representerar grundläggande kodblock och kanter representerar kontrollflödet mellan block. En funktion skulle representeras som en subgraf inom CFG.
* Ring grafer: Dessa diagram visualiserar de samtalsförhållandena mellan funktioner och visar vilka funktioner som kallar vilka andra. Noder representerar funktioner och kanter representerar samtal.
* nassi-shneiderman-diagram (N-S-diagram): Dessa strukturerade programmeringsdiagram representerar funktioner med kapslade rektanglar för att visa kontrollflödet och strukturen tydligt.
Det bästa valet av grafisk representation beror på den detaljnivå som behövs och publiken. Till exempel räcker en enkel filikon för en systemöversikt på hög nivå, medan ett UML-aktivitetsdiagram eller CFG kan vara nödvändigt för detaljerad design eller analys.