docs/Development-Case

view 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
line source
1 % V. 1.0
2 \documentclass[a4paper,12pt,titlepage,DIV12,parskip]{scrreprt}
3 \setlength{\parskip}{3mm} %abstand abs\"{a}tze und listen
4 \usepackage{setspace}
5 \usepackage[utf8]{inputenc}
6 \usepackage{ngerman}
7 \usepackage[pdftex]{graphicx}
8 \usepackage[table]{xcolor}
9 %\usepackage{SIunits}
10 \usepackage{ragged2e,array}
11 \usepackage{wrapfig}
12 \usepackage[footnotesize]{caption2}
13 \usepackage{supertabular}
14 \usepackage{chngcntr}
15 \usepackage{longtable}
16 %\usepackage{lastpage}
17 \usepackage{caption2}
18 \usepackage[right]{eurosym}
19 %\usepackage{float}
20 \usepackage[ngerman]{varioref}
21 %\usepackage{enumitem}
22 \usepackage[colorlinks,linkcolor=black,urlcolor=blue,bookmarks,bookmarksopen,bookmarksnumbered]{hyperref}
24 %PDF Infos
25 \pdfinfo{
26 /Title (development-case.tex)
27 /Subject (Development Case)
28 %/Creator (TeX / pdfTeX)
29 %/Producer (Christoph Galler)
30 /Author (markus schnalke)
31 /CreationDate (D:20080113090000)
32 /ModDate (D:20080113090000)
33 }
35 %neues Kommando fuer Breitenangabe in der Tabelle mit vorgegebener Breite:
36 \newcommand{\preserveBackslash}[1]{\let\temp=\\#1\let\\=\temp}
37 \newcolumntype{R}[1]{>{\preserveBackslash\RaggedLeft}p{#1}}
38 % Font Familie
39 \renewcommand{\familydefault}{\sfdefault}
40 %\nofiles
41 % Fuer tabellenkopf
42 \newcommand{\hoehe}{\parbox[1pt][2em][c]{0cm}{}}
44 \definecolor{gray09}{gray}{0.9}
45 \definecolor{gray07}{gray}{0.7}
47 %Counternummerierung \"{a}ndern -> 1.1 2.1 3.1 etc.
48 \counterwithin{section}{chapter}
50 % Name f\"{u}r autoref bei figure Umgebungen: Abbildung x.z
51 \renewcommand{\figureautorefname}{Abbildung}
52 \renewcommand{\chapterautorefname}{Kapitel}
53 \renewcommand{\sectionautorefname}{Unterkapitel}
54 \renewcommand{\tableautorefname}{Tabelle}
57 % Textkoerperhoehe
58 \setlength{\headsep}{0.6cm}
59 \addtolength{\textheight}{0.9cm}
60 \setlength{\footskip}{0.9cm}
62 % Kopf- und Fu{\ss}zeile
63 \setlength{\headheight}{2cm}
64 \usepackage[automark]{scrpage2}
65 \automark[section]{section}
66 \setheadwidth{15.8cm}
67 \ihead{\headmark}
68 \ihead{Online Seminarbuchungssystem}
69 \chead{{\color{blue}\color{black}\rule[-10pt]{18.4cm}{0.1pt}\color{black}}}
70 \ohead{\headmark}
71 \setfootwidth[-74pt]{18.3cm}
72 \setfootsepline[foot]{.1pt}
73 \ifoot{} %~~~~~~~~~~~~~~~~~~~\footnotesize Christoph Galler}
74 \cfoot{}
75 \ofoot{\footnotesize Seite \thepage} % ~von \pageref{LastPage}}
76 \renewcommand*{\chapterpagestyle}{scrheadings}
77 \renewcommand*{\indexpagestyle}{scrheadings}
78 \pagestyle{scrheadings}
80 % Kapitel nicht zu tief beginnen
81 \renewcommand*\chapterheadstartvskip{\vspace*{0cm}}
84 \begin{document}
86 %
87 % Titelei
88 %
89 \begin{titlepage}
90 \vspace*{-0cm}
91 {\hspace*{11cm}\includegraphics*[scale=0.5]{pictures/png/logo_hsu_klein}}
92 \begin{center}
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
95 \vspace*{0.6cm}
96 \Large \textbf{Online-Seminarbuchungssystem} \par
97 \Huge \textbf{Development Case} \par
98 \vspace*{0.8cm}
99 \Large \textbf{Verfasser: Markus Schnalke} \par
100 {\large{} \par
101 \vspace*{0.7cm}
102 {\textsc{Ulm, \today}}} \par
103 \vspace*{5cm}
104 {\normalsize\textsc{Betreut durch: \\
105 Prof. Dr. Klaus Baer \\
106 Hochschule Ulm \\
107 Prittwitzstra{\ss}e 10\\
108 89075 Ulm\\}}
109 \end{center}
110 \vfill
111 \end{titlepage}
113 % \addsec{Bitte beachten}
114 Version vom \today: Das Dokument befindet sich noch im Aufbau, \"{A}nderungen sind dadurch jederzeit M\"{o}glich.
115 \addsec{Version dieses Dokuments}
116 \begin{tabular}{|p{1.5cm}|p{3.cm}|p{1.6cm}|p{2cm}|p{1.4cm}|p{4cm}|}
117 \hline
118 \multicolumn{5}{|l}{\parbox[0pt][3.4em][l]{12cm}{\vspace{0.2cm}\large Dokument: \textbf{Name des Dokumentes} \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
120 \hoehe{\textbf{Version}} & \textbf{Person} & \textbf{Aktion} & \textbf{Datum} & \textbf{Status} & \textbf{Kommentar} \\
121 \hline\hline
122 0.1 & Markus Schnalke & E & 2007-11-27 & O & Erste Version \\
123 \hline
124 0.2 & Markus Schnalke & AE & 2008-01-13 & O & Neue Struktur des Dokuments \\
125 \hline
126 0.3 & Markus Schnalke & AE & 2008-01-14 & O & Glossar erstellt \\
127 \hline
128 \end{tabular}
129 {\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}
131 \clearpage
133 % Inhaltsverzeichnis
134 \setcounter{tocdepth}{3}
135 %\renewcommand\contentsname{"Uberblick}
136 \tableofcontents
138 \clearpage
139 %\setcounter{tocdepth}{3}
140 %\renewcommand\contentsname{Detailliertes Inhaltsverzeichnis}
141 %\tableofcontents
142 %\clearpage
143 %
144 % Inhalt
145 % \input{development-case-content}
149 \chapter{Einleitung}
151 \section{Zweck}
153 Dieses Dokument beschreibt den Entwicklungsprozess nach dem wir in unserem Projekt vorgehen.
156 \section{Definitionen und Abkürzungen}
158 Die verwendeten Begriffe sind im Projekt-Glossar erklärt. Bei Bedarf kann dort nachgeschlagen werden.
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.
164 \textbf{Entwicklungsprozess}
165 Definiertes Vorgehensmodell zur Erstellung einer Software. Ein Entwicklungsprozess soll die Softwareentwicklung übersichtlicher gestalten und die Komplexität beherrscbar machen.
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.
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).
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.
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.
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.
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.
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.
194 \section{Verweise}
201 %%%%%%%%%%%%%%
202 \chapter{Entwicklungsprozess}
203 \section{Überblick}
205 Wir werden unser Projekt nach dem Rational Unified Process (kurz RUP) entwickeln.
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/).
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.
213 \section{Anpassungen}
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.
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.
222 Die einzelnen Phasen (zweite Dimension) in den Zyklen versuchen wir, so gut es geht, zu berücksichtigen.
229 \chapter{Projektplanung}
231 siehe \emph{Projektplan} diesbezüglich
237 \chapter{Kern-Workflows}
240 \subsection{Geschäftsprozessmodellierung}
241 (Business Modeling)
243 Dokumentation der relevanten Geschäftsprozesse in Use Cases, mit dem Ziel eines gemeinsamen Verständnisses zwischen Entwicklern und Anwendern.
245 \paragraph{Artefakte}
246 \begin{itemize}
247 \item Glossary
248 \item Use-Case
249 \item Use-Case Model
250 \item Vision
251 \end{itemize}
255 \subsection{Anforderungen}
256 (Requirements)
258 Ermitteln, was das System leisten soll. Die funktionalen Anforderungen sollen erfasst werden.
260 \paragraph{Artefakte}
261 \begin{itemize}
262 \item Use-Case
263 \item Use-Case Model
264 \item Vision
265 \end{itemize}
269 \subsection{Analyse \& Design}
270 (Analysis \& Design)
272 Aufbau und Technologie des Systems festlegen.
274 \paragraph{Artefakte}
275 \begin{itemize}
276 \item Software Architecture Document
277 \end{itemize}
281 \subsection{Implementierung}
282 (Implementation)
284 Systemteile entwickeln und zusammenfügen.
286 \paragraph{Artefakte}
289 \subsection{Test}
290 (Testing)
292 Funktionsweise des Systems gegen die Anforderungen prüfen.
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.
298 \subsection{Verteilung}
299 (Deployment)
301 Auslieferung des Systems an den Kunden und Inbetriebnahme. Schulung der Benutzer.
303 \paragraph{Artefakte}
308 \section{Unterstützungs-Workflows}
310 \subsection{Konfigurations- \& Änderungsmanagement}
311 (Configuration \& Changemanagement)
313 Verwaltung der zum Projekt gehörenden Daten. Versionierung und Konsistenz.
315 \paragraph{Artefakte}
316 \begin{itemize}
317 \item Project Repository
318 \end{itemize}
321 \subsection{Projektmanagement}
322 (Projectmanagement)
324 Zwischen konkurrierenden Zielen vermitteln. Auf Risiken reagieren.
326 \paragraph{Artefakte}
327 \begin{itemize}
328 \item Software Development Plan
329 \item Iteration Plan % FIXME
330 \end{itemize}
333 \subsection{Entwicklungsumgebung}
334 (Environment)
336 Bereitstellung von Hardware, Software und Know-How.
338 \paragraph{Artefakte}
339 \begin{itemize}
340 \item Development Case
341 \item Tools
342 \item User Interface Guidlines % FIXME
343 \end{itemize}
357 \appendix
358 \chapter{Glossar}
359 \chapter{Quellen und Links}
360 \begin{itemize}
361 \item Dokumentation zum \emph{Rational Unified Process}
362 \item Skript von Herrn Baer zur Vorlesung \emph{Softwaretechnik 1} an der Hochschule Ulm
363 \item http://wikipedia.org
364 \end{itemize}
368 \end{document}