comparison development-case.tex @ 4:a967aa02ee99

development case: everything in one file now
author meillo@marmaro.de
date Wed, 16 Jan 2008 11:46:36 +0100
parents 5084c6cb99f2
children b9b93523dc05
comparison
equal deleted inserted replaced
3:5084c6cb99f2 4:a967aa02ee99
140 %\renewcommand\contentsname{Detailliertes Inhaltsverzeichnis} 140 %\renewcommand\contentsname{Detailliertes Inhaltsverzeichnis}
141 %\tableofcontents 141 %\tableofcontents
142 %\clearpage 142 %\clearpage
143 % 143 %
144 % Inhalt 144 % Inhalt
145 \input{development-case-content} 145 % \input{development-case-content}
146
147
148
149 \chapter{Einleitung}
150
151 \section{Zweck}
152
153 Dieses Dokument beschreibt den Entwicklungsprozess nach dem wir in unserem Projekt vorgehen.
154
155
156 \section{Definitionen und Abkürzungen}
157
158 Die verwendeten Begriffe sind im Projekt-Glossar erklärt. Bei Bedarf kann dort nachgeschlagen werden.
159
160 \textbf{Workflow}
161 Aufeinander folgende Aktivitäten die ein messbares Ergebnis erzeugen.
162 %The sequence of activities performed in a business that produces a result of observable value to an individual actor of the business.
163
164 \textbf{Entwicklungsprozess}
165 Definiertes Vorgehensmodell zur Erstellung einer Software. Ein Entwicklungsprozess soll die Softwareentwicklung übersichtlicher gestalten und die Komplexität beherrscbar machen.
166
167 \textbf{Zyklus}
168 Ein kompletter Durchlauf der vier Phasen: Konzeption (Inception), Entwurf (Elaboration), Konstruktion (Construction) und Übergabe (Transition).
169 %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.
170
171 \textbf{Iteration}
172 Eine geplante Abfolge von Aktivitäten mit einem messbaren Ergebnis, die in einem Release enden (intern oder extern).
173 %A distinct sequence of activities with a base-lined plan and valuation criteria resulting in a release (internal or external).
174
175 \textbf{Phase}
176 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.
177 %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.
178
179 \textbf{RUP}
180 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.
181
182
183 \textbf{Iterativer Entwicklungsprozess}
184 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.
185
186 \textbf{Manntag}
187 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.
188
189 \textbf{Release}
190 %Die fertige und veröffentlichte Version einer Software wird als Release bezeichnet.
191 %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.
192
193
194 \section{Verweise}
195
196
197
198
199
200
201 %%%%%%%%%%%%%%
202 \chapter{Entwicklungsprozess}
203 \section{Überblick}
204
205 Wir werden unser Projekt nach dem Rational Unified Process (kurz RUP) entwickeln.
206
207 Der RUP ist ein dynamischer und iterativer Entwicklungsprozess, der das Projekt in zwei Dimensionen betrachtet.
208 Er ist ausführlich spezifiziert und umfangreich dokumentiert. (http://www-306.ibm.com/software/awdtools/rup/).
209
210 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.
211
212
213 \section{Anpassungen}
214
215 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.
216 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.
217
218 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.
219 Jeder Zyklus wird circa vier Wochen umfassen (18 Manntage). An dessen Ende ein Release steht.
220 Iterationen innerhalb der Zyklen werden wir, aufgrund der kurzen Zyklen, außen vor lassen.
221
222 Die einzelnen Phasen (zweite Dimension) in den Zyklen versuchen wir, so gut es geht, zu berücksichtigen.
223
224
225
226
227
228
229 \chapter{Projektplanung}
230
231 siehe \emph{Projektplan} diesbezüglich
232
233
234
235
236
237 \chapter{Kern-Workflows}
238
239
240 \subsection{Geschäftsprozessmodellierung}
241 (Business Modeling)
242
243 Dokumentation der relevanten Geschäftsprozesse in Use Cases, mit dem Ziel eines gemeinsamen Verständnisses zwischen Entwicklern und Anwendern.
244
245 \paragraph{Artefakte}
246 \begin{itemize}
247 \item Glossary
248 \item Use-Case
249 \item Use-Case Model
250 \item Vision
251 \end{itemize}
252
253
254
255 \subsection{Anforderungen}
256 (Requirements)
257
258 Ermitteln, was das System leisten soll. Die funktionalen Anforderungen sollen erfasst werden.
259
260 \paragraph{Artefakte}
261 \begin{itemize}
262 \item Use-Case
263 \item Use-Case Model
264 \item Vision
265 \end{itemize}
266
267
268
269 \subsection{Analyse \& Design}
270 (Analysis \& Design)
271
272 Aufbau und Technologie des Systems festlegen.
273
274 \paragraph{Artefakte}
275 \begin{itemize}
276 \item Software Architecture Document
277 \end{itemize}
278
279
280
281 \subsection{Implementierung}
282 (Implementation)
283
284 Systemteile entwickeln und zusammenfügen.
285
286 \paragraph{Artefakte}
287
288
289 \subsection{Test}
290 (Testing)
291
292 Funktionsweise des Systems gegen die Anforderungen prüfen.
293
294 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.
295
296
297
298 \subsection{Verteilung}
299 (Deployment)
300
301 Auslieferung des Systems an den Kunden und Inbetriebnahme. Schulung der Benutzer.
302
303 \paragraph{Artefakte}
304
305
306
307
308 \section{Unterstützungs-Workflows}
309
310 \subsection{Konfigurations- \& Änderungsmanagement}
311 (Configuration \& Changemanagement)
312
313 Verwaltung der zum Projekt gehörenden Daten. Versionierung und Konsistenz.
314
315 \paragraph{Artefakte}
316 \begin{itemize}
317 \item Project Repository
318 \end{itemize}
319
320
321 \subsection{Projektmanagement}
322 (Projectmanagement)
323
324 Zwischen konkurrierenden Zielen vermitteln. Auf Risiken reagieren.
325
326 \paragraph{Artefakte}
327 \begin{itemize}
328 \item Software Development Plan
329 \item Iteration Plan % FIXME
330 \end{itemize}
331
332
333 \subsection{Entwicklungsumgebung}
334 (Environment)
335
336 Bereitstellung von Hardware, Software und Know-How.
337
338 \paragraph{Artefakte}
339 \begin{itemize}
340 \item Development Case
341 \item Tools
342 \item User Interface Guidlines % FIXME
343 \end{itemize}
344
345
346
347
348
349
350
351
352
353
354
355
146 356
147 \appendix 357 \appendix
148 \chapter{Glossar} 358 \chapter{Glossar}
149 \chapter{Quellen und Links} 359 \chapter{Quellen und Links}
150 \begin{itemize} 360 \begin{itemize}