comparison development-case.tex @ 8:5f939d777552

new titlepage; new content for workflows
author meillo@marmaro.de
date Mon, 21 Jan 2008 20:31:34 +0100
parents 1f955918cf53
children 3bae83d50dc5
comparison
equal deleted inserted replaced
7:1f955918cf53 8:5f939d777552
63 \setlength{\headheight}{2cm} 63 \setlength{\headheight}{2cm}
64 \usepackage[automark]{scrpage2} 64 \usepackage[automark]{scrpage2}
65 \automark[section]{section} 65 \automark[section]{section}
66 \setheadwidth{15.8cm} 66 \setheadwidth{15.8cm}
67 \ihead{\headmark} 67 \ihead{\headmark}
68 \ihead{Online Seminarbuchungssystem} 68 \ihead{Development Case}
69 \chead{{\color{blue}\color{black}\rule[-10pt]{18.4cm}{0.1pt}\color{black}}} 69 \chead{{\color{blue}\color{black}\rule[-10pt]{18.4cm}{0.1pt}\color{black}}}
70 \ohead{\headmark} 70 \ohead{\headmark}
71 \setfootwidth[-74pt]{18.3cm} 71 \setfootwidth[-74pt]{18.3cm}
72 \setfootsepline[foot]{.1pt} 72 \setfootsepline[foot]{.1pt}
73 \ifoot{} %~~~~~~~~~~~~~~~~~~~\footnotesize Christoph Galler} 73 \ifoot{\hspace{2.6cm}\footnotesize Gruppe 2: Seminarverwaltungssystem (Topcased)}
74 \cfoot{} 74 \cfoot{}
75 \ofoot{\footnotesize Seite \thepage} % ~von \pageref{LastPage}} 75 \ofoot{\footnotesize Seite \thepage} % ~von \pageref{LastPage}}
76 \renewcommand*{\chapterpagestyle}{scrheadings} 76 \renewcommand*{\chapterpagestyle}{scrheadings}
77 \renewcommand*{\indexpagestyle}{scrheadings} 77 \renewcommand*{\indexpagestyle}{scrheadings}
78 \pagestyle{scrheadings} 78 \pagestyle{scrheadings}
89 \begin{titlepage} 89 \begin{titlepage}
90 \vspace*{-0cm} 90 \vspace*{-0cm}
91 {\hspace*{11cm}\includegraphics*[scale=0.5]{pictures/png/logo_hsu_klein}} 91 {\hspace*{11cm}\includegraphics*[scale=0.5]{pictures/png/logo_hsu_klein}}
92 \begin{center} 92 \begin{center}
93 \vspace*{1.9cm} 93 \vspace*{1.9cm}
94 {\normalsize\textsc{Gruppe 2: Rui Gu, Wei Zhu, Veysel Imamoglu, Dimitar Dimitrov, \\Karl Oppermann, Nathalie Hrycej, Markus Schnalke, Christoph Galler}} \par 94 {\normalsize\textsc{Gruppe 2: Rui Gu, Wei Zhu, Veysel Imamoglu,
95 Dimitar Dimitrov, \\Karl Oppermann, Nathalie Hrycej, Markus Schnalke,
96 Christoph Galler}} \par
95 \vspace*{0.6cm} 97 \vspace*{0.6cm}
96 \Large \textbf{Online-Seminarbuchungssystem} \par 98 \large \textbf{Modellgetriebene Softwareentwicklung auf Basis von
99 TOPCASED am Beispiel eines Seminarverwaltungssystems} \par
97 \Huge \textbf{Development Case} \par 100 \Huge \textbf{Development Case} \par
98 \vspace*{0.8cm} 101 \vspace*{0.8cm}
99 \Large \textbf{Verfasser: Markus Schnalke} \par 102 {\Large{} \par
100 {\large{} \par
101 \vspace*{0.7cm} 103 \vspace*{0.7cm}
102 {\textsc{Ulm, \today}}} \par 104 {\textsc{Ulm, \today}}} \par
103 \vspace*{5cm} 105 \vspace*{4.5cm}
104 {\normalsize\textsc{Betreut durch: \\ 106 {\normalsize\textsc{Betreut durch: \\
105 Prof. Dr. Klaus Baer \\ 107 Prof. Dr. Klaus Baer \\
106 Hochschule Ulm \\ 108 Hochschule Ulm \\
107 Prittwitzstra{\ss}e 10\\ 109 Prittwitzstraße 10\\
108 89075 Ulm\\}} 110 89075 Ulm\\}}
109 \end{center} 111 \end{center}
110 \vfill 112 \vfill
111 \end{titlepage} 113 \end{titlepage}
114
115
116
117 % \begin{titlepage}
118 % \vspace*{-0cm}
119 % {\hspace*{11cm}\includegraphics*[scale=0.5]{pictures/png/logo_hsu_klein}}
120 % \begin{center}
121 % \vspace*{1.9cm}
122 % {\normalsize\textsc{Gruppe 2: Rui Gu, Wei Zhu, Veysel Imamoglu, Dimitar Dimitrov, \\Karl Oppermann, Nathalie Hrycej, Markus Schnalke, Christoph Galler}} \par
123 % \vspace*{0.6cm}
124 % \Large \textbf{Online-Seminarbuchungssystem} \par
125 % \Huge \textbf{Development Case} \par
126 % \vspace*{0.8cm}
127 % \Large \textbf{Verfasser: Markus Schnalke} \par
128 % {\large{} \par
129 % \vspace*{0.7cm}
130 % {\textsc{Ulm, \today}}} \par
131 % \vspace*{5cm}
132 % {\normalsize\textsc{Betreut durch: \\
133 % Prof. Dr. Klaus Baer \\
134 % Hochschule Ulm \\
135 % Prittwitzstra{\ss}e 10\\
136 % 89075 Ulm\\}}
137 % \end{center}
138 % \vfill
139 % \end{titlepage}
112 140
113 % \addsec{Bitte beachten} 141 % \addsec{Bitte beachten}
114 Version vom \today: Das Dokument befindet sich noch im Aufbau, \"{A}nderungen sind dadurch jederzeit M\"{o}glich. 142 Version vom \today: Das Dokument befindet sich noch im Aufbau, \"{A}nderungen sind dadurch jederzeit M\"{o}glich.
115 \addsec{Version dieses Dokuments} 143 \addsec{Version dieses Dokuments}
116 \begin{tabular}{|p{1.5cm}|p{3.cm}|p{1.6cm}|p{2cm}|p{1.4cm}|p{4cm}|} 144 \begin{tabular}{|p{1.5cm}|p{3.cm}|p{1.6cm}|p{2cm}|p{1.4cm}|p{4cm}|}
117 \hline 145 \hline
118 \multicolumn{5}{|l}{\parbox[0pt][3.4em][l]{12cm}{\vspace{0.2cm}\large Dokument: \textbf{Development Case} \newline \emph{ Online-Seminarbuchungssystem}}} & \multicolumn{1}{r|}{\parbox[0pt][3.4em][r]{1.9cm}{\includegraphics*[scale=0.25]{pictures/png/logo_hsu}}} \\ 146 \multicolumn{5}{|l}{\parbox[0pt][3.4em][l]{12cm}{\vspace{0.2cm}\large Dokument: \textbf{Development Case} \newline \emph{ Online-Seminarbuchungssystem}}} & \multicolumn{1}{r|}{\parbox[0pt][3.4em][r]{1.9cm}{\includegraphics*[scale=0.25]{pictures/png/logo_hsu}}} \\
119 \hline\hline 147 \hline\hline
120 \hoehe{\textbf{Version}} & \textbf{Person} & \textbf{Aktion} & \textbf{Datum} & \textbf{Status} & \textbf{Kommentar} \\ 148 \hoehe{\textbf{Version}} & \textbf{Person} & \textbf{Aktion} & \textbf{Datum} & \textbf{Status} & \textbf{Kommentar} \\
121 \hline\hline 149 \hline\hline
122 0.1 & Markus Schnalke & E & 2007-11-27 & A & Erste Version \\ \hline 150 0.1 & Markus Schnalke & E & 2007-11-27 & O & Erste Version \\ \hline
123 0.2 & Markus Schnalke & AE & 2008-01-13 & A & Neue Struktur des Dokuments \\ \hline 151 0.2 & Markus Schnalke & AE & 2008-01-13 & O & Neue Struktur des Dokuments \\ \hline
124 0.3 & Markus Schnalke & AE & 2008-01-14 & A & Glossar erstellt \\ \hline 152 0.4 & Markus Schnalke & AE & 2008-01-16 & A & Struktur überarbeitet \\ \hline
125 0.4 & Markus Schnalke & AE & 2008-01-16 & A & Struktur überarbeitet; Glossar ausgelagert \\ \hline
126 0.4.1 & Karl Oppermann & QS & 2008-01-17 & A & Allgemeines Review \\ \hline 153 0.4.1 & Karl Oppermann & QS & 2008-01-17 & A & Allgemeines Review \\ \hline
127 0.5 & Markus Schnalke & AE & 2008-01-18 & O & \\ \hline 154 0.5 & Markus Schnalke & AE & 2008-01-18 & A & Überarbeitung; Fachbegriffe jetzt englisch \\ \hline
155 0.5.1 & Veysel Imamoglu & QS & 2008-01-18 & A & Rechtschreibkorrektur \\ \hline
156 0.6 & Markus Schnalke & AE & 2008-01-21 & O & \\ \hline
128 \end{tabular} 157 \end{tabular}
129 {\footnotesize\vspace*{-0.1cm}Aktion: E – Erstellung; AE – \"{A}nderung; QS – Review; AB – Abnahme} \par 158 {\footnotesize\vspace*{-0.1cm}Aktion: E – Erstellung; AE – \"{A}nderung; QS – Review; AB – Abnahme} \par
130 {\footnotesize\vspace*{-0.4cm} Status: O – Offen; D – Diskussion; A – Akzeptiert} 159 {\footnotesize\vspace*{-0.4cm} Status: O – Offen; D – Diskussion; A – Akzeptiert}
131 \clearpage 160 \clearpage
132 161
181 Wir werden unser Projekt nach dem \emph{Rational Unified Process} (kurz RUP) entwickeln. 210 Wir werden unser Projekt nach dem \emph{Rational Unified Process} (kurz RUP) entwickeln.
182 211
183 Der RUP ist ein dynamischer und iterativer Entwicklungsprozess, der das Projekt in zwei Dimensionen (zeitlich und inhaltlich) betrachtet. 212 Der RUP ist ein dynamischer und iterativer Entwicklungsprozess, der das Projekt in zwei Dimensionen (zeitlich und inhaltlich) betrachtet.
184 Er ist ausführlich spezifiziert und umfangreich dokumentiert. 213 Er ist ausführlich spezifiziert und umfangreich dokumentiert.
185 214
186 An sich ist der RUP für große Projekte, mit vielen Mannjahren, ausgelegt. Für unser kleines Projekt (90 Manntage) ist er eher weniger gut geeignet. Wir haben uns trotzdem für den RUP entscheiden, da wir ihn in der Vorlesung Softwaretechnik 1 ausführlich behandelt hatten und wir dieses Theoriewissen nun in der Praxis anwenden wollen. 215 An sich ist der RUP für große Projekte, mit vielen Mannjahren, ausgelegt. Für unser kleines Projekt (90 Manntage) ist er eher weniger gut geeignet. Wir haben uns trotzdem für den RUP entschieden, da wir ihn in der Vorlesung Softwaretechnik 1 ausführlich behandelt hatten und wir dieses Theoriewissen nun in der Praxis anwenden wollen.
187 216
188 Um einen Entwicklungsprozess für ein Projekt anzuwenden, muss er für eben dieses Projekt angepasst werden. Als Daumenregel kann man sagen: Je aufwändiger ein Prozess ist, desto stärker wird er auf ein spezifisches Projekt zurechtgeschneidert werden müssen. 217 Um einen Entwicklungsprozess für ein Projekt anzuwenden, muss er für eben dieses Projekt angepasst werden. Als Daumenregel kann man sagen: Je aufwändiger ein Prozess ist, desto stärker wird er auf ein spezifisches Projekt zurechtgeschneidert werden müssen.
189 218
190 Wir haben also diesen mächtigen und umfangreichen Rational Unified Process für unser kleines Projekt abgespeckt und angepasst. Diese Anpassungen betreffen dabei natürlich beide Dimensionen, die zeitliche (Zyklen, Phasen, Iterationen) und die inhaltliche (Workflows). 219 Wir haben also diesen mächtigen und umfangreichen Rational Unified Process für unser kleines Projekt abgespeckt und angepasst. Diese Anpassungen betreffen dabei natürlich beide Dimensionen, die zeitliche (Zyklen, Phasen, Iterationen) und die inhaltliche (Workflows).
191 220
192 Wie unsere Adaptation des RUP genau aussieht, das beschreibt diese Dokument. 221 Wie unsere Adaptation des RUP genau aussieht, das beschreibt dieses Dokument.
193 222
194 223
195 \newpage 224 \newpage
196 \section{Der RUP auf einen Blick} 225 \section{Der RUP auf einen Blick}
197 226
217 \section{Anpassungen} 246 \section{Anpassungen}
218 247
219 Wir werden in unserem Projekt drei Zyklen durchführen. Anschließend wird das Projekt nicht abgeschlossen sein. Für unser Team endet dann zwar die Arbeit an diesem Projekt, ein anderes Team kann die Arbeit zu einem beliebigen späteren Zeitpunkt wieder aufgreifen und daran weiterarbeiten. 248 Wir werden in unserem Projekt drei Zyklen durchführen. Anschließend wird das Projekt nicht abgeschlossen sein. Für unser Team endet dann zwar die Arbeit an diesem Projekt, ein anderes Team kann die Arbeit zu einem beliebigen späteren Zeitpunkt wieder aufgreifen und daran weiterarbeiten.
220 % FIXME: was ist das/unser Projekt (3Zyklen oder das komplette)? 249 % FIXME: was ist das/unser Projekt (3Zyklen oder das komplette)?
221 250
222 Jeder der drei Zyklen wird circa vier Wochen (18 Manntage %FIXME 251 Jeder der drei Zyklen wird circa fünf Wochen (30 Manntage %FIXME
223 ) umfassen. An dessen Ende jeweils ein Release stehen wird. (Näheres zu den Releases findet sich im \emph{Software Development Plan}.) 252 ) umfassen. An dessen Ende jeweils ein Release stehen wird. (Näheres zu den Releases findet sich im \emph{Software Development Plan}.)
224 253
225 Iterationen innerhalb der Zyklen werden wir, auf Grund der kurzen Zyklen, komplett außen vor lassen. 254 Iterationen innerhalb der Zyklen werden wir, auf Grund der kurzen Zyklen, komplett außen vor lassen.
226 255
227 Die einzelnen Phasen in den Zyklen versuchen wir, so gut es geht, zu berücksichtigen. 256 Die einzelnen Phasen in den Zyklen versuchen wir, so gut es geht, zu berücksichtigen.
269 \section{Core Workflows} 298 \section{Core Workflows}
270 299
271 \subsection{Business Modeling} 300 \subsection{Business Modeling}
272 (Geschäftsprozessmodellierung) 301 (Geschäftsprozessmodellierung)
273 302
274 Dokumentation der relevanten Geschäftsprozesse in Use Cases, mit dem Ziel eines gemeinsamen Verständnisses zwischen Entwicklern und Anwendern. 303 \paragraph{Zweck}
304 Dokumentation der relevanten Geschäftsprozesse in Use Cases, um ein gemeinsames Verständniss zwischen Entwicklern und Anwendern zu schaffen.
305
306 \paragraph{Anpassungen}
307 Keine besonderen.
275 308
276 \paragraph{Artefakte} 309 \paragraph{Artefakte}
277 \begin{itemize} 310 \begin{itemize}
278 \item Glossary 311 \item Glossary
279 \item Business Use Cases 312 \item Business Use Cases %% FIXME
280 \end{itemize} 313 \end{itemize}
281 314
282 315
283 316
284 \subsection{Requirements} 317 \subsection{Requirements}
285 (Anforderungen) 318 (Anforderungen)
286 319
320 \paragraph{Zweck}
287 Ermitteln, was das System leisten soll. Die funktionalen Anforderungen sollen erfasst werden. 321 Ermitteln, was das System leisten soll. Die funktionalen Anforderungen sollen erfasst werden.
322
323 \paragraph{Anpassungen}
324 Keine besonderen.
288 325
289 \paragraph{Artefakte} 326 \paragraph{Artefakte}
290 \begin{itemize} 327 \begin{itemize}
291 \item Vision 328 \item Vision
292 \item Use Case 329 \item Use Case
296 333
297 334
298 \subsection{Analysis \& Design} 335 \subsection{Analysis \& Design}
299 (Analyse \& Design) 336 (Analyse \& Design)
300 337
338 \paragraph{Zweck}
301 Aufbau und Technologie des Systems festlegen. Festlegung wie wird das System realisiert wird. 339 Aufbau und Technologie des Systems festlegen. Festlegung wie wird das System realisiert wird.
302 340
341 \paragraph{Anpassungen}
342 Die Technologie und Teile der Umsetzung sind durch das Projekt vorgegeben und somit fix.
343
344 Zum jetzigen Zeitpunkt ist unser hauptsächliches Bestreben, uns in die neue Technologie einzuarbeiten. Was damit dann später architektonisch möglich ist, und wo Grenzen sitzen, ist noch unklar. Unsere Umsetzung dieses Workflows ist deshalb noch recht weitläufig und frei. Sobald unsere Kenntnis über die Möglichkeiten der Technologie groß genug ist, wird dieser Workflow zunehmend an Bedeutung gewinnen.
345
303 \paragraph{Artefakte} 346 \paragraph{Artefakte}
304 \begin{itemize} 347 \begin{itemize}
305 \item Software Architecture Document 348 \item Software Architecture Document
306 \end{itemize} 349 \end{itemize}
350
307 351
308 352
309 353
310 \subsection{Implementation} 354 \subsection{Implementation}
311 (Implementierung) 355 (Implementierung)
312 356
357 \paragraph{Zweck}
313 Systemteile entwickeln und zusammenfügen. Komponententests. 358 Systemteile entwickeln und zusammenfügen. Komponententests.
314 359
315 \paragraph{Artefakte} 360 \paragraph{Anpassungen}
361 In dieser frühen Phase des Projekts besteht dieser Workflow in erster Line aus der Entwicklung von Prototypen jeder Art (Modelle, Templates, etc). Mit diesen wollen wir die Technologie erforschen.
362
363 Konkrete Artefakte werden nicht erstellt, weil es zum jetzigen Stand nicht sinnvoll wäre nach festen Plänen vorzugehen. Unser Kenntnissstand ändert sich sehr schnell und wir wollen flexibel reagieren können.
364
365 \paragraph{Artefakte}
366 Momentan keine.
367
316 368
317 369
318 \subsection{Testing} 370 \subsection{Testing}
319 (Test) 371 (Test)
320 372
373 \paragraph{Zweck}
321 Test des Zusammenspiels der Komponenten. Funktionsweise des Systems gegen die Anforderungen prüfen. 374 Test des Zusammenspiels der Komponenten. Funktionsweise des Systems gegen die Anforderungen prüfen.
322 375
323 Da wir eine neue Technologie erkunden, macht Test keinen wirklichen Sinn. Unser Ziel ist es, in kurzer Zeit möglichst viele Bereiche und Möglichkeiten zu erkunden. Dabei würde Testing nur bremsen. Unser Hauptaugenmerk ist es vorran zu kommen, nicht komplett fehlerfreie Ergebnisse zu liefern, deshalb verzichten wir komplett auf diesen Workflow. 376 \paragraph{Anpassungen}
377 Da wir eine neue Technologie erkunden, macht Test keinen wirklichen Sinn. Unser Ziel ist es, in kurzer Zeit möglichst viele Bereiche und Möglichkeiten zu erkunden. Dabei würde Testing nur bremsen. Unser Hauptaugenmerk ist es voran zu kommen, nicht komplett fehlerfreie Ergebnisse zu liefern, deshalb verzichten wir komplett auf diesen Workflow. So können wir die dadurch verfügbaren Ressourcen an anderer Stelle effektiv nutzen.
378
379 Dies heißt aber keineswegs, dass wir ihn zum geeigneten Zeitpunkt nicht voll ausbauen werden.
380
381 \paragraph{Artefakte}
382 Noch keine.
324 383
325 384
326 385
327 \subsection{Deployment} 386 \subsection{Deployment}
328 (Verteilung) 387 (Verteilung)
329 388
389 \paragraph{Zweck}
330 Auslieferung des Systems an den Kunden und Inbetriebnahme. Schulung der Benutzer. 390 Auslieferung des Systems an den Kunden und Inbetriebnahme. Schulung der Benutzer.
331 391
332 \paragraph{Artefakte} 392 \paragraph{Anpassungen}
393 Auch hier sparen wir um dafür die Entwicklung voran zu treiben.
394
395 \paragraph{Artefakte}
396 \begin{itemize}
397 \item Release Notes (empfohlen) %FIXME rechtschreibung
398 \end{itemize}
333 399
334 400
335 401
336 402
337 \section{Supplymentary Workflows} %FIXME: korrekter Name? 403 \section{Supplymentary Workflows} %FIXME: korrekter Name?
338 404
339 \subsection{Configuration \& Changemanagement} 405 \subsection{Configuration \& Changemanagement}
340 (Konfigurations- \& Änderungsmanagement) 406 (Konfigurations- \& Änderungsmanagement)
341 407
408 \paragraph{Zweck}
342 Verwaltung der zum Projekt gehörenden Daten. Versionierung und Konsistenz. 409 Verwaltung der zum Projekt gehörenden Daten. Versionierung und Konsistenz.
343 410
411 \paragraph{Anpassungen}
412 Alle Daten müssen im Project Repository abgelegt werden. Dieses soll die zentrale Informationsstelle sein.
413
414 Jeder Mitarbeiter darf an jeder Stelle des Projekts Änderungen durchführen.
415
344 \paragraph{Artefakte} 416 \paragraph{Artefakte}
345 \begin{itemize} 417 \begin{itemize}
346 \item Project Repository 418 \item Project Repository
347 \end{itemize} 419 \end{itemize}
420
348 421
349 422
350 \subsection{Projectmanagement} 423 \subsection{Projectmanagement}
351 (Projektmanagement) 424 (Projektmanagement)
352 425
426 \paragraph{Zweck}
353 Zwischen konkurrierenden Zielen vermitteln. Auf Risiken reagieren. 427 Zwischen konkurrierenden Zielen vermitteln. Auf Risiken reagieren.
428
429 \paragraph{Anpassungen}
430 Keine besonderen.
354 431
355 \paragraph{Artefakte} 432 \paragraph{Artefakte}
356 \begin{itemize} 433 \begin{itemize}
357 \item Software Development Plan (Project Plan) 434 \item Software Development Plan (Project Plan)
358 \item Risklist 435 \item Risklist
359 \end{itemize} 436 \end{itemize}
360 437
361 438
439
362 \subsection{Environment} 440 \subsection{Environment}
363 (Entwicklungsumgebung) 441 (Entwicklungsumgebung)
364 442
443 \paragraph{Zweck}
365 Bereitstellung von Hardware, Software und Know-How. 444 Bereitstellung von Hardware, Software und Know-How.
445
446 \paragraph{Anpassungen}
447 Keine besonderen.
366 448
367 \paragraph{Artefakte} 449 \paragraph{Artefakte}
368 \begin{itemize} 450 \begin{itemize}
369 \item Development Case 451 \item Development Case
370 \end{itemize} 452 \end{itemize}