dms/latex/tex/kapitel/kapitel3.tex

231 lines
9.5 KiB
TeX

\chapter{Einbinden von Grafiken, Sourcecode und Anforderungen}
\label{Kap3}
\section{Bilder}
Natürlich können auch Grafiken und Bilder eingebunden werden, siehe z.\,B. \autoref{Kap2:NasaRover}. Hierbei ist zu beachten, dass \LaTeX{} die Bilder automatisch positioniert, sie also nicht zwingend an der Stelle erscheinen, an der sie im Quelltext vorkommen (man spricht hier von \enquote{floats}). Das ist vollkommen in Ordnung und im Sinne einer ausgeglichenen Typografie auch sinnvoll.
\begin{figure}[ht]
\centering
\includegraphics[width=6cm]{kapitel3/nasa_rover}
\caption{Ein Nasa Rover}
\label{Kap2:NasaRover}
\end{figure}
Man kann sich auch selbst ein Makro für das Einfügen von Bildern schreiben:
\bild{kapitel3/modell_point_to_point}{6cm}{Point to Point}
\begin{sidewaysfigure}
\includegraphics[width=22cm]{kapitel3/ws-wsdl20-fehler}
\caption{Sehr große Grafiken kann man drehen, damit sie auf die Seite passen}
\label{Kap2:wsdl-fehler}
\end{sidewaysfigure}
Möchte man verhindern, dass Bilder in ein anderes Kapitel rutschen, steht der Befehl \verb+\clearpage+ zur Verfügung, der \LaTeX{} zwingt, alle bis dahin definierten \textit{floats} (Bilder, Tabellen, Formeln etc.) auszugeben.
\clearpage % Alle Bilder, die bisher kamen ausgeben
\section{Formelsatz}
Eine Formel gefällig? Mitten im Text $a_2 = \sqrt{x^3}$ oder als eigener Absatz (siehe \autoref{Formel}):
\begin{equation}
\begin{bmatrix}
1 & 4 & 2 \\
4 & 0 & -3
\end{bmatrix}
\cdot
\begin{bmatrix}
1 & 1 & 0 \\
-2 & 3 & 5 \\
0 & 1 & 4
\end{bmatrix}
{=}
\begin{bmatrix}
-7 & 15 & 28 \\
4 & 1 & -12
\end{bmatrix}
\label{Formel}
\end{equation}
Wenn Ihre Formel zu breit für eine Zeile wird, können Sie sie mithilfe der \texttt{split}-Umgebung und einem doppelten Backslash (\verb+\\+) umbrechen.
\begin{equation}
\label{eq:4}
\begin{split}
\mathbf{F}_{{eigen}}=\sqrt[3]{\coprod_{i=1}^{3} \lambda_{i}},
\frac{\lambda_{1}-\lambda_{3}}{\lambda_{1}},
\frac{\lambda_{2}-\lambda_{3}}{\lambda_{1}},
\frac{\lambda_{3}}{\lambda_{1}} \\-
\sum_{i=1}^{3} \lambda_{i} \log \left(\lambda_{i}\right),
\frac{\lambda_{1}-\lambda_{2}}{\lambda_{1}}
\end{split}
\end{equation}
Sie können Formelelemente auch am Gleichheitszeichen ausrichten, hierzu dient die \texttt{align}-Umgebung:
\begin{align}
2x - 5y &= 8 \\
3x + 92y &= -12
\end{align}
Wollen Sie keine Nummerierung der Formeln, ergänzen Sie einfach einen \texttt{*} bei den Namen der Umgebungen, d.\,h. Sie verwenden \texttt{equation*} oder \texttt{align*}.
\begin{equation*}
\begin{bmatrix}
1 & 4 & 2 \\
4 & 0 & -3
\end{bmatrix}
\cdot
\begin{bmatrix}
1 & 1 & 0 \\
-2 & 3 & 5 \\
0 & 1 & 4
\end{bmatrix}
{=}
\begin{bmatrix}
-7 & 15 & 28 \\
4 & 1 & -12
\end{bmatrix}
\end{equation*}
\section{Zahlendarstellung und Angabe von Einheiten}
Zahlen und Einheiten können wie folgt angegeben werden:
\begin{tabular}{|l|l|}
\hline
\textbf{Befehl} & \textbf{Ausgabe} \\\hline
\verb*|\num{123}| & \num{123} \\
\verb*|\num{1234}| & \num{1234} \\
\verb*|\num{12345}| & \num{12345} \\
\verb*|\num{0.123}| & \num{0.123} \\
\verb*|\num{0,12345}| & \num{0,1234} \\
\verb*|\num{.12345}| & \num{.12345} \\
\verb*|\num{3.45d-4}| & \num{3.45d-4} \\
\verb*|\num{-e10}| & \num{-e10} \\
\verb*|\qty[per-mode=symbol]{2.8}{\giga\byte\per\second}| & \qty[per-mode = symbol]{2.8}{\giga\byte\per\second}\\
\verb*|\qty[per-mode=fraction]{2.8}{\giga\byte\per\second}| & \qty[per-mode = fraction]{2.8}{\giga\byte\per\second}\\
\verb*|\qty[mode=text]{2.8}{\giga\byte\per\second}| & \qty[mode = text]{2.8}{\giga\byte\per\second}\\\hline
\end{tabular}
\vspace*{0.75cm}
Listen können ebenfalls mit Einheiten versehen werden:\\ \verb*|\qtylist{10;30;45}{\giga\byte\per\second}| liefert die Ausgabe: \qtylist{10;30;45}{\giga\byte\per\second}.
Bereiche können mit dem Befehl \verb*|\qtyrange{10}{30}{\giga\byte\per\second}| ausgegeben werden. \qtyrange{10}{30}{\giga\byte\per\second}
\section{Sourcecode}
Man kann mit Latex auch ganz toll Sourcecode in den Text aufnehmen.
\subsection{Aus einer Datei}
\lstinputlisting[firstline=2, % Erste anzuzeigende Zeile aus der Datei
language=Java, % Programmmiersprache (für Highlighting)
caption={Crypter-Interface}, % Beschriftung
label=lst:CrypterInterface] % Label (für Referenzen)
{\srcloc/Crypter.java} % Pfad zur Datei, die angezeigt wird
Mit Zeilennummern
\lstinputlisting[numbers=left, % Mit Zeilennummern auf der linken Seite
firstline=10, % Erste anzuzeigende Zeile aus der Datei
lastline=15, % Letzte anzuzeigende Zeile aus der Datei
language=Java, % Programmmiersprache (für Highlighting)
caption={Crypter}, % Beschriftung
label=lst:CrypterInterface2] % Label (für Referenzen)
{\srcloc/Crypter.java} % Pfad zur Datei, die angezeigt wird
\subsection{Inline}
\begin{lstlisting}[language=Java,caption=Methode checkKey()]
/**
* Testet den Schlüssel auf Korrektheit: Er muss mindestens die Länge 1
* haben und darf nur Zeichen von A-Z enthalten.
*
* @param key zu testender Schlüssel
* @throws CrypterException wenn der Schlüssel nicht OK ist.
*/
protected void checkKey(Key key) throws CrypterException {
// Passt die Länge?
if (key.getKey().length == 0) {
throw new CrypterException("Der Schlüssel muss mindestens " +
"ein Zeichen lang sein");
}
checkCharacters(key.getKey(), ALPHABET);
}
\end{lstlisting}
\section{Anforderungen}
Anforderungen im Format des Volere"=Templates (Snowcards) \autocite{Volere} können per Makro eingefügt werden. Das Label wird automatisch mit der Nummer erstellt, d.\,h. Sie können auf die Tabelle mit dieser referenzieren (siehe \autoref{F52}).
\snowcard % Snowcard einbinden
{F52} % Nummer des Requirements
{F} % Art
{Hoch} % Priorität
{User Authentifizierung} % Titel
{Interview mit Abteilungsleiter} % Herkunft (Optional)
{F12} % Konflikte (Optional)
{Der Benutzer ist in der Lage sich über seinen
Benutzernamen und sein Passwort am System anzumelden} % Beschreibung
{Ein Benutzer kann sich mit seinem firmenweiten Benutzernamen und
Passwort über die Anmeldemaske anmelden und hat Zugriff auf die
Funktionen des Systems} % Fit-Kriterium (Optional)
{Benutzerhandbuch des Altsystems} % Material (Optional)
Ebenso können Sie nicht"=funktionale Anforderungen mit Hilfe von Quality Attribute Scenarios (vgl. \autoref{NF11}) darstellen. Zu Details siehe \autocite{Barbacci2003}.
\qas % Quality-Attribute Scenario einbinden (Anpassungen in titelblatt.tex)
{NF11} % Nummer des Requirements
{Hoch} % Priotität
{Performance des Jahresabschlusses} % Titel
{Endbenutzer} % Quelle
{Startet einen Jahresabschluss} % Stimulus
{Buchhaltungssystem} % Artefakt
{Das System befindet sich im normalen Betriebszustand} % Umgebung
{Jahresabschluss ist durchgeführt und kann als PDF abgerufen werden} % Antwort
{10 Minuten} % Antwort-Maß
Die Abgrenzung von funktionalen und nicht-funktionalen Anforderungen ist nicht immer einfach und bereitet manchen Studierenden Probleme. Als Hilfestellung kann die von der ISO25010 \autocite{ISO25010} zur Verfügung gestellte Liste dienen, siehe \autoref{kapitel3/iso25010}.
\bild{kapitel3/iso25010}{14cm}{Qualitätsmodell für Software-Produkte nach ISO25010}
\citeauthor{Bass2021} listen in \autocite{Bass2021} eine ähnliche Liste von Kategorien für nicht-funktionalen Anforderungen auf, die ebenfalls als Richtschnur dienen kann. Diese sind:
\begin{itemize}
\item \textit{Verfügbarkeit} \textit{(availability)} -- umfasst Zuverlässigkeit (reliability), Robustheit (robustness), Fehlertoleranz (fault tolerance) und Skalierbarkeit (scalability)
\item \textit{Anpassbarkeit} \textit{(modifiability)}, umfasst Wartbarkeit (maintainability), Verständlichkeit (understandability) und Portabilität (portability).
\item \textit{Performanz} \textit{(performance)}
\item \textit{Sicherheit} \textit{(security)}
\item \textit{Testbarkeit} \textit{(testability)}
\item \textit{Bedienbarkeit} \textit{(usability)}
\end{itemize}
\chapter{Track Changes - Manuelle Änderungsmarkierung}
In diesem Dokument können Track Changes \chreplaced[id=B1]{verwendet}{aktiviert und benutzt} werden\\ (\lstinline|\chreplaced[id=B1]{verwendet}{aktiviert und benutzt}|). Durch die ID können die Anmerkungen \chdeleted[id=B2]{einem} dem Autor zugeordnet werden (\verb|\chdeleted[id=B2]{einem}|). B1 steht für die erste betreuende Person und B2 für die zweite. Ergänzungen in einem Satz wie beispielsweise in diesem Satz \chadded[id=B1]{gibt es} kein Verb können über \lstinline|\chadded[id=B2]{gibt es}| hinzugefügt werden.
Es ist ebenfalls möglich Textteile \chhighlight[id=B1]{hervorzuheben} mit dem Befehl \\ \lstinline|\chhighlight[id=B1]{hervorzuheben}|. Zudem können Kommentare\chcomment[id=B2]{das ist mein Kommentar} über den Befehl \lstinline|\chcomment[id=B2]{das ist mein Kommentar}| hinzugefügt werden.
Das Verzeichnis zur Ausgabe aller Änderungen erfolgt über das Flag \lstinline|tc| in der docinfo.tex. Dieser Befehl ist vor der Abgabe unbedingt auf \lstinline|notc| zu ändern.
Weitere Informationen zu der Nutzung des Paketes finden Sie unter: \url{https://ctan.org/pkg/changes?lang=de}
\listofchanges[style=list, title=To Do's, show=all]