remove some stupid things

This commit is contained in:
2020-03-20 16:58:25 +01:00
parent 2b1e2ca235
commit 4f54e17276
8 changed files with 11 additions and 438 deletions

View File

@@ -1,64 +0,0 @@
\chapter{Automatisierung im Software-Entwicklungszyklus}
In der Softwareentwicklung gibt es eine Vielzahl von Modellen zur Unterstützung des Softwareentwicklungsprozess.
Wie im ersten Kapitel erwähnt, sollen die Anforderungen so generisch wie möglich formuliert werden.
Um eine größtmögliche Vielzahl verschiedener Modelle abzudecken, abstrahiere ich deren Komponenten aus dem Modell und versuche ihre Funktion möglichst unabhängig von der Methode darzustellen.
\section{Darstellung des Software-Entwicklungsprozesses}
\label{sec:auto:show}
Bei der Herleitung dieser generischen Sichtweise auf den Software-Entwicklungsprozess habe auf Elemente des Wasserfallmodell aus der Publikation von Royce, Winston W: \textit{\citetitle{royce1987managing}}\cite{royce1987managing} zurückgegriffen. Auch wenn er selbst dieses Modell als \\ \textcite{``riskant und fehlerbehaftet''} beschreibt und heute andere Methoden sich etabliert haben.
Dabei konzentriere ich mich nur auf die Phasen dieses Modells, unabhängig von der Anordnung, Iteration, ihrem Kontext oder Umfang und auch der Philosophie der jeweiligen Methode. Diese einzelnen Schritte lassen sich in ähnlicher Form in vielen anderen Methoden wiederfinden.
\subsection*{Projektphasen}
Die Projektphasen des Wasserfallmodells werden in Anforderungsanalyse, Systemdesign, Programmierung, Testing und Betrieb unterschieden.
\begin{description}
\item[Anforderungsanalyse]
In diese Phase geht es darum, Anforderungen zu sammeln und zu analysieren. Dies geschieht in Form von Texten oder Modellen, die der Strukturierung und Klassifizierung dienen.
\item[Systemdesign]
Hier wird die Architektur der Module, Schnittstellen und Daten festgelegt, welche der Spezifikation aus der Anforderungsanalyse genügen sollen.
\item[Implementierung]
Die Programmierung mit dem dazugehörige Modultest sind Bestandteil der Entwicklungsphase der Implementierung.
\item[Softwaretest]
In der Testphase wird ein System oder eine Komponente gegen die zuvor spezifizierten Anforderungen überprüft. Das Testergebnis dient der Behebung von Softwarefehlern um ein fehlerfreies System in Produktion zu übernehmen.
\item[Betrieb]
Der Betrieb um fasst die Auslieferung und Wartung, Betrieb der Software.
\end{description}
\section{Automatisierung im Entwicklungsprozess}
\label{sec:auto:auto}
Es gibt verschiedene weit verbreitete Automatisierungspraktiken. Dazu gehören\cite{bobrovskis2018survey}:
\begin{itemize}
\item CI (\textit{Continuous Integration})
\item CDE (\textit{Continuous Delivery})
\item CD (\textit{Continuous Deployment})
\end{itemize}
Die Idee bei \textit{Continuous Integration} besteht darin, wiederholt (mehrmals täglich) die Software in einer kontrollierten definierten Umgebung automatisiert zu integrieren und zu testen (automated build). Die Tests können den Modul- Integration- und auch den Abnahmetest umfassen.
Durch diese Verfahren können Fehler durch Codeänderungen automatisch erkannt werden, welche sonst durch aufwendige, manuelle Testverfahren oder sogar erst im Betrieb erkannt worden wären.
Je nach Umfang kann CI das ganze Volumen von Testszenarien abwickeln und so die Testphase voll automatisiert abdecken.\\
\medskip
Bei dem \textit{Continuous Delivery} geht es darum, eine neu entwickelte Softwareversion zur Auslieferung bereitzustellen. Die Installation und der Betrieb der Software erfolgt jedoch manuell.\\
\medskip
\textit{Continuous Deployment} erweitert das \textit{Continuous Delivery} um die automatische Installation und Konfiguration auf dem Zielsystem.
Mit \textit{Continuous Deploymen}t werden Komponenten aus der Phase „Betrieb“ automatisiert und das Fehlerrisiko bei der Installation verringert. \\
\bigskip
Diese Grundprinzipien können erweitert werden: so lassen sich z.B. mit Hilfe von statischer Codeanalyse automatisiert Fehler oder Sicherheitsprobleme erkennen (CI).
Ein Beispiel für die Erweiterung der Phase „Betrieb“ ist das automatisierte Monitoring von Produktionssystemen, welches z.B. Alarmmeldungen in Fehler- und Problemsituationen erzeugt.
\medskip
In der Implementierungsphase gibt es ebenfalls Möglichkeiten zur Automatisierung.
Sind die Ergebnisse des Designs in einer geeigneten Form dokumentiert worden (z.B. UML oder Open API), lassen sich Teile des Codes wie Datenmodelle oder Server Boilercode automatisch generieren.
\medskip
Für die Phase der Anforderungsanalyse und des Systemdesigns gibt es ebenfalls eine Vielzahl von Tools, welche der Ergebnisdokumentation dienen sie können die Aktivitäten zur Analyse und Design aber nur unterstützen und nicht automatisieren.

View File

@@ -1,33 +0,0 @@
\chapter{Anforderungen und Eigenschaft an die Ergebnisse}
Um Qualitätsmerkmale und Anforderungen für eine Vielzahl verschiedener Anwendungsszenarien für CI/CD umsetzbar zu machen, ist es notwendig, sie zunächst sehr universell zu verfassen.
\section*{Anforderungen}
\begin{itemize}
\item Eine Anforderung darf nicht spezifisch auf eine Programmiersprache (beispielsweise Java, Go, C++) oder eine Systemumgebung ausgerichtet sein.
\item Ebenso sollte sie unabhängig von Prozessen, eingesetzten Tools und der Systemarchitektur formuliert werden.
\item Die Qualitätsanforderungen soll dabei so erarbeitet werden, dass eine Umsetzung nicht nur in komplexen Umgebungen wie einem Datencenter möglich ist, sondern auch auf einem einfachen Entwicklungsrechner einen Betrieb ermöglichen kann.
\item Auch der Kosten/Nutzenaspekt sollte in der Leistungsanforderung einer CI/CD Systems berücksichtigt werden.
\item Die Anforderung und Qualität soll nicht an einzelnen Komponenten des CI/CD Systems ausgerichtet werden, sondern an der Funktionsweise des Gesamtsystems. So werden gegebenenfalls positive wie negative Eigenschaften von Tools, wenn sie für sich allein betrachtet werden, ausgeblendet und nur die Gesamtleistung der Pipeline bewertet.
\item Auch ist die ``zeitlose'' Anwendbarkeit dieser Anforderung eine wichtige Eigenschaft: Die Anforderungen sollte unabhängig von der rasanten Entwicklung auf dem Toolmarkt Bestand haben.
\end{itemize}

View File

@@ -1,86 +0,0 @@
\chapter{Vorteile/Nachteile von Automatisierung im Entwicklungszyklus}
Dieses Kapitel ist momentan nur eine Ansammlung von einzelnen Vorteilen und Problemen die durch CI/CD auftreten können.
Die Ansammlung ist noch nicht vollendet, jedoch kann man schon erahnen in welche Richtung die Qualitätsmaßnahmen sich entwickeln.
\dots Mit der Rechtschreibung in diesem Kapitel hab ich es auch nicht so ernst genommen.
\section{Vorteile}
\begin{verse}
The 2019 Accelerate State of DevOps report, for which Dora surveyed 3,000 developers, found that, comparing the elite group to poor performers, the former achieved 208 times more frequent code deployments, 106 times faster lead time from committing code to deployment and 2,604 times faster to recover from incidents.
https://www.computerweekly.com/feature/Deliver-quality-software-at-speed-with-CI-CD
With CI/CD you get cloud-native things like optimisation, scalability and elasticity, and performance.
CI/CD ermöglicht auto cloud deployment.
https://www.computerweekly.com/feature/Deliver-quality-software-at-speed-with-CI-CD
**Documentation** with Markdown is wonderful.:
The source is stored alongside the code, and all the DevOps best practices apply. Developers are more invested in documentation because they know what to do with a pull request (versus reviewing and editing in some alien documentation tool). Finally, this encourages teams to write docs at the same time as the source code.
https://www.cloudbees.com/blog/silos-begone-road-devops-autodesk-and-lessons-learned-along-way
\end{verse}
\section{Nachteile}
\begin{verse}
**Lack of experience and skill**:
Source: Continuous Integration, Delivery and Deployment: A Systematic Review on Approaches, Tools, Challenges and Practices
**Unexpected Deployment**
Ausversehen auf master gepushed.
Source: Manuel + A4
**Infrastructure**
Make sure you invest in the underlying infrastructure, the correct tooling.
https://www.computerweekly.com/feature/Deliver-quality-software-at-speed-with-CI-CD
+ Manuel
**Storage**:
Durch Automation fallen viele Artefakte an. Werden diese nicht gemanaged wird auch viel Speicher anfallen.
Source: A4
**Big Red Button**:
Es sollte einen Stop knopf geben.
Source: Manuel + A4
**DB Migration**:
Schema Migration können beim deployment in ein envirgoment auftreten. Race condition bei vielen daten.
https://dzone.com/articles/a-year-of-continuous-deployment-lessons-learned
**POOR Test Coverare TEST**:
Durch Falsche Test Coverage Tests die letztendlich nur Smoketests waren, sah es so aus als ob die Tests gut gelaufen sind.
https://dzone.com/articles/a-year-of-continuous-deployment-lessons-learned
**Missing Documentation**
“The mistake a lot of people make is they think it is all about building quickly and delivering fast, but they forget to document properly, so nobody knows what they have actually done,” she says.
“It takes time at the beginning to automate things and write scripts. But once youve got that right, you can repeat it as many times as you want,” she says.
https://www.computerweekly.com/feature/Deliver-quality-software-at-speed-with-CI-CD
**Speed**(Mental)
“Teams that go too fast before they are ready just break things faster, and they don't get fixed. It's definitely about going as fast as you can, but no faster. That's the biggest lesson I've learned,” he says. https://www.computerweekly.com/feature/Deliver-quality-software-at-speed-with-CI-CD
**Dependencymanagement was hard**. Their siloed history meant teams had their own copies of shared binaries, and in some cases had modified the source locally. Finding owners for shared components, and unifying the source code and binaries back into a single GH repo and Artifactory folder continues to be a challenge.
https://www.cloudbees.com/blog/silos-begone-road-devops-autodesk-and-lessons-learned-along-way
**Perspective Shift**
Schwer die Leute einzuarbeiten. Lieber dinge benutzen mit denen schon gearbeitet wird.
Source: Awesome Paper\cite{shahin2017continuous}
**BIG BANG trotz CI**
Haltet die env so gleich wie in Prod.
Source: Präsi ... muss link noch finden.
**Desaster Recovery CI/CD System**
https://www.ideas-engineering.io/blog/2018/07/disaster-recovery-day
\end{verse}
\section{Reconmendations}
**Separation of services**
It is critical that you break apart your monolithic app into separate services such that they are isolated and abstracted from each other.
https://www.computerweekly.com/feature/Deliver-quality-software-at-speed-with-CI-CD
**DO CI GOOD**
Before you get to CD, make sure you do CI well. There are some foundational elements such as having consistent tooling, libraries and operating system configurations.

View File

@@ -1,41 +0,0 @@
\chapter{Grundlagen und verwandte Arbeiten}
\label{ch:background}
Non vices medical da. Se qui peano distinguer demonstrate, personas internet in nos. Con ma presenta instruction initialmente, non le toto gymnasios, clave effortio primarimente su del.\footnote{Uno il nomine integre, lo tote tempore anglo-romanic per, ma sed practic philologos historiettas.} Nullam facilisis, massa ut faucibus vulputate, enim velit luctus nulla, a elementum ipsum metus eu sem. Sed a auctor quam. Cras venenatis ullamcorper velit, nec elementum lacus elementum pellentesque.
%
% Section: Der erste Abschnitt
%
\section{Der erste Abschnitt des Kapitels}
\label{sec:background:first_section}
Sia ma sine svedese americas. Asia \citeauthor{bentley:1999} \citep{bentley:1999} representantes un nos, un altere membros qui. De web nostre historia angloromanic. Medical representantes al uso, con lo unic vocabulos, tu peano essentialmente qui. Lo malo laborava anteriormente uso.
\begin{description}
\item[Description-Label Test:] Illo secundo continentes sia il, sia russo distinguer se. Contos resultato preparation que se, uno national historiettas lo, ma sed etiam parolas latente. Ma unic quales sia. Pan in patre altere summario, le pro latino resultato.
\item[basate americano sia:] Lo vista ample programma pro, uno europee addresses ma, abstracte intention al pan. Nos duce infra publicava le. Es que historia encyclopedia, sed terra celos avantiate in. Su pro effortio appellate, o.
\item[Cras venenatis:] Purus et posuere lacinia, nisl sapien dapibus metus, a ornare enim odio in ipsum. Quisque imperdiet nibh metus, in fringilla tellus. Duis varius dui eget orci commodo ac sollicitudin est placerat. Cras varius tincidunt arcu, quis imperdiet nibh rhoncus vel. Sed non justo orci, non accumsan felis. Maecenas condimentum convallis.
\end{description}
Tu uno veni americano sanctificate. Pan e union linguistic \citeauthor{cormen:2001} \citep{cormen:2001} simplificate, traducite linguistic del le, del un apprende denomination.
\subsection{Ein Unterabschnitt}
\label{subsec:background:first_section:first_subsection}
Uno pote summario methodicamente al, uso debe nomina hereditage ma. Iala rapide ha del, ma nos esser parlar. Maximo dictionario sed al. Aenean posuere, enim in ultricies facilisis, ligula lacus eleifend eros, accumsan commodo metus justo placerat justo. Donec sit amet mauris dolor, at imperdiet lacus. In laoreet pretium condimentum. Proin ut varius diam. Fusce ipsum ipsum, elementum id porttitor at, pharetra congue nisi.
\subsection{Ein weiterer Unterabschnitt}
\label{subsec:background:first_section:second_subsection}
Deler utilitate methodicamente con se. Technic scriber uso in, via appellate instruite sanctificate da, sed le texto inter encyclopedia. Ha iste americas que, qui ma tempore capital. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Proin vitae urna id metus vestibulum lobortis. Duis rhoncus pulvinar massa, eget venenatis justo dapibus sed.
%
% Section: Der Zweite Abschnitt
%
\section{Ein zweiter Abschnitt}
\label{sec:background:second_section}
Phasellus ut ipsum nulla, vitae venenatis augue. Suspendisse potenti. Mauris suscipit justo a dolor laoreet lacinia. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Aliquam commodo commodo dui, nec auctor mi malesuada et. Aenean tortor erat, semper eu ullamcorper non, dignissim sed lectus. Praesent et pretium leo.
\subsection{Ein Unterabschnitt}
\label{subsec:background:second_section:first_subsection}
Vivamus at massa ut turpis dignissim mattis. Vivamus odio metus, venenatis vitae malesuada et, dignissim sed nunc. Mauris a nisl id massa viverra mattis in ultrices odio. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Curabitur quis metus ac sem venenatis dignissim nec.
\subsubsection{Ein Unter-Unterabschnitt}
\label{ssubsec:background:second_section:first_subsection:first_subsubsection}
Sed vel ante vel quam commodo cursus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Duis non turpis eget quam rutrum scelerisque. Duis nec quam metus. Curabitur purus dui, sagittis vel mattis a, elementum vitae risus. Pellentesque a tellus lacus, id gravida lectus.

View File

@@ -1,205 +0,0 @@
\chapter{Ein weiteres Kapitel}
\label{ch:chapter03}
liquam facilisis convallis nibh. Ut accumsan malesuada nisi, eget luctus ante dignissim at. Integer dignissim rutrum feugiat. Mauris sit amet leo id ligula fringilla pharetra. In id neque metus, eu congue libero. Suspendisse egestas imperdiet nulla, in blandit dolor venenatis vel. Quisque quis justo quis quam lobortis blandit. Quisque urna mauris, placerat a pretium eu, placerat vel risus. Donec sollicitudin malesuada cursus. Sed auctor aliquet urna sit amet porta. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
%
% Section: Listen
%
\section{Listen}
\label{sec:chapter03:listen}
Fusce ac velit arcu, in iaculis urna. Vivamus id nunc nulla, et ornare eros. Mauris convallis tortor eget quam interdum nec adipiscing dui pulvinar. Cras a dolor nunc. Sed tincidunt pharetra consectetur. Sed tortor tortor, pellentesque vitae mattis eu, condimentum vel justo.
\begin{itemize}
\item Enumeration with bullets
\item Cras cursus ligula et tellus viverra sit amet accumsan orci consequat. Mauris eget elit enim, in mollis justo. Mauris ornare condimentum varius. Praesent suscipit sagittis eros, at accumsan justo adipiscing vel.
\item Etiam a orci tellus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nullam iaculis congue ligula eget lacinia. Proin dapibus elit eu odio egestas dapibus. Etiam nunc dolor, sagittis et volutpat quis, rhoncus a tortor.
\end{itemize}
Nunc non tortor nisl, sed fringilla est. Sed feugiat, est sed imperdiet aliquam, nisl elit lobortis nisl, sit amet ultrices metus eros vitae metus. Integer tincidunt, nisi id consectetur pharetra, nibh tortor tempus ipsum, id sollicitudin erat lacus at diam. Etiam aliquet venenatis aliquet.
\begin{enumerate}
\item Enumeration with small numbers
\item Nulla dapibus, ante ac sagittis molestie, neque nulla venenatis turpis, non scelerisque lorem sapien non turpis. Sed dolor magna, vestibulum imperdiet condimentum vel, imperdiet ac mi. Cras in orci egestas purus rhoncus congue. Cras cursus leo nec turpis laoreet non malesuada est pretium.
\item Nunc ut tortor massa. Fusce ullamcorper mauris eget tellus egestas faucibus. Ut nec nunc quis lectus iaculis ultrices. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
\end{enumerate}
Suspendisse dignissim tellus vitae ante ullamcorper luctus. Maecenas consectetur massa a massa vestibulum non egestas ipsum bibendum. Vestibulum porttitor, tortor at porttitor tristique, magna justo vestibulum sapien, a semper augue magna in orci. Mauris pretium laoreet nisi, sit amet ultricies sapien rutrum ut. Suspendisse placerat risus et magna accumsan. Ased fringilla est. Sed feugiat, est sed imperdiet aliquam, nisl elit lobortis nisl, sit amet ultrices metus eros vitae metus. Integer tincidunt, nisi id consectetur pharetra, nibh tortor tempus ipsum, id sollicitudin erat lacus at diam. Etiam aliquet venenatis aliquet. Mauris sit amet leo id ligula fringilla pharetra. In id neque metus, eu congue libero. Suspendisse egestas imperdiet nulla, in blandit dolor venenatis vel.
\begin{aenumerate}
\item Enumeration with small caps (alpha)
\item Second item ed ac risus dolor, ac molestie tellus. Fusce nulla lacus, viverra vel tempus et, viverra eget augue. Nunc id dui sed velit feugiat tristique. Integer at velit justo, eget ornare nulla.
\item Suspendisse cursus, nisl non pharetra dapibus, nunc ligula sollicitudin sem, in vehicula leo nunc et neque. Sed lacinia dapibus erat, eu dictum ligula auctor a. Phasellus ut mi sapien, in sodales turpis. Nunc pharetra varius metus eget convallis.
\end{aenumerate}
Sia ma sine svedese americas. Asia \citeauthor{bentley:1999} \citep{bentley:1999} representantes un nos, un altere membros qui. De web nostre historia angloromanic. Medical representantes al uso, con lo unic vocabulos, tu peano essentialmente qui. Lo malo laborava anteriormente uso.
\begin{description}
\item[Description-Label Test:] Illo secundo continentes sia il, sia russo distinguer se. Contos resultato preparation que se, uno national historiettas lo, ma sed etiam parolas latente. Ma unic quales sia. Pan in patre altere summario, le pro latino resultato.
\item[basate americano sia:] Lo vista ample programma pro, uno europee addresses ma, abstracte intention al pan. Nos duce infra publicava le. Es que historia encyclopedia, sed terra celos avantiate in. Su pro effortio appellate, o.
\item[Cras venenatis:] Purus et posuere lacinia, nisl sapien dapibus metus, a ornare enim odio in ipsum. Quisque imperdiet nibh metus, in fringilla tellus. Duis varius dui eget orci commodo ac sollicitudin est placerat. Cras varius tincidunt arcu, quis imperdiet nibh rhoncus vel. Sed non justo orci, non accumsan felis. Maecenas condimentum convallis.
\end{description}
%
% Section: Grafiken
%
\section{Grafiken}
\label{sec:chapter03:grafiken}
Morbi magna augue, scelerisque in eleifend a, tristique vitae lorem. Vivamus non elementum nisi. Aliquam erat volutpat. Nunc pharetra, tortor ut adipiscing bibendum, orci ipsum mollis felis, ut euismod eros purus at tellus. Sed blandit eros at ante mattis in elementum tortor pharetra. Vivamus molestie mattis orci. Quisque ullamcorper, purus sit amet luctus viverra, turpis arcu imperdiet eros, sit amet viverra nisi ligula ut felis.
\subsection{Einfache Grafiken}
\label{sec:chapter03:grafiken:simple}
Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Donec sed ante odio. Integer semper, nibh id sollicitudin adipiscing, odio elit blandit mi, sit amet luctus mauris velit nec velit. Aenean commodo cursus magna, id mollis sapien gravida eu. Aenean eleifend, leo dignissim sodales mattis, tellus ante tempor nunc, vulputate tristique nisl metus sit amet tellus. Nullam sollicitudin, metus sit amet sagittis interdum, metus purus dapibus lacus, pharetra lobortis erat enim a leo. Suspendisse a augue in purus tempor blandit. Aliquam malesuada porttitor nibh vel adipiscing. In mi est, vulputate nec dapibus quis, pharetra vel lacus. Sed pellentesque egestas pretium. Praesent orci risus, ornare non accumsan id, gravida sed lectus. Mauris fermentum viverra neque at dignissim. Sed consectetur auctor lorem, eget volutpat urna sodales id. Etiam pellentesque velit quis sapien tempus convallis.
\begin{figure}[htbp]
\centering
\includegraphics[width=0.5\textwidth]{gfx/examples/setup}
\caption{Dies ist eine einfache Grafik}
\label{fig:chapter03:setup}
\end{figure}
Aenean blandit neque eget nunc euismod ac dignissim enim euismod. Nullam semper, orci vitae elementum pretium, est lorem sodales justo, id lobortis nunc felis et justo. Cras tortor orci, rhoncus a commodo quis, aliquam eu dui. Donec pulvinar, arcu ornare consequat ultricies, purus dui accumsan massa, id auctor magna justo nec risus. Nulla bibendum, est nec ornare venenatis, lacus diam pretium augue, sed convallis orci sapien vitae lectus. In blandit massa aliquam felis feugiat fringilla.
\subsection{Grafiken mit Subfloat}
\label{sec:chapter03:grafiken:subfloat}
Quisque non massa neque. In at placerat lacus. Integer urna augue, laoreet ac mattis sed, posuere ut turpis. Nunc a metus quis elit placerat ultricies vel a eros. Quisque condimentum aliquet fermentum. Integer arcu est, suscipit quis lacinia at, volutpat nec tortor. Proin feugiat tristique est eget luctus. Suspendisse porta mauris sed sapien egestas sit amet volutpat tellus ultricies. Nulla vulputate semper turpis sed blandit. Phasellus at tortor pulvinar nisi luctus gravida.
\begin{figure}[bth]
\myfloatalign
\subfloat[Asia personas duo.]{
\label{fig:chapter03:subfloat:grafik1}
\includegraphics[width=.45\linewidth]{gfx/examples/qq-plot_gaus_vs_160}
} \quad
\subfloat[Pan ma signo.] {
\label{fig:chapter03:subfloat:grafik2}
\includegraphics[width=.45\linewidth]{gfx/examples/pdf_gaus_vs_uni_vs_10_40_160}
} \\
\subfloat[Methodicamente o uno.]{
\label{fig:chapter03:subfloat:grafik3}
\includegraphics[width=.45\linewidth]{gfx/examples/pdf_gaus_vs_uni_vs_10_40_160}
} \quad
\subfloat[Titulo debitas.]{
\label{fig:chapter03:subfloat:grafik4}
\includegraphics[width=.45\linewidth]{gfx/examples/qq-plot_gaus_vs_160}
}
\caption[Subfloat - Figure]{Mit Subfloat lassen sich mehrere Grafiken neben- und untereinander darstellen. Jeder Figure kann dabei mit einem eigenen Text versehen werden.}
\label{fig:chapter03:subfloat}
\end{figure}
\subsection{Grafiken mit Minipage}
\label{sec:chapter03:grafiken:minipage}
Donec gravida consequat arcu, et mollis tortor posuere vitae. Sed pharetra turpis a ante commodo accumsan. Suspendisse leo nulla, accumsan sit amet dapibus in, posuere eget turpis. Vivamus enim sapien, porta id placerat eget, laoreet sed massa. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.
\begin{figure}[htbp]
\centering
\begin{minipage}[b]{5 cm}
\includegraphics[width=\linewidth]{gfx/examples/qq-plot_gaus_vs_160}
\caption{Minipage-Grafik Nummero uno}
\label{fig:chapter03:minipage:grafik1}
\end{minipage}
\begin{minipage}[b]{5 cm}
\includegraphics[width=\linewidth]{gfx/examples/pdf_gaus_vs_uni_vs_10_40_160}
\caption{Minipage-Grafik Nummer zwei}
\label{fig:chapter03:minipage:grafik2}
\end{minipage}
\end{figure}
In vitae est eget velit mattis lobortis. In hac habitasse platea dictumst. Quisque aliquam quam et justo pellentesque ullamcorper. Curabitur elementum mattis leo facilisis tincidunt. Fusce posuere viverra ultricies. Cras eget velit et ipsum gravida imperdiet et hendrerit orci.
Maecenas fringilla viverra urna ut egestas. Nulla sagittis molestie libero eget luctus. Nulla non odio sit amet magna vehicula tincidunt. Nulla accumsan ornare placerat. In posuere scelerisque quam, sed posuere urna eleifend quis. Pellentesque sed quam quis dui vulputate convallis ut ac diam. In hac habitasse platea dictumst. Donec molestie auctor dapibus. Vivamus in erat risus, ut aliquet diam. Duis vel velit ante, id ullamcorper turpis. Lorem ipsum dolor sit amet, consectetur adipiscing elit. In accumsan ornare tellus a porttitor. Etiam facilisis dui et sem eleifend id luctus nisl scelerisque. Aenean quis commodo libero. Nulla quis semper dolor.
%
% Section: Tabellen
%
\section{Tabellen}
\label{sec:chapter03:tabellen}
Sed lobortis vestibulum euismod. Vivamus vestibulum gravida nisi vitae condimentum. Nullam nec lacus nibh. Phasellus arcu magna, varius eget viverra a, elementum eu dolor. Aliquam erat volutpat. Sed nibh leo, vestibulum quis lacinia in, vestibulum sollicitudin nulla. In iaculis, purus in imperdiet sagittis, tortor diam pellentesque lectus, eget faucibus ante elit at tortor.
%
% Section: Listings
%
\section{Listings}
\label{sec:chapter03:listings}
Aliquam ut pretium lectus. Curabitur in eros et sapien aliquet luctus ut sit amet eros. Proin et libero non mi venenatis aliquet at sed lorem. Ut sed enim mi, id viverra eros. Cras metus ante, placerat id commodo at, molestie non libero. Aenean eu risus erat, vel consequat metus. Sed malesuada metus sit amet nisl viverra hendrerit.
%
% Section: Equations
%
\section{Equations}
\label{sec:chapter03:equations}
Pellentesque sed quam quis dui vulputate convallis ut ac diam. In hac habitasse platea dictumst. Donec molestie auctor dapibus. Vivamus in erat risus, ut aliquet diam. Duis vel velit ante, id ullamcorper turpis.
%
\begin{equation}
U = R * I
\end{equation}
Lorem ipsum dolor sit amet, consectetur adipiscing elit. In accumsan ornare tellus a porttitor. Etiam facilisis dui et sem eleifend id luctus nisl scelerisque. Aenean quis commodo libero. Nulla quis semper dolor.
%
\begin{equation}
I = \frac{U}{R}
\end{equation}
In the following we use probability theory to derive closed-form expressions for the fairness that is achieved among $M$ contending stations. We tag station $M$ and denote $K_i$ the inter-transmissions of station $i = 1 \dots M-1$ and let $K = \sum_{i=1}^{M-1} K_i$. The conditional probability $P[K\!=\!k|l]$ can be defined for $M \ge 2$ as
%
\begin{equation}
\mathsf{P}[K\!=\!k|l] = \mathsf{P} \Biggl[\sum_{i=1}^{M-1} K_i = k \Big| l \Biggr]
\label{eq:chapter03:exactpmf}
\end{equation}
%
where the random variables $K_i$ are the integers that satisfy
%
\begin{equation*}
\sum_{j=1}^{K_i} b_i(j) \le \sum_{j=1}^{l} b_M(j) \;\;\; \textmd{and} \;\;\; \sum_{j=1}^{K_i+1} b_i(j) > \sum_{j=1}^{l} b_M(j) .
\end{equation*}
%
% Section: Theorem and Proof
%
\section{Theorem and Proof}
\label{sec:chapter03:theorem}
We use the central limit theorem to derive the long-term fairness. In the sequel, we denote normal random variables $N(\mu,\sigma^2)$ where $\mu$ is the mean and $\sigma^2$ the variance.
%
\begin{Theorem}[Gaussian approximation]
\label{th:chapter03:twostationsgaussian}
%
Let the $b_i(j)$ be i.i.d. random variables with mean $\mu$ and variance $\sigma^2$ and let $M=2$. For $k,l \gg 1$ (\ref{eq:chapter03:exactpmf}) is approximately Gaussian where
%
\begin{equation*}
\mathsf{P}[K \!\le\! k|l] \approx \mathsf{P}\biggl[ N(0,1) \le \frac{\mu\,(k-l)}{\sigma\,\sqrt{k+l}} \biggr] .
\end{equation*}
%
\end{Theorem}
%
\begin{proof}
%
For $M=2$ we have from (\ref{eq:chapter03:exactpmf}) that
%
\begin{equation*}
\mathsf{P}[K \!<\! k|l] = \mathsf{P} \Biggl[\, \sum_{j=1}^k b_1(j) > \sum_{j=1}^l b_2(j) \Biggr]
\end{equation*}
%
and after expansion and some normalization this equals
%
\begin{equation*}
= \mathsf{P}\Biggl[ \frac{\sum_{j=1}^{l}b_2(j) - l\mu}{\sigma\sqrt{l}} - \frac{\sum_{j=1}^{k}b_1(j) - k\mu}{\sigma\sqrt{l}} < \frac{\mu(k-l)}{\sigma\sqrt{l}} \Biggr].
\end{equation*}
%
Using the central limit theorem it follows that
%
\begin{equation*}
\mathsf{P}[K \!<\! k|l] \approx \mathsf{P} \biggl[ N(0,1) - N \biggl(0,\frac{k}{l}\biggr) < \frac{\mu(k-l)}{\sigma\sqrt{l}} \biggr] .
\end{equation*}
%
Since the normal distribution with zero mean is symmetric we can replace the subtraction of $N(0,k/l)$ by addition. Furthermore, the sum of two normal random variables $N(\mu_1, \sigma_1^2)$ and $N(\mu_2, \sigma_2^2)$ is normal with $N(\mu_1+\mu_2, \sigma_1^2+ \sigma_2^2)$ such that
%
\begin{equation*}
\mathsf{P}[K \!<\! k|l] \approx \mathsf{P} \biggl[ N\biggl(0,\frac{k+l}{l}\biggr) < \frac{\mu(k-l)}{\sigma\sqrt{l}} \biggr] .
\end{equation*}
%
Finally, we use that if $X$ is $N(a\mu,a^2\sigma^2)$ then $Y = X/a$ is $N(\mu,\sigma^2)$ with $a^2 = (k+l)/l$ to standardize the result.
%
\end{proof}
Th. \ref{th:chapter03:twostationsgaussian} assumes i.i.d. random countdown values. It does, however, not make any assumption about their distribution.

View File

@@ -1,6 +1,6 @@
\chapter{Empfehlungen für die Planung und Implementierung von CI/CD}
\label{mas}
Auch wenn ein \cicd System nach der Einführung als Gesamtkomplex vorliegt, der schnell und einfach den Softwareentwicklungsprozess beschleunigt, ist es unumgänglich, sich bei der Einführung auf die Detailebene des Use Cases als auch der Tools zu begeben. Nur so besteht die Chance, später im Betrieb des Systems die Vorteile von CI/CD nutzen zu können.
Auch wenn ein \cicd System nach der Einführung als Gesamtkomplex vorliegt, welcher schnell und einfach den Softwareentwicklungsprozess beschleunigt, ist es unumgänglich, sich bei der Einführung auf die Detailebene des Use Cases als auch der Tools zu begeben. Nur so besteht die Chance, später im Betrieb des Systems die Vorteile von CI/CD nutzen zu können.
\todo{Aufschlüsseln der Rolle von Automatisierungs teams und Entwickler benzüglich Doku}
Während das automatisierungs Team eine sehr viel umfangreichere Detailkenntnisse besitzen wird, muss der Softwareentwickler nur das für ihn relevanten Wissen in Form von Dokumentation vorliegen haben.
@@ -53,10 +53,13 @@ beispielsweise zu Security, Code oder Systemarchitektur. Auch die
vorliegende Hardware könnte als Rahmenbedingung vorgegeben sein.
Für jeden \textbf{Prozessschritt} muss eine \textbf{detaillierte
funktionale Anforderung} erfolgen, beispielsweise könnte für den
funktionale Anforderung} erfolgen. Beispielsweise könnte für den
Analyseprozess die Arten von Checks festgelegt werden, wie der Check auf
bestimmte Designpatterns, Variablennamen, der Check gegen vorhandene
Regellisten.\\
bestimmte Designpatterns, Variablennamen oder allgemein gegen vorhandene
Regellisten.
~
Für den Prozessschritt des Delivery gilt es zu entscheiden, ob die
Softwareartefakte in einem einfachen Dateisystem bereitgestellt werden
oder in einem Artefakt-Managementsystem.

View File

@@ -360,10 +360,9 @@ $\Rightarrow$ Programmabbruch
Die statische Codeanalyse erwartet den Source Code in einem spezifischen
Ordner. Unkenntnis über diese Vorgabe kann dazu führen, dass der Source
Code in einem anderen Verzeichnis bereitgestellt wird, Das
Codeanalysetool findet im spezifizierten Verzeichnis keinen Code -
manche Tools melden einen positiven Status und der CI/CD Prozess läuft
weiter.\ref{be:jx} \cite{shahin2017continuous}
Code in einem anderen Verzeichnis bereitgestellt wird und das
Analysetool findet im spezifizierten Verzeichnis keinen Code.
Manche Tools melden einen positiven Status und der CI/CD Prozess läuft weiter.\ref{be:jx} \cite{shahin2017continuous}
~

View File

@@ -9,7 +9,7 @@ Ich versichere hiermit, dass ich die vorliegende Arbeit selbstständig verfasst
\medskip
\noindent
Alle Stellen, die wörtlich oder sinngemäß aus veröffentlichten oder noch nicht veröffentlichten Quellen entnommen sind, sind als solche kenntlich gemacht.
Alle Stellen, welche wörtlich oder sinngemäß aus veröffentlichten oder noch nicht veröffentlichten Quellen entnommen sind, sind als solche kenntlich gemacht.
\medskip
\noindent