# HG changeset patch # User meillo@marmaro.de # Date 1200943894 -3600 # Node ID 5f939d777552250cf0346a5004390e3d8528ee33 # Parent 1f955918cf53936a2e9ba9ba71c434bce11bacdc new titlepage; new content for workflows diff -r 1f955918cf53 -r 5f939d777552 development-case.tex --- a/development-case.tex Mon Jan 21 07:15:04 2008 +0100 +++ b/development-case.tex Mon Jan 21 20:31:34 2008 +0100 @@ -65,12 +65,12 @@ \automark[section]{section} \setheadwidth{15.8cm} \ihead{\headmark} -\ihead{Online Seminarbuchungssystem} +\ihead{Development Case} \chead{{\color{blue}\color{black}\rule[-10pt]{18.4cm}{0.1pt}\color{black}}} \ohead{\headmark} \setfootwidth[-74pt]{18.3cm} \setfootsepline[foot]{.1pt} -\ifoot{} %~~~~~~~~~~~~~~~~~~~\footnotesize Christoph Galler} +\ifoot{\hspace{2.6cm}\footnotesize Gruppe 2: Seminarverwaltungssystem (Topcased)} \cfoot{} \ofoot{\footnotesize Seite \thepage} % ~von \pageref{LastPage}} \renewcommand*{\chapterpagestyle}{scrheadings} @@ -91,25 +91,53 @@ {\hspace*{11cm}\includegraphics*[scale=0.5]{pictures/png/logo_hsu_klein}} \begin{center} \vspace*{1.9cm} - {\normalsize\textsc{Gruppe 2: Rui Gu, Wei Zhu, Veysel Imamoglu, Dimitar Dimitrov, \\Karl Oppermann, Nathalie Hrycej, Markus Schnalke, Christoph Galler}} \par + {\normalsize\textsc{Gruppe 2: Rui Gu, Wei Zhu, Veysel Imamoglu, +Dimitar Dimitrov, \\Karl Oppermann, Nathalie Hrycej, Markus Schnalke, +Christoph Galler}} \par \vspace*{0.6cm} - \Large \textbf{Online-Seminarbuchungssystem} \par + \large \textbf{Modellgetriebene Softwareentwicklung auf Basis von +TOPCASED am Beispiel eines Seminarverwaltungssystems} \par \Huge \textbf{Development Case} \par \vspace*{0.8cm} - \Large \textbf{Verfasser: Markus Schnalke} \par - {\large{} \par + {\Large{} \par \vspace*{0.7cm} {\textsc{Ulm, \today}}} \par - \vspace*{5cm} + \vspace*{4.5cm} {\normalsize\textsc{Betreut durch: \\ Prof. Dr. Klaus Baer \\ Hochschule Ulm \\ - Prittwitzstra{\ss}e 10\\ + Prittwitzstraße 10\\ 89075 Ulm\\}} - \end{center} + \end{center} \vfill \end{titlepage} + + +% \begin{titlepage} +% \vspace*{-0cm} +% {\hspace*{11cm}\includegraphics*[scale=0.5]{pictures/png/logo_hsu_klein}} +% \begin{center} +% \vspace*{1.9cm} +% {\normalsize\textsc{Gruppe 2: Rui Gu, Wei Zhu, Veysel Imamoglu, Dimitar Dimitrov, \\Karl Oppermann, Nathalie Hrycej, Markus Schnalke, Christoph Galler}} \par +% \vspace*{0.6cm} +% \Large \textbf{Online-Seminarbuchungssystem} \par +% \Huge \textbf{Development Case} \par +% \vspace*{0.8cm} +% \Large \textbf{Verfasser: Markus Schnalke} \par +% {\large{} \par +% \vspace*{0.7cm} +% {\textsc{Ulm, \today}}} \par +% \vspace*{5cm} +% {\normalsize\textsc{Betreut durch: \\ +% Prof. Dr. Klaus Baer \\ +% Hochschule Ulm \\ +% Prittwitzstra{\ss}e 10\\ +% 89075 Ulm\\}} +% \end{center} +% \vfill +% \end{titlepage} + % \addsec{Bitte beachten} Version vom \today: Das Dokument befindet sich noch im Aufbau, \"{A}nderungen sind dadurch jederzeit M\"{o}glich. \addsec{Version dieses Dokuments} @@ -119,12 +147,13 @@ \hline\hline \hoehe{\textbf{Version}} & \textbf{Person} & \textbf{Aktion} & \textbf{Datum} & \textbf{Status} & \textbf{Kommentar} \\ \hline\hline - 0.1 & Markus Schnalke & E & 2007-11-27 & A & Erste Version \\ \hline - 0.2 & Markus Schnalke & AE & 2008-01-13 & A & Neue Struktur des Dokuments \\ \hline - 0.3 & Markus Schnalke & AE & 2008-01-14 & A & Glossar erstellt \\ \hline - 0.4 & Markus Schnalke & AE & 2008-01-16 & A & Struktur überarbeitet; Glossar ausgelagert \\ \hline + 0.1 & Markus Schnalke & E & 2007-11-27 & O & Erste Version \\ \hline + 0.2 & Markus Schnalke & AE & 2008-01-13 & O & Neue Struktur des Dokuments \\ \hline + 0.4 & Markus Schnalke & AE & 2008-01-16 & A & Struktur überarbeitet \\ \hline 0.4.1 & Karl Oppermann & QS & 2008-01-17 & A & Allgemeines Review \\ \hline - 0.5 & Markus Schnalke & AE & 2008-01-18 & O & \\ \hline + 0.5 & Markus Schnalke & AE & 2008-01-18 & A & Überarbeitung; Fachbegriffe jetzt englisch \\ \hline + 0.5.1 & Veysel Imamoglu & QS & 2008-01-18 & A & Rechtschreibkorrektur \\ \hline + 0.6 & Markus Schnalke & AE & 2008-01-21 & O & \\ \hline \end{tabular} {\footnotesize\vspace*{-0.1cm}Aktion: E – Erstellung; AE – \"{A}nderung; QS – Review; AB – Abnahme} \par {\footnotesize\vspace*{-0.4cm} Status: O – Offen; D – Diskussion; A – Akzeptiert} @@ -183,13 +212,13 @@ Der RUP ist ein dynamischer und iterativer Entwicklungsprozess, der das Projekt in zwei Dimensionen (zeitlich und inhaltlich) betrachtet. Er ist ausführlich spezifiziert und umfangreich dokumentiert. -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. +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. 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. 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). -Wie unsere Adaptation des RUP genau aussieht, das beschreibt diese Dokument. +Wie unsere Adaptation des RUP genau aussieht, das beschreibt dieses Dokument. \newpage @@ -219,7 +248,7 @@ 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. % FIXME: was ist das/unser Projekt (3Zyklen oder das komplette)? -Jeder der drei Zyklen wird circa vier Wochen (18 Manntage %FIXME +Jeder der drei Zyklen wird circa fünf Wochen (30 Manntage %FIXME ) umfassen. An dessen Ende jeweils ein Release stehen wird. (Näheres zu den Releases findet sich im \emph{Software Development Plan}.) Iterationen innerhalb der Zyklen werden wir, auf Grund der kurzen Zyklen, komplett außen vor lassen. @@ -271,12 +300,16 @@ \subsection{Business Modeling} (Geschäftsprozessmodellierung) -Dokumentation der relevanten Geschäftsprozesse in Use Cases, mit dem Ziel eines gemeinsamen Verständnisses zwischen Entwicklern und Anwendern. +\paragraph{Zweck} +Dokumentation der relevanten Geschäftsprozesse in Use Cases, um ein gemeinsames Verständniss zwischen Entwicklern und Anwendern zu schaffen. + +\paragraph{Anpassungen} +Keine besonderen. \paragraph{Artefakte} \begin{itemize} \item Glossary - \item Business Use Cases + \item Business Use Cases %% FIXME \end{itemize} @@ -284,8 +317,12 @@ \subsection{Requirements} (Anforderungen) +\paragraph{Zweck} Ermitteln, was das System leisten soll. Die funktionalen Anforderungen sollen erfasst werden. +\paragraph{Anpassungen} +Keine besonderen. + \paragraph{Artefakte} \begin{itemize} \item Vision @@ -298,8 +335,14 @@ \subsection{Analysis \& Design} (Analyse \& Design) +\paragraph{Zweck} Aufbau und Technologie des Systems festlegen. Festlegung wie wird das System realisiert wird. +\paragraph{Anpassungen} +Die Technologie und Teile der Umsetzung sind durch das Projekt vorgegeben und somit fix. + +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. + \paragraph{Artefakte} \begin{itemize} \item Software Architecture Document @@ -307,29 +350,52 @@ + \subsection{Implementation} (Implementierung) +\paragraph{Zweck} Systemteile entwickeln und zusammenfügen. Komponententests. +\paragraph{Anpassungen} +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. + +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. + \paragraph{Artefakte} +Momentan keine. + \subsection{Testing} (Test) +\paragraph{Zweck} Test des Zusammenspiels der Komponenten. Funktionsweise des Systems gegen die Anforderungen prüfen. -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. +\paragraph{Anpassungen} +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. + +Dies heißt aber keineswegs, dass wir ihn zum geeigneten Zeitpunkt nicht voll ausbauen werden. + +\paragraph{Artefakte} +Noch keine. \subsection{Deployment} (Verteilung) +\paragraph{Zweck} Auslieferung des Systems an den Kunden und Inbetriebnahme. Schulung der Benutzer. +\paragraph{Anpassungen} +Auch hier sparen wir um dafür die Entwicklung voran zu treiben. + \paragraph{Artefakte} +\begin{itemize} + \item Release Notes (empfohlen) %FIXME rechtschreibung +\end{itemize} @@ -339,19 +405,30 @@ \subsection{Configuration \& Changemanagement} (Konfigurations- \& Änderungsmanagement) +\paragraph{Zweck} Verwaltung der zum Projekt gehörenden Daten. Versionierung und Konsistenz. +\paragraph{Anpassungen} +Alle Daten müssen im Project Repository abgelegt werden. Dieses soll die zentrale Informationsstelle sein. + +Jeder Mitarbeiter darf an jeder Stelle des Projekts Änderungen durchführen. + \paragraph{Artefakte} \begin{itemize} \item Project Repository \end{itemize} + \subsection{Projectmanagement} (Projektmanagement) +\paragraph{Zweck} Zwischen konkurrierenden Zielen vermitteln. Auf Risiken reagieren. +\paragraph{Anpassungen} +Keine besonderen. + \paragraph{Artefakte} \begin{itemize} \item Software Development Plan (Project Plan) @@ -359,11 +436,16 @@ \end{itemize} + \subsection{Environment} (Entwicklungsumgebung) +\paragraph{Zweck} Bereitstellung von Hardware, Software und Know-How. +\paragraph{Anpassungen} +Keine besonderen. + \paragraph{Artefakte} \begin{itemize} \item Development Case