view main.tex @ 3:0923f2ae50a5

added lots of text modified Makefile to call xpdf with -fullscreen
author meillo@marmaro.de
date Fri, 01 Jun 2007 17:47:47 +0200
parents fe9c99202977
children ba98bb97db06
line wrap: on
line source

% @file
% @brief   Referat DesignPattern `Observer'
% @author  markus schnalke <meillo@marmaro.de>
% @since   2007-05-30


\documentclass{beamer}


  \usepackage[T1]{fontenc}
  \usepackage[latin1]{inputenc}
  \usepackage{ngerman}
  \usepackage{graphicx}
  \usepackage[automark]{scrpage2}
  \input{Style01}



\begin{document}


\title{Design Pattern ``Observer''}
\date{\today}

\author{Markus Schnalke}

%\titlegraphic{\includegraphics[width=3cm]{Pics/Maka-Logo.png}}

\frame{
  \titlepage
}





\section[Outline]{}
\frame{
  Dauer der Präsentation: etwa 10 Minuten
  \vspace{2ex}

  \tableofcontents
}




\section{Vorgehensweise}

\frame{ \frametitle{Von der anderen Seite}

  \begin{block}{Gründe}
    Design Pattern sind so etwas wie ``Best Practices'' (also bewährte
    Vorgehensweisen), oft \textbf{nach Vorbildern in der Wirklichkeit}
  \end{block}
  \pause
  \begin{block}{Meine Vorgehensweise}
    Ich will nun anhand eines Beispiels aus dem täglichen Leben zeigen, dass
    das Design Pattern ``Observer'' ein absolut natürliches Vorgehen ist, das
    bei ähnlichen Situationen in Programmen deshalb ebenso verwendet werden
    sollte.
  \end{block}

  % todo: Mehr und ausführlicher; Verweis auf nach dem Vortrag

}


\section{Erarbeitung des Observers}

\frame{ \frametitle{Ein Beispiel}

  \begin{block}{Die Situation}
    \begin{itemize}
      \item Personen die verkaufen möchten
      \item Personen die kaufen möchten
      \item Sie wollen/sollen sich nicht kennen
      \item Möglichst effektives Vorgehen
    \end{itemize}
  \end{block}
  \pause
  \begin{block}{Vorschläge?}
    \begin{itemize}
      \item 
      \item 
    \end{itemize}
  \end{block}

}


\frame{ \frametitle{Ansatz}

  \begin{block}{Mögliche Vorgehen}
  \begin{itemize}
    \item Personen direkt ansprechen
    \item Laut in die Menge rufen
    \item Den Freunden erzählen, die es dann weitererzählen
  \end{itemize}
  \end{block}

  \pause

  \begin{block}{Probleme}
    \begin{itemize}
      \item Man weiß nicht wer Interesse hat
      \item nicht mal wieviele
      \item Manche Interessenten sind vielleicht nur zu bestimmten Zeiten da
      \item ... oder sie sind taub
    \end{itemize}
  \end{block}

}


\frame{ \frametitle{Eine (gute) Lösung: Pinnwand}

  \begin{block}{Funktionsweise}
  \begin{itemize}
    \item Man kann Zettel anpinnen
    \item Hingehen und nach neuen Zetteln schauen
    \item Zettel lesen
    \item Zettel abnehmen
    \item Jeder der ein paar Fähigkeiten hat kann es
  \end{itemize}
  \end{block}

  \pause

  \begin{block}{Probleme}
    \begin{itemize}
      \item Man muss hingehen, nur um festzustellen, dass nichts Neues dabei ist
      \item Man kann wichtige Zettel verpassen
      \item Zettel sollten nicht weggenommen werden können
    \end{itemize}
  \end{block}

}




\frame{ \frametitle{Verbesserung: Pinnup-Sekretärin}

  \begin{block}{Lösung}
  \begin{itemize}
    \item Durch Studiengebühren wird eine Sekretärin für die Pinnwand angestellt
    \item Pinnwand und Sekretärin sind fortan eine Einheit
    \item Man kann bei ihr einen Zettel in Auftrag geben (auch telefonisch)
    \item (Sie schreibt mit lesbarer Schrift)
    \item Sie verhindert, dass Zettel abgenommen werden
  \end{itemize}
  \end{block}

  \pause

  \begin{block}{Bestehendes Problem}
    \begin{itemize}
      \item Man läuft immer noch oft unnötig zur Pinnwand
    \end{itemize}
  \end{block}

}


\frame{ \frametitle{2. Verbesserung: Pinnwand-Sekretärin mit Benachrichtigung}

  \begin{block}{Lösung}
  \begin{itemize}
    \item Durch Studiengebühren wird eine längere Arbeitszeit der Sekretärin finanziert
    \item Man kann sich bei der Sekretärin nun als ``Interessierter'' registrieren
    \item Die Sekretärin trägt die Telefonnummer in eine Liste ein
    \item Fortan ruft sie alle Personen der Liste an, wenn sie einen neuen Zettel anpinnt
  \end{itemize}
  \end{block}

}


% Zusammenfassung des Beispiels: Was haben wir, ist alles abgedeckt
% Frage: Sind die Zuhörer zufrieden? Ist die Lösung gut?


\section{Nun zum Pattern}

\frame { \frametitle{UML-Diagramm des Observers}
    \includegraphics[width=20em]{pics/observer.png}
}


% Daten aus der Beschreibung des Observers von GoF
% in welche Gruppen wird er eingeordnet


% Einsatzgebiete (MVC) und RL (Mailingslisten, Ebay-Suchabo)
% nicht aber (Blog + RSS)


% Erweiterungen, verbleibende Probleme, Kompromisse beim Design


% Erklärung des Vorgehens
% Frage: war es erfolgreich?



\section{Zusammenfassung}
\frame{ \frametitle{Zusammenfassend}
  \begin{block}{Zusammenfassung}
  \begin{itemize}
    \item 
    \item 
    \item 
  \end{itemize}
  \end{block}

  \pause

  \begin{block}{Fazit}
    \begin{itemize}
      \item 
      \item 
      \item 
    \end{itemize}
  \end{block}
}


\section{Fragen}
\frame{ \frametitle{Fragen?}
  \vspace{5ex}
  \centerline{\huge ?}
}


\frame{ \frametitle{Abschließend}
  \begin{block}{Verwendete Software}
  \begin{itemize}
    \item Debian GNU/Linux
    \item \LaTeX-Beamer und \texttt{pdflatex}
    \item Vim
    \item qiv und ImageMagick
  \end{itemize}
  \end{block}

  \begin{block}{}
    \vspace{3ex}
    \centerline{\textbf{Danke für eure Aufmerksamkeit}}
  \end{block}
}


% Code (Beispiel-Implementierung)



\end{document}






%\subsubsection{Fehlteilmanagement}
%\frame{ \frametitle{Fehlteilmanagement}
%  %\includegraphics[width=10cm]{Pics/cc.png}
%}

% \vspace{2ex}