Programmierwerkzeuge-03-BuildProzess

TeX document icon Programmierwerkzeuge-03-BuildProzess.tex — TeX document, 8 KB (8452 bytes)

File contents

\documentclass[12pt, twoside]{scrartcl}
%Anfang OERMacros.tex
% Zum Erstellen mit pdfLaTeX wird diese Datei und der CC BY Button by.png im selben Verzeichnis benötigt. 
% by.png ist unter https://mirrors.creativecommons.org/presskit/buttons/88x31/png/by.png zu finden. 

% Für den Lizenzhinweis zur Nutzung dieser OER kann das Macro \OERLizenzHinweis verendet werden. 

\usepackage[utf8]{inputenc}
\def\Autor {Reinhard Brocks}
\def\HomeAutor {https://www.htwsaar.de/ingwi/fakultaet/personen/profile/Reinhard\%20Brocks}
\def\OERLizenzHinweis 
{
	\includegraphics{by} % by.png ist unter https://mirrors.creativecommons.org/presskit/buttons/88x31/png/by.png zu finden. 
	\begin{minipage}[b]{11cm}\footnotesize
		\href{\HomeAutor/oer/pwz/programmierwerkzeuge-03-buildprozess/at_download/file}{Programmierwerkzeuge - \mysubtitle} 
		von 
		\href{\HomeAutor}{\Autor} 
		ist lizenziert unter einer 
		\href{http://creativecommons.org/licenses/by/4.0/}{Creative Commons Namensnennung 4.0 International Lizenz}.
	\end{minipage}
}


\def\HinweisLatex {Für die Nutzung und die Bearbeitung steht das Dokument \href{\HomeAutor/oer/pwz/latex}{hier} 
	auch im \LaTeX-Format zur Verfügung.}

\def\MailAutor {reinhard.brocks@htwsaar.de}

\def\MiniKontakt 
{
	Fragen und Verbesserungsvorschläge bitte an Prof.~Dr.~\Autor, 
	Hochschule für Technik und Wirtschaft des Saarlandes. \\
	E-Mail: \href{mailto:\MailAutor}{\MailAutor}\\[2ex]
}

\def\Kontakt
{
	\MiniKontakt
	Einen Überblick über die Unterrichtseinheiten zu \glqq Programmierwerkzeuge\grqq{} 
	findet man \href{\HomeAutor/oer/pwz/programmierwerkzeuge-00-unterrichtskonzept/at_download/file}{hier}.\\[1ex]
}

\def\Disclaimer 
{
	\begin{footnotesize}
		\textbf{Disclaimer}: Der Autor übernimmt keine Haftung für eventuelle 
		Datenschutz- und sonstige Rechtsverletzungen in anderen Webangeboten, 
		auf die er einen Link gesetzt hat. Für die Inhalte der von ihm 
		verlinkten Fremdangebote sind die jeweiligen Herausgeber verantwortlich. 
		Vor dem Einrichten von Links sind die Webseiten der anderen Anbieter 
		mit großer Sorgfalt und nach bestem Wissen und Gewissen geprüft worden. 
		Es kann jedoch keine Gewähr für die Vollständigkeit und Richtigkeit von 
		Informationen auf verlinkten Seiten übernommen werden. 
		Falls auf Seiten verweisen wird, deren Inhalt Anlass zur 
		Beanstandung gibt, bittet der Autor um eine Mitteilung 
		(\textit{\href{mailto:\MailAutor}{\MailAutor}}).
	\end{footnotesize}
}
%Ende OERMacros.tex%
%Anfang PackagesMacros.tex
\usepackage{a4,german}
\usepackage{hyperref}
\usepackage{hyperxmp}
\usepackage{color}
\usepackage{graphics}

\parindent 0pt
\definecolor{Definitionsfarbe}{RGB}{0,100,0}
\newcommand{\TextBegriff}[1]{\textcolor{Definitionsfarbe}{\textbf{#1}}}

%Ende PackagesMacros.tex%

\def\mysubtitle {Unterrichtseinheit 3: Build-Prozess}
\def\mykeywords {Build-Prozess, workflow, Erstellungsprozess, graphische Modellierungssprache}

\hypersetup
{
	pdftitle={Programmierwerkzeuge},
	pdfsubject={\mysubtitle},
	pdfauthor={Reinhard Brocks},
	pdfkeywords={\mykeywords},
	pdfcopyright={CC BY 4.0},
	pdflicenseurl={http://creativecommon.org/licenses/by/4.0/}
}

\title{\textbf{Programmierwerkzeuge}}
\subtitle{\mysubtitle \\[2ex]{\small Lehr- und Lernmaterialien}}
\author{}
\date{}

\begin{document}
\maketitle
\thispagestyle{empty}
\vfill

\begin{tabular}{|p{3cm}|p{10,5cm}|} \hline 
	Zielgruppe	&	Lernende, die schon eine Programmiersprache gelernt und erste 
					Erfahrungen in der Programmierung, am besten in Java, gesammelt 
					haben. Sie sollten Java-Programme in der Kommandozeile und 
					Shell-Skripte erstellen können.\\ \hline 
	Lernziele	&	Die Lernenden kennen die Prüfungsanforderungen und entscheiden sich 
					für ein Projekt. Sie lernen Build-Prozesse graphisch zu beschreiben.\\ \hline 
	Stichwörter & \mykeywords\\ \hline 
\end{tabular} \\[2ex]

\Kontakt

Versionsgeschichte\\[1ex]
\begin{tabular}{|l|l|l|}\hline 
	Datum 	& Änderung \\ \hline 
	26. Oktober 2019 & Erste Version \\ \hline 
\end{tabular}\\[1ex]

\OERLizenzHinweis\HinweisLatex
\newpage

\section*{Build-Prozess, Erstellungsprozess}
\subsubsection*{Aufgabe: Graphische Beschreibung von Build-Prozessen am Beispiel 
des Projekts für die Prüfungsleistung - 120 Minuten}
Suchen Sie sich eines der Projekte für die Prüfungsleistung heraus. 
Die Lernenden, die dasselbe Projekt gewählt haben, bilden eine Gruppe. 
Visualisieren Sie den Build-Prozess. Aus welchen einzelnen Build-Steps oder 
Build-Vorgängen, wie z.\,B. das Kompilieren oder das Erstellen einer jar-Datei, 
besteht der gesamte Prozess? 

Gehen Sie dabei wie folgt vor: 
\begin{enumerate}
	\item Ein Build-Step wird durch ein Programm ausgeführt. 
			Definieren Sie ein graphisches Symbol für einen Build-Step. 
	\item Dateien haben einen Namen, der eventuell eine Endung (.extension) beinhaltet. 
			Es gibt Textdateien und Binärdateien. Textdateien können von Hand erstellt und 
			editiert aber auch generiert werden. Binärdateien sind generierte 
			Dateien. Manche Dateien müssen aber auch für den Build-Prozess 
			auf dem Rechner installiert oder in einem Verzeichnis kopiert worden sein. 
			Einige Dateien sind nur Zwischenprodukte des Build-Prozesses wohingegen 
			andere zur Ausführung benötigt werden oder Teil des Installationspakets sind. 
			Definieren Sie graphische Symbole für eine Datei, 
			die die obigen unterschiedlichen Eigenschaften (Textdatei/Binärdatei, erstellt/generiert/benutzt, 
			temporär/zu installieren) widerspiegeln. 
	\item Definieren Sie ein graphisches Symbol für ein Verzeichnis. 
	\item Überlegen Sie sich, wie Sie die folgenden Zusammenhänge graphisch darstellen können. 
	\begin{itemize}
		\item Ein Build-Step hat eine eventuell auch leere Liste von Eingangsdateien 
				und eine eventuell auch leere Liste von Ausgangsdateien. 
		\item Es gibt Abhängigkeiten zwischen Dateien. 
		\item Dateien liegen in einem Verzeichnis. 
		\item Ein Build-Prozess hat einen Namen. 
	\end{itemize}
	\item Stellen Sie den Build-Prozess des Projekts graphisch dar. 
\end{enumerate}

Welche Entscheidungen sind beim konkreten Workflow getroffen worden? 
Wie sieht es z.\,B. mit den Dateinamen und / oder (Installations-)Verzeichnissen aus?  
\newpage
\subsection*{Hinweise für den Dozenten}
Ziel dieser Unterrichtseinheit ist es, dass sich die Lernenden frühzeitig 
für die Prüfungsleistung ein Projekt aussuchen und sich mit diesem beschäftigen. 
Dazu muss zum Projekt auch ein Shell-Skript vorhanden sein, welches das Projekt 
erstellt und ausführt. In der Regel haben die Lernenden zu diesem Zeitpunkt 
nur Java-Programme ohne Abhängigkeiten und mit nur einem Kompilierschritt erstellt. 
Ziel ist es auch, dass die Lernenden einen komplexeren Build-Prozess kennen lernen 
und damit die Notwendigkeit von automatisierten Build-Tools verstehen. 
Sie sollen auch merken, dass für den Build-Prozess viele Einstellungen 
konfiguriert werden müssen. 

Bei dieser Aufgabe geht es nicht darum, darzustellen, wie das Programm funktioniert. Es geht 
um die Darstellung des Build-Prozesses. 

Mit dieser Aufgabe wird eine rudimentäre Modellierungssprache für die Darstellung 
von workflows erstellt. Die graphischen Symbole bilden die \textit{konkrete} Syntax; 
die Beschreibung der Eigenschaften von build step und Datei definiert sprachlich 
das Metamodell bzw. die \textit{abstrakte} Syntax. 

Eine Lösung könnte z.\,B. so aussehen, wie die Darstellung zur Übersicht 
der Programmierwerkzeuge in der Unterrichtseinheit~2.

Gibt man die Vorgehensweise nicht an, werden Graphiken erstellt, die teilweise 
inkonsistent sind. Für dieselben Konzepte werden an verschiedenen Stellen 
unterschiedliche Symbole gebraucht oder dieselben Symbole werden für unterschiedliche 
Konzepte eingesetzt. Achten Sie darauf, dass mit Farben gearbeitet wird. Symbole 
sollten keine aussagelose geometrische Formen sein, sondern so gewählt werden, 
dass das Konzept sichtbar dargestellt ist. 
Zur Beurteilung von graphischen Modellierungssprachen kann man sehr gut \cite{Moody} benutzen. 



\begin{thebibliography}{9}
\bibitem{Moody} Daniel Moody. 2009. 
			\textit{The \glqq Physics\grqq{} of Notations: Toward a Scientific Basis for 
						Constructing Visual Notations in Software Engineering.} 
						IEEE Trans. Softw. Eng. 35, 6 (November 2009), 756-779. 
						DOI: \url{https://doi.org/10.1109/TSE.2009.67}
\end{thebibliography}
\Disclaimer
\end{document}