docs/Development-Case

annotate 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
rev   line source
meillo@0 1 % V. 1.0
meillo@0 2 \documentclass[a4paper,12pt,titlepage,DIV12,parskip]{scrreprt}
meillo@0 3 \setlength{\parskip}{3mm} %abstand abs\"{a}tze und listen
meillo@0 4 \usepackage{setspace}
meillo@0 5 \usepackage[utf8]{inputenc}
meillo@0 6 \usepackage{ngerman}
meillo@0 7 \usepackage[pdftex]{graphicx}
meillo@0 8 \usepackage[table]{xcolor}
meillo@0 9 %\usepackage{SIunits}
meillo@0 10 \usepackage{ragged2e,array}
meillo@0 11 \usepackage{wrapfig}
meillo@0 12 \usepackage[footnotesize]{caption2}
meillo@0 13 \usepackage{supertabular}
meillo@0 14 \usepackage{chngcntr}
meillo@0 15 \usepackage{longtable}
meillo@0 16 %\usepackage{lastpage}
meillo@0 17 \usepackage{caption2}
meillo@0 18 \usepackage[right]{eurosym}
meillo@0 19 %\usepackage{float}
meillo@0 20 \usepackage[ngerman]{varioref}
meillo@0 21 %\usepackage{enumitem}
meillo@0 22 \usepackage[colorlinks,linkcolor=black,urlcolor=blue,bookmarks,bookmarksopen,bookmarksnumbered]{hyperref}
meillo@0 23
meillo@0 24 %PDF Infos
meillo@0 25 \pdfinfo{
meillo@0 26 /Title (development-case.tex)
meillo@0 27 /Subject (Development Case)
meillo@0 28 %/Creator (TeX / pdfTeX)
meillo@0 29 %/Producer (Christoph Galler)
meillo@0 30 /Author (markus schnalke)
meillo@0 31 /CreationDate (D:20080113090000)
meillo@0 32 /ModDate (D:20080113090000)
meillo@0 33 }
meillo@0 34
meillo@0 35 %neues Kommando fuer Breitenangabe in der Tabelle mit vorgegebener Breite:
meillo@0 36 \newcommand{\preserveBackslash}[1]{\let\temp=\\#1\let\\=\temp}
meillo@0 37 \newcolumntype{R}[1]{>{\preserveBackslash\RaggedLeft}p{#1}}
meillo@0 38 % Font Familie
meillo@0 39 \renewcommand{\familydefault}{\sfdefault}
meillo@0 40 %\nofiles
meillo@0 41 % Fuer tabellenkopf
meillo@0 42 \newcommand{\hoehe}{\parbox[1pt][2em][c]{0cm}{}}
meillo@0 43
meillo@0 44 \definecolor{gray09}{gray}{0.9}
meillo@0 45 \definecolor{gray07}{gray}{0.7}
meillo@0 46
meillo@0 47 %Counternummerierung \"{a}ndern -> 1.1 2.1 3.1 etc.
meillo@0 48 \counterwithin{section}{chapter}
meillo@0 49
meillo@0 50 % Name f\"{u}r autoref bei figure Umgebungen: Abbildung x.z
meillo@0 51 \renewcommand{\figureautorefname}{Abbildung}
meillo@0 52 \renewcommand{\chapterautorefname}{Kapitel}
meillo@0 53 \renewcommand{\sectionautorefname}{Unterkapitel}
meillo@0 54 \renewcommand{\tableautorefname}{Tabelle}
meillo@0 55
meillo@0 56
meillo@0 57 % Textkoerperhoehe
meillo@0 58 \setlength{\headsep}{0.6cm}
meillo@0 59 \addtolength{\textheight}{0.9cm}
meillo@0 60 \setlength{\footskip}{0.9cm}
meillo@0 61
meillo@0 62 % Kopf- und Fu{\ss}zeile
meillo@0 63 \setlength{\headheight}{2cm}
meillo@0 64 \usepackage[automark]{scrpage2}
meillo@0 65 \automark[section]{section}
meillo@0 66 \setheadwidth{15.8cm}
meillo@0 67 \ihead{\headmark}
meillo@0 68 \ihead{Online Seminarbuchungssystem}
meillo@0 69 \chead{{\color{blue}\color{black}\rule[-10pt]{18.4cm}{0.1pt}\color{black}}}
meillo@0 70 \ohead{\headmark}
meillo@0 71 \setfootwidth[-74pt]{18.3cm}
meillo@0 72 \setfootsepline[foot]{.1pt}
meillo@0 73 \ifoot{} %~~~~~~~~~~~~~~~~~~~\footnotesize Christoph Galler}
meillo@0 74 \cfoot{}
meillo@0 75 \ofoot{\footnotesize Seite \thepage} % ~von \pageref{LastPage}}
meillo@0 76 \renewcommand*{\chapterpagestyle}{scrheadings}
meillo@0 77 \renewcommand*{\indexpagestyle}{scrheadings}
meillo@0 78 \pagestyle{scrheadings}
meillo@0 79
meillo@0 80 % Kapitel nicht zu tief beginnen
meillo@0 81 \renewcommand*\chapterheadstartvskip{\vspace*{0cm}}
meillo@0 82
meillo@0 83
meillo@0 84 \begin{document}
meillo@0 85
meillo@0 86 %
meillo@0 87 % Titelei
meillo@0 88 %
meillo@0 89 \begin{titlepage}
meillo@0 90 \vspace*{-0cm}
meillo@0 91 {\hspace*{11cm}\includegraphics*[scale=0.5]{pictures/png/logo_hsu_klein}}
meillo@0 92 \begin{center}
meillo@0 93 \vspace*{1.9cm}
meillo@0 94 {\normalsize\textsc{Gruppe 2: Rui Gu, Wei Zhu, Veysel Imamoglu, Dimitar Dimitrov, \\Karl Oppermann, Nathalie Hrycej, Markus Schnalke, Christoph Galler}} \par
meillo@0 95 \vspace*{0.6cm}
meillo@0 96 \Large \textbf{Online-Seminarbuchungssystem} \par
meillo@0 97 \Huge \textbf{Development Case} \par
meillo@0 98 \vspace*{0.8cm}
meillo@0 99 \Large \textbf{Verfasser: Markus Schnalke} \par
meillo@0 100 {\large{} \par
meillo@0 101 \vspace*{0.7cm}
meillo@0 102 {\textsc{Ulm, \today}}} \par
meillo@0 103 \vspace*{5cm}
meillo@0 104 {\normalsize\textsc{Betreut durch: \\
meillo@0 105 Prof. Dr. Klaus Baer \\
meillo@0 106 Hochschule Ulm \\
meillo@0 107 Prittwitzstra{\ss}e 10\\
meillo@0 108 89075 Ulm\\}}
meillo@0 109 \end{center}
meillo@0 110 \vfill
meillo@0 111 \end{titlepage}
meillo@0 112
meillo@0 113 % \addsec{Bitte beachten}
meillo@0 114 Version vom \today: Das Dokument befindet sich noch im Aufbau, \"{A}nderungen sind dadurch jederzeit M\"{o}glich.
meillo@0 115 \addsec{Version dieses Dokuments}
meillo@0 116 \begin{tabular}{|p{1.5cm}|p{3.cm}|p{1.6cm}|p{2cm}|p{1.4cm}|p{4cm}|}
meillo@0 117 \hline
meillo@0 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}}} \\
meillo@0 119 \hline\hline
meillo@0 120 \hoehe{\textbf{Version}} & \textbf{Person} & \textbf{Aktion} & \textbf{Datum} & \textbf{Status} & \textbf{Kommentar} \\
meillo@0 121 \hline\hline
meillo@3 122 0.1 & Markus Schnalke & E & 2007-11-27 & O & Erste Version \\
meillo@0 123 \hline
meillo@3 124 0.2 & Markus Schnalke & AE & 2008-01-13 & O & Neue Struktur des Dokuments \\
meillo@3 125 \hline
meillo@3 126 0.3 & Markus Schnalke & AE & 2008-01-14 & O & Glossar erstellt \\
meillo@0 127 \hline
meillo@0 128 \end{tabular}
meillo@0 129 {\footnotesize\vspace*{-0.1cm}Aktion: E – Erstellung; AE – \"{A}nderung; QS – Review; AB – Abnahme} \par
meillo@0 130 {\footnotesize\vspace*{-0.4cm} Status: O – Offen; D – Diskussion; A – Akzeptiert}
meillo@0 131 \clearpage
meillo@0 132
meillo@0 133 % Inhaltsverzeichnis
meillo@0 134 \setcounter{tocdepth}{3}
meillo@0 135 %\renewcommand\contentsname{"Uberblick}
meillo@0 136 \tableofcontents
meillo@0 137
meillo@0 138 \clearpage
meillo@0 139 %\setcounter{tocdepth}{3}
meillo@0 140 %\renewcommand\contentsname{Detailliertes Inhaltsverzeichnis}
meillo@0 141 %\tableofcontents
meillo@0 142 %\clearpage
meillo@0 143 %
meillo@0 144 % Inhalt
meillo@4 145 % \input{development-case-content}
meillo@4 146
meillo@4 147
meillo@4 148
meillo@4 149 \chapter{Einleitung}
meillo@4 150
meillo@4 151 \section{Zweck}
meillo@4 152
meillo@4 153 Dieses Dokument beschreibt den Entwicklungsprozess nach dem wir in unserem Projekt vorgehen.
meillo@4 154
meillo@4 155
meillo@4 156 \section{Definitionen und Abkürzungen}
meillo@4 157
meillo@4 158 Die verwendeten Begriffe sind im Projekt-Glossar erklärt. Bei Bedarf kann dort nachgeschlagen werden.
meillo@4 159
meillo@4 160 \textbf{Workflow}
meillo@4 161 Aufeinander folgende Aktivitäten die ein messbares Ergebnis erzeugen.
meillo@4 162 %The sequence of activities performed in a business that produces a result of observable value to an individual actor of the business.
meillo@4 163
meillo@4 164 \textbf{Entwicklungsprozess}
meillo@4 165 Definiertes Vorgehensmodell zur Erstellung einer Software. Ein Entwicklungsprozess soll die Softwareentwicklung übersichtlicher gestalten und die Komplexität beherrscbar machen.
meillo@4 166
meillo@4 167 \textbf{Zyklus}
meillo@4 168 Ein kompletter Durchlauf der vier Phasen: Konzeption (Inception), Entwurf (Elaboration), Konstruktion (Construction) und Übergabe (Transition).
meillo@4 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.
meillo@4 170
meillo@4 171 \textbf{Iteration}
meillo@4 172 Eine geplante Abfolge von Aktivitäten mit einem messbaren Ergebnis, die in einem Release enden (intern oder extern).
meillo@4 173 %A distinct sequence of activities with a base-lined plan and valuation criteria resulting in a release (internal or external).
meillo@4 174
meillo@4 175 \textbf{Phase}
meillo@4 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.
meillo@4 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.
meillo@4 178
meillo@4 179 \textbf{RUP}
meillo@4 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.
meillo@4 181
meillo@4 182
meillo@4 183 \textbf{Iterativer Entwicklungsprozess}
meillo@4 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.
meillo@4 185
meillo@4 186 \textbf{Manntag}
meillo@4 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.
meillo@4 188
meillo@4 189 \textbf{Release}
meillo@4 190 %Die fertige und veröffentlichte Version einer Software wird als Release bezeichnet.
meillo@4 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.
meillo@4 192
meillo@4 193
meillo@4 194 \section{Verweise}
meillo@4 195
meillo@4 196
meillo@4 197
meillo@4 198
meillo@4 199
meillo@4 200
meillo@4 201 %%%%%%%%%%%%%%
meillo@4 202 \chapter{Entwicklungsprozess}
meillo@4 203 \section{Überblick}
meillo@4 204
meillo@4 205 Wir werden unser Projekt nach dem Rational Unified Process (kurz RUP) entwickeln.
meillo@4 206
meillo@4 207 Der RUP ist ein dynamischer und iterativer Entwicklungsprozess, der das Projekt in zwei Dimensionen betrachtet.
meillo@4 208 Er ist ausführlich spezifiziert und umfangreich dokumentiert. (http://www-306.ibm.com/software/awdtools/rup/).
meillo@4 209
meillo@4 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.
meillo@4 211
meillo@4 212
meillo@4 213 \section{Anpassungen}
meillo@4 214
meillo@4 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.
meillo@4 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.
meillo@4 217
meillo@4 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.
meillo@4 219 Jeder Zyklus wird circa vier Wochen umfassen (18 Manntage). An dessen Ende ein Release steht.
meillo@4 220 Iterationen innerhalb der Zyklen werden wir, aufgrund der kurzen Zyklen, außen vor lassen.
meillo@4 221
meillo@4 222 Die einzelnen Phasen (zweite Dimension) in den Zyklen versuchen wir, so gut es geht, zu berücksichtigen.
meillo@4 223
meillo@4 224
meillo@4 225
meillo@4 226
meillo@4 227
meillo@4 228
meillo@4 229 \chapter{Projektplanung}
meillo@4 230
meillo@4 231 siehe \emph{Projektplan} diesbezüglich
meillo@4 232
meillo@4 233
meillo@4 234
meillo@4 235
meillo@4 236
meillo@4 237 \chapter{Kern-Workflows}
meillo@4 238
meillo@4 239
meillo@4 240 \subsection{Geschäftsprozessmodellierung}
meillo@4 241 (Business Modeling)
meillo@4 242
meillo@4 243 Dokumentation der relevanten Geschäftsprozesse in Use Cases, mit dem Ziel eines gemeinsamen Verständnisses zwischen Entwicklern und Anwendern.
meillo@4 244
meillo@4 245 \paragraph{Artefakte}
meillo@4 246 \begin{itemize}
meillo@4 247 \item Glossary
meillo@4 248 \item Use-Case
meillo@4 249 \item Use-Case Model
meillo@4 250 \item Vision
meillo@4 251 \end{itemize}
meillo@4 252
meillo@4 253
meillo@4 254
meillo@4 255 \subsection{Anforderungen}
meillo@4 256 (Requirements)
meillo@4 257
meillo@4 258 Ermitteln, was das System leisten soll. Die funktionalen Anforderungen sollen erfasst werden.
meillo@4 259
meillo@4 260 \paragraph{Artefakte}
meillo@4 261 \begin{itemize}
meillo@4 262 \item Use-Case
meillo@4 263 \item Use-Case Model
meillo@4 264 \item Vision
meillo@4 265 \end{itemize}
meillo@4 266
meillo@4 267
meillo@4 268
meillo@4 269 \subsection{Analyse \& Design}
meillo@4 270 (Analysis \& Design)
meillo@4 271
meillo@4 272 Aufbau und Technologie des Systems festlegen.
meillo@4 273
meillo@4 274 \paragraph{Artefakte}
meillo@4 275 \begin{itemize}
meillo@4 276 \item Software Architecture Document
meillo@4 277 \end{itemize}
meillo@4 278
meillo@4 279
meillo@4 280
meillo@4 281 \subsection{Implementierung}
meillo@4 282 (Implementation)
meillo@4 283
meillo@4 284 Systemteile entwickeln und zusammenfügen.
meillo@4 285
meillo@4 286 \paragraph{Artefakte}
meillo@4 287
meillo@4 288
meillo@4 289 \subsection{Test}
meillo@4 290 (Testing)
meillo@4 291
meillo@4 292 Funktionsweise des Systems gegen die Anforderungen prüfen.
meillo@4 293
meillo@4 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.
meillo@4 295
meillo@4 296
meillo@4 297
meillo@4 298 \subsection{Verteilung}
meillo@4 299 (Deployment)
meillo@4 300
meillo@4 301 Auslieferung des Systems an den Kunden und Inbetriebnahme. Schulung der Benutzer.
meillo@4 302
meillo@4 303 \paragraph{Artefakte}
meillo@4 304
meillo@4 305
meillo@4 306
meillo@4 307
meillo@4 308 \section{Unterstützungs-Workflows}
meillo@4 309
meillo@4 310 \subsection{Konfigurations- \& Änderungsmanagement}
meillo@4 311 (Configuration \& Changemanagement)
meillo@4 312
meillo@4 313 Verwaltung der zum Projekt gehörenden Daten. Versionierung und Konsistenz.
meillo@4 314
meillo@4 315 \paragraph{Artefakte}
meillo@4 316 \begin{itemize}
meillo@4 317 \item Project Repository
meillo@4 318 \end{itemize}
meillo@4 319
meillo@4 320
meillo@4 321 \subsection{Projektmanagement}
meillo@4 322 (Projectmanagement)
meillo@4 323
meillo@4 324 Zwischen konkurrierenden Zielen vermitteln. Auf Risiken reagieren.
meillo@4 325
meillo@4 326 \paragraph{Artefakte}
meillo@4 327 \begin{itemize}
meillo@4 328 \item Software Development Plan
meillo@4 329 \item Iteration Plan % FIXME
meillo@4 330 \end{itemize}
meillo@4 331
meillo@4 332
meillo@4 333 \subsection{Entwicklungsumgebung}
meillo@4 334 (Environment)
meillo@4 335
meillo@4 336 Bereitstellung von Hardware, Software und Know-How.
meillo@4 337
meillo@4 338 \paragraph{Artefakte}
meillo@4 339 \begin{itemize}
meillo@4 340 \item Development Case
meillo@4 341 \item Tools
meillo@4 342 \item User Interface Guidlines % FIXME
meillo@4 343 \end{itemize}
meillo@4 344
meillo@4 345
meillo@4 346
meillo@4 347
meillo@4 348
meillo@4 349
meillo@4 350
meillo@4 351
meillo@4 352
meillo@4 353
meillo@4 354
meillo@4 355
meillo@0 356
meillo@0 357 \appendix
meillo@0 358 \chapter{Glossar}
meillo@0 359 \chapter{Quellen und Links}
meillo@2 360 \begin{itemize}
meillo@2 361 \item Dokumentation zum \emph{Rational Unified Process}
meillo@2 362 \item Skript von Herrn Baer zur Vorlesung \emph{Softwaretechnik 1} an der Hochschule Ulm
meillo@2 363 \item http://wikipedia.org
meillo@2 364 \end{itemize}
meillo@2 365
meillo@0 366
meillo@0 367
meillo@0 368 \end{document}