From 2f9704b8c6dc4064fa432233c12254c6d45a7224 Mon Sep 17 00:00:00 2001 From: Simon Bruder Date: Tue, 14 Nov 2023 19:18:45 +0100 Subject: [PATCH] Add interim presentation draft --- .gitattributes | 1 + .gitignore | 13 ++ shell.nix | 9 + src/main/tex/interim-presentation/Makefile | 32 +++ .../figures/puml_local/seq_order_add.puml | 36 ++++ .../puml_local/seq_order_checkout.puml | 36 ++++ .../interim-presentation/images/catering.jpg | 3 + src/main/tex/interim-presentation/main.tex | 194 ++++++++++++++++++ 8 files changed, 324 insertions(+) create mode 100644 src/main/tex/interim-presentation/Makefile create mode 100644 src/main/tex/interim-presentation/figures/puml_local/seq_order_add.puml create mode 100644 src/main/tex/interim-presentation/figures/puml_local/seq_order_checkout.puml create mode 100644 src/main/tex/interim-presentation/images/catering.jpg create mode 100644 src/main/tex/interim-presentation/main.tex diff --git a/.gitattributes b/.gitattributes index 0c3586e..3ab5e73 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1 +1,2 @@ *.svg filter=lfs diff=lfs merge=lfs -text +*.jpg filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore index b8fbb80..de873dc 100644 --- a/.gitignore +++ b/.gitignore @@ -43,3 +43,16 @@ hs_err_*.log # Direnv .direnv .envrc.private + +# TeX +*.aux +*.fdb_latexmk +*.fls +*.log +*.nav +*.out +*.pdf +*.snm +*.synctex.gz +*.toc +*.xdv diff --git a/shell.nix b/shell.nix index 06666a0..206c366 100644 --- a/shell.nix +++ b/shell.nix @@ -1,4 +1,12 @@ { pkgs ? import { } }: +let + texlive = pkgs.texlive.combine { + inherit (pkgs.texlive) scheme-small + datetime2 + datetime2-german + latexmk; + }; +in with pkgs; mkShell { buildInputs = [ @@ -8,6 +16,7 @@ mkShell { jdk17 plantuml pre-commit + texlive watchexec # enables automatic compiling on change ]; diff --git a/src/main/tex/interim-presentation/Makefile b/src/main/tex/interim-presentation/Makefile new file mode 100644 index 0000000..53c8b40 --- /dev/null +++ b/src/main/tex/interim-presentation/Makefile @@ -0,0 +1,32 @@ +PLANTUML_DIAGRAMS = $(patsubst %,figures/puml/%.pdf,design/systemContextDiagram design/catalog design/catering design/customer design/inventory design/order design/staff design/user) +PLANTUML_LOCAL_DIAGRAMS = $(patsubst %,figures/puml_local/%.pdf,seq_order_add seq_order_checkout) + +.PHONY: default clean + +default: main.pdf + +main.pdf: main.tex ${PLANTUML_DIAGRAMS} ${PLANTUML_LOCAL_DIAGRAMS} + latexmk -xelatex main.tex + +figures/puml/%.pdf: ../../asciidoc/models/%.puml + mkdir -p $(shell dirname $@) + plantuml -tpdf $< -o ./$(shell realpath --relative-to $(shell dirname $<) $(shell dirname $@)) + +figures/puml_local/%.pdf: figures/puml_local/%.puml + plantuml -tpdf $< + +clean: + rm -f \ + ${PLANTUML_DIAGRAMS} \ + ${PLANTUML_LOCAL_DIAGRAMS} \ + main.aux \ + main.fdb_latexmk \ + main.fls \ + main.log \ + main.nav \ + main.out \ + main.pdf \ + main.snm \ + main.synctex.gz \ + main.toc \ + main.xdv diff --git a/src/main/tex/interim-presentation/figures/puml_local/seq_order_add.puml b/src/main/tex/interim-presentation/figures/puml_local/seq_order_add.puml new file mode 100644 index 0000000..e2af2a1 --- /dev/null +++ b/src/main/tex/interim-presentation/figures/puml_local/seq_order_add.puml @@ -0,0 +1,36 @@ +@startuml + +participant Customer +participant OrderController +participant Cart +participant OrderManagement +participant Spring + +Customer --> OrderController : event(Model model) +activate Customer +activate OrderController +OrderController --> Cart : iterator() +activate Cart +OrderController <-- Cart : Iterator +deactivate Cart +OrderController --> Spring : model.addAttribute() +activate Spring +OrderController <-- Spring : Model +deactivate Spring +Customer <-- OrderController : "event" +deactivate OrderController +Customer --> OrderController : addProduct() +activate OrderController +OrderController --> Cart : addOrUpdateItem() +activate Cart +OrderController <-- Cart +deactivate Cart +OrderController --> Spring : model.addAttribute() +activate Spring +OrderController <-- Spring : Model +deactivate Spring +Customer <-- OrderController : "redirect:/event" +deactivate OrderController +deactivate Customer + +@enduml diff --git a/src/main/tex/interim-presentation/figures/puml_local/seq_order_checkout.puml b/src/main/tex/interim-presentation/figures/puml_local/seq_order_checkout.puml new file mode 100644 index 0000000..a7bbc09 --- /dev/null +++ b/src/main/tex/interim-presentation/figures/puml_local/seq_order_checkout.puml @@ -0,0 +1,36 @@ +@startuml + +participant Customer +participant OrderController +participant Cart +participant OrderManagement +participant Spring +participant "order1:CustomOrder" as order1 + +Customer --> OrderController : checkout() +activate Customer +activate OrderController +create order1 +OrderController --> order1 : new Order() +activate order1 +OrderController <-- order1 : Order +deactivate order1 +OrderController --> Cart : addItemsTo(order1) +activate Cart +OrderController <-- Cart +deactivate Cart +OrderController --> OrderManagement : payOrder(order1) +activate OrderManagement +OrderController <-- OrderManagement +OrderController --> OrderManagement : completeOrder(order1) +OrderController <-- OrderManagement +deactivate OrderManagement +OrderController --> Cart : clear() +activate Cart +OrderController <-- Cart +deactivate Cart +Customer <-- OrderController : "redirect:/cart" +deactivate Customer +deactivate OrderController + +@enduml diff --git a/src/main/tex/interim-presentation/images/catering.jpg b/src/main/tex/interim-presentation/images/catering.jpg new file mode 100644 index 0000000..74005df --- /dev/null +++ b/src/main/tex/interim-presentation/images/catering.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:25647782625e46e68a6b46d597314f67b9771b37ce5d292ccb02ca73a90879d8 +size 63979 diff --git a/src/main/tex/interim-presentation/main.tex b/src/main/tex/interim-presentation/main.tex new file mode 100644 index 0000000..d7b5dc8 --- /dev/null +++ b/src/main/tex/interim-presentation/main.tex @@ -0,0 +1,194 @@ +%! TeX program = xelatex +%! TeX root = ./main.tex +% vim: set spell spelllang=de: +\documentclass[aspectratio=169]{beamer} + +\usetheme[compress]{Dresden} + +\usepackage{fontspec} +\setsansfont{Fira Sans} + +\usepackage[ngerman]{babel} +\usepackage[useregional]{datetime2} + +\title{Zwischenpräsentation „Cateringservice“} +\author{% +Denis Natusch \and +Eren Asker \and +Erik Hohlfeld \and +Mathis Kral \and +Paul Heimer \and +Simon Bruder \and +Theo Reichert +} +\institute{Technische Universität Dresden} +\date{\DTMdisplaydate{2023}{11}{17}{-1}} + +\begin{document} + +\begin{frame}[plain, noframenumbering] + \maketitle +\end{frame} + +\begin{frame}[plain, noframenumbering]{Gliederung} + \setcounter{tocdepth}{1} + \tableofcontents +\end{frame} + +\section{Analyse} + +\subsection{Aufgabenstellung} + +\begin{frame} + \begin{columns} + \begin{column}{.68\textwidth} + Aus Pflichtenheft, Abschnitt \textit{Zusammenfassung}: + \begin{itemize} + \item Entwicklung einer web-basierten Java-Applikation + \item System plant automatisiert Aufträge\begin{itemize} + \item Kundenverwaltung + \item Hilfe bei der Personalverwaltung + \item Personalzuteilung + \item Termin- und Eventplanung inkl. Zubehör, Lebensmittelbedarf + \item Vereinfachung der Kostenabrechnung und Arbeitszeitaufstellung + \end{itemize} + \end{itemize} + \end{column} + \begin{column}{.32\textwidth} + \begin{figure} + \begin{center} + \includegraphics[width=0.95\textwidth]{images/catering.jpg} + \end{center} + \caption{Symbolbild, \href{https://unsplash.com/photos/dumplings-platter-SiwrpBnxDww}{Saile Ilyas auf Unsplash}} + \end{figure} + \end{column} + \end{columns} +\end{frame} + +\subsection{Systemkontext} + +\begin{frame} + \begin{figure} + \begin{center} + \includegraphics[height=0.75\textheight]{figures/puml/design/systemContextDiagram} + \end{center} + \caption{Kontextdiagramm aus Entwicklerdokumentation, Abschnitt \textit{System Context}} + \end{figure} +\end{frame} + +\section{Bausteine} + +\subsection{Catering} + +\begin{frame} + \begin{figure} + \begin{center} + \includegraphics[height=0.75\textheight]{figures/puml/design/catering} + \end{center} + \caption{Paket \texttt{catering} aus Entwicklerdokumentation, Abschnitt \textit{Building block view}} + \end{figure} +\end{frame} + +\subsection{Katalog} + +\begin{frame} + \begin{figure} + \begin{center} + \includegraphics[width=\textwidth]{figures/puml/design/catalog} + \end{center} + \caption{Paket \texttt{catalog} aus Entwicklerdokumentation, Abschnitt \textit{Building block view}} + \end{figure} +\end{frame} + +\subsection{Inventar} + +\begin{frame} + \begin{figure} + \begin{center} + \includegraphics[width=\textwidth]{figures/puml/design/inventory} + \end{center} + \caption{Paket \texttt{inventory} aus Entwicklerdokumentation, Abschnitt \textit{Building block view}} + \end{figure} +\end{frame} + +\subsection{Bestellung} + +\begin{frame} + \begin{figure} + \begin{center} + \includegraphics[height=0.75\textheight]{figures/puml/design/order} + \end{center} + \caption{Paket \texttt{order} aus Entwicklerdokumentation, Abschnitt \textit{Building block view}} + \end{figure} +\end{frame} + +\subsection{Nutzer} + +\begin{frame} + \begin{figure} + \begin{center} + \includegraphics[height=0.8\textheight]{figures/puml/design/user} + \end{center} + \caption{Paket \texttt{user} aus Entwicklerdokumentation, Abschnitt \textit{Building block view}} + \end{figure} +\end{frame} + +\subsection{Kunde} + +\begin{frame} + \begin{figure} + \begin{center} + \includegraphics[height=0.8\textheight]{figures/puml/design/customer} + \end{center} + \caption{Paket \texttt{customer} aus Entwicklerdokumentation, Abschnitt \textit{Building block view}} + \end{figure} +\end{frame} + +\subsection{Angestellte} + +\begin{frame} + \begin{figure} + \begin{center} + \includegraphics[height=0.8\textheight]{figures/puml/design/staff} + \end{center} + \caption{Paket \texttt{staff} aus Entwicklerdokumentation, Abschnitt \textit{Building block view}} + \end{figure} +\end{frame} + +\section{Laufzeitsicht am Beispiel Order} + +\subsection{Add} + +\begin{frame} + \begin{figure} + \begin{center} + \includegraphics[height=0.8\textheight]{figures/puml_local/seq_order_add} + \end{center} + \caption{Teil des Sequenzdiagramms zu \texttt{order} aus Entwicklerdokumentation, Abschnitt \textit{Runtime view}} + \end{figure} +\end{frame} + +\subsection{Checkout} + +\begin{frame} + \begin{figure} + \begin{center} + \includegraphics[height=0.8\textheight]{figures/puml_local/seq_order_checkout} + \end{center} + \caption{Teil des Sequenzdiagramms zu \texttt{order} aus Entwicklerdokumentation, Abschnitt \textit{Runtime view}} + \end{figure} +\end{frame} + +\section{Prototyp} + +\begin{frame} + \centering{\Huge Demonstration des Prototyps} +\end{frame} + +\section{Fragen} + +\begin{frame} + \centering{\Huge Fragen} +\end{frame} + +\end{document}