docs/Development-Case

view development-case-content.tex @ 3:5084c6cb99f2

added short explanations to all workflows; german names for workflows, etc; minor stuff
author meillo@marmaro.de
date Mon, 14 Jan 2008 20:48:46 +0100
parents 64246b8cbb50
children
line source
1 \chapter{Einleitung}
3 \section{Zweck}
5 Dieses Dokument beschreibt den Entwicklungsprozess nach dem wir in unserem Projekt vorgehen.
8 \section{Definitionen und Abkürzungen}
10 Die verwendeten Begriffe sind im Projekt-Glossar erklärt. Bei Bedarf kann dort nachgeschlagen werden.
12 \textbf{Workflow}
13 Aufeinander folgende Aktivitäten die ein messbares Ergebnis erzeugen.
14 %The sequence of activities performed in a business that produces a result of observable value to an individual actor of the business.
16 \textbf{Entwicklungsprozess}
17 Definiertes Vorgehensmodell zur Erstellung einer Software. Ein Entwicklungsprozess soll die Softwareentwicklung übersichtlicher gestalten und die Komplexität beherrscbar machen.
19 \textbf{Zyklus}
20 Ein kompletter Durchlauf der vier Phasen: Konzeption (Inception), Entwurf (Elaboration), Konstruktion (Construction) und Übergabe (Transition).
21 %One complete pass through the four phases: inception, elaboration, construction and transition. The span of time between the beginning of the inception phase and the end of the transition phase.
23 \textbf{Iteration}
24 Eine geplante Abfolge von Aktivitäten mit einem messbaren Ergebnis, die in einem Release enden (intern oder extern).
25 %A distinct sequence of activities with a base-lined plan and valuation criteria resulting in a release (internal or external).
27 \textbf{Phase}
28 Die Zeit zwischen zwei bedeutenden Projekt-Meilensteinen. Während einer Phase werden, eine festgelegte Menge an Aufgaben bearbeitet, Artefakte erstellt und die Entscheidung gefällt, ob man in die nächste Phase einsteigt, oder nicht.
29 %The time between two major project milestones, during which a well-defined set of objectives is met, artifacts are completed, and decisions are made to move or not move into the next phase.
31 \textbf{RUP}
32 Der Rational Unified Process (RUP) ist ein objektorientiertes Vorgehensmodell zur Softwareentwicklung und ein kommerzielles Produkt der Firma Rational Software. Der RUP ist ein iterativer Entwicklungsprozess.
35 \textbf{Iterativer Entwicklungsprozess}
36 Ein Entwicklungsprozess, der in Iterationen unterteilt ist. Dies ermöglicht Flexibilität, Risiken werden frühzeitig erkannt und es wird berücksichtigt, dass sich Anforderungen während eines Projektes oftmals ändern.
38 \textbf{Manntag}
39 Ein Manntag ist die Menge an Arbeit, die eine Person durchschnittlich an einem Arbeitstag (8 Stunden) schafft. Man verwendet diesen Begriff, um Schätzungen für die Gesamtmenge an Arbeit für die Erledigung einer Aufgabe zu errechnen.
41 \textbf{Release}
42 %Die fertige und veröffentlichte Version einer Software wird als Release bezeichnet.
43 %A subset of the end-product that is the object of evaluation at a major milestone. A release is a stable, executable version of product, together with any artifacts necessary to use this release, such as release notes or installation instructions. A release can be internal or external. An internal release is used only by the development organization, as part of a milestone, or for a demonstration to users or customers. An external release (or delivery) is delivered to end users. A release is not necessarily a complete product, but can just be one step along the way, with its usefulness measured only from an engineering perspective. Releases act as a forcing function that drives the development team to get closure at regular intervals, avoiding the "90\% done, 90\% remaining" syndrome. See also prototype, baseline.
46 \section{Verweise}
53 %%%%%%%%%%%%%%
54 \chapter{Entwicklungsprozess}
55 \section{Überblick}
57 Wir werden unser Projekt nach dem Rational Unified Process (kurz RUP) entwickeln.
59 Der RUP ist ein dynamischer und iterativer Entwicklungsprozess, der das Projekt in zwei Dimensionen betrachtet.
60 Er ist ausführlich spezifiziert und umfangreich dokumentiert. (http://www-306.ibm.com/software/awdtools/rup/).
62 An sich ist der RUP für große Projekte, mit vielen Mannjahren, ausgelegt. 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.
65 \section{Anpassungen}
67 Es gilt also diesen mächtigen und umfangreichen Entwicklungsprozess für unser klares Projekt abzuspecken und anzupassen. Dies ist natürlich nicht ganz einfach, da unsere 85 Manntage realistischerweise eher einer einzelnen Iteration entsprechen, als den drei Zyklen, die wir für uns geplant haben.
68 Wir werden deshalb ein paar Ungenauigkeiten bei unserem Verhalten im Kauf nehmen; versuchen aber natürlich, uns möglichst nah an die Leitlinie RUP zu halten.
70 Wir werden drei Zyklen des Projekts durchführen. Insgesamt soll das Projekt sechs Zyklen umfassen, von denen die letzten drei Zyklen aber nur grob geplant werden.
71 Jeder Zyklus wird circa vier Wochen umfassen (18 Manntage). An dessen Ende ein Release steht.
72 Iterationen innerhalb der Zyklen werden wir, aufgrund der kurzen Zyklen, außen vor lassen.
74 Die einzelnen Phasen (zweite Dimension) in den Zyklen versuchen wir, so gut es geht, zu berücksichtigen.
81 \chapter{Projektplanung}
83 siehe \emph{Projektplan} diesbezüglich
89 \chapter{Kern-Workflows}
92 \subsection{Geschäftsprozessmodellierung}
93 (Business Modeling)
95 Dokumentation der relevanten Geschäftsprozesse in Use Cases, mit dem Ziel eines gemeinsamen Verständnisses zwischen Entwicklern und Anwendern.
97 \paragraph{Artefakte}
98 \begin{itemize}
99 \item Glossary
100 \item Use-Case
101 \item Use-Case Model
102 \item Vision
103 \end{itemize}
107 \subsection{Anforderungen}
108 (Requirements)
110 Ermitteln, was das System leisten soll. Die funktionalen Anforderungen sollen erfasst werden.
112 \paragraph{Artefakte}
113 \begin{itemize}
114 \item Use-Case
115 \item Use-Case Model
116 \item Vision
117 \end{itemize}
121 \subsection{Analyse \& Design}
122 (Analysis \& Design)
124 Aufbau und Technologie des Systems festlegen.
126 \paragraph{Artefakte}
127 \begin{itemize}
128 \item Software Architecture Document
129 \end{itemize}
133 \subsection{Implementierung}
134 (Implementation)
136 Systemteile entwickeln und zusammenfügen.
138 \paragraph{Artefakte}
141 \subsection{Test}
142 (Testing)
144 Funktionsweise des Systems gegen die Anforderungen prüfen.
146 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.
150 \subsection{Verteilung}
151 (Deployment)
153 Auslieferung des Systems an den Kunden und Inbetriebnahme. Schulung der Benutzer.
155 \paragraph{Artefakte}
160 \section{Unterstützungs-Workflows}
162 \subsection{Konfigurations- \& Änderungsmanagement}
163 (Configuration \& Changemanagement)
165 Verwaltung der zum Projekt gehörenden Daten. Versionierung und Konsistenz.
167 \paragraph{Artefakte}
168 \begin{itemize}
169 \item Project Repository
170 \end{itemize}
173 \subsection{Projektmanagement}
174 (Projectmanagement)
176 Zwischen konkurrierenden Zielen vermitteln. Auf Risiken reagieren.
178 \paragraph{Artefakte}
179 \begin{itemize}
180 \item Software Development Plan
181 \item Iteration Plan % FIXME
182 \end{itemize}
185 \subsection{Entwicklungsumgebung}
186 (Environment)
188 Bereitstellung von Hardware, Software und Know-How.
190 \paragraph{Artefakte}
191 \begin{itemize}
192 \item Development Case
193 \item Tools
194 \item User Interface Guidlines % FIXME
195 \end{itemize}