From b4d29ff1b5854bb06bfe94b19c206eed64dcacfa Mon Sep 17 00:00:00 2001 From: marcodn Date: Thu, 18 Apr 2024 19:13:13 +0200 Subject: [PATCH] Current CheckIn --- chapters/thesis/chapter01.tex | 9 +++++---- thesis.pdf | Bin 184084 -> 184119 bytes 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/chapters/thesis/chapter01.tex b/chapters/thesis/chapter01.tex index 496616f..063d7dc 100644 --- a/chapters/thesis/chapter01.tex +++ b/chapters/thesis/chapter01.tex @@ -69,12 +69,13 @@ Hierbei ist auch ein Vergleich mit anderen Technologien angedacht. \label{sec:intro:structure} Zu Begin der Arbeit werden im Kapitel \ref{ch:basics} die Struktur und der grundsätzliche Aufbau der Anwendung -erklärt. Hierbei wird aufgezeigt an welchen Stellen immer wieder zu Unstimmigkeiten kommen kann und wie diese zu +erklärt. Hierbei wird aufgezeigt an welchen Stellen es immer wieder zu Unstimmigkeiten kommen kann und wie diese zu überprüfen sind. -Nachfolgenden wird im Kapitel \ref{ch:concept} die Konzepte vorgestellt mit welchen man die Probleme ermitteln wird. +Nachfolgenden wird im Kapitel \ref{ch:concept} die Konzepte vorgestellt, die die Seiten ermitteln, die eine schlechte +Performance aufweisen und optimiert werden sollen. Hierbei ist zusätzlich ein Blick auf andere Frameworks sinnvoll, um dort aus den bekannten Anomalien zu lernen und -deren Lösungsansatz zu überprüfen ob diese angewandt werden kann. +deren Lösungsansatz zu überprüfen ob dieser angewandt werden kann. Bei den Performance"=Untersuchung in Kapitel \ref{ch:performance-checking} werden nun die Konzepte angewandt, um die Problemstellen zu identifizieren. Diese werden dann bewertet, unter den Gesichtspunkten ob eine Optimierung an @@ -82,7 +83,7 @@ dieser Stelle sinnvoll ist, oder ob der Arbeitsaufwand dafür zu enorm ist. Nach der Entscheidung der Reihenfolge der zu bearbeitenden Punkte, wird im Kapitel \ref{ch:optimizing} je nach Problemart ein gesondertes Vorgehen der Optimierung durchgeführt, um diese zu beheben oder mindestens in einen -akzeptablen Rahmen zu verbessern. Diese Optimierungen werden dann in der Software entsprechend dem Weg angepasst. +akzeptablen Rahmen zu verbessern. Diese Optimierungen werden dann in der Software entsprechend der Vorgaben angepasst. Nach der Optimierung kommt nun die Evaluierung im Kapitel \ref{ch:evaluation}, um zu überprüfen ob die Anpassungen die gewünschten Verbesserung in der Performance gebracht haben. diff --git a/thesis.pdf b/thesis.pdf index 696c96321a632d342e170c55a0425a32b345056b..772620bc1568b1546566a639709d4ea471abfc48 100644 GIT binary patch delta 6523 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 A)&Kwi delta 6481 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