From 2c6a4fde7ed79fe880acab2e8f5797c1a8f06f01 Mon Sep 17 00:00:00 2001 From: surtur Date: Thu, 10 Aug 2023 23:10:40 +0200 Subject: [PATCH] tex: update use-case diagram, add class diagram --- graphics/pcmt-class-diagram.pdf | Bin 0 -> 15659 bytes graphics/pcmt-use-case.pdf | Bin 31176 -> 14776 bytes tex/part-practical.tex | 2 ++ 3 files changed, 2 insertions(+) create mode 100644 graphics/pcmt-class-diagram.pdf diff --git a/graphics/pcmt-class-diagram.pdf b/graphics/pcmt-class-diagram.pdf new file mode 100644 index 0000000000000000000000000000000000000000..22552296169365466aa22bf436d1764e099f31c8 GIT binary patch literal 15659 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 X;z>0TP{H8g0s;ll7#L*KWYPW$y?riX diff --git a/tex/part-practical.tex b/tex/part-practical.tex index dfe6ad1..fbf8ccc 100644 --- a/tex/part-practical.tex +++ b/tex/part-practical.tex @@ -245,6 +245,8 @@ Additionally, dependency-version mapping can be inferred from looking at the The application is written in Go and uses \textit{gomodules}. The full name of the module is \texttt{git.dotya.ml/mirre-mt/pcmt}. +\obr{Application class diagram}{fig:classdiagram}{.9}{graphics/pcmt-class-diagram.pdf} + \n{2}{Package structure} The source code of the module is organised into smaller, self-contained Go