<br />
<b>Warning</b>:  preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in <b>/www/htdocs/w0102873/mediawiki/includes/MagicWord.php</b> on line <b>739</b><br />
<br />
<b>Warning</b>:  preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in <b>/www/htdocs/w0102873/mediawiki/includes/MagicWord.php</b> on line <b>739</b><br />
<br />
<b>Warning</b>:  preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in <b>/www/htdocs/w0102873/mediawiki/includes/MagicWord.php</b> on line <b>739</b><br />
<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://p-servus.net/mediawiki/skins/common/feed.css?301"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
		<id>https://p-servus.net/mediawiki/index.php?feed=atom&amp;target=Bepf&amp;title=Spezial%3ABeitr%C3%A4ge</id>
		<title>It2010-g1 - Benutzerbeiträge [de]</title>
		<link rel="self" type="application/atom+xml" href="https://p-servus.net/mediawiki/index.php?feed=atom&amp;target=Bepf&amp;title=Spezial%3ABeitr%C3%A4ge"/>
		<link rel="alternate" type="text/html" href="https://p-servus.net/mediawiki/index.php?title=Spezial:Beitr%C3%A4ge/Bepf"/>
		<updated>2026-08-09T13:57:20Z</updated>
		<subtitle>Aus It2010-g1</subtitle>
		<generator>MediaWiki 1.17.0</generator>

	<entry>
		<id>https://p-servus.net/mediawiki/index.php?title=Roboter_spielt_M%C3%BChle:_Architektur-Datenstrukturen</id>
		<title>Roboter spielt Mühle: Architektur-Datenstrukturen</title>
		<link rel="alternate" type="text/html" href="https://p-servus.net/mediawiki/index.php?title=Roboter_spielt_M%C3%BChle:_Architektur-Datenstrukturen"/>
				<updated>2012-10-23T13:43:25Z</updated>
		
		<summary type="html">&lt;p&gt;Bepf: Die Seite wurde neu angelegt: „= Datenstrukturen =  Um das Spielgeschehen möglichst präzise und einfach abzubilden wurden verschiedene Datenstrukturen geschaffen.“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Datenstrukturen =&lt;br /&gt;
&lt;br /&gt;
Um das Spielgeschehen möglichst präzise und einfach abzubilden wurden verschiedene Datenstrukturen geschaffen.&lt;/div&gt;</summary>
		<author><name>Bepf</name></author>	</entry>

	<entry>
		<id>https://p-servus.net/mediawiki/index.php?title=Projekt:_Roboter_spielt_M%C3%BChle</id>
		<title>Projekt: Roboter spielt Mühle</title>
		<link rel="alternate" type="text/html" href="https://p-servus.net/mediawiki/index.php?title=Projekt:_Roboter_spielt_M%C3%BChle"/>
				<updated>2012-10-23T13:41:33Z</updated>
		
		<summary type="html">&lt;p&gt;Bepf: /* Aufgabenstellung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Roboter_spielt_Mühle-Logo.png|thumb|Das ist das Logo von unserem Projekt &amp;quot;Roboter spielt Mühle&amp;quot;]]&lt;br /&gt;
==Einleitung==&lt;br /&gt;
Für die erste und zweite Studienarbeit im vierten bzw. fünften Semester des Studiengangs Informatik&lt;br /&gt;
(IT2010) wurde ein Projekt mit dem Titel „Konzeption und Entwicklung eines&lt;br /&gt;
Programms zum Mühlespiel mit Computer und Roboter“ ausgewählt. Es sollte&lt;br /&gt;
ein Programm für einen Roboter entwickelt werden, der mit einem menschlichen&lt;br /&gt;
Gegenspieler und einem realen Mühlespielfeld ein Spiel lösen kann.&lt;br /&gt;
&lt;br /&gt;
==Aufgabenstellung==&lt;br /&gt;
&lt;br /&gt;
[[Roboter spielt Mühle:Mögliche Anforderungen | Sammlung von möglichen Anforderungen, die das System können muss (BrainStorming)]]&lt;br /&gt;
&lt;br /&gt;
[[Roboter spielt Mühle:Rahmenbedingungen | Festgelegte Rahmenbedingungen]]&lt;br /&gt;
&lt;br /&gt;
==Arbeitsbereich der Teilprojekte==&lt;br /&gt;
&lt;br /&gt;
=== Bilderkennung/Kamera/Sensorik ===&lt;br /&gt;
[[Roboter spielt Mühle: Bilderkennung-Konzept | Konzepte/Technologieevaluierung]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Roboter spielt Mühle: Bilderkennung-Implementierung | Aktueller Stand der Implementierung]]&lt;br /&gt;
&lt;br /&gt;
=== Steuerung Roboter ===&lt;br /&gt;
[[Roboter spielt Mühle: Robotersteuerung-Konzept | Konzepte/Technologieevaluierung]]&lt;br /&gt;
&lt;br /&gt;
=== Logik des Mühlespiels / KI ===&lt;br /&gt;
[[Roboter spielt Mühle: Logik des Mühlespiels-Konzept | Konzepte/Technologieevaluierung]]&lt;br /&gt;
&lt;br /&gt;
=== Graphische Benutzeroberfläche  ===&lt;br /&gt;
[[Roboter spielt Mühle: Graphische Benutzeroberfläche-Konzept | Konzepte/Technologieevaluierung]]&lt;br /&gt;
&lt;br /&gt;
=== Programmarchitektur ===&lt;br /&gt;
[[Roboter spielt Mühle: Architektur-Schnittstellen | Schnittstellen]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Roboter spielt Mühle: Architektur-Abläufe | Generelle Programmabläufe]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Roboter spielt Mühle: Architektur-Datenstrukturen | Datenstrukturen]]&lt;br /&gt;
&lt;br /&gt;
==Organisatorisches==&lt;br /&gt;
&lt;br /&gt;
[[Roboter spielt Mühle: Projektplan für Hr. Höhne]]&lt;br /&gt;
&lt;br /&gt;
=== Projektverwaltung ===&lt;br /&gt;
&lt;br /&gt;
SVN Repository:&lt;br /&gt;
&lt;br /&gt;
  https://robotermuehle.googlecode.com/svn/trunk/&lt;br /&gt;
&lt;br /&gt;
==Teilnehmer==&lt;br /&gt;
[[Benutzer:Bepf|Benjamin Pfeiffer]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:Chge|Christian Gebauer]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:Maho|Martin Hoffmann]]&lt;/div&gt;</summary>
		<author><name>Bepf</name></author>	</entry>

	<entry>
		<id>https://p-servus.net/mediawiki/index.php?title=Projekt:_Roboter_spielt_M%C3%BChle</id>
		<title>Projekt: Roboter spielt Mühle</title>
		<link rel="alternate" type="text/html" href="https://p-servus.net/mediawiki/index.php?title=Projekt:_Roboter_spielt_M%C3%BChle"/>
				<updated>2012-10-23T13:40:03Z</updated>
		
		<summary type="html">&lt;p&gt;Bepf: /* Einleitung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Roboter_spielt_Mühle-Logo.png|thumb|Das ist das Logo von unserem Projekt &amp;quot;Roboter spielt Mühle&amp;quot;]]&lt;br /&gt;
==Einleitung==&lt;br /&gt;
Für die erste und zweite Studienarbeit im vierten bzw. fünften Semester des Studiengangs Informatik&lt;br /&gt;
(IT2010) wurde ein Projekt mit dem Titel „Konzeption und Entwicklung eines&lt;br /&gt;
Programms zum Mühlespiel mit Computer und Roboter“ ausgewählt. Es sollte&lt;br /&gt;
ein Programm für einen Roboter entwickelt werden, der mit einem menschlichen&lt;br /&gt;
Gegenspieler und einem realen Mühlespielfeld ein Spiel lösen kann.&lt;br /&gt;
&lt;br /&gt;
==Aufgabenstellung==&lt;br /&gt;
&lt;br /&gt;
[[Roboter spielt Mühle:Mögliche Anforderungen | Sammlung von möglichen Anforderungen, die das System können muss (BrainStorming)]]&lt;br /&gt;
&lt;br /&gt;
[[Roboter spielt Mühle:Rahmenbedingungen | Rahmenbedingungen die geklärt werden müssen]]&lt;br /&gt;
&lt;br /&gt;
==Arbeitsbereich der Teilprojekte==&lt;br /&gt;
&lt;br /&gt;
=== Bilderkennung/Kamera/Sensorik ===&lt;br /&gt;
[[Roboter spielt Mühle: Bilderkennung-Konzept | Konzepte/Technologieevaluierung]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Roboter spielt Mühle: Bilderkennung-Implementierung | Aktueller Stand der Implementierung]]&lt;br /&gt;
&lt;br /&gt;
=== Steuerung Roboter ===&lt;br /&gt;
[[Roboter spielt Mühle: Robotersteuerung-Konzept | Konzepte/Technologieevaluierung]]&lt;br /&gt;
&lt;br /&gt;
=== Logik des Mühlespiels / KI ===&lt;br /&gt;
[[Roboter spielt Mühle: Logik des Mühlespiels-Konzept | Konzepte/Technologieevaluierung]]&lt;br /&gt;
&lt;br /&gt;
=== Graphische Benutzeroberfläche  ===&lt;br /&gt;
[[Roboter spielt Mühle: Graphische Benutzeroberfläche-Konzept | Konzepte/Technologieevaluierung]]&lt;br /&gt;
&lt;br /&gt;
=== Programmarchitektur ===&lt;br /&gt;
[[Roboter spielt Mühle: Architektur-Schnittstellen | Schnittstellen]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Roboter spielt Mühle: Architektur-Abläufe | Generelle Programmabläufe]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Roboter spielt Mühle: Architektur-Datenstrukturen | Datenstrukturen]]&lt;br /&gt;
&lt;br /&gt;
==Organisatorisches==&lt;br /&gt;
&lt;br /&gt;
[[Roboter spielt Mühle: Projektplan für Hr. Höhne]]&lt;br /&gt;
&lt;br /&gt;
=== Projektverwaltung ===&lt;br /&gt;
&lt;br /&gt;
SVN Repository:&lt;br /&gt;
&lt;br /&gt;
  https://robotermuehle.googlecode.com/svn/trunk/&lt;br /&gt;
&lt;br /&gt;
==Teilnehmer==&lt;br /&gt;
[[Benutzer:Bepf|Benjamin Pfeiffer]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:Chge|Christian Gebauer]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:Maho|Martin Hoffmann]]&lt;/div&gt;</summary>
		<author><name>Bepf</name></author>	</entry>

	<entry>
		<id>https://p-servus.net/mediawiki/index.php?title=Projekt:_Roboter_spielt_M%C3%BChle</id>
		<title>Projekt: Roboter spielt Mühle</title>
		<link rel="alternate" type="text/html" href="https://p-servus.net/mediawiki/index.php?title=Projekt:_Roboter_spielt_M%C3%BChle"/>
				<updated>2012-10-23T13:33:04Z</updated>
		
		<summary type="html">&lt;p&gt;Bepf: /* Programmarchitektur */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Roboter_spielt_Mühle-Logo.png|thumb|Das ist das Logo von unserem Projekt &amp;quot;Roboter spielt Mühle&amp;quot;]]&lt;br /&gt;
==Einleitung==&lt;br /&gt;
...&lt;br /&gt;
==Aufgabenstellung==&lt;br /&gt;
&lt;br /&gt;
[[Roboter spielt Mühle:Mögliche Anforderungen | Sammlung von möglichen Anforderungen, die das System können muss (BrainStorming)]]&lt;br /&gt;
&lt;br /&gt;
[[Roboter spielt Mühle:Rahmenbedingungen | Rahmenbedingungen die geklärt werden müssen]]&lt;br /&gt;
&lt;br /&gt;
==Arbeitsbereich der Teilprojekte==&lt;br /&gt;
&lt;br /&gt;
=== Bilderkennung/Kamera/Sensorik ===&lt;br /&gt;
[[Roboter spielt Mühle: Bilderkennung-Konzept | Konzepte/Technologieevaluierung]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Roboter spielt Mühle: Bilderkennung-Implementierung | Aktueller Stand der Implementierung]]&lt;br /&gt;
&lt;br /&gt;
=== Steuerung Roboter ===&lt;br /&gt;
[[Roboter spielt Mühle: Robotersteuerung-Konzept | Konzepte/Technologieevaluierung]]&lt;br /&gt;
&lt;br /&gt;
=== Logik des Mühlespiels / KI ===&lt;br /&gt;
[[Roboter spielt Mühle: Logik des Mühlespiels-Konzept | Konzepte/Technologieevaluierung]]&lt;br /&gt;
&lt;br /&gt;
=== Graphische Benutzeroberfläche  ===&lt;br /&gt;
[[Roboter spielt Mühle: Graphische Benutzeroberfläche-Konzept | Konzepte/Technologieevaluierung]]&lt;br /&gt;
&lt;br /&gt;
=== Programmarchitektur ===&lt;br /&gt;
[[Roboter spielt Mühle: Architektur-Schnittstellen | Schnittstellen]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Roboter spielt Mühle: Architektur-Abläufe | Generelle Programmabläufe]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Roboter spielt Mühle: Architektur-Datenstrukturen | Datenstrukturen]]&lt;br /&gt;
&lt;br /&gt;
==Organisatorisches==&lt;br /&gt;
&lt;br /&gt;
[[Roboter spielt Mühle: Projektplan für Hr. Höhne]]&lt;br /&gt;
&lt;br /&gt;
=== Projektverwaltung ===&lt;br /&gt;
&lt;br /&gt;
SVN Repository:&lt;br /&gt;
&lt;br /&gt;
  https://robotermuehle.googlecode.com/svn/trunk/&lt;br /&gt;
&lt;br /&gt;
==Teilnehmer==&lt;br /&gt;
[[Benutzer:Bepf|Benjamin Pfeiffer]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:Chge|Christian Gebauer]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:Maho|Martin Hoffmann]]&lt;/div&gt;</summary>
		<author><name>Bepf</name></author>	</entry>

	<entry>
		<id>https://p-servus.net/mediawiki/index.php?title=Projekt:_Roboter_spielt_M%C3%BChle</id>
		<title>Projekt: Roboter spielt Mühle</title>
		<link rel="alternate" type="text/html" href="https://p-servus.net/mediawiki/index.php?title=Projekt:_Roboter_spielt_M%C3%BChle"/>
				<updated>2012-10-23T13:32:43Z</updated>
		
		<summary type="html">&lt;p&gt;Bepf: /* Programmarchitektur */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Roboter_spielt_Mühle-Logo.png|thumb|Das ist das Logo von unserem Projekt &amp;quot;Roboter spielt Mühle&amp;quot;]]&lt;br /&gt;
==Einleitung==&lt;br /&gt;
...&lt;br /&gt;
==Aufgabenstellung==&lt;br /&gt;
&lt;br /&gt;
[[Roboter spielt Mühle:Mögliche Anforderungen | Sammlung von möglichen Anforderungen, die das System können muss (BrainStorming)]]&lt;br /&gt;
&lt;br /&gt;
[[Roboter spielt Mühle:Rahmenbedingungen | Rahmenbedingungen die geklärt werden müssen]]&lt;br /&gt;
&lt;br /&gt;
==Arbeitsbereich der Teilprojekte==&lt;br /&gt;
&lt;br /&gt;
=== Bilderkennung/Kamera/Sensorik ===&lt;br /&gt;
[[Roboter spielt Mühle: Bilderkennung-Konzept | Konzepte/Technologieevaluierung]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Roboter spielt Mühle: Bilderkennung-Implementierung | Aktueller Stand der Implementierung]]&lt;br /&gt;
&lt;br /&gt;
=== Steuerung Roboter ===&lt;br /&gt;
[[Roboter spielt Mühle: Robotersteuerung-Konzept | Konzepte/Technologieevaluierung]]&lt;br /&gt;
&lt;br /&gt;
=== Logik des Mühlespiels / KI ===&lt;br /&gt;
[[Roboter spielt Mühle: Logik des Mühlespiels-Konzept | Konzepte/Technologieevaluierung]]&lt;br /&gt;
&lt;br /&gt;
=== Graphische Benutzeroberfläche  ===&lt;br /&gt;
[[Roboter spielt Mühle: Graphische Benutzeroberfläche-Konzept | Konzepte/Technologieevaluierung]]&lt;br /&gt;
&lt;br /&gt;
=== Programmarchitektur ===&lt;br /&gt;
[[Roboter spielt Mühle: Architektur-Schnittstellen | Schnittstellen]]&lt;br /&gt;
[[Roboter spielt Mühle: Architektur-Abläufe | Generelle Programmabläufe]]&lt;br /&gt;
[[Roboter spielt Mühle: Architektur-Datenstrukturen | Datenstrukturen]]&lt;br /&gt;
&lt;br /&gt;
==Organisatorisches==&lt;br /&gt;
&lt;br /&gt;
[[Roboter spielt Mühle: Projektplan für Hr. Höhne]]&lt;br /&gt;
&lt;br /&gt;
=== Projektverwaltung ===&lt;br /&gt;
&lt;br /&gt;
SVN Repository:&lt;br /&gt;
&lt;br /&gt;
  https://robotermuehle.googlecode.com/svn/trunk/&lt;br /&gt;
&lt;br /&gt;
==Teilnehmer==&lt;br /&gt;
[[Benutzer:Bepf|Benjamin Pfeiffer]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:Chge|Christian Gebauer]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:Maho|Martin Hoffmann]]&lt;/div&gt;</summary>
		<author><name>Bepf</name></author>	</entry>

	<entry>
		<id>https://p-servus.net/mediawiki/index.php?title=Projekt:_Roboter_spielt_M%C3%BChle</id>
		<title>Projekt: Roboter spielt Mühle</title>
		<link rel="alternate" type="text/html" href="https://p-servus.net/mediawiki/index.php?title=Projekt:_Roboter_spielt_M%C3%BChle"/>
				<updated>2012-10-23T13:31:50Z</updated>
		
		<summary type="html">&lt;p&gt;Bepf: /* Steuerung Roboter */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Roboter_spielt_Mühle-Logo.png|thumb|Das ist das Logo von unserem Projekt &amp;quot;Roboter spielt Mühle&amp;quot;]]&lt;br /&gt;
==Einleitung==&lt;br /&gt;
...&lt;br /&gt;
==Aufgabenstellung==&lt;br /&gt;
&lt;br /&gt;
[[Roboter spielt Mühle:Mögliche Anforderungen | Sammlung von möglichen Anforderungen, die das System können muss (BrainStorming)]]&lt;br /&gt;
&lt;br /&gt;
[[Roboter spielt Mühle:Rahmenbedingungen | Rahmenbedingungen die geklärt werden müssen]]&lt;br /&gt;
&lt;br /&gt;
==Arbeitsbereich der Teilprojekte==&lt;br /&gt;
&lt;br /&gt;
=== Bilderkennung/Kamera/Sensorik ===&lt;br /&gt;
[[Roboter spielt Mühle: Bilderkennung-Konzept | Konzepte/Technologieevaluierung]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Roboter spielt Mühle: Bilderkennung-Implementierung | Aktueller Stand der Implementierung]]&lt;br /&gt;
&lt;br /&gt;
=== Steuerung Roboter ===&lt;br /&gt;
[[Roboter spielt Mühle: Robotersteuerung-Konzept | Konzepte/Technologieevaluierung]]&lt;br /&gt;
&lt;br /&gt;
=== Logik des Mühlespiels / KI ===&lt;br /&gt;
[[Roboter spielt Mühle: Logik des Mühlespiels-Konzept | Konzepte/Technologieevaluierung]]&lt;br /&gt;
&lt;br /&gt;
=== Graphische Benutzeroberfläche  ===&lt;br /&gt;
[[Roboter spielt Mühle: Graphische Benutzeroberfläche-Konzept | Konzepte/Technologieevaluierung]]&lt;br /&gt;
&lt;br /&gt;
=== Programmarchitektur ===&lt;br /&gt;
[[Roboter spielt Mühle: Architektur-Schnittstellen | Schnittstellen]]&lt;br /&gt;
&lt;br /&gt;
==Organisatorisches==&lt;br /&gt;
&lt;br /&gt;
[[Roboter spielt Mühle: Projektplan für Hr. Höhne]]&lt;br /&gt;
&lt;br /&gt;
=== Projektverwaltung ===&lt;br /&gt;
&lt;br /&gt;
SVN Repository:&lt;br /&gt;
&lt;br /&gt;
  https://robotermuehle.googlecode.com/svn/trunk/&lt;br /&gt;
&lt;br /&gt;
==Teilnehmer==&lt;br /&gt;
[[Benutzer:Bepf|Benjamin Pfeiffer]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:Chge|Christian Gebauer]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:Maho|Martin Hoffmann]]&lt;/div&gt;</summary>
		<author><name>Bepf</name></author>	</entry>

	<entry>
		<id>https://p-servus.net/mediawiki/index.php?title=Roboter_spielt_M%C3%BChle:_Graphische_Benutzeroberfl%C3%A4che-Konzept</id>
		<title>Roboter spielt Mühle: Graphische Benutzeroberfläche-Konzept</title>
		<link rel="alternate" type="text/html" href="https://p-servus.net/mediawiki/index.php?title=Roboter_spielt_M%C3%BChle:_Graphische_Benutzeroberfl%C3%A4che-Konzept"/>
				<updated>2012-10-23T13:31:31Z</updated>
		
		<summary type="html">&lt;p&gt;Bepf: Die Seite wurde neu angelegt: „ Erste Ideen/Informationen &amp;lt;br&amp;gt; [[Roboter spielt Mühle: GUI | Konzept zur Gestaltung einer…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Roboter spielt Mühle: Erste Ideen zur Umsetzung des Mühlespiels | Erste Ideen/Informationen]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Roboter spielt Mühle: GUI | Konzept zur Gestaltung einer GUI]]&lt;/div&gt;</summary>
		<author><name>Bepf</name></author>	</entry>

	<entry>
		<id>https://p-servus.net/mediawiki/index.php?title=Projekt:_Roboter_spielt_M%C3%BChle</id>
		<title>Projekt: Roboter spielt Mühle</title>
		<link rel="alternate" type="text/html" href="https://p-servus.net/mediawiki/index.php?title=Projekt:_Roboter_spielt_M%C3%BChle"/>
				<updated>2012-10-23T13:31:21Z</updated>
		
		<summary type="html">&lt;p&gt;Bepf: /* Graphische Benutzeroberfläche */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Roboter_spielt_Mühle-Logo.png|thumb|Das ist das Logo von unserem Projekt &amp;quot;Roboter spielt Mühle&amp;quot;]]&lt;br /&gt;
==Einleitung==&lt;br /&gt;
...&lt;br /&gt;
==Aufgabenstellung==&lt;br /&gt;
&lt;br /&gt;
[[Roboter spielt Mühle:Mögliche Anforderungen | Sammlung von möglichen Anforderungen, die das System können muss (BrainStorming)]]&lt;br /&gt;
&lt;br /&gt;
[[Roboter spielt Mühle:Rahmenbedingungen | Rahmenbedingungen die geklärt werden müssen]]&lt;br /&gt;
&lt;br /&gt;
==Arbeitsbereich der Teilprojekte==&lt;br /&gt;
&lt;br /&gt;
=== Bilderkennung/Kamera/Sensorik ===&lt;br /&gt;
[[Roboter spielt Mühle: Bilderkennung-Konzept | Konzepte/Technologieevaluierung]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Roboter spielt Mühle: Bilderkennung-Implementierung | Aktueller Stand der Implementierung]]&lt;br /&gt;
&lt;br /&gt;
=== Steuerung Roboter ===&lt;br /&gt;
[[Roboter spielt Mühle: Robotersteuerung-Konzept | Konzepte/Technologieevaluierung]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Logik des Mühlespiels / KI ===&lt;br /&gt;
[[Roboter spielt Mühle: Logik des Mühlespiels-Konzept | Konzepte/Technologieevaluierung]]&lt;br /&gt;
&lt;br /&gt;
=== Graphische Benutzeroberfläche  ===&lt;br /&gt;
[[Roboter spielt Mühle: Graphische Benutzeroberfläche-Konzept | Konzepte/Technologieevaluierung]]&lt;br /&gt;
&lt;br /&gt;
=== Programmarchitektur ===&lt;br /&gt;
[[Roboter spielt Mühle: Architektur-Schnittstellen | Schnittstellen]]&lt;br /&gt;
&lt;br /&gt;
==Organisatorisches==&lt;br /&gt;
&lt;br /&gt;
[[Roboter spielt Mühle: Projektplan für Hr. Höhne]]&lt;br /&gt;
&lt;br /&gt;
=== Projektverwaltung ===&lt;br /&gt;
&lt;br /&gt;
SVN Repository:&lt;br /&gt;
&lt;br /&gt;
  https://robotermuehle.googlecode.com/svn/trunk/&lt;br /&gt;
&lt;br /&gt;
==Teilnehmer==&lt;br /&gt;
[[Benutzer:Bepf|Benjamin Pfeiffer]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:Chge|Christian Gebauer]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:Maho|Martin Hoffmann]]&lt;/div&gt;</summary>
		<author><name>Bepf</name></author>	</entry>

	<entry>
		<id>https://p-servus.net/mediawiki/index.php?title=Projekt:_Roboter_spielt_M%C3%BChle</id>
		<title>Projekt: Roboter spielt Mühle</title>
		<link rel="alternate" type="text/html" href="https://p-servus.net/mediawiki/index.php?title=Projekt:_Roboter_spielt_M%C3%BChle"/>
				<updated>2012-10-23T13:31:01Z</updated>
		
		<summary type="html">&lt;p&gt;Bepf: /* Bilderkennung/Kamera/Sensorik */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Roboter_spielt_Mühle-Logo.png|thumb|Das ist das Logo von unserem Projekt &amp;quot;Roboter spielt Mühle&amp;quot;]]&lt;br /&gt;
==Einleitung==&lt;br /&gt;
...&lt;br /&gt;
==Aufgabenstellung==&lt;br /&gt;
&lt;br /&gt;
[[Roboter spielt Mühle:Mögliche Anforderungen | Sammlung von möglichen Anforderungen, die das System können muss (BrainStorming)]]&lt;br /&gt;
&lt;br /&gt;
[[Roboter spielt Mühle:Rahmenbedingungen | Rahmenbedingungen die geklärt werden müssen]]&lt;br /&gt;
&lt;br /&gt;
==Arbeitsbereich der Teilprojekte==&lt;br /&gt;
&lt;br /&gt;
=== Bilderkennung/Kamera/Sensorik ===&lt;br /&gt;
[[Roboter spielt Mühle: Bilderkennung-Konzept | Konzepte/Technologieevaluierung]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Roboter spielt Mühle: Bilderkennung-Implementierung | Aktueller Stand der Implementierung]]&lt;br /&gt;
&lt;br /&gt;
=== Steuerung Roboter ===&lt;br /&gt;
[[Roboter spielt Mühle: Robotersteuerung-Konzept | Konzepte/Technologieevaluierung]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Logik des Mühlespiels / KI ===&lt;br /&gt;
[[Roboter spielt Mühle: Logik des Mühlespiels-Konzept | Konzepte/Technologieevaluierung]]&lt;br /&gt;
&lt;br /&gt;
=== Graphische Benutzeroberfläche  ===&lt;br /&gt;
[[Roboter spielt Mühle: Graphische Benutzeroberfläche-Konzept | Konzepte/Technologieevaluierung]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Roboter spielt Mühle: Erste Ideen zur Umsetzung des Mühlespiels | Erste Ideen/Informationen]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Roboter spielt Mühle: GUI | Konzept zur Gestaltung einer GUI]]&lt;br /&gt;
&lt;br /&gt;
=== Programmarchitektur ===&lt;br /&gt;
[[Roboter spielt Mühle: Architektur-Schnittstellen | Schnittstellen]]&lt;br /&gt;
&lt;br /&gt;
==Organisatorisches==&lt;br /&gt;
&lt;br /&gt;
[[Roboter spielt Mühle: Projektplan für Hr. Höhne]]&lt;br /&gt;
&lt;br /&gt;
=== Projektverwaltung ===&lt;br /&gt;
&lt;br /&gt;
SVN Repository:&lt;br /&gt;
&lt;br /&gt;
  https://robotermuehle.googlecode.com/svn/trunk/&lt;br /&gt;
&lt;br /&gt;
==Teilnehmer==&lt;br /&gt;
[[Benutzer:Bepf|Benjamin Pfeiffer]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:Chge|Christian Gebauer]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:Maho|Martin Hoffmann]]&lt;/div&gt;</summary>
		<author><name>Bepf</name></author>	</entry>

	<entry>
		<id>https://p-servus.net/mediawiki/index.php?title=Roboter_spielt_M%C3%BChle:_Robotersteuerung-Konzept</id>
		<title>Roboter spielt Mühle: Robotersteuerung-Konzept</title>
		<link rel="alternate" type="text/html" href="https://p-servus.net/mediawiki/index.php?title=Roboter_spielt_M%C3%BChle:_Robotersteuerung-Konzept"/>
				<updated>2012-10-23T13:30:38Z</updated>
		
		<summary type="html">&lt;p&gt;Bepf: Die Seite wurde neu angelegt: „ Ansteuerung einer RS232-Schnittstelle mittels Java&amp;lt;br&amp;gt; [[Roboter spielt Mühle: Roboter Instandsetzung | Instandset…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Roboter spielt Mühle: Ansteuerung RS232 | Ansteuerung einer RS232-Schnittstelle mittels Java]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Roboter spielt Mühle: Roboter Instandsetzung | Instandsetzung des Mitsubishi RV-E2]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Roboter spielt Mühle: Erkenntnisse aus den Dokumenten | Erkenntnisse zum Roboter die wir aus den Dokumenten gewonnen haben]]&lt;/div&gt;</summary>
		<author><name>Bepf</name></author>	</entry>

	<entry>
		<id>https://p-servus.net/mediawiki/index.php?title=Projekt:_Roboter_spielt_M%C3%BChle</id>
		<title>Projekt: Roboter spielt Mühle</title>
		<link rel="alternate" type="text/html" href="https://p-servus.net/mediawiki/index.php?title=Projekt:_Roboter_spielt_M%C3%BChle"/>
				<updated>2012-10-23T13:30:27Z</updated>
		
		<summary type="html">&lt;p&gt;Bepf: /* Arbeitsbereich der Teilprojekte */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Roboter_spielt_Mühle-Logo.png|thumb|Das ist das Logo von unserem Projekt &amp;quot;Roboter spielt Mühle&amp;quot;]]&lt;br /&gt;
==Einleitung==&lt;br /&gt;
...&lt;br /&gt;
==Aufgabenstellung==&lt;br /&gt;
&lt;br /&gt;
[[Roboter spielt Mühle:Mögliche Anforderungen | Sammlung von möglichen Anforderungen, die das System können muss (BrainStorming)]]&lt;br /&gt;
&lt;br /&gt;
[[Roboter spielt Mühle:Rahmenbedingungen | Rahmenbedingungen die geklärt werden müssen]]&lt;br /&gt;
&lt;br /&gt;
==Arbeitsbereich der Teilprojekte==&lt;br /&gt;
&lt;br /&gt;
=== Bilderkennung/Kamera/Sensorik ===&lt;br /&gt;
[[Roboter spielt Mühle: Bilderkennung-Konzept | Konzepte/Technologieevaluierung]]&lt;br /&gt;
[[Roboter spielt Mühle: Bilderkennung-Implementierung | Aktueller Stand der Implementierung]]&lt;br /&gt;
&lt;br /&gt;
=== Steuerung Roboter ===&lt;br /&gt;
[[Roboter spielt Mühle: Robotersteuerung-Konzept | Konzepte/Technologieevaluierung]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Logik des Mühlespiels / KI ===&lt;br /&gt;
[[Roboter spielt Mühle: Logik des Mühlespiels-Konzept | Konzepte/Technologieevaluierung]]&lt;br /&gt;
&lt;br /&gt;
=== Graphische Benutzeroberfläche  ===&lt;br /&gt;
[[Roboter spielt Mühle: Graphische Benutzeroberfläche-Konzept | Konzepte/Technologieevaluierung]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Roboter spielt Mühle: Erste Ideen zur Umsetzung des Mühlespiels | Erste Ideen/Informationen]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Roboter spielt Mühle: GUI | Konzept zur Gestaltung einer GUI]]&lt;br /&gt;
&lt;br /&gt;
=== Programmarchitektur ===&lt;br /&gt;
[[Roboter spielt Mühle: Architektur-Schnittstellen | Schnittstellen]]&lt;br /&gt;
&lt;br /&gt;
==Organisatorisches==&lt;br /&gt;
&lt;br /&gt;
[[Roboter spielt Mühle: Projektplan für Hr. Höhne]]&lt;br /&gt;
&lt;br /&gt;
=== Projektverwaltung ===&lt;br /&gt;
&lt;br /&gt;
SVN Repository:&lt;br /&gt;
&lt;br /&gt;
  https://robotermuehle.googlecode.com/svn/trunk/&lt;br /&gt;
&lt;br /&gt;
==Teilnehmer==&lt;br /&gt;
[[Benutzer:Bepf|Benjamin Pfeiffer]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:Chge|Christian Gebauer]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:Maho|Martin Hoffmann]]&lt;/div&gt;</summary>
		<author><name>Bepf</name></author>	</entry>

	<entry>
		<id>https://p-servus.net/mediawiki/index.php?title=Roboter_spielt_M%C3%BChle:_Bilderkennung-Konzept</id>
		<title>Roboter spielt Mühle: Bilderkennung-Konzept</title>
		<link rel="alternate" type="text/html" href="https://p-servus.net/mediawiki/index.php?title=Roboter_spielt_M%C3%BChle:_Bilderkennung-Konzept"/>
				<updated>2012-10-23T13:29:36Z</updated>
		
		<summary type="html">&lt;p&gt;Bepf: Die Seite wurde neu angelegt: „ Mögliche Kamerasysteme &amp;lt;br&amp;gt; [[Roboter spielt Mühle: Kinect-Sensor-Frameworks | Auflistung von …“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Roboter spielt Mühle: Möglichkeiten für eine neue Kamera | Mögliche Kamerasysteme]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Roboter spielt Mühle: Kinect-Sensor-Frameworks | Auflistung von Frameworks zur Benutzung des Kinect-Sensors]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Roboter spielt Mühle: Sicherheitskonzept | Sicherheitskonzept für den sicheren Betrieb des Roboters]] &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bepf</name></author>	</entry>

	<entry>
		<id>https://p-servus.net/mediawiki/index.php?title=Roboter_spielt_M%C3%BChle:_Bilderkennung</id>
		<title>Roboter spielt Mühle: Bilderkennung</title>
		<link rel="alternate" type="text/html" href="https://p-servus.net/mediawiki/index.php?title=Roboter_spielt_M%C3%BChle:_Bilderkennung"/>
				<updated>2012-10-23T13:29:24Z</updated>
		
		<summary type="html">&lt;p&gt;Bepf: Die Seite wurde geleert.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Bepf</name></author>	</entry>

	<entry>
		<id>https://p-servus.net/mediawiki/index.php?title=Projekt:_Roboter_spielt_M%C3%BChle</id>
		<title>Projekt: Roboter spielt Mühle</title>
		<link rel="alternate" type="text/html" href="https://p-servus.net/mediawiki/index.php?title=Projekt:_Roboter_spielt_M%C3%BChle"/>
				<updated>2012-10-23T11:24:32Z</updated>
		
		<summary type="html">&lt;p&gt;Bepf: /* Arbeitsbereich der Teilprojekte */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Roboter_spielt_Mühle-Logo.png|thumb|Das ist das Logo von unserem Projekt &amp;quot;Roboter spielt Mühle&amp;quot;]]&lt;br /&gt;
==Einleitung==&lt;br /&gt;
...&lt;br /&gt;
==Aufgabenstellung==&lt;br /&gt;
&lt;br /&gt;
[[Roboter spielt Mühle:Mögliche Anforderungen | Sammlung von möglichen Anforderungen, die das System können muss (BrainStorming)]]&lt;br /&gt;
&lt;br /&gt;
[[Roboter spielt Mühle:Rahmenbedingungen | Rahmenbedingungen die geklärt werden müssen]]&lt;br /&gt;
&lt;br /&gt;
==Arbeitsbereich der Teilprojekte==&lt;br /&gt;
&lt;br /&gt;
=== Bilderkennung/Kamera/Sensorik ===&lt;br /&gt;
[[Roboter spielt Mühle: Bilderkennung-Konzept | Konzepte/Technologieevaluierung]]&lt;br /&gt;
&lt;br /&gt;
=== Steuerung Roboter ===&lt;br /&gt;
[[Roboter spielt Mühle: Robotersteuerung-Konzept | Konzepte/Technologieevaluierung]]&lt;br /&gt;
[[Roboter spielt Mühle: Ansteuerung RS232 | Ansteuerung einer RS232-Schnittstelle mittels Java]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Roboter spielt Mühle: Roboter Instandsetzung | Instandsetzung des Mitsubishi RV-E2]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Roboter spielt Mühle: Erkenntnisse aus den Dokumenten | Erkenntnisse zum Roboter die wir aus den Dokumenten gewonnen haben]]&lt;br /&gt;
&lt;br /&gt;
=== Logik des Mühlespiels / KI ===&lt;br /&gt;
[[Roboter spielt Mühle: Logik des Mühlespiels-Konzept | Konzepte/Technologieevaluierung]]&lt;br /&gt;
&lt;br /&gt;
=== Graphische Benutzeroberfläche  ===&lt;br /&gt;
[[Roboter spielt Mühle: Graphische Benutzeroberfläche-Konzept | Konzepte/Technologieevaluierung]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Roboter spielt Mühle: Erste Ideen zur Umsetzung des Mühlespiels | Erste Ideen/Informationen]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Roboter spielt Mühle: GUI | Konzept zur Gestaltung einer GUI]]&lt;br /&gt;
&lt;br /&gt;
=== Programmarchitektur ===&lt;br /&gt;
[[Roboter spielt Mühle: Architektur-Schnittstellen | Schnittstellen]]&lt;br /&gt;
&lt;br /&gt;
==Organisatorisches==&lt;br /&gt;
&lt;br /&gt;
[[Roboter spielt Mühle: Projektplan für Hr. Höhne]]&lt;br /&gt;
&lt;br /&gt;
=== Projektverwaltung ===&lt;br /&gt;
&lt;br /&gt;
SVN Repository:&lt;br /&gt;
&lt;br /&gt;
  https://robotermuehle.googlecode.com/svn/trunk/&lt;br /&gt;
&lt;br /&gt;
==Teilnehmer==&lt;br /&gt;
[[Benutzer:Bepf|Benjamin Pfeiffer]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:Chge|Christian Gebauer]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:Maho|Martin Hoffmann]]&lt;/div&gt;</summary>
		<author><name>Bepf</name></author>	</entry>

	<entry>
		<id>https://p-servus.net/mediawiki/index.php?title=Roboter_spielt_M%C3%BChle:_Bilderkennung</id>
		<title>Roboter spielt Mühle: Bilderkennung</title>
		<link rel="alternate" type="text/html" href="https://p-servus.net/mediawiki/index.php?title=Roboter_spielt_M%C3%BChle:_Bilderkennung"/>
				<updated>2012-10-23T11:21:34Z</updated>
		
		<summary type="html">&lt;p&gt;Bepf: Die Seite wurde neu angelegt: „ Mögliche Kamerasysteme &amp;lt;br&amp;gt; [[Roboter spielt Mühle: Kinect-Sensor-Frameworks | Auflistung von …“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Roboter spielt Mühle: Möglichkeiten für eine neue Kamera | Mögliche Kamerasysteme]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Roboter spielt Mühle: Kinect-Sensor-Frameworks | Auflistung von Frameworks zur Benutzung des Kinect-Sensors]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Roboter spielt Mühle: Sicherheitskonzept | Sicherheitskonzept für den sicheren Betrieb des Roboters]] &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bepf</name></author>	</entry>

	<entry>
		<id>https://p-servus.net/mediawiki/index.php?title=Projekt:_Roboter_spielt_M%C3%BChle</id>
		<title>Projekt: Roboter spielt Mühle</title>
		<link rel="alternate" type="text/html" href="https://p-servus.net/mediawiki/index.php?title=Projekt:_Roboter_spielt_M%C3%BChle"/>
				<updated>2012-10-23T11:21:18Z</updated>
		
		<summary type="html">&lt;p&gt;Bepf: /* Bilderkennung/Kamera/Sensorik */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Roboter_spielt_Mühle-Logo.png|thumb|Das ist das Logo von unserem Projekt &amp;quot;Roboter spielt Mühle&amp;quot;]]&lt;br /&gt;
==Einleitung==&lt;br /&gt;
...&lt;br /&gt;
==Aufgabenstellung==&lt;br /&gt;
&lt;br /&gt;
[[Roboter spielt Mühle:Mögliche Anforderungen | Sammlung von möglichen Anforderungen, die das System können muss (BrainStorming)]]&lt;br /&gt;
&lt;br /&gt;
[[Roboter spielt Mühle:Rahmenbedingungen | Rahmenbedingungen die geklärt werden müssen]]&lt;br /&gt;
&lt;br /&gt;
==Arbeitsbereich der Teilprojekte==&lt;br /&gt;
&lt;br /&gt;
===Bilderkennung/Kamera/Sensorik===&lt;br /&gt;
[[Roboter spielt Mühle: Bilderkennung | Konzepte/Technologieevaluierung]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Steuerung Roboter===&lt;br /&gt;
[[Roboter spielt Mühle: Ansteuerung RS232 | Ansteuerung einer RS232-Schnittstelle mittels Java]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Roboter spielt Mühle: Roboter Instandsetzung | Instandsetzung des Mitsubishi RV-E2]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Roboter spielt Mühle: Erkenntnisse aus den Dokumenten | Erkenntnisse zum Roboter die wir aus den Dokumenten gewonnen haben]]&lt;br /&gt;
&lt;br /&gt;
===Graphische Benutzeroberfläche / Logik des Mühlespiels / KI===&lt;br /&gt;
[[Roboter spielt Mühle: Erste Ideen zur Umsetzung des Mühlespiels | Erste Ideen/Informationen]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Roboter spielt Mühle: GUI | Konzept zur Gestaltung einer GUI]]&lt;br /&gt;
&lt;br /&gt;
=== Programmarchitektur ===&lt;br /&gt;
[[Roboter spielt Mühle: Architektur-Schnittstellen | Schnittstellen]]&lt;br /&gt;
&lt;br /&gt;
==Organisatorisches==&lt;br /&gt;
&lt;br /&gt;
[[Roboter spielt Mühle: Projektplan für Hr. Höhne]]&lt;br /&gt;
&lt;br /&gt;
=== Projektverwaltung ===&lt;br /&gt;
&lt;br /&gt;
SVN Repository:&lt;br /&gt;
&lt;br /&gt;
  https://robotermuehle.googlecode.com/svn/trunk/&lt;br /&gt;
&lt;br /&gt;
==Teilnehmer==&lt;br /&gt;
[[Benutzer:Bepf|Benjamin Pfeiffer]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:Chge|Christian Gebauer]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:Maho|Martin Hoffmann]]&lt;/div&gt;</summary>
		<author><name>Bepf</name></author>	</entry>

	<entry>
		<id>https://p-servus.net/mediawiki/index.php?title=Roboter_spielt_M%C3%BChle:_Architektur-Schnittstellen</id>
		<title>Roboter spielt Mühle: Architektur-Schnittstellen</title>
		<link rel="alternate" type="text/html" href="https://p-servus.net/mediawiki/index.php?title=Roboter_spielt_M%C3%BChle:_Architektur-Schnittstellen"/>
				<updated>2012-10-23T11:19:38Z</updated>
		
		<summary type="html">&lt;p&gt;Bepf: Die Seite wurde neu angelegt: „= Schnittstellen =  == Allgemeine Java-Schnittstellen == [[Roboter spielt Mühle: Datenobjekt Spielfeld | Größte, gemeinsame Schnittstelle: Das Spielfeld als Da…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Schnittstellen =&lt;br /&gt;
&lt;br /&gt;
== Allgemeine Java-Schnittstellen ==&lt;br /&gt;
[[Roboter spielt Mühle: Datenobjekt Spielfeld | Größte, gemeinsame Schnittstelle: Das Spielfeld als Datenobjekt]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hardware-Schnittstellen ==&lt;br /&gt;
[[Roboter spielt Mühle: Roboterbefehle | Befehls-Schnittstelle, die der Roboter annehmen kann]] &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bepf</name></author>	</entry>

	<entry>
		<id>https://p-servus.net/mediawiki/index.php?title=Projekt:_Roboter_spielt_M%C3%BChle</id>
		<title>Projekt: Roboter spielt Mühle</title>
		<link rel="alternate" type="text/html" href="https://p-servus.net/mediawiki/index.php?title=Projekt:_Roboter_spielt_M%C3%BChle"/>
				<updated>2012-10-23T11:18:43Z</updated>
		
		<summary type="html">&lt;p&gt;Bepf: /* Schnittstellen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Roboter_spielt_Mühle-Logo.png|thumb|Das ist das Logo von unserem Projekt &amp;quot;Roboter spielt Mühle&amp;quot;]]&lt;br /&gt;
==Einleitung==&lt;br /&gt;
...&lt;br /&gt;
==Aufgabenstellung==&lt;br /&gt;
&lt;br /&gt;
[[Roboter spielt Mühle:Mögliche Anforderungen | Sammlung von möglichen Anforderungen, die das System können muss (BrainStorming)]]&lt;br /&gt;
&lt;br /&gt;
[[Roboter spielt Mühle:Rahmenbedingungen | Rahmenbedingungen die geklärt werden müssen]]&lt;br /&gt;
&lt;br /&gt;
==Arbeitsbereich der Teilprojekte==&lt;br /&gt;
&lt;br /&gt;
===Bilderkennung/Kamera/Sensorik===&lt;br /&gt;
[[Roboter spielt Mühle: Möglichkeiten für eine neue Kamera | Mögliche Kamerasysteme]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Roboter spielt Mühle: Kinect-Sensor-Frameworks | Auflistung von Frameworks zur Benutzung des Kinect-Sensors]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Roboter spielt Mühle: Sicherheitskonzept | Sicherheitskonzept für den sicheren Betrieb des Roboters]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Steuerung Roboter===&lt;br /&gt;
[[Roboter spielt Mühle: Ansteuerung RS232 | Ansteuerung einer RS232-Schnittstelle mittels Java]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Roboter spielt Mühle: Roboter Instandsetzung | Instandsetzung des Mitsubishi RV-E2]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Roboter spielt Mühle: Erkenntnisse aus den Dokumenten | Erkenntnisse zum Roboter die wir aus den Dokumenten gewonnen haben]]&lt;br /&gt;
&lt;br /&gt;
===Graphische Benutzeroberfläche / Logik des Mühlespiels / KI===&lt;br /&gt;
[[Roboter spielt Mühle: Erste Ideen zur Umsetzung des Mühlespiels | Erste Ideen/Informationen]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Roboter spielt Mühle: GUI | Konzept zur Gestaltung einer GUI]]&lt;br /&gt;
&lt;br /&gt;
=== Programmarchitektur ===&lt;br /&gt;
[[Roboter spielt Mühle: Architektur-Schnittstellen | Schnittstellen]]&lt;br /&gt;
&lt;br /&gt;
==Organisatorisches==&lt;br /&gt;
&lt;br /&gt;
[[Roboter spielt Mühle: Projektplan für Hr. Höhne]]&lt;br /&gt;
&lt;br /&gt;
=== Projektverwaltung ===&lt;br /&gt;
&lt;br /&gt;
SVN Repository:&lt;br /&gt;
&lt;br /&gt;
  https://robotermuehle.googlecode.com/svn/trunk/&lt;br /&gt;
&lt;br /&gt;
==Teilnehmer==&lt;br /&gt;
[[Benutzer:Bepf|Benjamin Pfeiffer]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:Chge|Christian Gebauer]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:Maho|Martin Hoffmann]]&lt;/div&gt;</summary>
		<author><name>Bepf</name></author>	</entry>

	<entry>
		<id>https://p-servus.net/mediawiki/index.php?title=Roboter_spielt_M%C3%BChle:_GUI</id>
		<title>Roboter spielt Mühle: GUI</title>
		<link rel="alternate" type="text/html" href="https://p-servus.net/mediawiki/index.php?title=Roboter_spielt_M%C3%BChle:_GUI"/>
				<updated>2012-07-02T09:11:45Z</updated>
		
		<summary type="html">&lt;p&gt;Bepf: /* Verwendte Grafiken */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Allgemeiner GUI-Aufbau ==&lt;br /&gt;
&lt;br /&gt;
Beim Programmstart gibt es eine graphische Benutzeroberfläche, die den gesamten Bildschirm ausfüllt.&lt;br /&gt;
Es gibt einen Benutzer- und einen ExpertenModus.&lt;br /&gt;
Im Expertenmodus können wereden detailliertere Informationen zum Programmablauf angezeigt.&lt;br /&gt;
Darüber hinaus kann aus dem Expertenmodus ein grapischer Assistent zum Konfigurieren der Kamera &lt;br /&gt;
aufgerufen werden.&lt;br /&gt;
&lt;br /&gt;
== Verwendte Grafiken ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:Roboter_spielt_Mühle-Config-Logo.zip | Logo des Einrichtungsassistenten]]&lt;/div&gt;</summary>
		<author><name>Bepf</name></author>	</entry>

	<entry>
		<id>https://p-servus.net/mediawiki/index.php?title=Roboter_spielt_M%C3%BChle:_GUI</id>
		<title>Roboter spielt Mühle: GUI</title>
		<link rel="alternate" type="text/html" href="https://p-servus.net/mediawiki/index.php?title=Roboter_spielt_M%C3%BChle:_GUI"/>
				<updated>2012-07-02T09:11:18Z</updated>
		
		<summary type="html">&lt;p&gt;Bepf: Die Seite wurde neu angelegt: „== Allgemeiner GUI-Aufbau ==  Beim Programmstart gibt es eine graphische Benutzeroberfläche, die den gesamten Bildschirm ausfüllt. Es gibt einen Benutzer- und e…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Allgemeiner GUI-Aufbau ==&lt;br /&gt;
&lt;br /&gt;
Beim Programmstart gibt es eine graphische Benutzeroberfläche, die den gesamten Bildschirm ausfüllt.&lt;br /&gt;
Es gibt einen Benutzer- und einen ExpertenModus.&lt;br /&gt;
Im Expertenmodus können wereden detailliertere Informationen zum Programmablauf angezeigt.&lt;br /&gt;
Darüber hinaus kann aus dem Expertenmodus ein grapischer Assistent zum Konfigurieren der Kamera &lt;br /&gt;
aufgerufen werden.&lt;br /&gt;
&lt;br /&gt;
== Verwendte Grafiken ==&lt;br /&gt;
&lt;br /&gt;
[Datei:Roboter_spielt_Mühle-Config-Logo.zip | Logo des Einrichtungsassistenten]&lt;/div&gt;</summary>
		<author><name>Bepf</name></author>	</entry>

	<entry>
		<id>https://p-servus.net/mediawiki/index.php?title=Datei:Roboter_spielt_M%C3%BChle-Config-Logo.zip</id>
		<title>Datei:Roboter spielt Mühle-Config-Logo.zip</title>
		<link rel="alternate" type="text/html" href="https://p-servus.net/mediawiki/index.php?title=Datei:Roboter_spielt_M%C3%BChle-Config-Logo.zip"/>
				<updated>2012-07-02T09:10:45Z</updated>
		
		<summary type="html">&lt;p&gt;Bepf: Logo des Konfigurationsassistenten&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Logo des Konfigurationsassistenten&lt;/div&gt;</summary>
		<author><name>Bepf</name></author>	</entry>

	<entry>
		<id>https://p-servus.net/mediawiki/index.php?title=Projekt:_Roboter_spielt_M%C3%BChle</id>
		<title>Projekt: Roboter spielt Mühle</title>
		<link rel="alternate" type="text/html" href="https://p-servus.net/mediawiki/index.php?title=Projekt:_Roboter_spielt_M%C3%BChle"/>
				<updated>2012-07-02T09:05:56Z</updated>
		
		<summary type="html">&lt;p&gt;Bepf: /* Graphische Benutzeroberfläche / Logik des Mühlespiels / KI */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Roboter_spielt_Mühle-Logo.png|thumb|Das ist das Logo von unserem Projekt &amp;quot;Roboter spielt Mühle&amp;quot;]]&lt;br /&gt;
==Einleitung==&lt;br /&gt;
...&lt;br /&gt;
==Aufgabenstellung==&lt;br /&gt;
&lt;br /&gt;
[[Roboter spielt Mühle:Mögliche Anforderungen | Sammlung von möglichen Anforderungen, die das System können muss (BrainStorming)]]&lt;br /&gt;
&lt;br /&gt;
[[Roboter spielt Mühle:Rahmenbedingungen | Rahmenbedingungen die geklärt werden müssen]]&lt;br /&gt;
&lt;br /&gt;
==Arbeitsbereich der Teilprojekte==&lt;br /&gt;
&lt;br /&gt;
===Bilderkennung/Kamera/Sensorik===&lt;br /&gt;
[[Roboter spielt Mühle: Möglichkeiten für eine neue Kamera | Mögliche Kamerasysteme]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Roboter spielt Mühle: Kinect-Sensor-Frameworks | Auflistung von Frameworks zur Benutzung des Kinect-Sensors]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Roboter spielt Mühle: Sicherheitskonzept | Sicherheitskonzept für den sicheren Betrieb des Roboters]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Steuerung Roboter===&lt;br /&gt;
[[Roboter spielt Mühle: Ansteuerung RS232 | Ansteuerung einer RS232-Schnittstelle mittels Java]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Roboter spielt Mühle: Roboter Instandsetzung | Instandsetzung des Mitsubishi RV-E2]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Roboter spielt Mühle: Erkenntnisse aus den Dokumenten | Erkenntnisse zum Roboter die wir aus den Dokumenten gewonnen haben]]&lt;br /&gt;
&lt;br /&gt;
===Graphische Benutzeroberfläche / Logik des Mühlespiels / KI===&lt;br /&gt;
[[Roboter spielt Mühle: Erste Ideen zur Umsetzung des Mühlespiels | Erste Ideen/Informationen]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Roboter spielt Mühle: GUI | Konzept zur Gestaltung einer GUI]]&lt;br /&gt;
&lt;br /&gt;
=== Schnittstellen ===&lt;br /&gt;
Für alle 3 Teilthemen müssen Schnittstellen existieren, damit an allen Bereichen gleichzeitig gearbeitet werden kann.&lt;br /&gt;
&lt;br /&gt;
[[Roboter spielt Mühle: Datenobjekt Spielfeld | Größte, gemeinsame Schnittstelle: Das Spielfeld als Datenobjekt]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Roboter spielt Mühle: Roboterbefehle | Befehls-Schnittstelle, die der Roboter annehmen kann]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Organisatorisches==&lt;br /&gt;
&lt;br /&gt;
[[Roboter spielt Mühle: Projektplan für Hr. Höhne]]&lt;br /&gt;
&lt;br /&gt;
=== Projektverwaltung ===&lt;br /&gt;
&lt;br /&gt;
SVN Repository:&lt;br /&gt;
&lt;br /&gt;
  https://robotermuehle.googlecode.com/svn/trunk/&lt;br /&gt;
&lt;br /&gt;
==Teilnehmer==&lt;br /&gt;
[[Benutzer:Bepf|Benjamin Pfeiffer]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:Chge|Christian Gebauer]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:Maho|Martin Hoffmann]]&lt;/div&gt;</summary>
		<author><name>Bepf</name></author>	</entry>

	<entry>
		<id>https://p-servus.net/mediawiki/index.php?title=Projekt:_Roboter_spielt_M%C3%BChle</id>
		<title>Projekt: Roboter spielt Mühle</title>
		<link rel="alternate" type="text/html" href="https://p-servus.net/mediawiki/index.php?title=Projekt:_Roboter_spielt_M%C3%BChle"/>
				<updated>2012-07-02T09:05:42Z</updated>
		
		<summary type="html">&lt;p&gt;Bepf: /* Graphische Benutzeroberfläche / Logik des Mühlespiels / KI */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Roboter_spielt_Mühle-Logo.png|thumb|Das ist das Logo von unserem Projekt &amp;quot;Roboter spielt Mühle&amp;quot;]]&lt;br /&gt;
==Einleitung==&lt;br /&gt;
...&lt;br /&gt;
==Aufgabenstellung==&lt;br /&gt;
&lt;br /&gt;
[[Roboter spielt Mühle:Mögliche Anforderungen | Sammlung von möglichen Anforderungen, die das System können muss (BrainStorming)]]&lt;br /&gt;
&lt;br /&gt;
[[Roboter spielt Mühle:Rahmenbedingungen | Rahmenbedingungen die geklärt werden müssen]]&lt;br /&gt;
&lt;br /&gt;
==Arbeitsbereich der Teilprojekte==&lt;br /&gt;
&lt;br /&gt;
===Bilderkennung/Kamera/Sensorik===&lt;br /&gt;
[[Roboter spielt Mühle: Möglichkeiten für eine neue Kamera | Mögliche Kamerasysteme]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Roboter spielt Mühle: Kinect-Sensor-Frameworks | Auflistung von Frameworks zur Benutzung des Kinect-Sensors]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Roboter spielt Mühle: Sicherheitskonzept | Sicherheitskonzept für den sicheren Betrieb des Roboters]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Steuerung Roboter===&lt;br /&gt;
[[Roboter spielt Mühle: Ansteuerung RS232 | Ansteuerung einer RS232-Schnittstelle mittels Java]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Roboter spielt Mühle: Roboter Instandsetzung | Instandsetzung des Mitsubishi RV-E2]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Roboter spielt Mühle: Erkenntnisse aus den Dokumenten | Erkenntnisse zum Roboter die wir aus den Dokumenten gewonnen haben]]&lt;br /&gt;
&lt;br /&gt;
===Graphische Benutzeroberfläche / Logik des Mühlespiels / KI===&lt;br /&gt;
[[Roboter spielt Mühle: Erste Ideen zur Umsetzung des Mühlespiels | Erste Ideen/Informationen]]&lt;br /&gt;
[[Roboter spielt Mühle: GUI | Konzept zur Gestaltung einer GUI]]&lt;br /&gt;
&lt;br /&gt;
=== Schnittstellen ===&lt;br /&gt;
Für alle 3 Teilthemen müssen Schnittstellen existieren, damit an allen Bereichen gleichzeitig gearbeitet werden kann.&lt;br /&gt;
&lt;br /&gt;
[[Roboter spielt Mühle: Datenobjekt Spielfeld | Größte, gemeinsame Schnittstelle: Das Spielfeld als Datenobjekt]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Roboter spielt Mühle: Roboterbefehle | Befehls-Schnittstelle, die der Roboter annehmen kann]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Organisatorisches==&lt;br /&gt;
&lt;br /&gt;
[[Roboter spielt Mühle: Projektplan für Hr. Höhne]]&lt;br /&gt;
&lt;br /&gt;
=== Projektverwaltung ===&lt;br /&gt;
&lt;br /&gt;
SVN Repository:&lt;br /&gt;
&lt;br /&gt;
  https://robotermuehle.googlecode.com/svn/trunk/&lt;br /&gt;
&lt;br /&gt;
==Teilnehmer==&lt;br /&gt;
[[Benutzer:Bepf|Benjamin Pfeiffer]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:Chge|Christian Gebauer]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:Maho|Martin Hoffmann]]&lt;/div&gt;</summary>
		<author><name>Bepf</name></author>	</entry>

	<entry>
		<id>https://p-servus.net/mediawiki/index.php?title=Projekt:_Roboter_spielt_M%C3%BChle</id>
		<title>Projekt: Roboter spielt Mühle</title>
		<link rel="alternate" type="text/html" href="https://p-servus.net/mediawiki/index.php?title=Projekt:_Roboter_spielt_M%C3%BChle"/>
				<updated>2012-06-28T07:49:04Z</updated>
		
		<summary type="html">&lt;p&gt;Bepf: /* Organisatorisches */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Roboter_spielt_Mühle-Logo.png|thumb|Das ist das Logo von unserem Projekt &amp;quot;Roboter spielt Mühle&amp;quot;]]&lt;br /&gt;
==Einleitung==&lt;br /&gt;
...&lt;br /&gt;
==Aufgabenstellung==&lt;br /&gt;
&lt;br /&gt;
[[Roboter spielt Mühle:Mögliche Anforderungen | Sammlung von möglichen Anforderungen, die das System können muss (BrainStorming)]]&lt;br /&gt;
&lt;br /&gt;
[[Roboter spielt Mühle:Rahmenbedingungen | Rahmenbedingungen die geklärt werden müssen]]&lt;br /&gt;
&lt;br /&gt;
==Arbeitsbereich der Teilprojekte==&lt;br /&gt;
&lt;br /&gt;
===Bilderkennung/Kamera/Sensorik===&lt;br /&gt;
[[Roboter spielt Mühle: Möglichkeiten für eine neue Kamera | Mögliche Kamerasysteme]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Roboter spielt Mühle: Kinect-Sensor-Frameworks | Auflistung von Frameworks zur Benutzung des Kinect-Sensors]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Roboter spielt Mühle: Sicherheitskonzept | Sicherheitskonzept für den sicheren Betrieb des Roboters]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Steuerung Roboter===&lt;br /&gt;
[[Roboter spielt Mühle: Ansteuerung RS232 | Ansteuerung einer RS232-Schnittstelle mittels Java]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Roboter spielt Mühle: Roboter Instandsetzung | Instandsetzung des Mitsubishi RV-E2]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Roboter spielt Mühle: Erkenntnisse aus den Dokumenten | Erkenntnisse zum Roboter die wir aus den Dokumenten gewonnen haben]]&lt;br /&gt;
&lt;br /&gt;
===Graphische Benutzeroberfläche / Logik des Mühlespiels / KI===&lt;br /&gt;
[[Roboter spielt Mühle: Erste Ideen zur Umsetzung des Mühlespiels | Erste Ideen/Informationen]]&lt;br /&gt;
&lt;br /&gt;
=== Schnittstellen ===&lt;br /&gt;
Für alle 3 Teilthemen müssen Schnittstellen existieren, damit an allen Bereichen gleichzeitig gearbeitet werden kann.&lt;br /&gt;
&lt;br /&gt;
[[Roboter spielt Mühle: Datenobjekt Spielfeld | Größte, gemeinsame Schnittstelle: Das Spielfeld als Datenobjekt]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Roboter spielt Mühle: Roboterbefehle | Befehls-Schnittstelle, die der Roboter annehmen kann]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Organisatorisches==&lt;br /&gt;
&lt;br /&gt;
[[Roboter spielt Mühle: Projektplan für Hr. Höhne]]&lt;br /&gt;
&lt;br /&gt;
=== Projektverwaltung ===&lt;br /&gt;
&lt;br /&gt;
SVN Repository:&lt;br /&gt;
&lt;br /&gt;
  https://robotermuehle.googlecode.com/svn/trunk/&lt;br /&gt;
&lt;br /&gt;
==Teilnehmer==&lt;br /&gt;
[[Benutzer:Bepf|Benjamin Pfeiffer]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:Chge|Christian Gebauer]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:Maho|Martin Hoffmann]]&lt;/div&gt;</summary>
		<author><name>Bepf</name></author>	</entry>

	<entry>
		<id>https://p-servus.net/mediawiki/index.php?title=Datei:Testdaten_baum.zip</id>
		<title>Datei:Testdaten baum.zip</title>
		<link rel="alternate" type="text/html" href="https://p-servus.net/mediawiki/index.php?title=Datei:Testdaten_baum.zip"/>
				<updated>2012-06-10T12:58:24Z</updated>
		
		<summary type="html">&lt;p&gt;Bepf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Bepf</name></author>	</entry>

	<entry>
		<id>https://p-servus.net/mediawiki/index.php?title=Projekt:_Optimaler_Entscheidungsbaum</id>
		<title>Projekt: Optimaler Entscheidungsbaum</title>
		<link rel="alternate" type="text/html" href="https://p-servus.net/mediawiki/index.php?title=Projekt:_Optimaler_Entscheidungsbaum"/>
				<updated>2012-06-10T12:56:53Z</updated>
		
		<summary type="html">&lt;p&gt;Bepf: /* Download Optimaler Entscheidungsbaum */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Optimaler_Entscheidungsbaum-Logo.png|thumb|Das ist das Logo von unserem Programm &amp;quot;Baumschule - Optimaler Entscheidungsbäme&amp;quot;]]&lt;br /&gt;
==Einleitung==&lt;br /&gt;
Dies ist die Hauptseite für das Projekt &amp;quot;Optimaler Entscheidungsbaum&amp;quot;.&lt;br /&gt;
===Aufgabenstellung===&lt;br /&gt;
Die offizielle Aufgabenstellung, gestellt von Prof. Dr. Höhne, kann {{pdf|Aufgabenstellung.pdf | hier}} runtergeladen werden.&lt;br /&gt;
&lt;br /&gt;
[[Optimaler Entscheidungsbaum: Kurze Einführung]]&lt;br /&gt;
&lt;br /&gt;
== Konzepte ==&lt;br /&gt;
=== Technische Konzepte ===&lt;br /&gt;
[[Technische Konzepte: Logger | Logger]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Technische Konzepte: Config Manager | Config Manager]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Technische Konzepte: Observer Pattern | Observer Pattern]]&lt;br /&gt;
&lt;br /&gt;
=== Fachliche Konzepte ===&lt;br /&gt;
[[Optimaler Entscheidungsbaum: GUI-Entwurf | GUI-Entwurf]]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Optimaler Entscheidungsbaum: Datenschnittstelle | Datenschnittstelle]] (Repräsentation der Tabellen / Bäume in Java) &amp;lt;br&amp;gt;&lt;br /&gt;
[[Optimaler Entscheidungsbaum: Systemarchitektur | Systemarchitektur]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Optimaler Entscheidungsbaum: Sonstiges (Fachliche Konzepte) | Sonstiges]]&lt;br /&gt;
&lt;br /&gt;
== Linksammlung / Wissensdatenbank ==&lt;br /&gt;
&lt;br /&gt;
http://www.rob.uni-luebeck.de/Lehre/2011s/KI/lectures/10_SS/ai_ch9.pdf &amp;lt;br&amp;gt;&lt;br /&gt;
http://www.youtube.com/watch?v=4BmQ4YAoa8Q &amp;lt;br&amp;gt;&lt;br /&gt;
http://de.wikipedia.org/wiki/Entscheidungsbaum&lt;br /&gt;
&lt;br /&gt;
==Teilnehmer==&lt;br /&gt;
[[Benutzer:Jonw|Jonathan Wiens]]: Teamleiter, Entwickler, SVN-Administrator&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:Bepf|Benjamin Pfeiffer]]: Entwickler&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:Nics|Nico Smeenk]]: Systemarchitekt, Entwickler&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:Segr|Sebastian Große]]: Entwickler, Server-Administrator (Wiki), Grafiker, Dokumentar&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:Chge|Christian Gebauer]]: Entwickler, Grafiker, Dokumentar&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Projektmanagement==&lt;br /&gt;
[[Optimaler Entscheidungsbaum: Projektorganisation | Projektorganisation]]&lt;br /&gt;
===SE-Techniken===&lt;br /&gt;
In diesem Projekt wurden intensiv die Methoden der agilen Softwareentwicklung genutzt. Dazu gehört nicht nur der iterative Entwicklungsprozess, sondern auch spezifisch die Anwendungsmöglichkeiten des eXtreme Programming Paradigmas. Mehr Informationen finden sie unter [[Allgemein: Agile Softwareentwicklung | Agile Softwareentwicklung]].&lt;br /&gt;
&lt;br /&gt;
===Vorgehensmodell===&lt;br /&gt;
Für das Projekt &amp;quot;Optimaler Entscheidungsbaum&amp;quot; wurde die Form der iterativen Entwicklung ausgewählt.&lt;br /&gt;
Bestimmte Phasen können dabei dynamisch abgearbeitet werden. Es gibt dennoch einen groben Ablaufplan, in dem versucht wird verschiedene Arbeitsabläufe primär abzuarbeiten. Für das Projekt wurde entschieden die Phasen: Planung/Konzeption , Entwicklung, Test, Auslieferung zu unterscheiden.&lt;br /&gt;
&lt;br /&gt;
[[Optimaler Entscheidungsbaum: Planung der Iterationen |  Planung der Iterationen]]&lt;br /&gt;
&lt;br /&gt;
===Protokolle der Sitzungen===&lt;br /&gt;
[[Optimaler Entscheidungsbaum: Meetings | Meetings]]&lt;br /&gt;
&lt;br /&gt;
==Dokumentation==&lt;br /&gt;
[[Optimaler Entscheidungsbaum: Story Cards | Story Cards]] &amp;lt;br /&amp;gt;&lt;br /&gt;
[[Optimaler Entscheidungsbaum: Handbuch | Handbuch]]&lt;br /&gt;
===Dokumentation der Aufgaben===&lt;br /&gt;
===Pflichtenheft===&lt;br /&gt;
{{pdf | baum_pflichtenheft.pdf | Hier}} kann das Pflichtenheft runtergeladen werden, die Inhalte können jedoch auch [[Optimaler Entscheidungsbaum: Pflichtenheft | hier]] im Portal gelesen werden.&lt;br /&gt;
&lt;br /&gt;
===Präsentation===&lt;br /&gt;
Downloadlink für die Folien zum &lt;br /&gt;
* {{pdf|Baum_zwischenvortrag.pdf | Zwischenvortrag}},&lt;br /&gt;
* {{pdf|Baum_endvortrag.pdf | Endvortrag}}&lt;br /&gt;
&lt;br /&gt;
==Download Optimaler Entscheidungsbaum==&lt;br /&gt;
Solange das Betriebssystem Java 1.6 installiert hat, spielt die Betriebssystemversion keine Rolle.&lt;br /&gt;
&lt;br /&gt;
Windows 32 Bit: {{zip | baum_windows_32.zip | Download}}&lt;br /&gt;
&lt;br /&gt;
Windows 64 Bit: {{zip | baum_windows_64.zip | Download}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Linux 32 Bit: {{zip | baum_linux.tar.gz | Download}}&lt;br /&gt;
&lt;br /&gt;
MacOS X 64 Bit: {{zip | baum_mac.zip | Download}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Testdaten: {{zip | testdaten_baum.zip | Download}}&lt;/div&gt;</summary>
		<author><name>Bepf</name></author>	</entry>

	<entry>
		<id>https://p-servus.net/mediawiki/index.php?title=Projekt:_Optimaler_Entscheidungsbaum</id>
		<title>Projekt: Optimaler Entscheidungsbaum</title>
		<link rel="alternate" type="text/html" href="https://p-servus.net/mediawiki/index.php?title=Projekt:_Optimaler_Entscheidungsbaum"/>
				<updated>2012-06-10T12:56:29Z</updated>
		
		<summary type="html">&lt;p&gt;Bepf: /* Download Optimaler Entscheidungsbaum */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Optimaler_Entscheidungsbaum-Logo.png|thumb|Das ist das Logo von unserem Programm &amp;quot;Baumschule - Optimaler Entscheidungsbäme&amp;quot;]]&lt;br /&gt;
==Einleitung==&lt;br /&gt;
Dies ist die Hauptseite für das Projekt &amp;quot;Optimaler Entscheidungsbaum&amp;quot;.&lt;br /&gt;
===Aufgabenstellung===&lt;br /&gt;
Die offizielle Aufgabenstellung, gestellt von Prof. Dr. Höhne, kann {{pdf|Aufgabenstellung.pdf | hier}} runtergeladen werden.&lt;br /&gt;
&lt;br /&gt;
[[Optimaler Entscheidungsbaum: Kurze Einführung]]&lt;br /&gt;
&lt;br /&gt;
== Konzepte ==&lt;br /&gt;
=== Technische Konzepte ===&lt;br /&gt;
[[Technische Konzepte: Logger | Logger]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Technische Konzepte: Config Manager | Config Manager]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Technische Konzepte: Observer Pattern | Observer Pattern]]&lt;br /&gt;
&lt;br /&gt;
=== Fachliche Konzepte ===&lt;br /&gt;
[[Optimaler Entscheidungsbaum: GUI-Entwurf | GUI-Entwurf]]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Optimaler Entscheidungsbaum: Datenschnittstelle | Datenschnittstelle]] (Repräsentation der Tabellen / Bäume in Java) &amp;lt;br&amp;gt;&lt;br /&gt;
[[Optimaler Entscheidungsbaum: Systemarchitektur | Systemarchitektur]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Optimaler Entscheidungsbaum: Sonstiges (Fachliche Konzepte) | Sonstiges]]&lt;br /&gt;
&lt;br /&gt;
== Linksammlung / Wissensdatenbank ==&lt;br /&gt;
&lt;br /&gt;
http://www.rob.uni-luebeck.de/Lehre/2011s/KI/lectures/10_SS/ai_ch9.pdf &amp;lt;br&amp;gt;&lt;br /&gt;
http://www.youtube.com/watch?v=4BmQ4YAoa8Q &amp;lt;br&amp;gt;&lt;br /&gt;
http://de.wikipedia.org/wiki/Entscheidungsbaum&lt;br /&gt;
&lt;br /&gt;
==Teilnehmer==&lt;br /&gt;
[[Benutzer:Jonw|Jonathan Wiens]]: Teamleiter, Entwickler, SVN-Administrator&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:Bepf|Benjamin Pfeiffer]]: Entwickler&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:Nics|Nico Smeenk]]: Systemarchitekt, Entwickler&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:Segr|Sebastian Große]]: Entwickler, Server-Administrator (Wiki), Grafiker, Dokumentar&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:Chge|Christian Gebauer]]: Entwickler, Grafiker, Dokumentar&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Projektmanagement==&lt;br /&gt;
[[Optimaler Entscheidungsbaum: Projektorganisation | Projektorganisation]]&lt;br /&gt;
===SE-Techniken===&lt;br /&gt;
In diesem Projekt wurden intensiv die Methoden der agilen Softwareentwicklung genutzt. Dazu gehört nicht nur der iterative Entwicklungsprozess, sondern auch spezifisch die Anwendungsmöglichkeiten des eXtreme Programming Paradigmas. Mehr Informationen finden sie unter [[Allgemein: Agile Softwareentwicklung | Agile Softwareentwicklung]].&lt;br /&gt;
&lt;br /&gt;
===Vorgehensmodell===&lt;br /&gt;
Für das Projekt &amp;quot;Optimaler Entscheidungsbaum&amp;quot; wurde die Form der iterativen Entwicklung ausgewählt.&lt;br /&gt;
Bestimmte Phasen können dabei dynamisch abgearbeitet werden. Es gibt dennoch einen groben Ablaufplan, in dem versucht wird verschiedene Arbeitsabläufe primär abzuarbeiten. Für das Projekt wurde entschieden die Phasen: Planung/Konzeption , Entwicklung, Test, Auslieferung zu unterscheiden.&lt;br /&gt;
&lt;br /&gt;
[[Optimaler Entscheidungsbaum: Planung der Iterationen |  Planung der Iterationen]]&lt;br /&gt;
&lt;br /&gt;
===Protokolle der Sitzungen===&lt;br /&gt;
[[Optimaler Entscheidungsbaum: Meetings | Meetings]]&lt;br /&gt;
&lt;br /&gt;
==Dokumentation==&lt;br /&gt;
[[Optimaler Entscheidungsbaum: Story Cards | Story Cards]] &amp;lt;br /&amp;gt;&lt;br /&gt;
[[Optimaler Entscheidungsbaum: Handbuch | Handbuch]]&lt;br /&gt;
===Dokumentation der Aufgaben===&lt;br /&gt;
===Pflichtenheft===&lt;br /&gt;
{{pdf | baum_pflichtenheft.pdf | Hier}} kann das Pflichtenheft runtergeladen werden, die Inhalte können jedoch auch [[Optimaler Entscheidungsbaum: Pflichtenheft | hier]] im Portal gelesen werden.&lt;br /&gt;
&lt;br /&gt;
===Präsentation===&lt;br /&gt;
Downloadlink für die Folien zum &lt;br /&gt;
* {{pdf|Baum_zwischenvortrag.pdf | Zwischenvortrag}},&lt;br /&gt;
* {{pdf|Baum_endvortrag.pdf | Endvortrag}}&lt;br /&gt;
&lt;br /&gt;
==Download Optimaler Entscheidungsbaum==&lt;br /&gt;
Solange das Betriebssystem Java 1.6 installiert hat, spielt die Betriebssystemversion keine Rolle.&lt;br /&gt;
&lt;br /&gt;
Windows 32 Bit: {{zip | baum_windows_32.zip | Download}}&lt;br /&gt;
&lt;br /&gt;
Windows 64 Bit: {{zip | baum_windows_64.zip | Download}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Linux 32 Bit: {{zip | baum_linux.tar.gz | Download}}&lt;br /&gt;
&lt;br /&gt;
MacOS X 64 Bit: {{zip | baum_mac.zip | Download}}&lt;br /&gt;
&lt;br /&gt;
Testdaten: {{zip | testdaten_baum.zip | Download}}&lt;/div&gt;</summary>
		<author><name>Bepf</name></author>	</entry>

	<entry>
		<id>https://p-servus.net/mediawiki/index.php?title=Datei:Baum_windows_64.zip</id>
		<title>Datei:Baum windows 64.zip</title>
		<link rel="alternate" type="text/html" href="https://p-servus.net/mediawiki/index.php?title=Datei:Baum_windows_64.zip"/>
				<updated>2012-06-10T12:54:28Z</updated>
		
		<summary type="html">&lt;p&gt;Bepf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Bepf</name></author>	</entry>

	<entry>
		<id>https://p-servus.net/mediawiki/index.php?title=Datei:Baum_windows_32.zip</id>
		<title>Datei:Baum windows 32.zip</title>
		<link rel="alternate" type="text/html" href="https://p-servus.net/mediawiki/index.php?title=Datei:Baum_windows_32.zip"/>
				<updated>2012-06-10T12:52:32Z</updated>
		
		<summary type="html">&lt;p&gt;Bepf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Bepf</name></author>	</entry>

	<entry>
		<id>https://p-servus.net/mediawiki/index.php?title=Roboter_spielt_M%C3%BChle:_Kinect-Sensor-Frameworks</id>
		<title>Roboter spielt Mühle: Kinect-Sensor-Frameworks</title>
		<link rel="alternate" type="text/html" href="https://p-servus.net/mediawiki/index.php?title=Roboter_spielt_M%C3%BChle:_Kinect-Sensor-Frameworks"/>
				<updated>2012-05-23T11:02:24Z</updated>
		
		<summary type="html">&lt;p&gt;Bepf: /* Bewertung der Frameworks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Kinect-Frameworks ==&lt;br /&gt;
&lt;br /&gt;
Für das Kinect-System von Microsoft existieren mehrere Frameworks und Implementierungen. Hier sollen mehrere Frameworks geprüft und auf ihre Einsatzfähigkeit für unser Projekt untersucht werden. Es gibt die Kinect Kameras in 2 Varianten, die PC und die XBOX Variante. Wir benutzen die XBOX Variante, da diese bereits länger am Markt existiert wird und auch mehr Frameworks zur Verfügung stehen. &lt;br /&gt;
&lt;br /&gt;
Es gibt 3 hauptsächliche Frameworks:&lt;br /&gt;
* Windows SDK&lt;br /&gt;
* OpenNI&lt;br /&gt;
* OpenKinect --&amp;gt; Dazu Wrapper--&amp;gt;Daniel Shiffman's OpenKinect wrapper&lt;br /&gt;
&lt;br /&gt;
=== Bewertung der Frameworks ===&lt;br /&gt;
&lt;br /&gt;
{| border=1px&lt;br /&gt;
|- {{prettyth}}&lt;br /&gt;
! Framework&lt;br /&gt;
! Links&lt;br /&gt;
! Beschreibung&lt;br /&gt;
! Java-Einsatz&lt;br /&gt;
! Erfahrungen&lt;br /&gt;
|--------&lt;br /&gt;
| OpenNI&lt;br /&gt;
| &lt;br /&gt;
* http://75.98.78.94/default.aspx&lt;br /&gt;
* http://openni.org/Documentation/Tutorial/smpl_simple_view_java.html&lt;br /&gt;
| Dieses Framework bündelt mehrere Kamera-Systeme und bietet eine eigene API und Treiber.&lt;br /&gt;
Die offiziellen Treiber sind für 32bit und Windows XP vorgehesen, es gibt aber bereits angepasste Versionen für andere Betriebssyteme.&lt;br /&gt;
| OpenNi bietet, laut der offiziellen Internetseite, die Möglichkeit die Treiber (bzw. API) per Java anzusprechen. Es finden sich verschiedene Tutorials auf der Internet-Seite.&lt;br /&gt;
| Das Installieren der Treiber funkionierte nicht auf Anhieb. Es mussten verschiedenste Versionen und Kombinationen mit anderen notwendigen Paketen ausprobiert werden. Am Ende konnten zwar Beispielprogramme ausgeführt werden, die aufgeführten Java-Beispiele konnten nicht nachprogrammiert werden, die benötigten Funktionen waren nicht im BeispielCode enthalten oder in der Dokumentation beschrieben.&lt;br /&gt;
|-&lt;br /&gt;
| OpenKinect &lt;br /&gt;
| &lt;br /&gt;
* http://openkinect.org/wiki/Main_Page&lt;br /&gt;
| Dieses Framework(bzw. Projekt) hatte in der ersten Phase eine eigene Implementierung eines Treibers (DLL). Mittlerweile wird nur noch auf das OpenNI-Framework verwiesen und das Projekt bildet eine große Informationssammlung.&lt;br /&gt;
| Durch einen  Wrapper sollte es möglich sein die DLL zu importieren und mit Java zu benutzen.&lt;br /&gt;
| Das Projekt bezieht sich auf das OpenNI Projekt, weshalb dieselben Probleme auftraten. Das Einbinden der DLL wurde nicht ausprobiert und verworfen, da die benötigten Funktionen erst noch selbstständig für die Java-Anwendung angepasst werden müssten (Datenkonvertierung etc..). Auch dieses Projekt wurde nicht weiter in Betracht gezogen.&lt;br /&gt;
|-&lt;br /&gt;
| Windows SDK&lt;br /&gt;
| &lt;br /&gt;
* http://www.microsoft.com/en-us/kinectforwindows/develop/developer-downloads.aspx&lt;br /&gt;
* http://www.microsoft.com/en-us/kinectforwindows&lt;br /&gt;
| Nach dem ein OpenSource-Treiber für Windows entwickelt wurde, gab Microsoft kurze Zeit später eigene Treiber heraus und dazu ein komplettes SDK. Dieses SDK enthielt zahlreiche Beispiele und Funktionen. Die erste Version war ausschließlich für die XBOX-360-Variante der Kamera gedacht. (Weil es bis dahin auch nur diese gab.). Im Februar 2012 wurde die PC-Variante herausgegeben und damit einhergehend auch ein neues Framework. (Version 1.0). Mittlerweile existiert die Version 1.5. Im Gegensatz zur XBOX-Variante kann die Kamera auch mit niedrigeren Distanzen (bis 40cm) umgehen.&lt;br /&gt;
| Durch das Projekt &amp;quot;KINECT TCP IP&amp;quot; &lt;br /&gt;
* https://sites.google.com/a/temple.edu/kinecttcp/ &lt;br /&gt;
wird das Windows SDK für alle Programmiersprachen verfügbar, die mit Socket-Verbindungen umgehen können, dementsprechend auch JAVA.&lt;br /&gt;
Es existiert eine Beispielanwendung für Java, die alle für das Projekt nötigen Funktionen abdeckt.&lt;br /&gt;
(Tiefen-, RGB-Bild, Zugriff auf die Personerkennung).&lt;br /&gt;
Das Projekt hat einen &amp;quot;Nachteil&amp;quot;, der TCP-Server kann nur mit der BETA-Version des SDK (also die Version für die XBOX-Variante) arbeiten. &lt;br /&gt;
| Die Installation des Beta-Treiber funktionierte auf Anhieb und problemlos. Das BeispielProgramm für &amp;quot;KINECT TCP IP&amp;quot;  wurde genauso problemlos in ein Eclipse-Projekt überführt und gestartet. Durch die Vorlage konnten bereits viele Elemente der Spielsteinerkennung implementiert werden. Durch das Beispielprojekt entfällt eine Anpassung der Datentypen, da diese schon in einem geeigneten Format vorliegen. Das Programm von Hr. Dr. Lakaemper liegt zusätzlich in einer anpassbaren VisualStudio-Datei vor. Dadurch konnte eine eigene Version des Servers kompliert werden, mit der es nun auch möglich ist, die Kinect Kamera über Servo-Motoren horizontal zu bewegen. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Entscheidung ===&lt;br /&gt;
&lt;br /&gt;
Aufgrund des wirklich leichten Einstiegs wurde das Microsoft SKD in Verbindung mit Hr. Dr. Lakaempers KinectTCP gewählt.&lt;/div&gt;</summary>
		<author><name>Bepf</name></author>	</entry>

	<entry>
		<id>https://p-servus.net/mediawiki/index.php?title=Roboter_spielt_M%C3%BChle:_Kinect-Sensor-Frameworks</id>
		<title>Roboter spielt Mühle: Kinect-Sensor-Frameworks</title>
		<link rel="alternate" type="text/html" href="https://p-servus.net/mediawiki/index.php?title=Roboter_spielt_M%C3%BChle:_Kinect-Sensor-Frameworks"/>
				<updated>2012-05-23T10:57:41Z</updated>
		
		<summary type="html">&lt;p&gt;Bepf: /* Bewertung der Frameworks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Kinect-Frameworks ==&lt;br /&gt;
&lt;br /&gt;
Für das Kinect-System von Microsoft existieren mehrere Frameworks und Implementierungen. Hier sollen mehrere Frameworks geprüft und auf ihre Einsatzfähigkeit für unser Projekt untersucht werden. Es gibt die Kinect Kameras in 2 Varianten, die PC und die XBOX Variante. Wir benutzen die XBOX Variante, da diese bereits länger am Markt existiert wird und auch mehr Frameworks zur Verfügung stehen. &lt;br /&gt;
&lt;br /&gt;
Es gibt 3 hauptsächliche Frameworks:&lt;br /&gt;
* Windows SDK&lt;br /&gt;
* OpenNI&lt;br /&gt;
* OpenKinect --&amp;gt; Dazu Wrapper--&amp;gt;Daniel Shiffman's OpenKinect wrapper&lt;br /&gt;
&lt;br /&gt;
=== Bewertung der Frameworks ===&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable|width:100%;}}&lt;br /&gt;
|- {{prettyth}}&lt;br /&gt;
! Framework&lt;br /&gt;
! Links&lt;br /&gt;
! Beschreibung&lt;br /&gt;
! Java-Einsatz&lt;br /&gt;
! Erfahrungen&lt;br /&gt;
|--------&lt;br /&gt;
| OpenNI&lt;br /&gt;
| &lt;br /&gt;
* http://75.98.78.94/default.aspx&lt;br /&gt;
* http://openni.org/Documentation/Tutorial/smpl_simple_view_java.html&lt;br /&gt;
| Dieses Framework bündelt mehrere Kamera-Systeme und bietet eine eigene API und Treiber.&lt;br /&gt;
Die offiziellen Treiber sind für 32bit und Windows XP vorgehesen, es gibt aber bereits angepasste Versionen für andere Betriebssyteme.&lt;br /&gt;
| OpenNi bietet, laut der offiziellen Internetseite, die Möglichkeit die Treiber (bzw. API) per Java anzusprechen. Es finden sich verschiedene Tutorials auf der Internet-Seite.&lt;br /&gt;
| Das Installieren der Treiber funkionierte nicht auf Anhieb. Es mussten verschiedenste Versionen und Kombinationen mit anderen notwendigen Paketen ausprobiert werden. Am Ende konnten zwar Beispielprogramme ausgeführt werden, die aufgeführten Java-Beispiele konnten nicht nachprogrammiert werden, die benötigten Funktionen waren nicht im BeispielCode enthalten oder in der Dokumentation beschrieben.&lt;br /&gt;
|-&lt;br /&gt;
| OpenKinect &lt;br /&gt;
| &lt;br /&gt;
* http://openkinect.org/wiki/Main_Page&lt;br /&gt;
| Dieses Framework(bzw. Projekt) hatte in der ersten Phase eine eigene Implementierung eines Treibers (DLL). Mittlerweile wird nur noch auf das OpenNI-Framework verwiesen und das Projekt bildet eine große Informationssammlung.&lt;br /&gt;
| Durch einen  Wrapper sollte es möglich sein die DLL zu importieren und mit Java zu benutzen.&lt;br /&gt;
| Das Projekt bezieht sich auf das OpenNI Projekt, weshalb dieselben Probleme auftraten. Das Einbinden der DLL wurde nicht ausprobiert und verworfen, da die benötigten Funktionen erst noch selbstständig für die Java-Anwendung angepasst werden müssten (Datenkonvertierung etc..). Auch dieses Projekt wurde nicht weiter in Betracht gezogen.&lt;br /&gt;
|-&lt;br /&gt;
| Windows SDK&lt;br /&gt;
| &lt;br /&gt;
* http://www.microsoft.com/en-us/kinectforwindows/develop/developer-downloads.aspx&lt;br /&gt;
* http://www.microsoft.com/en-us/kinectforwindows&lt;br /&gt;
| Nach dem ein OpenSource-Treiber für Windows entwickelt wurde, gab Microsoft kurze Zeit später eigene Treiber heraus und dazu ein komplettes SDK. Dieses SDK enthielt zahlreiche Beispiele und Funktionen. Die erste Version war ausschließlich für die XBOX-360-Variante der Kamera gedacht. (Weil es bis dahin auch nur diese gab.). Im Februar 2012 wurde die PC-Variante herausgegeben und damit einhergehend auch ein neues Framework. (Version 1.0). Mittlerweile existiert die Version 1.5. Im Gegensatz zur XBOX-Variante kann die Kamera auch mit niedrigeren Distanzen (bis 40cm) umgehen.&lt;br /&gt;
| Durch das Projekt &amp;quot;KINECT TCP IP&amp;quot; &lt;br /&gt;
* https://sites.google.com/a/temple.edu/kinecttcp/ &lt;br /&gt;
wird das Windows SDK für alle Programmiersprachen verfügbar, die mit Socket-Verbindungen umgehen können, dementsprechend auch JAVA.&lt;br /&gt;
Es existiert eine Beispielanwendung für Java, die alle für das Projekt nötigen Funktionen abdeckt.&lt;br /&gt;
(Tiefen-, RGB-Bild, Zugriff auf die Personerkennung).&lt;br /&gt;
Das Projekt hat einen &amp;quot;Nachteil&amp;quot;, der TCP-Server kann nur mit der BETA-Version des SDK (also die Version für die XBOX-Variante) arbeiten. &lt;br /&gt;
| Die Installation des Beta-Treiber funktionierte auf Anhieb und problemlos. Das BeispielProgramm für &amp;quot;KINECT TCP IP&amp;quot;  wurde genauso problemlos in ein Eclipse-Projekt überführt und gestartet. Durch die Vorlage konnten bereits viele Elemente der Spielsteinerkennung implementiert werden. Durch das Beispielprojekt entfällt eine Anpassung der Datentypen, da diese schon in einem geeigneten Format vorliegen. Das Programm von Hr. Dr. Lakaemper liegt zusätzlich in einer anpassbaren VisualStudio-Datei vor. Dadurch konnte eine eigene Version des Servers kompliert werden, mit der es nun auch möglich ist, die Kinect Kamera über Servo-Motoren horizontal zu bewegen. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Entscheidung ===&lt;br /&gt;
&lt;br /&gt;
Aufgrund des wirklich leichten Einstiegs wurde das Microsoft SKD in Verbindung mit Hr. Dr. Lakaempers KinectTCP gewählt.&lt;/div&gt;</summary>
		<author><name>Bepf</name></author>	</entry>

	<entry>
		<id>https://p-servus.net/mediawiki/index.php?title=Roboter_spielt_M%C3%BChle:_Kinect-Sensor-Frameworks</id>
		<title>Roboter spielt Mühle: Kinect-Sensor-Frameworks</title>
		<link rel="alternate" type="text/html" href="https://p-servus.net/mediawiki/index.php?title=Roboter_spielt_M%C3%BChle:_Kinect-Sensor-Frameworks"/>
				<updated>2012-05-23T10:46:16Z</updated>
		
		<summary type="html">&lt;p&gt;Bepf: /* Bewertung der Frameworks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Kinect-Frameworks ==&lt;br /&gt;
&lt;br /&gt;
Für das Kinect-System von Microsoft existieren mehrere Frameworks und Implementierungen. Hier sollen mehrere Frameworks geprüft und auf ihre Einsatzfähigkeit für unser Projekt untersucht werden. Es gibt die Kinect Kameras in 2 Varianten, die PC und die XBOX Variante. Wir benutzen die XBOX Variante, da diese bereits länger am Markt existiert wird und auch mehr Frameworks zur Verfügung stehen. &lt;br /&gt;
&lt;br /&gt;
Es gibt 3 hauptsächliche Frameworks:&lt;br /&gt;
* Windows SDK&lt;br /&gt;
* OpenNI&lt;br /&gt;
* OpenKinect --&amp;gt; Dazu Wrapper--&amp;gt;Daniel Shiffman's OpenKinect wrapper&lt;br /&gt;
&lt;br /&gt;
=== Bewertung der Frameworks ===&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable|width:100%;}}&lt;br /&gt;
|- {{prettyth}}&lt;br /&gt;
! Framework&lt;br /&gt;
! Links&lt;br /&gt;
! Beschreibung&lt;br /&gt;
! Java-Einsatz&lt;br /&gt;
! Erfahrungen&lt;br /&gt;
|--------&lt;br /&gt;
| OpenNI&lt;br /&gt;
| &lt;br /&gt;
* http://75.98.78.94/default.aspx&lt;br /&gt;
* http://openni.org/Documentation/Tutorial/smpl_simple_view_java.html&lt;br /&gt;
| Dieses Framework bündelt mehrere Kamera-Systeme und bietet eine eigene API und Treiber.&lt;br /&gt;
Die offiziellen Treiber sind für 32bit und Windows XP vorgehesen, es gibt aber bereits angepasste Versionen für andere Betriebssyteme.&lt;br /&gt;
| OpenNi bietet, laut der offiziellen Internetseite, die Möglichkeit die Treiber (bzw. API) per Java anzusprechen. Es finden sich verschiedene Tutorials auf der Internet-Seite.&lt;br /&gt;
| Das Installieren der Treiber funkionierte nicht auf Anhieb. Es mussten verschiedenste Versionen und Kombinationen mit anderen notwendigen Paketen ausprobiert werden. Am Ende konnten zwar Beispielprogramme ausgeführt werden, die aufgeführten Java-Beispiele konnten nicht nachprogrammiert werden, die benötigten Funktionen waren nicht im BeispielCode enthalten oder in der Dokumentation beschrieben.&lt;br /&gt;
|-&lt;br /&gt;
| OpenKinect &lt;br /&gt;
| &lt;br /&gt;
* http://openkinect.org/wiki/Main_Page&lt;br /&gt;
| Dieses Framework(bzw. Projekt) hatte in der ersten Phase eine eigene Implementierung eines Treibers (DLL). Mittlerweile wird nur noch auf das OpenNI-Framework verwiesen und das Projekt bildet eine große Informationssammlung.&lt;br /&gt;
| Durch einen  Wrapper sollte es möglich sein die DLL zu importieren und mit Java zu benutzen.&lt;br /&gt;
| Das Projekt bezieht sich auf das OpenNI Projekt, weshalb dieselben Probleme auftraten. Das Einbinden der DLL wurde nicht ausprobiert und verworfen, da die benötigten Funktionen erst noch selbstständig für die Java-Anwendung angepasst werden müssten (Datenkonvertierung etc..). Auch dieses Projekt wurde nicht weiter in Betracht gezogen.&lt;br /&gt;
|-&lt;br /&gt;
| Windows SDK&lt;br /&gt;
| &lt;br /&gt;
* http://www.microsoft.com/en-us/kinectforwindows/develop/developer-downloads.aspx&lt;br /&gt;
* http://www.microsoft.com/en-us/kinectforwindows&lt;br /&gt;
| Nach dem ein OpenSource-Treiber für Windows entwickelt wurde, gab Microsoft kurze Zeit später eigene Treiber heraus und dazu ein komplettes SDK. Dieses SDK enthielt zahlreiche Beispiele und Funktionen. Die erste Version war ausschließlich für die XBOX-360-Variante der Kamera gedacht. (Weil es bis dahin auch nur diese gab.). Im Februar 2012 wurde die PC-Variante herausgegeben und damit einhergehend auch ein neues Framework. (Version 1.0). Mittlerweile existiert die Version 1.5. Im Gegensatz zur XBOX-Variante kann die Kamera auch mit niedrigeren Distanzen (bis 40cm) umgehen.&lt;br /&gt;
| Durch das Projekt &amp;quot;KINECT TCP IP&amp;quot; &lt;br /&gt;
* https://sites.google.com/a/temple.edu/kinecttcp/ &lt;br /&gt;
wird das Windows SDK für alle Programmiersprachen verfügbar, die mit Socket-Verbindungen umgehen können, dementsprechend auch JAVA.&lt;br /&gt;
Es existiert eine Beispielanwendung für Java, die alle für das Projekt nötigen Funktionen abdeckt.&lt;br /&gt;
(Tiefen-, RGB-Bild, Zugriff auf die Personerkennung).&lt;br /&gt;
Das Projekt hat einen &amp;quot;Nachteil&amp;quot;, der TCP-Server kann nur mit der BETA-Version des SDK (also die Version für die XBOX-Variante) arbeiten. &lt;br /&gt;
| Die Installation des Beta-Treiber funktionierte auf Anhieb und problemlos. Das BeispielProgramm für &amp;quot;KINECT TCP IP&amp;quot;  wurde genauso problemlos in ein Eclipse-Projekt überführt und gestartet.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* KINECT TCP IP--&amp;gt; benutzt das offizelle Windows SDK, verschickt die Daten über Ethernet, eventuell lanngsam&lt;/div&gt;</summary>
		<author><name>Bepf</name></author>	</entry>

	<entry>
		<id>https://p-servus.net/mediawiki/index.php?title=Roboter_spielt_M%C3%BChle:_Kinect-Sensor-Frameworks</id>
		<title>Roboter spielt Mühle: Kinect-Sensor-Frameworks</title>
		<link rel="alternate" type="text/html" href="https://p-servus.net/mediawiki/index.php?title=Roboter_spielt_M%C3%BChle:_Kinect-Sensor-Frameworks"/>
				<updated>2012-05-23T09:13:43Z</updated>
		
		<summary type="html">&lt;p&gt;Bepf: /* Kinect-Frameworks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Kinect-Frameworks ==&lt;br /&gt;
&lt;br /&gt;
Für das Kinect-System von Microsoft existieren mehrere Frameworks und Implementierungen. Hier sollen mehrere Frameworks geprüft und auf ihre Einsatzfähigkeit für unser Projekt untersucht werden. Es gibt die Kinect Kameras in 2 Varianten, die PC und die XBOX Variante. Wir benutzen die XBOX Variante, da diese bereits länger am Markt existiert wird und auch mehr Frameworks zur Verfügung stehen. &lt;br /&gt;
&lt;br /&gt;
Es gibt 3 hauptsächliche Frameworks:&lt;br /&gt;
* Windows SDK&lt;br /&gt;
* OpenNI&lt;br /&gt;
* OpenKinect --&amp;gt; Dazu Wrapper--&amp;gt;Daniel Shiffman's OpenKinect wrapper&lt;br /&gt;
&lt;br /&gt;
=== Bewertung der Frameworks ===&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
! Framework&lt;br /&gt;
! Links&lt;br /&gt;
! Beschreibung&lt;br /&gt;
! Java-Einsatz&lt;br /&gt;
! Erfahrungen&lt;br /&gt;
|--------&lt;br /&gt;
| OpenNI&lt;br /&gt;
| &lt;br /&gt;
* http://75.98.78.94/default.aspx&lt;br /&gt;
* http://openni.org/Documentation/Tutorial/smpl_simple_view_java.html&lt;br /&gt;
| Dieses Framework bündelt mehrere Kamera-Systeme und bietet eine eigene API und Treiber.&lt;br /&gt;
Die offiziellen Treiber sind für 32bit und Windows XP vorgehesen, es gibt aber bereits angepasste Versionen für andere Betriebssyteme.&lt;br /&gt;
| OpenNi bietet, laut der offiziellen Internetseite, die Möglichkeit die Treiber (bzw. API) per Java anzusprechen. Es finden sich verschiedene Tutorials auf der Internet-Seite.&lt;br /&gt;
| Das Installieren der Treiber funkionierte nicht auf Anhieb. Es mussten verschiedenste Versionen und Kombinationen mit anderen notwendigen Paketen ausprobiert werden. Am Ende konnten zwar Beispielprogramme ausgeführt werden, die aufgeführten Java-Beispiele konnten nicht nachprogrammiert werden, die benötigten Funktionen waren nicht im BeispielCode enthalten oder in der Dokumentation beschrieben.&lt;br /&gt;
|-&lt;br /&gt;
| OpenKinect &lt;br /&gt;
| &lt;br /&gt;
* http://openkinect.org/wiki/Main_Page&lt;br /&gt;
| Dieses Framework(bzw. Projekt) hatte in der ersten Phase eine eigene Implementierung eines Treibers (DLL). Mittlerweile wird nur noch auf das OpenNI-Framework verwiesen und das Projekt bildet eine große Informationssammlung.&lt;br /&gt;
| Durch einen  Wrapper sollte es möglich sein die DLL zu importieren und mit Java zu benutzen.&lt;br /&gt;
| Das Projekt bezieht sich auf das OpenNI Projekt, weshalb dieselben Probleme auftraten. Das Einbinden der DLL wurde nicht ausprobiert und verworfen, da die benötigten Funktionen erst noch selbstständig für die Java-Anwendung angepasst werden müssten (Datenkonvertierung etc..). Auch dieses Projekt wurde nicht weiter in Betracht gezogen.&lt;br /&gt;
|-&lt;br /&gt;
| Windows SDK&lt;br /&gt;
| &lt;br /&gt;
* http://www.microsoft.com/en-us/kinectforwindows/develop/developer-downloads.aspx&lt;br /&gt;
* http://www.microsoft.com/en-us/kinectforwindows&lt;br /&gt;
| Nach dem ein OpenSource-Treiber für Windows entwickelt wurde, gab Microsoft kurze Zeit später eigene Treiber heraus und dazu ein komplettes SDK. Dieses SDK enthielt zahlreiche Beispiele und Funktionen. Die erste Version war ausschließlich für die XBOX-360-Variante der Kamera gedacht. (Weil es bis dahin auch nur diese gab.). Im Februar 2012 wurde die PC-Variante herausgegeben und damit einhergehend auch ein neues Framework. (Version 1.0). Mittlerweile existiert die Version 1.5. Im Gegensatz zur XBOX-Variante kann die Kamera auch mit niedrigeren Distanzen (bis 40cm) umgehen.&lt;br /&gt;
| Durch das Projekt &amp;quot;KINECT TCP IP&amp;quot; &lt;br /&gt;
* https://sites.google.com/a/temple.edu/kinecttcp/ &lt;br /&gt;
wird das Windows SDK für alle Programmiersprachen verfügbar, die mit Socket-Verbindungen umgehen können, dementsprechend auch JAVA.&lt;br /&gt;
Es existiert eine Beispielanwendung für Java, die alle für das Projekt nötigen Funktionen abdeckt.&lt;br /&gt;
(Tiefen-, RGB-Bild, Zugriff auf die Personerkennung).&lt;br /&gt;
Das Projekt hat einen &amp;quot;Nachteil&amp;quot;, der TCP-Server kann nur mit der BETA-Version des SDK (also die Version für die XBOX-Variante) arbeiten. &lt;br /&gt;
| Die Installation des Beta-Treiber funktionierte auf Anhieb und problemlos. Das BeispielProgramm für &amp;quot;KINECT TCP IP&amp;quot;  wurde genauso problemlos in ein Eclipse-Projekt überführt und gestartet.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* KINECT TCP IP--&amp;gt; benutzt das offizelle Windows SDK, verschickt die Daten über Ethernet, eventuell lanngsam&lt;/div&gt;</summary>
		<author><name>Bepf</name></author>	</entry>

	<entry>
		<id>https://p-servus.net/mediawiki/index.php?title=Roboter_spielt_M%C3%BChle:_M%C3%B6glichkeiten_f%C3%BCr_eine_neue_Kamera</id>
		<title>Roboter spielt Mühle: Möglichkeiten für eine neue Kamera</title>
		<link rel="alternate" type="text/html" href="https://p-servus.net/mediawiki/index.php?title=Roboter_spielt_M%C3%BChle:_M%C3%B6glichkeiten_f%C3%BCr_eine_neue_Kamera"/>
				<updated>2012-05-23T08:43:53Z</updated>
		
		<summary type="html">&lt;p&gt;Bepf: /* Microsoft Kinect und OpenSource Treiber */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Einleitung ==&lt;br /&gt;
&lt;br /&gt;
Momentan gibt es leider kein Kamerasystem für das Roboter spielt Mühle Projekt. &amp;lt;br&amp;gt;&lt;br /&gt;
Es soll nun geprüft werden welche Möglichkeiten es gibt eine neue Kamera anzuschaffen und was die Kosten/Nutzen sind. &amp;lt;br&amp;gt;&lt;br /&gt;
Die Kamera / das System muss mindestens die Spielsteine auf dem Spielfeld erkennen können.&amp;lt;br&amp;gt;&lt;br /&gt;
Ggf. soll außerdem das Spielfeld an sich ( die schwarzen Linien ) erfasst werden. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[Noch nicht festgelegt: Es sollte erkannt werden, ob sich eine Hand im Spielfeld bewegt um so festzustellen ob /wie lange der menschliche Gegenspieler einen Spielzug macht. Dabei müsste aber eine fast %100ige Sicherheit der Erkennung bestehen um Verletzungen auszuschließen.] &lt;br /&gt;
&lt;br /&gt;
Wenn wir ein System bennutzen wollen, sollte dieses irgendwie mit Java benutzbar sein, weil wir uns auf diese Sprache als Grundlage verständigt haben.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Bisher gefundene Möglichkeiten ==&lt;br /&gt;
&lt;br /&gt;
=== Normale USB-Webcam / eigene Bilderkennung ===&lt;br /&gt;
&lt;br /&gt;
Als schnellste und kostengünstigste Lösung würde sich eine &amp;quot;normale&amp;quot; USB-Webcam anbieten. &amp;lt;br&amp;gt;&lt;br /&gt;
Wir müssten dann selbst die Bilder speichern und auswerten. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das größte Problem: Die Schnittstelle zu Java. Es ist möglich mitHilfe von Java Bilder einer WebCam aufzunehmen (Mit Hilfe des Java Media Frameworks). Ob das für alle Webcam Typen gilt, ist unbekannt. Es könnte aber theoretisch auch über ein anderes Framework auf die dll zugegriffen werden. Das würde aber erheblichen Arbeitsaufwand bedeuten. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn das Bild eingelesen ist sollte ein Bilderkennung auch mit Java implementierbar sein. (Eigentlich denke ich würde es reichen bestimmte Areale(also da wo Spielsteine vorhanden sein sollten) auf die Pixelfarben hin zu überprüfen, ist der Anteil eher weiß --&amp;gt; weißer Spielstein, eher schwarz --&amp;gt; schwarzer Spielstein. (Das müsste natürlich noch ausgearbeitet werden)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Die Kamera sollte eine relativ hohe Auflösung bieten und einen Autofokus.&lt;br /&gt;
Z.B.&lt;br /&gt;
&lt;br /&gt;
http://www.idealo.de/preisvergleich/OffersOfProduct/2836133_-hd-webcam-c615-logitech.html&lt;br /&gt;
&lt;br /&gt;
Preis ca. 60-120€&lt;br /&gt;
&lt;br /&gt;
=== Microsoft Kinect und OpenSource Treiber ===&lt;br /&gt;
&lt;br /&gt;
[Edit: Diese Variante wird im aktuellen Projekt benutzt]&lt;br /&gt;
&lt;br /&gt;
Eine weitere interessante Möglichkeit bietet die Verwendung einer Kinect Kamera. Diese wurde eigentlich für die XBOX zur Gestensteuerung entwickelt, kann aber mit OpenSource Treibern auch für den Windows Pc benutzt werden. &amp;lt;br&amp;gt;&lt;br /&gt;
Diese Kamera bietet außerdem dem Vorteil, dass sie sogar dreidimensional aufnehmen kann und sogar das Spielfeld dreidimensional abbilden könnte. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es existieren Frameworks (auch für Java) mit deren Hilfe auch vorher eingelernteObjekte erkannt werden sollen (laut einiger Internetquellen).&lt;br /&gt;
Wenn wir uns dafür entscheiden müssten aber auch sehr viel Zeit investiert werden um überhaupt die Grundprinzipen zu verstehen, aber sollte das Framework wirklich wie versprochen funktionieren, wäre dies sicherlich eine der einfachsten Lösungen.&lt;br /&gt;
Wahrscheinlich könnte die Kinect Kamera notfalls als &amp;quot;normale&amp;quot; WebCam benutzt werden, falls wir es mit dem Framework doch nicht schaffen.&lt;br /&gt;
&lt;br /&gt;
Mit der Kinect Kamera ist es wahrscheinlich am ehesten möglich eine Hand im Spielfeld zu erkennen und sogar nachzuverfolgen.&lt;br /&gt;
&lt;br /&gt;
http://openkinect.org/wiki/Main_Page &amp;lt;br&amp;gt;&lt;br /&gt;
http://www.hardware-infos.com/news.php?news=3766 &amp;lt;br&amp;gt;&lt;br /&gt;
http://kinecthacks.net/ &amp;lt;br&amp;gt;&lt;br /&gt;
http://sgoeblog.wordpress.com/2010/12/05/howto-openkinect-with-java-for-win-7-64bit/ &amp;lt;br&amp;gt;&lt;br /&gt;
http://www.kinecthacks.com/kinect-java-wrapper-for-openni-paint-drip/ &amp;lt;br&amp;gt;&lt;br /&gt;
http://www.idealo.de/preisvergleich/OffersOfProduct/1733765_-kinect-sensor-kinect-adventures-xbox-360.html &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Preis ca. 90-130€&lt;br /&gt;
&lt;br /&gt;
=== Matrox mit der Software Matrox Imaging Library (MIL) ===&lt;br /&gt;
&lt;br /&gt;
Die Firma Matrox bietet komplette Kamerasysteme zur industriellen Bilderkennung an. &amp;lt;br&amp;gt;&lt;br /&gt;
Die Kameras selbst sind kleine Embedded Systeme auf denen eine Software läuft. &amp;lt;br&amp;gt;&lt;br /&gt;
Diese Software kann graphisch programmiert werden (durch hinzufügen und Verbinden verschiedener Bilderennungs/Steuerungselemente) &amp;lt;br&amp;gt;&lt;br /&gt;
Das gesamte System kann wohl einerseits Text erkennen aber auch Formen und Strukturen. Diese können auch eingelernt werden. &amp;lt;br&amp;gt;&lt;br /&gt;
Die Kommunikation mit diesem System erfolgt über eine Ethernet Verbindung und ist damit praktisch mit jeder Programmiersprache kompatibel.&amp;lt;br&amp;gt;&lt;br /&gt;
Es müsste aber zusätzlich noch eine Linse gekauft werden, die auch noch die exakte Brennweite für unser Problem aufweisen muss. (Die Kamera hat also keinen Autofokus). Das Bild wird monochrom aufgenommen (Wahrscheinlich schwierig weiß/schwarz/hintergrund zu erkennen?)&lt;br /&gt;
&lt;br /&gt;
http://www.matrox.com/imaging/de/products/software/mil/ &amp;lt;br&amp;gt;&lt;br /&gt;
http://www.rauscher.de/Produkte/Intelligente-Kameras/ &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(Wir bräuchten dann wahrscheinlich die Matrox Iris GT mit Design Assistant)&lt;br /&gt;
&lt;br /&gt;
Preis: Mindestens 5000€ (ob die Matrox Imaging Library enthalten ist bzw. der Design assistant, ist noch nicht geklärt)&lt;br /&gt;
&lt;br /&gt;
--&amp;gt; Wahrscheinlich die einfachste Lösung, aber auch die teuerste&lt;br /&gt;
&lt;br /&gt;
=== COGNEX In-Sight 5400 ===&lt;br /&gt;
&lt;br /&gt;
Diese Kamera bietet allem Anschein nach ähnliche Funktionen wie die von Matrox.&lt;br /&gt;
Welche Funktionen das genau sind und wie man mit dieser Kamera eine Bilderkennung vollziehen kann, weiß ich (noch) nicht.&lt;br /&gt;
&lt;br /&gt;
Preis: Wird noch angefragt.&lt;br /&gt;
&lt;br /&gt;
http://www.xpertgate.de/produkt/In-Sight5400/index.html&lt;br /&gt;
&lt;br /&gt;
=== CMUcam3 ===&lt;br /&gt;
&lt;br /&gt;
Eine Kamera die von einer Hochschule entwickelt wurde und auch Bilderkennungsmethoden (wie Objekterkennung) beherrschen soll. Sie ist frei programmierbar. &amp;lt;br&amp;gt;&lt;br /&gt;
Wie die Kommunikation/Programmierung erfolgt habe ich aber noch nicht herausgefunden. (Seriell?; Es gibt wohl ein Opensource Framework) &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Diese Möglichkeit ist auch relativ preiswert, aber ich denke alleine der Aufbau (Kamera ist nur auf einer Platine, echte Schnittstellen müssen wahrscheinlich gelötet werden etc..) wird schon einige Zeit in Anspruch nehmen. Auch die Programmierung sieht (auf den ersten Blick) recht kompliziert aus.&lt;br /&gt;
&lt;br /&gt;
http://elmicro.com/de/cmucam3.html&lt;br /&gt;
&lt;br /&gt;
Preis: ca. 180€ , wahrscheinlich nur noch Restposten&lt;br /&gt;
&lt;br /&gt;
http://www.roboter-teile.de/Oxid/Kamera-Module/CMUcam3-Fertigmodul.html&lt;/div&gt;</summary>
		<author><name>Bepf</name></author>	</entry>

	<entry>
		<id>https://p-servus.net/mediawiki/index.php?title=Projekt:_Roboter_spielt_M%C3%BChle</id>
		<title>Projekt: Roboter spielt Mühle</title>
		<link rel="alternate" type="text/html" href="https://p-servus.net/mediawiki/index.php?title=Projekt:_Roboter_spielt_M%C3%BChle"/>
				<updated>2012-05-23T08:43:03Z</updated>
		
		<summary type="html">&lt;p&gt;Bepf: /* Bilderkennung/Kamera/Sensorik */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Roboter_spielt_Mühle-Logo.png|thumb|Das ist das Logo von unserem Projekt &amp;quot;Roboter spielt Mühle&amp;quot;]]&lt;br /&gt;
==Einleitung==&lt;br /&gt;
...&lt;br /&gt;
==Aufgabenstellung==&lt;br /&gt;
&lt;br /&gt;
[[Roboter spielt Mühle:Mögliche Anforderungen | Sammlung von möglichen Anforderungen, die das System können muss (BrainStorming)]]&lt;br /&gt;
&lt;br /&gt;
[[Roboter spielt Mühle:Rahmenbedingungen | Rahmenbedingungen die geklärt werden müssen]]&lt;br /&gt;
&lt;br /&gt;
==Arbeitsbereich der Teilprojekte==&lt;br /&gt;
&lt;br /&gt;
===Bilderkennung/Kamera/Sensorik===&lt;br /&gt;
[[Roboter spielt Mühle: Möglichkeiten für eine neue Kamera | Mögliche Kamerasysteme]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Roboter spielt Mühle: Kinect-Sensor-Frameworks | Auflistung von Frameworks zur Benutzung des Kinect-Sensors]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Roboter spielt Mühle: Sicherheitskonzept | Sicherheitskonzept für den sicheren Betrieb des Roboters]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Steuerung Roboter===&lt;br /&gt;
[[Roboter spielt Mühle: Ansteuerung RS232 | Ansteuerung einer RS232-Schnittstelle mittels Java]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Roboter spielt Mühle: Roboter Instandsetzung | Instandsetzung des Mitsubishi RV-E2]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Roboter spielt Mühle: Erkenntnisse aus den Dokumenten | Erkenntnisse zum Roboter die wir aus den Dokumenten gewonnen haben]]&lt;br /&gt;
&lt;br /&gt;
===Graphische Benutzeroberfläche / Logik des Mühlespiels / KI===&lt;br /&gt;
[[Roboter spielt Mühle: Erste Ideen zur Umsetzung des Mühlespiels | Erste Ideen/Informationen]]&lt;br /&gt;
&lt;br /&gt;
=== Schnittstellen ===&lt;br /&gt;
Für alle 3 Teilthemen müssen Schnittstellen existieren, damit an allen Bereichen gleichzeitig gearbeitet werden kann.&lt;br /&gt;
&lt;br /&gt;
[[Roboter spielt Mühle: Datenobjekt Spielfeld | Größte, gemeinsame Schnittstelle: Das Spielfeld als Datenobjekt]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Roboter spielt Mühle: Roboterbefehle | Befehls-Schnittstelle, die der Roboter annehmen kann]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Organisatorisches==&lt;br /&gt;
&lt;br /&gt;
[[Roboter spielt Mühle: Projektplan für Hr. Höhne]]&lt;br /&gt;
&lt;br /&gt;
==Teilnehmer==&lt;br /&gt;
[[Benutzer:Bepf|Benjamin Pfeiffer]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:Chge|Christian Gebauer]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:Maho|Martin Hoffmann]]&lt;/div&gt;</summary>
		<author><name>Bepf</name></author>	</entry>

	<entry>
		<id>https://p-servus.net/mediawiki/index.php?title=Optimaler_Entscheidungsbaum:_Systemarchitektur</id>
		<title>Optimaler Entscheidungsbaum: Systemarchitektur</title>
		<link rel="alternate" type="text/html" href="https://p-servus.net/mediawiki/index.php?title=Optimaler_Entscheidungsbaum:_Systemarchitektur"/>
				<updated>2012-05-17T17:26:04Z</updated>
		
		<summary type="html">&lt;p&gt;Bepf: /* Klassendiagramm */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Klassendiagramm ==&lt;br /&gt;
&lt;br /&gt;
Das folgende Klassendiagramm zeigt, in vereinfachter Weise, die komplette Systemarchitektur. Es wurde das Observer-Pattern benutzt. Verschiedene statische und view-Klassen wurden weggelassen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Klassendiagramm_Systemarchitektur.png|thumb]]&lt;/div&gt;</summary>
		<author><name>Bepf</name></author>	</entry>

	<entry>
		<id>https://p-servus.net/mediawiki/index.php?title=Optimaler_Entscheidungsbaum:_Systemarchitektur</id>
		<title>Optimaler Entscheidungsbaum: Systemarchitektur</title>
		<link rel="alternate" type="text/html" href="https://p-servus.net/mediawiki/index.php?title=Optimaler_Entscheidungsbaum:_Systemarchitektur"/>
				<updated>2012-05-17T17:25:10Z</updated>
		
		<summary type="html">&lt;p&gt;Bepf: Die Seite wurde neu angelegt: „== Klassendiagramm ==  Das folgende Klassendiagramm zeigt, in vereinfachter Weise, die komplette Systemarchitektur. Es wurde das Observer-Pattern benutzt. Verschi…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Klassendiagramm ==&lt;br /&gt;
&lt;br /&gt;
Das folgende Klassendiagramm zeigt, in vereinfachter Weise, die komplette Systemarchitektur. Es wurde das Observer-Pattern benutzt. Verschiedene statische und view-Klassen wurden weggelassen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Klassendiagramm_Systemarchitektur.png|100%]]&lt;/div&gt;</summary>
		<author><name>Bepf</name></author>	</entry>

	<entry>
		<id>https://p-servus.net/mediawiki/index.php?title=Datei:Klassendiagramm_Systemarchitektur.png</id>
		<title>Datei:Klassendiagramm Systemarchitektur.png</title>
		<link rel="alternate" type="text/html" href="https://p-servus.net/mediawiki/index.php?title=Datei:Klassendiagramm_Systemarchitektur.png"/>
				<updated>2012-05-17T17:22:44Z</updated>
		
		<summary type="html">&lt;p&gt;Bepf: Ein Klassendiagramm für das Projekt &amp;quot;Optimaler Entscheidungsbaum&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein Klassendiagramm für das Projekt &amp;quot;Optimaler Entscheidungsbaum&amp;quot;&lt;/div&gt;</summary>
		<author><name>Bepf</name></author>	</entry>

	<entry>
		<id>https://p-servus.net/mediawiki/index.php?title=Optimaler_Entscheidungsbaum:_Planung_der_Iterationen</id>
		<title>Optimaler Entscheidungsbaum: Planung der Iterationen</title>
		<link rel="alternate" type="text/html" href="https://p-servus.net/mediawiki/index.php?title=Optimaler_Entscheidungsbaum:_Planung_der_Iterationen"/>
				<updated>2012-05-17T16:35:31Z</updated>
		
		<summary type="html">&lt;p&gt;Bepf: /* Phasen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Vorgehensweise ==&lt;br /&gt;
&lt;br /&gt;
Das Team der Gruppe 1 hat sich am Anfang des Projekts entschieden, iterativ zu entwickeln und die Phasen dementsprechend zu planen. Die folgende Planung soll nicht als 100% fortlaufender Prozess angesehen werden. Da es bei der iterativen Entwicklung darum geht das Projekt möglichst dynamisch zu gestalten, können innerhalb des Ablaufs die Phasen verschoben werden.&lt;br /&gt;
&lt;br /&gt;
== Phasen ==&lt;br /&gt;
Projektzeitraum: &amp;lt;br&amp;gt;&lt;br /&gt;
'''Start:''' 9. Januar 2012 &amp;lt;br&amp;gt;&lt;br /&gt;
'''Ende:''' 21. Juni 2012 &amp;lt;br&amp;gt;&lt;br /&gt;
--&amp;gt; 26 Wochen&lt;br /&gt;
&lt;br /&gt;
Aufgrund einer eingeschobenen Praxisphase haben die einzelnen Abschnitte keine genaue Datumsangabe!&lt;br /&gt;
Die Entwicklungsphase liegt genau innerhalb dieser Praxisphase und ist dementsprechend angesetzt geplant worden.&lt;br /&gt;
&lt;br /&gt;
=== Planung/Konzeption ===&lt;br /&gt;
'''Ziele:'''&lt;br /&gt;
* Projektorganisation(SVN, Wiki, Projektaufgaben usw.)&lt;br /&gt;
* Erfassen der Problemstellung&lt;br /&gt;
* Ableiten von Anforderungen aus der Aufgabenstellung&lt;br /&gt;
* Technologieevaluierung&lt;br /&gt;
* GUI-Konzept &lt;br /&gt;
* Konzept eines Datenmodells (Baum / Tabelle)&lt;br /&gt;
&lt;br /&gt;
'''Zeit:''' 4 Wochen, vorläufiger Abschluss zum Zwischenvortrag&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Abgeschlossen&lt;br /&gt;
&lt;br /&gt;
=== Entwicklung ===&lt;br /&gt;
'''Ziele (geordnet nach ihrer zeitlichen Abarbeitung):''' &lt;br /&gt;
* Datenmodell abbilden (Repräsentation einer Tabelle als Datenobjekt)&lt;br /&gt;
* Import und Export von Tabellenformaten (Excel,CSV)&lt;br /&gt;
* Basis einer graphischen Bentzeroberfläche&lt;br /&gt;
* Integration des Datenmodells (Observer-Pattern)&lt;br /&gt;
* Ausbau der GUI (Tabellenmodifukation)&lt;br /&gt;
* Baum-Datenmodell abbilden&lt;br /&gt;
* Implementierung zum Aufbau des automatischen Baums&lt;br /&gt;
* Integration Baum-Datenmodell in die GUI (Baum zeichnen etc.)&lt;br /&gt;
* &amp;quot;Feinheiten&amp;quot; implementieren (Anforderungen mittlerer oder niederiger Priorität)&lt;br /&gt;
&lt;br /&gt;
'''Zeit:''' 19 Wochen&lt;br /&gt;
&lt;br /&gt;
In dieser Phase sollte durch JUnit Tests teilweise testgetrieben entwickelt werden. Für das Datenmodell der Tabelle entstanden zahlreiche JUnit-Tests. &lt;br /&gt;
Zwischen der Entwicklungs- und Testphase sollte eine Beta-Version an Hr. Prof. Dr. Höhne gesendet werden, um dem &amp;quot;Kunden&amp;quot; die Möglichkeit zu bieten das Programm zu testen und ggf. Änderungswünsche zu äußern.&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Abgeschlossen&lt;br /&gt;
&lt;br /&gt;
=== Test ===&lt;br /&gt;
'''Ziele:''' &lt;br /&gt;
* Überprüfen der Implementierung gemäß den festgelegten Anforderungen&lt;br /&gt;
* Funktionsprüfung der GUI&lt;br /&gt;
&lt;br /&gt;
'''Zeit:''' 2 Wochen&lt;br /&gt;
&lt;br /&gt;
In dieser Phase sollten alle Projektteilnehmer angehalten sein die Oberfläche ausgiebig zu testen. Dabei sollten auch Grenzwert-Tests vollzogen werden. Mögliche Fehler sollten im Team besprochen und priorisiert werden.&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Abgeschlossen&lt;br /&gt;
&lt;br /&gt;
=== Auslieferung === &lt;br /&gt;
&lt;br /&gt;
'''Ziele:''' &lt;br /&gt;
* Fertigstellung aller geforderten Dokumente&lt;br /&gt;
* Zusammenstellen der Auslieferungsversion (Build)&lt;br /&gt;
&lt;br /&gt;
'''Zeit:''' 1 Woche&lt;br /&gt;
&lt;br /&gt;
In dieser Phase sollten alle Entwicklungsarbeiten eingestellt sein. Da keine Wartung oder Installation beim Kunden vorgesehen ist, wurde die Auslieferung entsprechend kurz geplant. &lt;br /&gt;
&lt;br /&gt;
'''Status:''' Abgeschlossen&lt;/div&gt;</summary>
		<author><name>Bepf</name></author>	</entry>

	<entry>
		<id>https://p-servus.net/mediawiki/index.php?title=Optimaler_Entscheidungsbaum:_Planung_der_Iterationen</id>
		<title>Optimaler Entscheidungsbaum: Planung der Iterationen</title>
		<link rel="alternate" type="text/html" href="https://p-servus.net/mediawiki/index.php?title=Optimaler_Entscheidungsbaum:_Planung_der_Iterationen"/>
				<updated>2012-05-17T16:34:07Z</updated>
		
		<summary type="html">&lt;p&gt;Bepf: /* Planung/Konzeption */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Vorgehensweise ==&lt;br /&gt;
&lt;br /&gt;
Das Team der Gruppe 1 hat sich am Anfang des Projekts entschieden, iterativ zu entwickeln und die Phasen dementsprechend zu planen. Die folgende Planung soll nicht als 100% fortlaufender Prozess angesehen werden. Da es bei der iterativen Entwicklung darum geht das Projekt möglichst dynamisch zu gestalten, können innerhalb des Ablaufs die Phasen verschoben werden.&lt;br /&gt;
&lt;br /&gt;
== Phasen ==&lt;br /&gt;
Projektzeitraum: &amp;lt;br&amp;gt;&lt;br /&gt;
Start: 9. Januar 2012 &amp;lt;br&amp;gt;&lt;br /&gt;
Ende: 21. Juni 2012 &amp;lt;br&amp;gt;&lt;br /&gt;
--&amp;gt; 26 Wochen&lt;br /&gt;
&lt;br /&gt;
Aufgrund einer eingeschobenen Praxisphase haben die einzelnen Abschnitte keine genaue Datumsangabe!&lt;br /&gt;
Die Entwicklungsphase liegt genau innerhalb dieser Praxisphase und ist dementsprechend angesetzt geplant worden.&lt;br /&gt;
&lt;br /&gt;
=== Planung/Konzeption ===&lt;br /&gt;
'''Ziele:'''&lt;br /&gt;
* Projektorganisation(SVN, Wiki, Projektaufgaben usw.)&lt;br /&gt;
* Erfassen der Problemstellung&lt;br /&gt;
* Ableiten von Anforderungen aus der Aufgabenstellung&lt;br /&gt;
* Technologieevaluierung&lt;br /&gt;
* GUI-Konzept &lt;br /&gt;
* Konzept eines Datenmodells (Baum / Tabelle)&lt;br /&gt;
&lt;br /&gt;
'''Zeit:''' 4 Wochen, vorläufiger Abschluss zum Zwischenvortrag&lt;br /&gt;
&lt;br /&gt;
'''Status:''' Abgeschlossen&lt;br /&gt;
&lt;br /&gt;
=== Entwicklung ===&lt;br /&gt;
Ziele (geordnet nach ihrer zeitlichen Abarbeitung) : &lt;br /&gt;
* Datenmodell abbilden (Repräsentation einer Tabelle als Datenobjekt)&lt;br /&gt;
* Import und Export von Tabellenformaten (Excel,CSV)&lt;br /&gt;
* Basis einer graphischen Bentzeroberfläche&lt;br /&gt;
* Integration des Datenmodells (Observer-Pattern)&lt;br /&gt;
* Ausbau der GUI (Tabellenmodifukation)&lt;br /&gt;
* Baum-Datenmodell abbilden&lt;br /&gt;
* Implementierung zum Aufbau des automatischen Baums&lt;br /&gt;
* Integration Baum-Datenmodell in die GUI (Baum zeichnen etc.)&lt;br /&gt;
* &amp;quot;Feinheiten&amp;quot; implementieren (Anforderungen mittlerer oder niederiger Priorität)&lt;br /&gt;
&lt;br /&gt;
Zeit: 19 Wochen&lt;br /&gt;
&lt;br /&gt;
In dieser Phase sollte durch JUnit Tests teilweise testgetrieben entwickelt werden. Für das Datenmodell der Tabelle entstanden zahlreiche JUnit-Tests. &lt;br /&gt;
Zwischen der Entwicklungs- und Testphase sollte eine Beta-Version an Hr. Prof. Dr. Höhne gesendet werden, um dem &amp;quot;Kunden&amp;quot; die Möglichkeit zu bieten das Programm zu testen und ggf. Änderungswünsche zu äußern.&lt;br /&gt;
&lt;br /&gt;
Status: Abgeschlossen&lt;br /&gt;
&lt;br /&gt;
=== Test ===&lt;br /&gt;
Ziele: &lt;br /&gt;
* Überprüfen der Implementierung gemäß den festgelegten Anforderungen&lt;br /&gt;
* Funktionsprüfung der GUI&lt;br /&gt;
&lt;br /&gt;
Zeit: 2 Wochen&lt;br /&gt;
&lt;br /&gt;
In dieser Phase sollten alle Projektteilnehmer angehalten sein die Oberfläche ausgiebig zu testen. Dabei sollten auch Grenzwert-Tests vollzogen werden. Mögliche Fehler sollten im Team besprochen und priorisiert werden.&lt;br /&gt;
&lt;br /&gt;
Status: Abgeschlossen&lt;br /&gt;
&lt;br /&gt;
=== Auslieferung === &lt;br /&gt;
&lt;br /&gt;
Ziele: &lt;br /&gt;
* Fertigstellung aller geforderten Dokumente&lt;br /&gt;
* Zusammenstellen der Auslieferungsversion (Build)&lt;br /&gt;
&lt;br /&gt;
Zeit: 1 Woche&lt;br /&gt;
&lt;br /&gt;
In dieser Phase sollten alle Entwicklungsarbeiten eingestellt sein. Da keine Wartung oder Installation beim Kunden vorgesehen ist, wurde die Auslieferung entsprechend kurz geplant. &lt;br /&gt;
&lt;br /&gt;
Status: Abgeschlossen&lt;/div&gt;</summary>
		<author><name>Bepf</name></author>	</entry>

	<entry>
		<id>https://p-servus.net/mediawiki/index.php?title=Optimaler_Entscheidungsbaum:_Planung_der_Iterationen</id>
		<title>Optimaler Entscheidungsbaum: Planung der Iterationen</title>
		<link rel="alternate" type="text/html" href="https://p-servus.net/mediawiki/index.php?title=Optimaler_Entscheidungsbaum:_Planung_der_Iterationen"/>
				<updated>2012-05-17T16:33:24Z</updated>
		
		<summary type="html">&lt;p&gt;Bepf: /* Phasen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Vorgehensweise ==&lt;br /&gt;
&lt;br /&gt;
Das Team der Gruppe 1 hat sich am Anfang des Projekts entschieden, iterativ zu entwickeln und die Phasen dementsprechend zu planen. Die folgende Planung soll nicht als 100% fortlaufender Prozess angesehen werden. Da es bei der iterativen Entwicklung darum geht das Projekt möglichst dynamisch zu gestalten, können innerhalb des Ablaufs die Phasen verschoben werden.&lt;br /&gt;
&lt;br /&gt;
== Phasen ==&lt;br /&gt;
Projektzeitraum: &amp;lt;br&amp;gt;&lt;br /&gt;
Start: 9. Januar 2012 &amp;lt;br&amp;gt;&lt;br /&gt;
Ende: 21. Juni 2012 &amp;lt;br&amp;gt;&lt;br /&gt;
--&amp;gt; 26 Wochen&lt;br /&gt;
&lt;br /&gt;
Aufgrund einer eingeschobenen Praxisphase haben die einzelnen Abschnitte keine genaue Datumsangabe!&lt;br /&gt;
Die Entwicklungsphase liegt genau innerhalb dieser Praxisphase und ist dementsprechend angesetzt geplant worden.&lt;br /&gt;
&lt;br /&gt;
=== Planung/Konzeption ===&lt;br /&gt;
''Ziele:'' &lt;br /&gt;
* Projektorganisation(SVN, Wiki, Projektaufgaben usw.)&lt;br /&gt;
* Erfassen der Problemstellung&lt;br /&gt;
* Ableiten von Anforderungen aus der Aufgabenstellung&lt;br /&gt;
* Technologieevaluierung&lt;br /&gt;
* GUI-Konzept &lt;br /&gt;
* Konzept eines Datenmodells (Baum / Tabelle)&lt;br /&gt;
&lt;br /&gt;
''Zeit:'' 4 Wochen, vorläufiger Abschluss zum Zwischenvortrag&lt;br /&gt;
&lt;br /&gt;
''Status:'' Abgeschlossen&lt;br /&gt;
&lt;br /&gt;
=== Entwicklung ===&lt;br /&gt;
Ziele (geordnet nach ihrer zeitlichen Abarbeitung) : &lt;br /&gt;
* Datenmodell abbilden (Repräsentation einer Tabelle als Datenobjekt)&lt;br /&gt;
* Import und Export von Tabellenformaten (Excel,CSV)&lt;br /&gt;
* Basis einer graphischen Bentzeroberfläche&lt;br /&gt;
* Integration des Datenmodells (Observer-Pattern)&lt;br /&gt;
* Ausbau der GUI (Tabellenmodifukation)&lt;br /&gt;
* Baum-Datenmodell abbilden&lt;br /&gt;
* Implementierung zum Aufbau des automatischen Baums&lt;br /&gt;
* Integration Baum-Datenmodell in die GUI (Baum zeichnen etc.)&lt;br /&gt;
* &amp;quot;Feinheiten&amp;quot; implementieren (Anforderungen mittlerer oder niederiger Priorität)&lt;br /&gt;
&lt;br /&gt;
Zeit: 19 Wochen&lt;br /&gt;
&lt;br /&gt;
In dieser Phase sollte durch JUnit Tests teilweise testgetrieben entwickelt werden. Für das Datenmodell der Tabelle entstanden zahlreiche JUnit-Tests. &lt;br /&gt;
Zwischen der Entwicklungs- und Testphase sollte eine Beta-Version an Hr. Prof. Dr. Höhne gesendet werden, um dem &amp;quot;Kunden&amp;quot; die Möglichkeit zu bieten das Programm zu testen und ggf. Änderungswünsche zu äußern.&lt;br /&gt;
&lt;br /&gt;
Status: Abgeschlossen&lt;br /&gt;
&lt;br /&gt;
=== Test ===&lt;br /&gt;
Ziele: &lt;br /&gt;
* Überprüfen der Implementierung gemäß den festgelegten Anforderungen&lt;br /&gt;
* Funktionsprüfung der GUI&lt;br /&gt;
&lt;br /&gt;
Zeit: 2 Wochen&lt;br /&gt;
&lt;br /&gt;
In dieser Phase sollten alle Projektteilnehmer angehalten sein die Oberfläche ausgiebig zu testen. Dabei sollten auch Grenzwert-Tests vollzogen werden. Mögliche Fehler sollten im Team besprochen und priorisiert werden.&lt;br /&gt;
&lt;br /&gt;
Status: Abgeschlossen&lt;br /&gt;
&lt;br /&gt;
=== Auslieferung === &lt;br /&gt;
&lt;br /&gt;
Ziele: &lt;br /&gt;
* Fertigstellung aller geforderten Dokumente&lt;br /&gt;
* Zusammenstellen der Auslieferungsversion (Build)&lt;br /&gt;
&lt;br /&gt;
Zeit: 1 Woche&lt;br /&gt;
&lt;br /&gt;
In dieser Phase sollten alle Entwicklungsarbeiten eingestellt sein. Da keine Wartung oder Installation beim Kunden vorgesehen ist, wurde die Auslieferung entsprechend kurz geplant. &lt;br /&gt;
&lt;br /&gt;
Status: Abgeschlossen&lt;/div&gt;</summary>
		<author><name>Bepf</name></author>	</entry>

	<entry>
		<id>https://p-servus.net/mediawiki/index.php?title=Optimaler_Entscheidungsbaum:_Planung_der_Iterationen</id>
		<title>Optimaler Entscheidungsbaum: Planung der Iterationen</title>
		<link rel="alternate" type="text/html" href="https://p-servus.net/mediawiki/index.php?title=Optimaler_Entscheidungsbaum:_Planung_der_Iterationen"/>
				<updated>2012-05-17T16:32:36Z</updated>
		
		<summary type="html">&lt;p&gt;Bepf: Die Seite wurde neu angelegt: „== Vorgehensweise ==  Das Team der Gruppe 1 hat sich am Anfang des Projekts entschieden, iterativ zu entwickeln und die Phasen dementsprechend zu planen. Die folg…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Vorgehensweise ==&lt;br /&gt;
&lt;br /&gt;
Das Team der Gruppe 1 hat sich am Anfang des Projekts entschieden, iterativ zu entwickeln und die Phasen dementsprechend zu planen. Die folgende Planung soll nicht als 100% fortlaufender Prozess angesehen werden. Da es bei der iterativen Entwicklung darum geht das Projekt möglichst dynamisch zu gestalten, können innerhalb des Ablaufs die Phasen verschoben werden.&lt;br /&gt;
&lt;br /&gt;
== Phasen ==&lt;br /&gt;
Projektzeitraum: &lt;br /&gt;
Start: 9. Januar 2012&lt;br /&gt;
Ende: 21. Juni 2012&lt;br /&gt;
--&amp;gt; 26 Wochen&lt;br /&gt;
&lt;br /&gt;
Aufgrund einer eingeschobenen Praxisphase haben die einzelnen Abschnitte keine genaue Datumsangabe!&lt;br /&gt;
Die Entwicklungsphase liegt genau innerhalb dieser Praxisphase und ist dementsprechend angesetzt geplant worden.&lt;br /&gt;
&lt;br /&gt;
=== Planung/Konzeption ===&lt;br /&gt;
Ziele: &lt;br /&gt;
* Projektorganisation(SVN, Wiki, Projektaufgaben usw.)&lt;br /&gt;
* Erfassen der Problemstellung&lt;br /&gt;
* Ableiten von Anforderungen aus der Aufgabenstellung&lt;br /&gt;
* Technologieevaluierung&lt;br /&gt;
* GUI-Konzept &lt;br /&gt;
* Konzept eines Datenmodells (Baum / Tabelle)&lt;br /&gt;
&lt;br /&gt;
Zeit: 4 Wochen, vorläufiger Abschluss zum Zwischenvortrag&lt;br /&gt;
&lt;br /&gt;
Status: Abgeschlossen&lt;br /&gt;
&lt;br /&gt;
=== Entwicklung ===&lt;br /&gt;
Ziele (geordnet nach ihrer zeitlichen Abarbeitung) : &lt;br /&gt;
* Datenmodell abbilden (Repräsentation einer Tabelle als Datenobjekt)&lt;br /&gt;
* Import und Export von Tabellenformaten (Excel,CSV)&lt;br /&gt;
* Basis einer graphischen Bentzeroberfläche&lt;br /&gt;
* Integration des Datenmodells (Observer-Pattern)&lt;br /&gt;
* Ausbau der GUI (Tabellenmodifukation)&lt;br /&gt;
* Baum-Datenmodell abbilden&lt;br /&gt;
* Implementierung zum Aufbau des automatischen Baums&lt;br /&gt;
* Integration Baum-Datenmodell in die GUI (Baum zeichnen etc.)&lt;br /&gt;
* &amp;quot;Feinheiten&amp;quot; implementieren (Anforderungen mittlerer oder niederiger Priorität)&lt;br /&gt;
&lt;br /&gt;
Zeit: 19 Wochen&lt;br /&gt;
&lt;br /&gt;
In dieser Phase sollte durch JUnit Tests teilweise testgetrieben entwickelt werden. Für das Datenmodell der Tabelle entstanden zahlreiche JUnit-Tests. &lt;br /&gt;
Zwischen der Entwicklungs- und Testphase sollte eine Beta-Version an Hr. Prof. Dr. Höhne gesendet werden, um dem &amp;quot;Kunden&amp;quot; die Möglichkeit zu bieten das Programm zu testen und ggf. Änderungswünsche zu äußern.&lt;br /&gt;
&lt;br /&gt;
Status: Abgeschlossen&lt;br /&gt;
&lt;br /&gt;
=== Test ===&lt;br /&gt;
Ziele: &lt;br /&gt;
* Überprüfen der Implementierung gemäß den festgelegten Anforderungen&lt;br /&gt;
* Funktionsprüfung der GUI&lt;br /&gt;
&lt;br /&gt;
Zeit: 2 Wochen&lt;br /&gt;
&lt;br /&gt;
In dieser Phase sollten alle Projektteilnehmer angehalten sein die Oberfläche ausgiebig zu testen. Dabei sollten auch Grenzwert-Tests vollzogen werden. Mögliche Fehler sollten im Team besprochen und priorisiert werden.&lt;br /&gt;
&lt;br /&gt;
Status: Abgeschlossen&lt;br /&gt;
&lt;br /&gt;
=== Auslieferung === &lt;br /&gt;
&lt;br /&gt;
Ziele: &lt;br /&gt;
* Fertigstellung aller geforderten Dokumente&lt;br /&gt;
* Zusammenstellen der Auslieferungsversion (Build)&lt;br /&gt;
&lt;br /&gt;
Zeit: 1 Woche&lt;br /&gt;
&lt;br /&gt;
In dieser Phase sollten alle Entwicklungsarbeiten eingestellt sein. Da keine Wartung oder Installation beim Kunden vorgesehen ist, wurde die Auslieferung entsprechend kurz geplant. &lt;br /&gt;
&lt;br /&gt;
Status: Abgeschlossen&lt;/div&gt;</summary>
		<author><name>Bepf</name></author>	</entry>

	<entry>
		<id>https://p-servus.net/mediawiki/index.php?title=Projekt:_Optimaler_Entscheidungsbaum</id>
		<title>Projekt: Optimaler Entscheidungsbaum</title>
		<link rel="alternate" type="text/html" href="https://p-servus.net/mediawiki/index.php?title=Projekt:_Optimaler_Entscheidungsbaum"/>
				<updated>2012-05-17T14:40:57Z</updated>
		
		<summary type="html">&lt;p&gt;Bepf: /* Vorgehensmodell */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Optimaler_Entscheidungsbaum-Logo.png|thumb|Das ist das Logo von unserem Programm &amp;quot;Baumschule - Optimaler Entscheidungsbäme&amp;quot;]]&lt;br /&gt;
==Einleitung==&lt;br /&gt;
Dies ist die Hauptseite für das Projekt &amp;quot;Optimaler Entscheidungsbaum&amp;quot;.&lt;br /&gt;
===Aufgabenstellung===&lt;br /&gt;
Die offizielle Aufgabenstellung, gestellt von Prof. Dr. Höhne, kann {{pdf|Aufgabenstellung.pdf | hier}} runtergeladen werden.&lt;br /&gt;
&lt;br /&gt;
[[Optimaler Entscheidungsbaum: Kurze Einführung]]&lt;br /&gt;
&lt;br /&gt;
== Konzepte ==&lt;br /&gt;
=== Technische Konzepte ===&lt;br /&gt;
[[Technische Konzepte: Logger]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Technische Konzepte: Config Manager]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Technische Konzepte: Observer Pattern]]&lt;br /&gt;
&lt;br /&gt;
=== Fachliche Konzepte ===&lt;br /&gt;
[[Optimaler Entscheidungsbaum: GUI-Entwurf]]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Optimaler Entscheidungsbaum: Datenschnittstelle]] (Repräsentation der Tabellen / Bäume in Java) &amp;lt;br&amp;gt;&lt;br /&gt;
[[Optimaler Entscheidungsbaum: Systemarchitektur]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Linksammlung / Wissensdatenbank ==&lt;br /&gt;
&lt;br /&gt;
http://www.rob.uni-luebeck.de/Lehre/2011s/KI/lectures/10_SS/ai_ch9.pdf &amp;lt;br&amp;gt;&lt;br /&gt;
http://www.youtube.com/watch?v=4BmQ4YAoa8Q &amp;lt;br&amp;gt;&lt;br /&gt;
http://de.wikipedia.org/wiki/Entscheidungsbaum&lt;br /&gt;
&lt;br /&gt;
==Teilnehmer==&lt;br /&gt;
[[Benutzer:Jonw|Jonathan Wiens]]: Teamleiter, Entwickler, SVN-Administrator&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:Bepf|Benjamin Pfeiffer]]: Entwickler&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:Nics|Nico Smeenk]]: Systemarchitekt, Entwickler&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:Segr|Sebastian Große]]: Entwickler, Server-Administrator (Wiki), Grafiker&amp;lt;br&amp;gt;&lt;br /&gt;
[[Benutzer:Chge|Christian Gebauer]]: Entwickler&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Projektmanagement==&lt;br /&gt;
[[Optimaler Entscheidungsbaum: Projektorganisation]]&lt;br /&gt;
===SE-Techniken===&lt;br /&gt;
Bla Text zu Se-Techniken&lt;br /&gt;
&lt;br /&gt;
[[Allgemein: Agile Softwareentwicklung | Agile Softwareentwicklung]]&lt;br /&gt;
&lt;br /&gt;
===Vorgehensmodell===&lt;br /&gt;
Für das Projekt &amp;quot;Optimaler Entscheidungsbaum&amp;quot; wurde die Form der iterativen Entwicklung ausgewählt.&lt;br /&gt;
Bestimmte Phasen können dabei dynamisch abgearbeitet werden. Es gibt dennoch einen groben Ablaufplan, in dem versucht wird verschiedene Arbeitsabläufe primär abzuarbeiten. Für das Projekt wurde entschieden die Phasen: Planung/Konzeption , Entwicklung, Test, Auslieferung zu unterscheiden.&lt;br /&gt;
&lt;br /&gt;
[[Optimaler Entscheidungsbaum: Planung der Iterationen]]&lt;br /&gt;
&lt;br /&gt;
===Protokolle der Sitzungen===&lt;br /&gt;
[[Optimaler Entscheidungsbaum: Meetings]]&lt;br /&gt;
&lt;br /&gt;
==Dokumentation==&lt;br /&gt;
[[Optimaler Entscheidungsbaum: Story Cards]] &amp;lt;br /&amp;gt;&lt;br /&gt;
[[Optimaler Entscheidungsbaum: Handbuch]]&lt;br /&gt;
===Dokumentation der Aufgaben===&lt;br /&gt;
===Pflichtenheft===&lt;br /&gt;
{{pdf | baum_pflichtenheft.pdf | Hier}} kann das Pflichtenheft runtergeladen werden, die Inhalte können jedoch auch [[Optimaler Entscheidungsbaum: Pflichtenheft | hier]] im Portal gelesen werden.&lt;br /&gt;
&lt;br /&gt;
===Präsentation===&lt;br /&gt;
Downloadlink für die Folien zum &lt;br /&gt;
* {{pdf|Baum_zwischenvortrag.pdf | Zwischenvortrag}},&lt;br /&gt;
* {{pdf|Baum_endvortrag.pdf | Endvortrag}}&lt;br /&gt;
&lt;br /&gt;
==Download Optimaler Entscheidungsbaum==&lt;/div&gt;</summary>
		<author><name>Bepf</name></author>	</entry>

	<entry>
		<id>https://p-servus.net/mediawiki/index.php?title=Optimaler_Entscheidungsbaum:_Pflichtenheft</id>
		<title>Optimaler Entscheidungsbaum: Pflichtenheft</title>
		<link rel="alternate" type="text/html" href="https://p-servus.net/mediawiki/index.php?title=Optimaler_Entscheidungsbaum:_Pflichtenheft"/>
				<updated>2012-05-17T14:33:16Z</updated>
		
		<summary type="html">&lt;p&gt;Bepf: /* Zielbestimmungen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Über ==&lt;br /&gt;
Projekt: Optimaler Entscheidungsbaum &amp;lt;br /&amp;gt;&lt;br /&gt;
Autoren: Christian Gebauer, Sebastian Große, Jonathan Wiens, Benjamin Pfeiffer, Nico Smeenk &amp;lt;br /&amp;gt;&lt;br /&gt;
Modul: Software-Engineering II &amp;lt;br /&amp;gt;&lt;br /&gt;
Studiengang: Informatik 2010 &amp;lt;br /&amp;gt;&lt;br /&gt;
Fachbereich: Fachbereich 2, Duales Studium Wirtschaft • Technik, HWR Berlin &amp;lt;br /&amp;gt;&lt;br /&gt;
Datum:&lt;br /&gt;
&lt;br /&gt;
== Vorwort ==&lt;br /&gt;
Dieses Pflichtenheft ist eine Vereinbarung zwischen der Dozentin Frau Prof. Dr. Monett Diaz als Auftraggeberin und der Gruppe 1 des Kurses &amp;quot;Software-Engineering II&amp;quot; aus dem Studiengang &amp;quot;Informatik 2010&amp;quot;. Die Vereinbarung enthält alle Anforderungen an ein zu erstellendes Chat-Programm für die Hochschule für Wirtschaft und Recht Berlin. Das Dokument dient zur Strukturierung und genaueren Einschätzung des zeitlichen Aufwandes des Projektes und der Priorisierung der einzelnen Module. Somit lässt sich auch einschätzen, ob und mit welchen Kosten das Projekt durchführbar ist.&lt;br /&gt;
=== Erwartete Leserschaft ===&lt;br /&gt;
Im Allgemeinen können alle Stakeholder des Projektes als Leser erwartet werden, jedoch werden die Entwickler, die Projektleitung, der Auftragnehmer und -geber besonders als Leserschaft hervorgehoben.&lt;br /&gt;
=== Versionsgeschichte des Dokumentes ===&lt;br /&gt;
Dies ist die erste Version des Pflichtenheftes, weitere Versionen sind noch nicht in Planung.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
=== Allgemeines ===&lt;br /&gt;
Ein Entscheidungsbaum ist ein speziell aufgebauter Baum aus der Graphentheorie. Im Gegensatz zu einem &amp;quot;normalen&amp;quot; Baum ist ein Entscheidungsbaum geordnet und gerichtet und dient dem Zweck Entscheidungsregeln darzustellen. Ein Entscheidungsbaum kann durch Algorithmen auf Basis von tabellarischen Daten erstellt werden. Aufgrund der Tatsache, dass diese Bäume Entscheidungsprobleme lösen  bzw. vereinfachen können, wird diese Methode in vielen Bereichen angewandt. Hauptsächlich benutzt, wird ein Entscheidungsbaum beim Data-Mining, also der umfassenden Theroie der Datenauswertung; aber auch in der Betriebswirtschaftslehre, um effektives Marketing zu betreiben, oder Investment-Geschäfte zu bewerten. Darüber hinaus gibt es viele denkbare Einsatzbereiche, da Entscheidungen fast überall getroffen werden müssen.&lt;br /&gt;
&lt;br /&gt;
Ein Entscheidungsbaum besteht aus Knoten und Blättern. Er muss einen Wurzelknoten besitzen und wird durch Kanten verbunden.&lt;br /&gt;
Ein Knoten repräsentiert ein(en) Attribut(-namen), Kanten die zulässigen Attributwerte und die Blätter zeigen die Attributwerte (meistens klassifiziert) des Zielattributs an.&lt;br /&gt;
&lt;br /&gt;
In diesem Pflichtenheft wird nun ein Programm beschrieben, dass einen Entscheidungsbaum auf Basis einer Tabelle konstruieren kann. Dieses Programm ist als Auftragsarbeit von Hr. Prof. Dr. Höhne und Fr. Prof. Dr. Monett-Diaz zu sehen, bestimmte Funtktionen und Kriterien sind bereits vorgegeben.&lt;br /&gt;
=== Abgrenzungen ===&lt;br /&gt;
==== Ausgangssituation ====&lt;br /&gt;
Im Auftrag von Hr. Prof. Dr. Höhne und Fr. Prof. Dr. Monett-Diaz wird ein Programm, im Rahmen des Moduls SWE-2, entwickelt, welches dazu dienen soll Entscheidungsbäume zu konstruieren und darzustellen. Als Datenbasis dienen Excel- und CSV-Dateien.&lt;br /&gt;
Mit Hilfe dieser Daten soll dann ein &amp;quot;optimaler Entscheidungsbaum&amp;quot; aufgebaut werden, wobei zu beachten ist, dass der Begriff &amp;quot;optimal&amp;quot; nur relativ gesehen werden kann, und abhängig vom gewählten Algorhitmus und der Art des Datenbestandes ist.&lt;br /&gt;
&lt;br /&gt;
=== Systemname ===&lt;br /&gt;
Aufgrund der Tatsache, dass ein Entscheidungsbaum nach bestimmten Regeln ''aufgebaut'' wird und der Anwender einen ''Lerneffekt'' aus diesem Baum ziehen kann, in dem Entscheidungen vereinfacht werden, wurde beschlossen das Projekt und das Programm &amp;quot;Baumschule - Optimale Entscheidungsbäume&amp;quot; zu nennen. &lt;br /&gt;
==== Allgemeine Systembeschreibung ====&lt;br /&gt;
Das System bzw. das Programm bietet hauptsächlich drei grobe Funtkionen an:&lt;br /&gt;
* Laden/Editieren eines Datenbestands durch eine Datei (Excel bzw. CSV)&lt;br /&gt;
* Erstellen eines Entscheidungsbaumes durch einen gegebenen Algorithmus, oder einer Nutzervorgabe&lt;br /&gt;
* Präsentation des Ergebnisses&lt;br /&gt;
&lt;br /&gt;
Diese 3 Hauptfunktionen lassen sich näher beschreiben:&lt;br /&gt;
* Es gibt eine graphische Benutzeroberfläche mit der der Endandwender alle Funktionen des Programms benutzen kann&lt;br /&gt;
* Es gibt eine Funktion zum Laden/Speichern einer Excel- oder CSV-Datei&lt;br /&gt;
* Geladene Tabellendaten können editiert werden.&lt;br /&gt;
* Ein Baum kann automatisch generiert werden, ein ZielAttribut kann vorher gewählt werden.&lt;br /&gt;
* Ein Baum kann teilweise manuell erstellt werden, in dem für jeden Knoten die nächste Attributebene selbst gewählt werden kann.&lt;br /&gt;
* Es können jederzeit detaillierte Informationen über einen Baum bzw. dessen Tabellendaten angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
==== Vorteile und Nutzen ====&lt;br /&gt;
&lt;br /&gt;
Das System bietet die Bearbeitung eines Datenbestandes an und arbeitet nach dem Laden einer Datei formatunabhängig. Ist ein Datenbestand bearbeitet worden, ist dieser auch wieder exportierbar.&lt;br /&gt;
Die Oberfläche bietet die Möglichkeit einen, gemäß des Algorithmus, optimalen Baumes darzustellen. Die Stärke liegt hierbei einerseits auf der Präsentation und andererseits bei der leichten Editierbarkeit, denn der Baum kann einfach durch Mausklicks bearbeitet und untersucht werden. Ein manuelles zeichnen und berechnen des Baumes entfällt. &lt;br /&gt;
Gerade bei großen Daten ist ein Baum nur durch ein Programm wie dieses erstellbar. Arbeitet der Algorithmus fehlerfrei, kann ''immer wieder'' und ''reproduzierbar'' ein Baum aufgebaut werden.&lt;br /&gt;
&lt;br /&gt;
=== Überblick über den Rest des Dokuments ===&lt;br /&gt;
&lt;br /&gt;
Die nachfolgenden Abschnitte befassen sich detaillierter und gründlicher mit den Funktionen des Programms. Es werden Vereinbarungen festgelegt, welches Verhalten das Programm leisten kann und muss.&lt;br /&gt;
&lt;br /&gt;
== Fachbegriffe, Akronyme und Abkürzungen ==&lt;br /&gt;
&amp;lt;b&amp;gt;Dieser Teil soll die im Dokument verwendeten technischen Fachbergriffe festlegen. Dabei soll keine Erfahrung oder Fachwissen beim Leser vorausgesetzt werden.&amp;lt;/b&amp;gt;&lt;br /&gt;
=== Glossar ===&lt;br /&gt;
=== Akronyme ===&lt;br /&gt;
=== Abkürzungen ===&lt;br /&gt;
&lt;br /&gt;
== Zielbestimmungen ==&lt;br /&gt;
Die folgenden Ziele sind in 3 Kategorien (Muss-, Soll- , Kannkriterien) unterteilt. Durch diese Unterteilung wird eine Prioritätshierarchie geschaffen, wobei Musskriterien die höchste Priorität erhalten und entsprechend vorrangig abgearbeitet werden. &lt;br /&gt;
&lt;br /&gt;
=== Musskriterien ===&lt;br /&gt;
Die Muss-Kritierien ergeben sich größtenteils aus der Aufgabenbeschreibung von Hr. Höhne und Fr. Monett-Diaz und sollen hier abgekürzt wiedergegeben werden:&lt;br /&gt;
* Das Programm muss in der Lage sein mit einem Datenbestand von bis zu 10 Attributen und 100 Objekten arbeiten zu können.&lt;br /&gt;
* Das Programm muss mit Tabellen-Dateien umgehen können. (Laden/Speichern von Excel- und CSV-Dateien)&lt;br /&gt;
* Das Programm muss ein Bearbeiten der Tabellendaten zulassen.&lt;br /&gt;
* Es muss eine graphische Benutzeroberfläche geben.&lt;br /&gt;
* Das Zielattribut muss farblich hervorgehoben werden.&lt;br /&gt;
&lt;br /&gt;
* Das Programm muss eine Möglichkeit bieten den Baum, durch Auswahl des nächsten Attributs, teilweise manuell aufzubauen.&lt;br /&gt;
* Wenn der Baum interaktiv zusammengestellt wird, darf(muss) nur der oberste Knoten präsentiert werden.&lt;br /&gt;
* Bei der Präsentation des interaktiven Baums kann dieser durch ein Mausklick &amp;quot;untersucht&amp;quot; werden. Es wird bei einem Knoten eine Tabelle angezigt, die die Objekte anzeigt, die durch den Knoten repräsentiert werden.&lt;br /&gt;
* Es kann in der Tabelle ein Attribut untersucht werden, woraufhin die gewichtete Entropie, die sichbei Aufteilung nach diesem Attribut ergeben würde, angezeigt wird.&lt;br /&gt;
&lt;br /&gt;
* Das Programm muss anhand eines vorgegebenen Algorithmus (''Konzept der Entropie'') einen Entscheidungsbaum erstellen können.&lt;br /&gt;
* Bei der automatischen Erstellung wird ein Knoten der nur noch Objekte einer Klasse enthält nicht weiter aufgeteilt, selbiges gilt wenn der Knoten eine (einstellbare) Anzahl von Elementen enthält.&lt;br /&gt;
* Bei der Präsentation des autmatischen Baums kann dieser durch ein Mausklick &amp;quot;untersucht&amp;quot; werden. Es wird bei einem Knoten eine Tabelle angezigt, die die Objekte anzeigt, die durch den Knoten repräsentiert werden.&lt;br /&gt;
&lt;br /&gt;
* Bei der Präsentation des interaktiven und autmatischen Baums müssen die Kanten mit dem entsprechenden Attributewert angezeigt werden.&lt;br /&gt;
* Bei der Präsentation des interaktiven und automatischen Baums muss die Zahl der enthaltenen Objekte, die Zahl jeder Klasse und die Entropie in jedem Knoten angezeigt werden.&lt;br /&gt;
* Der Entscheidungsbaum muss, egal ob manuell oder autmoatisch erstellt, bei Änderungen des Datenbestandes aktualisiert werden.&lt;br /&gt;
&lt;br /&gt;
* Das Programm muss lauffähig sein und ausführbar vorliegen.&lt;br /&gt;
&lt;br /&gt;
=== Sollkriterien ===&lt;br /&gt;
* Das Programm soll an den wichtigen Stellen durchdachte Hilfebeschreibungen(ToolTips) anzeigen können.&lt;br /&gt;
* Das Programm soll für den Benutzer ein vollständiges Handbuch bereitstellen, dass jederzeit über das Menü aufgerufen werden kann.&lt;br /&gt;
* Das Programm soll bei bestimmten Fehlern oder unerlaubten Nutzeraktionen eine graphische Fehlermeldung anzeigen.&lt;br /&gt;
* Das Programm soll zum Nachverfolgen von Programm-Algorithmen und -Abläufen eine Log-Datei erstellen.&lt;br /&gt;
* Die Oberfläche soll für den Nutzer farblich und organisatorisch übersichtlich und leicht zu bedienen sein.&lt;br /&gt;
* Das Erstellen eines Baumes soll nicht länger als 5 Sekunden dauern. (Vorrausgesetzt das Datenlimit von 10*100 Attributwerten wird eingehalten)&lt;br /&gt;
* Die Oberfläche soll neben der einfachen Ansicht einen Präsentationsmodus bieten, in dem der Baum als Vollbild dargestellt wird.&lt;br /&gt;
* Für die Anzeige des Baumes soll eine Legende bereitgestellt werden, die den Aufbau eines dargestellten Baumes erklärt.&lt;br /&gt;
&lt;br /&gt;
=== Kannkriterien ===&lt;br /&gt;
* Das Programm kann die Möglichkeit bieten, über eine Konfigurationsschnittstelle verschiedene Programmparameter anzupassen.&lt;br /&gt;
* Für den Benutzer kann es eine grafische Möglichkeit geben die Konfigurationsschnittstelle zu nutzen.&lt;br /&gt;
* Der Nutzer kann die Möglichkeit erhalten den dynamisch erstellten Baum als xml-Datei zu speichern.&lt;br /&gt;
* Der Nutzer kann die Möglichkeit erhalten die abgespeicherte xml-Datei wieder zu laden; die Oberfläche stellt dann automatisch die Tabelle und die Bäume wieder her.&lt;br /&gt;
* Das Programm kann die Möglichkeit bieten den dynamischen und automatischen Baum als Bild-Datei(*.png ; *.jpg) abzuspeichern.&lt;br /&gt;
* Die Zeichenoberfläche, in dem der Baum (dynamisch oder manuell) präsentiert wird, kann durch einen Schieberegler heran- bzw. herausgezoomt werden.&lt;br /&gt;
&lt;br /&gt;
=== Abgrenzungskriterien ===&lt;br /&gt;
&lt;br /&gt;
* Die Software setzt eine installierte Version von Java voraus.&lt;br /&gt;
* Es gibt für jedes Betriebssystem (Windows, Linux, Mac) und dessen Ausprägung (x64, x32) jeweils eine Version.&lt;br /&gt;
* Die Software kann nur mit Datenformaten umgehen, die Excel-Konform sind- (bis 2003: .xls, ab 2007: .xlsx) oder dem CSV-Format entsprechen (Trennzeichen: &amp;quot;,&amp;quot; (Ausgesprochen: Komma)&lt;br /&gt;
* Die Software benutzt einen fest vorgegebenen Algorithmus (''Konzept der Entropie'').&lt;br /&gt;
* Die Tabelle kann maximal 10 Attribute und jeweils 100 Attributwerte enthalten und darf innerhalb der Tabellengrenzen keine leeren Zellenwerte (leere Strings) enthalten.&lt;br /&gt;
&lt;br /&gt;
== Systemeinsatz ==&lt;br /&gt;
=== Anwendungsbereiche === &lt;br /&gt;
=== Zielgruppen === &lt;br /&gt;
=== Betriebsbedingungen === &lt;br /&gt;
&lt;br /&gt;
== Technische Systemumgebung ==&lt;br /&gt;
=== Software === &lt;br /&gt;
=== Hardware === &lt;br /&gt;
=== Orgware === &lt;br /&gt;
&lt;br /&gt;
== Systemübersicht und -architektur ==&lt;br /&gt;
=== Übersicht über das System === &lt;br /&gt;
=== Systemarchitektur === &lt;br /&gt;
&amp;lt;b&amp;gt;Dieses Kapitel sollte einen groben Überblick über die erwartete Systemarchitektur geben, der die Verteilung der Funktionen auf die Systemmodule zeigt. Wiederverwendete Komponenten sollten gekennzeichnet werden.&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Schnittstellen des Systems ===&lt;br /&gt;
&lt;br /&gt;
== Systemanforderungen ==&lt;br /&gt;
Das Programm soll den Argorithmus, einen optimalen Entscheidungsbaum zu finden, demonstrieren.&lt;br /&gt;
=== Funktionale Anforderungen ===&lt;br /&gt;
* Das Programm soll unter allen gängigen Windows-Betriebssystemen ohne Installation lauffähig sein (Java darf vorrausgesetzt werden, sonst nichts spezielles).&lt;br /&gt;
==== Tabellenansicht ====&lt;br /&gt;
* Einlesen / Speichern einer Tabelle im .csv-Format (wobei das Trennzeichen ein Komma ist).&lt;br /&gt;
* Alle Attribute sind Zeichenketten.&lt;br /&gt;
* Eingeben / Editieren einer Tabelle muss möglich sein.&lt;br /&gt;
* Import und Export von Excel-Dateien.&lt;br /&gt;
&lt;br /&gt;
==== Baum automatisch ====&lt;br /&gt;
* Der optimale Entscheidungsbaum wird mit dem Algorithmus, der sukzessiv für jeden Knoten jeweils das Attribut mit der minimalen gewichteten Entropie auswählt, erzeugt und dargestellt.&lt;br /&gt;
* Wenn ein Knoten nur noch Objekte einer Klasse enthält, wird dieser nicht weiter aufgeteilt.&lt;br /&gt;
* Wenn ein Knoten nur noch eine bestimmte Anzahl (einstellbar - Voreinstellung 1) von Elementen enthält, wird nicht weiter aufgeteilt.&lt;br /&gt;
&lt;br /&gt;
=== Qualitätsanforderungen ===&lt;br /&gt;
=== Benutzeroberfläche ===&lt;br /&gt;
Weil das Programm auch für Präsentationszwecke eingesetzt werden soll, ist insbesondere auf eine entsprechende Gestaltung der Oberfläche (aussagekräftige Verwendung von Farben, ausreichend großer Schriftgrad, etc.) zu achten.&amp;lt;br&amp;gt;&lt;br /&gt;
Im Programm kann zwischen drei verschiedenen Ansichten hin- und hergeschalten werden, von denen stets genau eine sichtbar ist:&lt;br /&gt;
* Tabellenansicht&lt;br /&gt;
* Baum interaktiv&lt;br /&gt;
* Baum automatisch&lt;br /&gt;
Start ist stets in der Tabellenansicht, erst wenn eine Tabelle geladen oder eingegeben ist, kann in eine Baumansicht gewechselt werden. Ansonsten kann stets zwischen den drei Ansichten umgeschalten werden.&lt;br /&gt;
==== Tabellenansicht ====&lt;br /&gt;
* Eine Tabelle besteht aus maximal etwa 10 Attributen und 100 Objekten. Die Spalten repräsentieren dabei die Attribute und die Zeilen die Objekte / Datensätze.&lt;br /&gt;
* (Farbliche) Markierung des Zielattributs.&lt;br /&gt;
&lt;br /&gt;
==== Baum interaktiv ====&lt;br /&gt;
* Zu Beginn wird nur der oberste Knoten (also der, der allen Objekten in der Tabelle entspricht) dargestellt.&lt;br /&gt;
* Das gilt ebenso, wenn in der Tabellenansicht ein Attribut hinzugefügt oder gelöscht oder das Zielattribut geändert wird.&lt;br /&gt;
* In jedem Knoten ist die Zahl der enthaltenden Objekte, die Zahl der Objekte jeder Klasse und die Entropie angegeben.&lt;br /&gt;
* Die Kanten sind mit dem entsprechenden Attributwert markiert.&lt;br /&gt;
* Bei Identifikation eines Knotens des Baumes wird eine Tabelle mit den Objekten, die von diesem Knoten repräsentiert werden, dargestellt.&lt;br /&gt;
* Wird in dieser Tabelle ein Attribut identifiziert, wird die gewichtete Entropie, die sich bei Aufteilung nach diesem Attribut ergeben würde, ausgegeben.&lt;br /&gt;
* In dieser Tabelle kann ein Attribut selektiert werden, so dass entsprechend den Werten dieses Attributes Unterknoten entstehen. Die Tabelle verschwindet. Hatte der Knoten schon Unterknoten, verschwinden diese natürlich ebenfalls.&lt;br /&gt;
&lt;br /&gt;
==== Baum automatisch ====&lt;br /&gt;
* In jedem Knoten ist die Zahl der enthaltenden Objekte, die Zahl der Objekte jeder Klasse und die Entropie automatisch dargestellt.&lt;br /&gt;
* Die Kanten sind mit dem entsprechenden Attributwert markiert.&lt;br /&gt;
* Bei Identifikation eines Knotens des Baumes wird eine Tabelle mit den Objekten, die von diesem Knoten repräsentiert werden, dargestellt.&lt;br /&gt;
&lt;br /&gt;
=== Andere nicht-funktionale Anforderungen ===&lt;br /&gt;
&lt;br /&gt;
== Systemmodelle ==&lt;br /&gt;
&amp;lt;b&amp;gt;Dieses Kapitel sollte eines oder mehrere Systemmodelle festlegen, die die Beziehung zwischen den Systemkomponenten und dem System und seiner Umgebung aufzeigen. Dies können Objekt-, Datenfluss- und semantische Datenmodelle sein.&amp;lt;/b&amp;gt;&lt;br /&gt;
=== Datenmodelle === &lt;br /&gt;
=== Andere Modelle === &lt;br /&gt;
&lt;br /&gt;
== Anforderungen an die Entwicklungsumgebung ==&lt;br /&gt;
Die hier genannten Aspekte werden für die qualitative Entwicklung der Software benötigt.&lt;br /&gt;
=== Software ===&lt;br /&gt;
Das Betriebssystem spielt keine Rolle, da Eclipse und Java Plattformunabhängig ist.&lt;br /&gt;
*Die Software &amp;quot;Eclipse&amp;quot; zur Programmierung mit Java wird benötigt. Hinzu kommt das Eclipse PlugIn &amp;quot;subversive&amp;quot; zur Handhabung der Versionsverwaltung&lt;br /&gt;
*Eine aktuelle Java-Developer-Version (jdk) wird zur Kompilierung benötigt. Außerdem werden folgende externe Bibliotheken benötigt:&lt;br /&gt;
** &amp;quot;dom4j&amp;quot;, &amp;quot;poi&amp;quot; zur Konvertierung und Erstellung von Excel-Spreadsheet Tabellen&lt;br /&gt;
** &amp;quot;swt&amp;quot;, das genutzte Framework zur Erstellung der grafischen Benutzeroberfläche&lt;br /&gt;
** &amp;quot;xmlbeans&amp;quot; zur Erstellung und Lesen von XML-Dateien&lt;br /&gt;
&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
Für die verwendete Hardware sollten mindestens 2 GB Arbeitsspeicher verfügbar sein, um ein flüssiges Abarbeiten und Darstellen der relevanten Inhalte zu gewährleisten.&lt;br /&gt;
&lt;br /&gt;
=== Orgware ===&lt;br /&gt;
Vorrangig geschah die Kommunikation im Team über E-Mail Nachrichten und Kurzmitteilungen. Hier wurde beispielsweise Skype intensiv genutzt.&lt;br /&gt;
&lt;br /&gt;
== Ergänzungen ==&lt;br /&gt;
&lt;br /&gt;
== Anhang ==&lt;/div&gt;</summary>
		<author><name>Bepf</name></author>	</entry>

	<entry>
		<id>https://p-servus.net/mediawiki/index.php?title=Technische_Konzepte:_Config_Manager</id>
		<title>Technische Konzepte: Config Manager</title>
		<link rel="alternate" type="text/html" href="https://p-servus.net/mediawiki/index.php?title=Technische_Konzepte:_Config_Manager"/>
				<updated>2012-05-17T14:18:28Z</updated>
		
		<summary type="html">&lt;p&gt;Bepf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Einleitung ==&lt;br /&gt;
&lt;br /&gt;
Für viele Bereiche unserer Anwendung sind Konfigurationen notwendig. In unserem Projekt sollen aus einer Konigurations-Datei verschiedene Einstellungen ausgelesen werden können. Diese können z.B. einfach irgendwelche Ports / Addressen beinhalten, die nicht statisch im Quelltext vorliegen sollen. Natürlich können diese Konfigurationen auch in der Oberfläche verwaltet werden, manche Einstellungen sollen aber z.B. garnicht für einen Nutzer sichtbar sein oder es würde sich schlichtweg nicht lohnen dafür eine Oberfläche zu entwerfen.&lt;br /&gt;
&lt;br /&gt;
== Format für die Einstellungen ==&lt;br /&gt;
&lt;br /&gt;
In einer textlich lesbaren Datei sind die Einstellungen gespeichert. Pro Zeile soll eine Konfiguration verwendet werden.&lt;br /&gt;
Dabei gibt es immer einen Schlüssel und einen dazugehörigen Wert. Beide sind durch ein Gleichheitszeichen voneinander getrennt.&lt;br /&gt;
&lt;br /&gt;
'''Beispielschlüssel = Beispielwert'''&lt;br /&gt;
&lt;br /&gt;
== Wie kann ein Wert aus dem ConfigManager gelesen werden? ==&lt;br /&gt;
&lt;br /&gt;
Wie auch der Logger, so ist der ConfigManager nun statisch und braucht nicht initialisiert werden.&lt;br /&gt;
Es kann eine komplette Liste gelesen werden aus einer Datei (oder aus einer Standarddatei), die Liste bleibt zur Laufzeit auch dem ConfigManager bekannt und muss nicht manuell verwaltet werden. Durch die Methode &amp;quot;getValueFromKey&amp;quot; wird durch einen Parameterangabe des Schlüssels ein Wert herausgesucht aus dieser Liste und zurückgegeben. Sollte die Liste leer sein, versucht das Programm eine Standarddatei zu lesen. Ist kein Schlüssel gefunden worden ist der zurückgegebene Wert &amp;quot;null&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
Durch die Methode &amp;quot;writeConfigLine&amp;quot; wird der zuletzt geöffneten Konfigurationsdatei eine Zeile hinzugefügt.&lt;br /&gt;
Wurde noch keine Datei angegeben bleibt die Methode funktionslos.&lt;br /&gt;
&lt;br /&gt;
== Wo ist der ConfigManager zu finden? ==&lt;br /&gt;
&lt;br /&gt;
Der ConfigManager ist Bestandteil des Jar-Files &amp;quot;tools&amp;quot;, dass auch noch den Logger beherbergt.&lt;br /&gt;
Das Paket ist mit einer Classpath Variable bereits in unserem Projekt eingebunden.&lt;br /&gt;
Er kann einfach mit ConfigManager.xx (xx für die entsprechende Methode) benutzt werden.&lt;br /&gt;
Da der ConfigManager statisch ist muss nichts initialisiert werden. &lt;br /&gt;
Es sollte aber an einer zentralen Stelle das ConfigFile definiert werden (durch &amp;quot;readConfig(File file)), die angebene Datei bleibt zur Laufzeit gespeichert, alle anderen Methoden beziehen sich nun auf diese Datei.&lt;br /&gt;
&lt;br /&gt;
== Grafische Benutzeroberfläche (GUI) ==&lt;br /&gt;
&lt;br /&gt;
In der neuesten Version des Programms &amp;quot;Baumschule&amp;quot; wurde für den Konfigurationsmanager eine Oberfläche geschaffen, mit dem der Nutzer ohne einen Texteditor verschiedene Einstellungen bearbeiten kann. Der Konfigurationsmanager hat somit auch Methoden bekommen um Einstellungen zu editieren (und wieder in die Konfigurationsdatei zu schreiben).&lt;br /&gt;
Die grafische Benutzeroberfläche bietet nun z.B. die Einstellung das Trennzeichen für das CSV-Format zu ändern, oder die Farben der angezeigten Bäume.&lt;/div&gt;</summary>
		<author><name>Bepf</name></author>	</entry>

	<entry>
		<id>https://p-servus.net/mediawiki/index.php?title=Optimaler_Entscheidungsbaum:_Pflichtenheft</id>
		<title>Optimaler Entscheidungsbaum: Pflichtenheft</title>
		<link rel="alternate" type="text/html" href="https://p-servus.net/mediawiki/index.php?title=Optimaler_Entscheidungsbaum:_Pflichtenheft"/>
				<updated>2012-05-15T06:42:32Z</updated>
		
		<summary type="html">&lt;p&gt;Bepf: /* Musskriterien */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Über ==&lt;br /&gt;
Projekt: Optimaler Entscheidungsbaum &amp;lt;br /&amp;gt;&lt;br /&gt;
Autoren: Christian Gebauer, Sebastian Große, Jonathan Wiens, Benjamin Pfeiffer, Nico Smeenk &amp;lt;br /&amp;gt;&lt;br /&gt;
Modul: Software-Engineering II &amp;lt;br /&amp;gt;&lt;br /&gt;
Studiengang: Informatik 2010 &amp;lt;br /&amp;gt;&lt;br /&gt;
Fachbereich: Fachbereich 2, Duales Studium Wirtschaft • Technik, HWR Berlin &amp;lt;br /&amp;gt;&lt;br /&gt;
Datum:&lt;br /&gt;
&lt;br /&gt;
== Vorwort ==&lt;br /&gt;
Dieses Pflichtenheft ist eine Vereinbarung zwischen der Dozentin Frau Prof. Dr. Monett Diaz als Auftraggeberin und der Gruppe 1 des Kurses &amp;quot;Software-Engineering II&amp;quot; aus dem Studiengang &amp;quot;Informatik 2010&amp;quot;. Die Vereinbarung enthält alle Anforderungen an ein zu erstellendes Chat-Programm für die Hochschule für Wirtschaft und Recht Berlin. Das Dokument dient zur Strukturierung und genaueren Einschätzung des zeitlichen Aufwandes des Projektes und der Priorisierung der einzelnen Module. Somit lässt sich auch einschätzen, ob und mit welchen Kosten das Projekt durchführbar ist.&lt;br /&gt;
=== Erwartete Leserschaft ===&lt;br /&gt;
Im Allgemeinen können alle Stakeholder des Projektes als Leser erwartet werden, jedoch werden die Entwickler, die Projektleitung, der Auftragnehmer und -geber besonders als Leserschaft hervorgehoben.&lt;br /&gt;
=== Versionsgeschichte des Dokumentes ===&lt;br /&gt;
Dies ist die erste Version des Pflichtenheftes, weitere Versionen sind noch nicht in Planung.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
=== Allgemeines ===&lt;br /&gt;
Ein Entscheidungsbaum ist ein speziell aufgebauter Baum aus der Graphentheorie. Im Gegensatz zu einem &amp;quot;normalen&amp;quot; Baum ist ein Entscheidungsbaum geordnet und gerichtet und dient dem Zweck Entscheidungsregeln darzustellen. Ein Entscheidungsbaum kann durch Algorithmen auf Basis von tabellarischen Daten erstellt werden. Aufgrund der Tatsache, dass diese Bäume Entscheidungsprobleme lösen  bzw. vereinfachen können, wird diese Methode in vielen Bereichen angewandt. Hauptsächlich benutzt, wird ein Entscheidungsbaum beim Data-Mining, also der umfassenden Theroie der Datenauswertung; aber auch in der Betriebswirtschaftslehre, um effektives Marketing zu betreiben, oder Investment-Geschäfte zu bewerten. Darüber hinaus gibt es viele denkbare Einsatzbereiche, da Entscheidungen fast überall getroffen werden müssen.&lt;br /&gt;
&lt;br /&gt;
Ein Entscheidungsbaum besteht aus Knoten und Blättern. Er muss einen Wurzelknoten besitzen und wird durch Kanten verbunden.&lt;br /&gt;
Ein Knoten repräsentiert ein(en) Attribut(-namen), Kanten die zulässigen Attributwerte und die Blätter zeigen die Attributwerte (meistens klassifiziert) des Zielattributs an.&lt;br /&gt;
&lt;br /&gt;
In diesem Pflichtenheft wird nun ein Programm beschrieben, dass einen Entscheidungsbaum auf Basis einer Tabelle konstruieren kann. Dieses Programm ist als Auftragsarbeit von Hr. Prof. Dr. Höhne und Fr. Prof. Dr. Monett-Diaz zu sehen, bestimmte Funtktionen und Kriterien sind bereits vorgegeben.&lt;br /&gt;
=== Abgrenzungen ===&lt;br /&gt;
==== Ausgangssituation ====&lt;br /&gt;
Im Auftrag von Hr. Prof. Dr. Höhne und Fr. Prof. Dr. Monett-Diaz wird ein Programm, im Rahmen des Moduls SWE-2, entwickelt, welches dazu dienen soll Entscheidungsbäume zu konstruieren und darzustellen. Als Datenbasis dienen Excel- und CSV-Dateien.&lt;br /&gt;
Mit Hilfe dieser Daten soll dann ein &amp;quot;optimaler Entscheidungsbaum&amp;quot; aufgebaut werden, wobei zu beachten ist, dass der Begriff &amp;quot;optimal&amp;quot; nur relativ gesehen werden kann, und abhängig vom gewählten Algorhitmus und der Art des Datenbestandes ist.&lt;br /&gt;
&lt;br /&gt;
=== Systemname ===&lt;br /&gt;
Aufgrund der Tatsache, dass ein Entscheidungsbaum nach bestimmten Regeln ''aufgebaut'' wird und der Anwender einen ''Lerneffekt'' aus diesem Baum ziehen kann, in dem Entscheidungen vereinfacht werden, wurde beschlossen das Projekt und das Programm &amp;quot;Baumschule - Optimale Entscheidungsbäume&amp;quot; zu nennen. &lt;br /&gt;
==== Allgemeine Systembeschreibung ====&lt;br /&gt;
Das System bzw. das Programm bietet hauptsächlich drei grobe Funtkionen an:&lt;br /&gt;
* Laden/Editieren eines Datenbestands durch eine Datei (Excel bzw. CSV)&lt;br /&gt;
* Erstellen eines Entscheidungsbaumes durch einen gegebenen Algorithmus, oder einer Nutzervorgabe&lt;br /&gt;
* Präsentation des Ergebnisses&lt;br /&gt;
&lt;br /&gt;
Diese 3 Hauptfunktionen lassen sich näher beschreiben:&lt;br /&gt;
* Es gibt eine graphische Benutzeroberfläche mit der der Endandwender alle Funktionen des Programms benutzen kann&lt;br /&gt;
* Es gibt eine Funktion zum Laden/Speichern einer Excel- oder CSV-Datei&lt;br /&gt;
* Geladene Tabellendaten können editiert werden.&lt;br /&gt;
* Ein Baum kann automatisch generiert werden, ein ZielAttribut kann vorher gewählt werden.&lt;br /&gt;
* Ein Baum kann teilweise manuell erstellt werden, in dem für jeden Knoten die nächste Attributebene selbst gewählt werden kann.&lt;br /&gt;
* Es können jederzeit detaillierte Informationen über einen Baum bzw. dessen Tabellendaten angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
==== Vorteile und Nutzen ====&lt;br /&gt;
&lt;br /&gt;
Das System bietet die Bearbeitung eines Datenbestandes an und arbeitet nach dem Laden einer Datei formatunabhängig. Ist ein Datenbestand bearbeitet worden, ist dieser auch wieder exportierbar.&lt;br /&gt;
Die Oberfläche bietet die Möglichkeit einen, gemäß des Algorithmus, optimalen Baumes darzustellen. Die Stärke liegt hierbei einerseits auf der Präsentation und andererseits bei der leichten Editierbarkeit, denn der Baum kann einfach durch Mausklicks bearbeitet und untersucht werden. Ein manuelles zeichnen und berechnen des Baumes entfällt. &lt;br /&gt;
Gerade bei großen Daten ist ein Baum nur durch ein Programm wie dieses erstellbar. Arbeitet der Algorithmus fehlerfrei, kann ''immer wieder'' und ''reproduzierbar'' ein Baum aufgebaut werden.&lt;br /&gt;
&lt;br /&gt;
=== Überblick über den Rest des Dokuments ===&lt;br /&gt;
&lt;br /&gt;
Die nachfolgenden Abschnitte befassen sich detaillierter und gründlicher mit den Funktionen des Programms. Es werden Vereinbarungen festgelegt, welches Verhalten das Programm leisten kann und muss.&lt;br /&gt;
&lt;br /&gt;
== Fachbegriffe, Akronyme und Abkürzungen ==&lt;br /&gt;
&amp;lt;b&amp;gt;Dieser Teil soll die im Dokument verwendeten technischen Fachbergriffe festlegen. Dabei soll keine Erfahrung oder Fachwissen beim Leser vorausgesetzt werden.&amp;lt;/b&amp;gt;&lt;br /&gt;
=== Glossar ===&lt;br /&gt;
=== Akronyme ===&lt;br /&gt;
=== Abkürzungen ===&lt;br /&gt;
&lt;br /&gt;
== Zielbestimmungen ==&lt;br /&gt;
=== Musskriterien ===&lt;br /&gt;
Die Muss-Kritierien ergeben sich größtenteils aus der Aufgabenbeschreibung von Hr. Höhne und Fr. Monett-Diaz und sollen hier abgekürzt wiedergegeben werden:&lt;br /&gt;
* Das Programm muss in der Lage sein mit einem Datenbestand von bis zu 10 Attributen und 100 Objekten arbeiten zu können.&lt;br /&gt;
* Das Programm muss mit Tabellen-Dateien umgehen können. (Laden/Speichern von Excel- und CSV-Dateien)&lt;br /&gt;
* Das Programm muss ein Bearbeiten der Tabellendaten zulassen.&lt;br /&gt;
* Es muss eine graphische Benutzeroberfläche geben.&lt;br /&gt;
* Das Zielattribut muss farblich hervorgehoben werden.&lt;br /&gt;
&lt;br /&gt;
* Das Programm muss eine Möglichkeit bieten den Baum, durch Auswahl des nächsten Attributs, teilweise manuell aufzubauen.&lt;br /&gt;
* Wenn der Baum interaktiv zusammengestellt wird, darf(muss) nur der oberste Knoten präsentiert werden.&lt;br /&gt;
* Bei der Präsentation des interaktiven Baums kann dieser durch ein Mausklick &amp;quot;untersucht&amp;quot; werden. Es wird bei einem Knoten eine Tabelle angezigt, die die Objekte anzeigt, die durch den Knoten repräsentiert werden.&lt;br /&gt;
* Es kann in der Tabelle ein Attribut untersucht werden, woraufhin die gewichtete Entropie, die sichbei Aufteilung nach diesem Attribut ergeben würde, angezeigt wird.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Das Programm muss anhand eines vorgegebenen Algorithmus (''Konzept der Entropie'') einen Entscheidungsbaum erstellen können.&lt;br /&gt;
* Bei der automatischen Erstellung wird ein Knoten der nur noch Objekte einer Klasse enthält nicht weiter aufgeteilt, selbiges gilt wenn der Knoten eine (einstellbare) Anzahl von Elementen enthält.&lt;br /&gt;
* Bei der Präsentation des autmatischen Baums kann dieser durch ein Mausklick &amp;quot;untersucht&amp;quot; werden. Es wird bei einem Knoten eine Tabelle angezigt, die die Objekte anzeigt, die durch den Knoten repräsentiert werden.&lt;br /&gt;
&lt;br /&gt;
* Bei der Präsentation des interaktiven und autmatischen Baums müssen die Kanten mit dem entsprechenden Attributewert angezeigt werden.&lt;br /&gt;
* Bei der Präsentation des interaktiven und automatischen Baums muss die Zahl der enthaltenen Objekte, die Zahl jeder Klasse und die Entropie in jedem Knoten angezeigt werden.&lt;br /&gt;
* Der Entscheidungsbaum muss, egal ob manuell oder autmoatisch erstellt, bei Änderungen des Datenbestandes aktualisiert werden.&lt;br /&gt;
&lt;br /&gt;
* Das Programm muss lauffähig sein und ausführbar vorliegen.&lt;br /&gt;
&lt;br /&gt;
=== Sollkriterien ===&lt;br /&gt;
* Das Programm soll an den wichtigen Stellen durchdachte Hilfebeschreibungen anzeigen können.&lt;br /&gt;
* Das Programm soll bei bestimmten Fehlern oder unerlaubten Nutzeraktionen eine graphische Fehlermeldung anzeigen.&lt;br /&gt;
* Das Programm soll zum Nachverfolgen von Programm-Algorithmen und -Abläufen eine Log-Datei erstellen.&lt;br /&gt;
* Das Log-Verhalten soll konfigurierbar sein.&lt;br /&gt;
* Die Oberfläche soll farblich und organisaorisch übersichtlich und leicht zu bedienen sein.&lt;br /&gt;
* Das Erstellen eines Baumes soll nicht länger als 5 Sekunden dauern. (Vorrausgesetzt das Datenlimit von 10*100 Attributwerten wird eingehalten)&lt;br /&gt;
* Die Oberfläche soll neben der einfachen Ansicht einen Präsentationsmodus bieten, in dem der Baum als Vollbild dargestellt wird.&lt;br /&gt;
&lt;br /&gt;
=== Kannkriterien ===&lt;br /&gt;
* Das Programm kann die Möglichkeit bieten, über eine Konfigurationsschnittstelle verschiedene Programmparameter anzupassen.&lt;br /&gt;
* Das Programm kann die Möglichkeit bieten, den erstellten Baum als Text-Datei abzuspeichern.&lt;br /&gt;
&lt;br /&gt;
=== Abgrenzungskriterien ===&lt;br /&gt;
&lt;br /&gt;
* Die Software setzt eine installierte Version von Java voraus.&lt;br /&gt;
* Es gibt für jedes Betriebssystem (Windows, Linux, Mac) und dessen Ausprägung (x64, x32) jeweils eine Version.&lt;br /&gt;
* Die Software kann nur mit Datenformaten umgehen, die Excel-Konform sind- (bis 2003: .xls, ab 2007: .xlsx) oder dem CSV-Format entsprechen (Trennzeichen: &amp;quot;,&amp;quot; (Ausgesprochen: Komma)&lt;br /&gt;
* Die Software benutzt einen fest vorgegebenen Algorithmus (''Konzept der Entropie'').&lt;br /&gt;
* Die Tabelle kann maximal 10 Attribute und jeweils 100 Attributwerte enthalten und darf innerhalb der Tabellengrenzen keine leeren Zellenwerte (leere Strings) enthalten.&lt;br /&gt;
&lt;br /&gt;
== Systemeinsatz ==&lt;br /&gt;
=== Anwendungsbereiche === &lt;br /&gt;
=== Zielgruppen === &lt;br /&gt;
=== Betriebsbedingungen === &lt;br /&gt;
&lt;br /&gt;
== Technische Systemumgebung ==&lt;br /&gt;
=== Software === &lt;br /&gt;
=== Hardware === &lt;br /&gt;
=== Orgware === &lt;br /&gt;
&lt;br /&gt;
== Systemübersicht und -architektur ==&lt;br /&gt;
=== Übersicht über das System === &lt;br /&gt;
=== Systemarchitektur === &lt;br /&gt;
&amp;lt;b&amp;gt;Dieses Kapitel sollte einen groben Überblick über die erwartete Systemarchitektur geben, der die Verteilung der Funktionen auf die Systemmodule zeigt. Wiederverwendete Komponenten sollten gekennzeichnet werden.&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Schnittstellen des Systems ===&lt;br /&gt;
&lt;br /&gt;
== Systemanforderungen ==&lt;br /&gt;
Das Programm soll den Argorithmus, einen optimalen Entscheidungsbaum zu finden, demonstrieren.&lt;br /&gt;
=== Funktionale Anforderungen ===&lt;br /&gt;
* Das Programm soll unter allen gängigen Windows-Betriebssystemen ohne Installation lauffähig sein (Java darf vorrausgesetzt werden, sonst nichts spezielles).&lt;br /&gt;
==== Tabellenansicht ====&lt;br /&gt;
* Einlesen / Speichern einer Tabelle im .csv-Format (wobei das Trennzeichen ein Komma ist).&lt;br /&gt;
* Alle Attribute sind Zeichenketten.&lt;br /&gt;
* Eingeben / Editieren einer Tabelle muss möglich sein.&lt;br /&gt;
* Import und Export von Excel-Dateien.&lt;br /&gt;
&lt;br /&gt;
==== Baum automatisch ====&lt;br /&gt;
* Der optimale Entscheidungsbaum wird mit dem Algorithmus, der sukzessiv für jeden Knoten jeweils das Attribut mit der minimalen gewichteten Entropie auswählt, erzeugt und dargestellt.&lt;br /&gt;
* Wenn ein Knoten nur noch Objekte einer Klasse enthält, wird dieser nicht weiter aufgeteilt.&lt;br /&gt;
* Wenn ein Knoten nur noch eine bestimmte Anzahl (einstellbar - Voreinstellung 1) von Elementen enthält, wird nicht weiter aufgeteilt.&lt;br /&gt;
&lt;br /&gt;
=== Qualitätsanforderungen ===&lt;br /&gt;
=== Benutzeroberfläche ===&lt;br /&gt;
Weil das Programm auch für Präsentationszwecke eingesetzt werden soll, ist insbesondere auf eine entsprechende Gestaltung der Oberfläche (aussagekräftige Verwendung von Farben, ausreichend großer Schriftgrad, etc.) zu achten.&amp;lt;br&amp;gt;&lt;br /&gt;
Im Programm kann zwischen drei verschiedenen Ansichten hin- und hergeschalten werden, von denen stets genau eine sichtbar ist:&lt;br /&gt;
* Tabellenansicht&lt;br /&gt;
* Baum interaktiv&lt;br /&gt;
* Baum automatisch&lt;br /&gt;
Start ist stets in der Tabellenansicht, erst wenn eine Tabelle geladen oder eingegeben ist, kann in eine Baumansicht gewechselt werden. Ansonsten kann stets zwischen den drei Ansichten umgeschalten werden.&lt;br /&gt;
==== Tabellenansicht ====&lt;br /&gt;
* Eine Tabelle besteht aus maximal etwa 10 Attributen und 100 Objekten. Die Spalten repräsentieren dabei die Attribute und die Zeilen die Objekte / Datensätze.&lt;br /&gt;
* (Farbliche) Markierung des Zielattributs.&lt;br /&gt;
&lt;br /&gt;
==== Baum interaktiv ====&lt;br /&gt;
* Zu Beginn wird nur der oberste Knoten (also der, der allen Objekten in der Tabelle entspricht) dargestellt.&lt;br /&gt;
* Das gilt ebenso, wenn in der Tabellenansicht ein Attribut hinzugefügt oder gelöscht oder das Zielattribut geändert wird.&lt;br /&gt;
* In jedem Knoten ist die Zahl der enthaltenden Objekte, die Zahl der Objekte jeder Klasse und die Entropie angegeben.&lt;br /&gt;
* Die Kanten sind mit dem entsprechenden Attributwert markiert.&lt;br /&gt;
* Bei Identifikation eines Knotens des Baumes wird eine Tabelle mit den Objekten, die von diesem Knoten repräsentiert werden, dargestellt.&lt;br /&gt;
* Wird in dieser Tabelle ein Attribut identifiziert, wird die gewichtete Entropie, die sich bei Aufteilung nach diesem Attribut ergeben würde, ausgegeben.&lt;br /&gt;
* In dieser Tabelle kann ein Attribut selektiert werden, so dass entsprechend den Werten dieses Attributes Unterknoten entstehen. Die Tabelle verschwindet. Hatte der Knoten schon Unterknoten, verschwinden diese natürlich ebenfalls.&lt;br /&gt;
&lt;br /&gt;
==== Baum automatisch ====&lt;br /&gt;
* In jedem Knoten ist die Zahl der enthaltenden Objekte, die Zahl der Objekte jeder Klasse und die Entropie automatisch dargestellt.&lt;br /&gt;
* Die Kanten sind mit dem entsprechenden Attributwert markiert.&lt;br /&gt;
* Bei Identifikation eines Knotens des Baumes wird eine Tabelle mit den Objekten, die von diesem Knoten repräsentiert werden, dargestellt.&lt;br /&gt;
&lt;br /&gt;
=== Andere nicht-funktionale Anforderungen ===&lt;br /&gt;
&lt;br /&gt;
== Systemmodelle ==&lt;br /&gt;
&amp;lt;b&amp;gt;Dieses Kapitel sollte eines oder mehrere Systemmodelle festlegen, die die Beziehung zwischen den Systemkomponenten und dem System und seiner Umgebung aufzeigen. Dies können Objekt-, Datenfluss- und semantische Datenmodelle sein.&amp;lt;/b&amp;gt;&lt;br /&gt;
=== Datenmodelle === &lt;br /&gt;
=== Andere Modelle === &lt;br /&gt;
&lt;br /&gt;
== Anforderungen an die Entwicklungsumgebung ==&lt;br /&gt;
Die hier genannten Aspekte werden für die qualitative Entwicklung der Software benötigt.&lt;br /&gt;
=== Software ===&lt;br /&gt;
Das Betriebssystem spielt keine Rolle, da Eclipse und Java Plattformunabhängig ist.&lt;br /&gt;
*Die Software &amp;quot;Eclipse&amp;quot; zur Programmierung mit Java wird benötigt. Hinzu kommt das Eclipse PlugIn &amp;quot;subversive&amp;quot; zur Handhabung der Versionsverwaltung&lt;br /&gt;
*Eine aktuelle Java-Developer-Version (jdk) wird zur Kompilierung benötigt. Außerdem werden folgende externe Bibliotheken benötigt:&lt;br /&gt;
** &amp;quot;dom4j&amp;quot;, &amp;quot;poi&amp;quot; zur Konvertierung und Erstellung von Excel-Spreadsheet Tabellen&lt;br /&gt;
** &amp;quot;swt&amp;quot;, das genutzte Framework zur Erstellung der grafischen Benutzeroberfläche&lt;br /&gt;
** &amp;quot;xmlbeans&amp;quot; zur Erstellung und Lesen von XML-Dateien&lt;br /&gt;
&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
Für die verwendete Hardware sollten mindestens 2 GB Arbeitsspeicher verfügbar sein, um ein flüssiges Abarbeiten und Darstellen der relevanten Inhalte zu gewährleisten.&lt;br /&gt;
&lt;br /&gt;
=== Orgware ===&lt;br /&gt;
Vorrangig geschah die Kommunikation im Team über E-Mail Nachrichten und Kurzmitteilungen. Hier wurde beispielsweise Skype intensiv genutzt.&lt;br /&gt;
&lt;br /&gt;
== Ergänzungen ==&lt;br /&gt;
&lt;br /&gt;
== Anhang ==&lt;/div&gt;</summary>
		<author><name>Bepf</name></author>	</entry>

	<entry>
		<id>https://p-servus.net/mediawiki/index.php?title=Optimaler_Entscheidungsbaum:_Pflichtenheft</id>
		<title>Optimaler Entscheidungsbaum: Pflichtenheft</title>
		<link rel="alternate" type="text/html" href="https://p-servus.net/mediawiki/index.php?title=Optimaler_Entscheidungsbaum:_Pflichtenheft"/>
				<updated>2012-05-02T07:53:08Z</updated>
		
		<summary type="html">&lt;p&gt;Bepf: /* Einleitung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Über ==&lt;br /&gt;
Projekt: Optimaler Entscheidungsbaum &amp;lt;br /&amp;gt;&lt;br /&gt;
Autoren: Christian Gebauer, Sebastian Große, Jonathan Wiens, Benjamin Pfeiffer, Nico Smeenk &amp;lt;br /&amp;gt;&lt;br /&gt;
Modul: Software-Engineering II &amp;lt;br /&amp;gt;&lt;br /&gt;
Studiengang: Informatik 2010 &amp;lt;br /&amp;gt;&lt;br /&gt;
Fachbereich: Fachbereich 2, Duales Studium Wirtschaft • Technik, HWR Berlin &amp;lt;br /&amp;gt;&lt;br /&gt;
Datum:&lt;br /&gt;
&lt;br /&gt;
== Vorwort ==&lt;br /&gt;
Dieses Pflichtenheft ist eine Vereinbarung zwischen der Dozentin Frau Prof. Dr. Monett Diaz als Auftrag- geberin und der Gruppe 1 des Kurses &amp;quot;Software-Engineering II&amp;quot; aus dem Studiengang &amp;quot;Informatik 2010&amp;quot;. Die Vereinbarung enthält alle Anforderungen an ein zu erstellendes Chat-Programm für die Hochschule für Wirtschaft und Recht Berlin. Das Dokument dient zur Strukturierung und genaueren Einschätzung des zeitlichen Aufwandes des Projektes und der Priorisierung der einzelnen Module. Somit lässt sich auch einschätzen, ob und mit welchen Kosten das Projekt durchführbar ist.&lt;br /&gt;
=== Erwartete Leserschaft ===&lt;br /&gt;
Im Allgemeinen können alle Stakeholder des Projektes als Leser erwartet werden, jedoch werden die Entwickler, die Projektleitung, der Auftragnehmer und -geber besonders als Leserschaft hervorgehoben.&lt;br /&gt;
=== Versionsgeschichte des Dokumentes ===&lt;br /&gt;
Dies ist die erste Version des Pflichtenheftes, weitere Versionen sind noch nicht in Planung.&amp;lt;br /&amp;gt;&lt;br /&gt;
Table&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
=== Allgemeines ===&lt;br /&gt;
Ein Entscheidungsbaum ist ein speziell aufgebauter Baum aus der Graphentheorie. Im Gegensatz zu einem &amp;quot;normalen&amp;quot; Baum ist ein Entscheidungsbaum geordnet und gerichtet und dient dem Zweck Entscheidungsregeln darzustellen. Ein Entscheidungsbaum kann durch Algorithmen auf Basis von tabellarischen Daten erstellt werden. Aufgrund der Tatsache, dass diese Bäume Entscheidungsprobleme lösen  bzw. vereinfachen können, wird diese Methode in vielen Bereichen angewandt. Hauptsächlich benutzt, wird ein Entscheidungsbaum beim Data-Mining, also der umfassenden Theroie der Datenauswertung; aber auch in der Betriebswirtschaftslehre, um effektives Marketing zu betreiben, oder Investment-Geschäfte zu bewerten. Darüber hinaus gibt es viele denkbare Einsatzbereiche, da Entscheidungen fast überall getroffen werden müssen.&lt;br /&gt;
&lt;br /&gt;
Ein Entscheidungsbaum besteht aus Knoten und Blättern. Er muss einen Wurzelknoten besitzen und wird durch Kanten verbunden.&lt;br /&gt;
Ein Knoten repräsentiert ein(en) Attribut(-namen), Kanten die zulässigen Attributwerte und die Blätter zeigen die Attributwerte (meistens klassifiziert) des Zielattributs an.&lt;br /&gt;
&lt;br /&gt;
In diesem Pflichtenheft wird nun ein Programm beschrieben, dass einen Entscheidungsbaum auf Basis einer Tabelle konstruieren kann. Dieses Programm ist als Auftragsarbeit von Hr. Prof. Dr. Höhne und Fr. Prof. Dr. Monett-Diaz zu sehen, bestimmte Funtktionen und Kriterien sind bereits vorgegeben.&lt;br /&gt;
=== Abgrenzungen ===&lt;br /&gt;
==== Ausgangssituation ====&lt;br /&gt;
Im Auftrag von Hr. Prof. Dr. Höhne und Fr. Prof. Dr. Monett-Diaz wird ein Programm, im Rahmen des Moduls SWE-2, entwickelt, welches dazu dienen soll Entscheidungsbäume zu konstruieren und darzustellen. Als Datenbasis dienen Excel- und CSV-Dateien.&lt;br /&gt;
Mit Hilfe dieser Daten soll dann ein &amp;quot;optimaler Entscheidungsbaum&amp;quot; aufgebaut werden, wobei zu beachten ist, dass der Begriff &amp;quot;optimal&amp;quot; nur relativ gesehen kann, und abhängig von gewähltem Algorhitmus und Art des Datenbestands abhängig ist.&lt;br /&gt;
=== Systemname ===&lt;br /&gt;
Aufgrund der Tatsache, dass ein Entscheidungsbaum nach bestimmten Regeln ''aufgebaut'' wird und der Anwender einen ''Lerneffekt'' aus diesem Baum ziehen kann, in dem Entscheidungen vereinfacht werden, wurde beschlossen das Projekt und das Programm &amp;quot;Baumschule - Optimale Entscheidungsbäume&amp;quot; zu nennen. &lt;br /&gt;
==== Allgemeine Systembeschreibung ====&lt;br /&gt;
Das System bzw. das Programm bietet hauptsächlich drei grobe Funtkionen an:&lt;br /&gt;
* Laden/Editieren eines Datenbestands durch eine Datei (Excel bzw. CSV)&lt;br /&gt;
* Erstellen eines Entscheidungsbaumes durch einen gegebenen Algorithmus, oder einer Nutzervorgabe&lt;br /&gt;
* Präsentation des Ergebnisses&lt;br /&gt;
&lt;br /&gt;
Diese 3 Hauptfunktionen lassen sich näher beschreiben:&lt;br /&gt;
* Es gibt eine graphische Benutzeroberfläche mit der der Endandwender alle Funktionen des Programms benutzen kann&lt;br /&gt;
* Es gibt eine Funktion zum Laden/Speichern einer Excel- oder CSV-Datei&lt;br /&gt;
* Geladene Tabellendaten können editiert werden.&lt;br /&gt;
* Ein Baum kann automatisch generiert werden, ein ZielAttribut kann vorher gewählt werden.&lt;br /&gt;
* Ein Baum kann teilweise manuell erstellt werden, in dem für jeden Knoten die nächste Attributebene selbst gewählt werden kann.&lt;br /&gt;
* Es können jederzeit detaillierte Informationen über einen Baum bzw. dessen Tabellendaten angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
==== Vorteile und Nutzen ====&lt;br /&gt;
&lt;br /&gt;
Das System bietet eine Bearbeitung eines Datenbestandes an, und arbeitet nach dem Laden einer Datei formatunabhängig. Ist ein Datenbestand bearbeitet worden, ist dieser auch wieder exportierbar.&lt;br /&gt;
Die Oberfläche bietet die Möglichkeit einen, gemäß des Algorithmus, optimalen Baumes darzustellen. Die Stärke liegt hierbei einerseits auf der Präsentation und andererseits die leichte Editierbarkei, denn der Baum kann durch Mausklicks bearbeitet und untersucht werden. Ein manuelles zeichnen und berechnen des Baumes entfällt. &lt;br /&gt;
Gerade bei großen Daten ist ein Baum nur durch ein Programm wie dieses erstellbar. Arbeitet der Algorithmus fehlerfrei, kann ''immer wieder'' und ''reprodzuzierbar'' ein Baum aufgebaut werden.&lt;br /&gt;
&lt;br /&gt;
=== Überblick über den Rest des Dokuments ===&lt;br /&gt;
&lt;br /&gt;
Die nachfolgenden Abschnitte befassen sich detaillierter und gründlicher mit den Funktionen des Programms. Es werden Vereinbarungen festgelegt, welches Verhalten das Programm leisten kann und muss.&lt;br /&gt;
&lt;br /&gt;
== Fachbegriffe, Akronyme und Abkürzungen ==&lt;br /&gt;
&amp;lt;b&amp;gt;Dieser Teil sollte die im Dokument verwendeten teschnischen Fachbergriffe festlegen. Dabei sollten Sie keine Erfahrung oder Fachwissen beim Leser voraussetzten.&amp;lt;/b&amp;gt;&lt;br /&gt;
=== Glossar ===&lt;br /&gt;
=== Akronyme ===&lt;br /&gt;
=== Abkürzungen ===&lt;br /&gt;
&lt;br /&gt;
== Zielbestimmungen ==&lt;br /&gt;
=== Musskriterien ===&lt;br /&gt;
Die Muss-Kritierien ergeben sich größtenteils aus der Aufgabenbeschreibung von Hr. Höhne und Fr. Monett-Diaz:&lt;br /&gt;
* Es muss eine graphische Benutzeroberfläche geben.&lt;br /&gt;
* Das Programm muss Lauffähig sein, ausführbar vorliegen&lt;br /&gt;
* Das Programm muss mit Tabellen-Dateien umgehen können. (Laden/Speichern von Excel- und CSV-Dateien)&lt;br /&gt;
* Das Programm muss ein Bearbeiten der Tabellendaten zulassen&lt;br /&gt;
* Das Programm muss anhand eines vorgegebenen Algorithmus(''Konzept der Entropie'') einen Entscheidungsbaum erstellen können.&lt;br /&gt;
* Das Programm muss eine Möglichkeit bieten den Baum, durch Auswahl des nächsten Attributs, teilweise manuell aufzubauen.&lt;br /&gt;
* Der Entscheidungsbaum muss in der Oberfläche präsentiert werden und die Parameter (wie z.B. die Entropie) anzeigen können.&lt;br /&gt;
&lt;br /&gt;
=== Sollkriterien ===&lt;br /&gt;
* Das Programm soll an den meisten Stellen, durchdachte Hilfebeschreibungen anzeigen können.&lt;br /&gt;
* Das Programm soll bei bestimmten Fehlern oder unerlaubten Nutzeraktionen eine graphische Fehlermeldung anzeigen.&lt;br /&gt;
* Das Programm soll zum Nachverfolgen von Programm-/Algorithmen abläufen eine Log-Datei erstellen.&lt;br /&gt;
* Das Log-Verhalten soll konfigurierbar sein&lt;br /&gt;
* Die Oberfläche soll farblich und organisaorisch übersichtlich und leicht zu bedienen sein&lt;br /&gt;
* Das Erstellen eines Baumes soll nicht länger als 5 sekunden dauern. (Vorrausgesetzt das Datenlimit von 10*100 Attributwerten wird eingehalten)&lt;br /&gt;
* Die Oberfläche soll neben der einfachen Ansicht, einen Präsentationsmodus bieten, in dem der Baum als Vollbild dragestellt wird.&lt;br /&gt;
&lt;br /&gt;
=== Kannkriterien ===&lt;br /&gt;
* Das Programm kann die Möglichkeit bieten über eine Konfigurationsschnittstelle, verschiedene Programmparameter anzupassen.&lt;br /&gt;
* Das Programm kann die Möglichkeit bieten den erstellten Baum als Text-Datei abzuspeichern.&lt;br /&gt;
 &lt;br /&gt;
=== Abgrenzungskriterien ===&lt;br /&gt;
&lt;br /&gt;
* Die Software setzt eine installierte Version von Java vorraus.&lt;br /&gt;
* Es gibt für jedes Betriebssystem(Windows, Linux, Mac) und dessen Ausprägung (x64, x32) jeweils eine Version.&lt;br /&gt;
* Die Software kann nur mit Datenformaten umgehen, die Excel-Konform sind- (bis 2003: .xls, ab 2007: .xlsx) oder dem CSV-Format entsprechen(Trennzeichen: &amp;quot;,&amp;quot; (Ausgesprochen: Komma)&lt;br /&gt;
* Die Software benutzt einen fest vorgegebenen Algorithmus (''Konzept der Entropie'').&lt;br /&gt;
* Die Tabelle kann maximal 10 Attribute und jeweils 100 Attributwerte enthalten und darf innerhalb der Tabellengrenzen keine leeren Zellenwerte(leere Strings) enthalten.&lt;br /&gt;
&lt;br /&gt;
== Systemeinsatz ==&lt;br /&gt;
=== Anwendungsbereiche === &lt;br /&gt;
=== Zielgruppen === &lt;br /&gt;
=== Betriebsbedingungen === &lt;br /&gt;
&lt;br /&gt;
== Technische Systemumgebung ==&lt;br /&gt;
=== Software === &lt;br /&gt;
=== Hardware === &lt;br /&gt;
=== Orgware === &lt;br /&gt;
&lt;br /&gt;
== Systemübersicht und -architektur ==&lt;br /&gt;
=== Übersicht über das System === &lt;br /&gt;
=== Systemarchitektur === &lt;br /&gt;
&amp;lt;b&amp;gt;Dieses Kapitel sollte einen groben Überblick über die erwartete Systemarchitektur geben, der die erteilung der Funktionen auf die Systemmodule zeigt. Wieder verwendete Komponenten sollten gekennzeichnet werden.&amp;lt;/b&amp;gt;&lt;br /&gt;
=== Schnittstellen des Systems ===&lt;br /&gt;
&lt;br /&gt;
== Systemanforderungen ==&lt;br /&gt;
Das Programm soll den Argorithmus, einen optimalen Entscheidungsbaum zu finden, demonstrieren.&lt;br /&gt;
=== Funktionale Anforderungen ===&lt;br /&gt;
* Das Programm soll unter allen gängigen Windows-Betriebssystemen ohne Installation lauffähig sein (Java darf vorrausgesetzt werden, sonst nichts spezielles).&lt;br /&gt;
==== Tabellenansicht ====&lt;br /&gt;
* Einlesen / Speichern einet Tabelle im .csv-Format (wobei das Trennzeichen ein Komma ist).&lt;br /&gt;
* Alle Attribute sind Zeichenketten.&lt;br /&gt;
* Eingeben / Editieren einer Tabelle muss möglich sein.&lt;br /&gt;
* Import und Export von Exel-Dateien.&lt;br /&gt;
==== Baum automatisch ====&lt;br /&gt;
* Der optimale Entscheidungsbaum wird mit dem Algorithmus, der sukzessiv für jeden Knoten jeveils das Attribut auswählt, das die minimale gewichtete Entropie ergiebt, erzeugt und darstellt.&lt;br /&gt;
* Wenn ein Knoten nur noch Objekte einer Klasse enthält, wird nicht weiter aufgeteilt.&lt;br /&gt;
* Wenn ein Knoten nurnoch eine Anzahl (einstellbarn Voreinstellung 1) von Elementen enthält, wird nicht weiter aufgeteilt.&lt;br /&gt;
&lt;br /&gt;
=== Qualitätsanforderungen ===&lt;br /&gt;
=== Benutzeroberfläche ===&lt;br /&gt;
Weil das Programm insbesondere für Präsentationszwecke eingesetzt werden soll, ist insbesondere auch auf eine entsprechende Gestaltung der Oberfläche (aussagekräftige Verwendung von Farben, genügend großer Schriftgrad, etc.) zu achten.&amp;lt;br&amp;gt;&lt;br /&gt;
Im Programm kann zwischen drei verschiedenen Ansichten hin- und hergeschaltet werden, von denen stets genau eine sichtbar ist:&lt;br /&gt;
* Tabellenansicht&lt;br /&gt;
* Baum interaktiv&lt;br /&gt;
* Baum automatisch&lt;br /&gt;
Start ist stets in der Tabellenansicht, erst wenn eine Tabelle geladen oder eingegeben ist, kann in eine Baumansicht gewechselt werden. Ansonsten kann stets zwischen den drei Ansichten gewechselt werden.&lt;br /&gt;
==== Tabellenansicht ====&lt;br /&gt;
* Eine Tabelle besteht aus maximal etwa 10 Attributen und 100 Objekten. Die Spalten repräsentieren dabei die Attribute und die Zeilen die Objekte / Datensätze.&lt;br /&gt;
* (Farbliche) Markierung des Zielattributs.&lt;br /&gt;
&lt;br /&gt;
==== Baum interaktiv ====&lt;br /&gt;
* Zu Beginn wird nur der oberste Knoten (also der, der allen Objekten in der Tabelle entspricht) dargestellt.&lt;br /&gt;
* Das gilt ebenso, wenn in der Tabellenansicht ein Attribut hinzugefügt oder gelöscht oder das Zielattribut geändert wird.&lt;br /&gt;
* In jedem Knoten ist die Zahl der enthaltenden Objekte, die Zahl der Objekte jeder Klasse und die Entropie angegeben.&lt;br /&gt;
* Die Kanten sind mit dem entsprechenden Attributwert markiert.&lt;br /&gt;
* Bei Identifikation eines Knotens des Baumes wird  eine Tabelle mit den Objekten, die von diesem Knoten repräsentiert werden, dargestellt.&lt;br /&gt;
* Wird in dieser Tabelle ein Attribut identifiziert, wird die gewichtete Entropie, die sich bei Aufteilung nach diesem Attribut ergeben würde, ausgegeben.&lt;br /&gt;
* In dieser Tabelle kann ein Attribut selektiert werden, sodass entsprechend den Werten dieses Attributs Unterknoten entstehen. Die Tabelle verschwindet. Hatte der Knoten schon Unterknoten, verschwinden diese natürlich ebenfalls.&lt;br /&gt;
&lt;br /&gt;
==== Baum interaktiv ====&lt;br /&gt;
* In jedem Knoten ist die Zahl der enthaltenden Objekte, die Zahl der Objekte jeder Klasse und die Entropie automatisch.&lt;br /&gt;
* Die Kanten sind mit dem entsprechenden Attributwert markiert.&lt;br /&gt;
* Bei Identifikation eines Knotens des Baumes wird  eine Tabelle mit den Objekten, die von diesem Knoten repräsentiert werden, dargestellt.&lt;br /&gt;
&lt;br /&gt;
=== Andere nicht-funktionale Anforderungen ===&lt;br /&gt;
&lt;br /&gt;
== Systemmodelle ==&lt;br /&gt;
&amp;lt;b&amp;gt;Dieses Kapitel sollte eines oder mehrere Systemmodelle festlegen, die die Beziehung zwischen den Systemkomponenten und dem System und seiner Umgebung aufzeigen. Dies können Objekt-, Datenfluss- und semantische Datenmodelle sein.&amp;lt;/b&amp;gt;&lt;br /&gt;
=== Datenmodelle === &lt;br /&gt;
=== Andere Modelle === &lt;br /&gt;
&lt;br /&gt;
== Anforderungen an die Entwicklungsumgebung ==&lt;br /&gt;
Die hier genannten Aspekte werden für die qualitative Entwicklung der Software benötigt.&lt;br /&gt;
=== Software ===&lt;br /&gt;
Das Betriebssystem spielt keine Rolle, da Eclipse und Java Plattformunabhängig ist.&lt;br /&gt;
*Die Software &amp;quot;Eclipse&amp;quot; zur Programmierung mit Java wird benötigt. Hinzu kommt das Eclipse PlugIn &amp;quot;subversive&amp;quot; zur Handhabung der Versionsverwaltung&lt;br /&gt;
*Eine aktuelle Java-Developer-Version (jdk) wird zur Kompilierung benötigt. Außerdem werden folgende externe Bibliotheken benötigt:&lt;br /&gt;
** &amp;quot;dom4j&amp;quot;, &amp;quot;poi&amp;quot; zur Konvertierung und Erstellung von Excel-Spreadsheet Tabellen&lt;br /&gt;
** &amp;quot;swt&amp;quot;, das genutzte Framework zur Erstellung der graifschen Benutzeroberfläche&lt;br /&gt;
** &amp;quot;xmlbeans&amp;quot; zur Erstellung und lesen von XML-Dateien&lt;br /&gt;
&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
Für die Hardware sollten mindestens 2 GB Arbeitsspeicher für eine flüssige&lt;br /&gt;
&lt;br /&gt;
=== Orgware ===&lt;br /&gt;
Hauptsächlich wurde die Teamkommunikation über E-Mailtransfer und Kurzmitteilungen wie Skype geregelt.&lt;br /&gt;
&lt;br /&gt;
== Ergänzungen ==&lt;br /&gt;
&lt;br /&gt;
== Anhang ==&lt;/div&gt;</summary>
		<author><name>Bepf</name></author>	</entry>

	<entry>
		<id>https://p-servus.net/mediawiki/index.php?title=Optimaler_Entscheidungsbaum:_Pflichtenheft</id>
		<title>Optimaler Entscheidungsbaum: Pflichtenheft</title>
		<link rel="alternate" type="text/html" href="https://p-servus.net/mediawiki/index.php?title=Optimaler_Entscheidungsbaum:_Pflichtenheft"/>
				<updated>2012-05-02T07:52:42Z</updated>
		
		<summary type="html">&lt;p&gt;Bepf: /* Zielbestimmungen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Über ==&lt;br /&gt;
Projekt: Optimaler Entscheidungsbaum &amp;lt;br /&amp;gt;&lt;br /&gt;
Autoren: Christian Gebauer, Sebastian Große, Jonathan Wiens, Benjamin Pfeiffer, Nico Smeenk &amp;lt;br /&amp;gt;&lt;br /&gt;
Modul: Software-Engineering II &amp;lt;br /&amp;gt;&lt;br /&gt;
Studiengang: Informatik 2010 &amp;lt;br /&amp;gt;&lt;br /&gt;
Fachbereich: Fachbereich 2, Duales Studium Wirtschaft • Technik, HWR Berlin &amp;lt;br /&amp;gt;&lt;br /&gt;
Datum:&lt;br /&gt;
&lt;br /&gt;
== Vorwort ==&lt;br /&gt;
Dieses Pflichtenheft ist eine Vereinbarung zwischen der Dozentin Frau Prof. Dr. Monett Diaz als Auftrag- geberin und der Gruppe 1 des Kurses &amp;quot;Software-Engineering II&amp;quot; aus dem Studiengang &amp;quot;Informatik 2010&amp;quot;. Die Vereinbarung enthält alle Anforderungen an ein zu erstellendes Chat-Programm für die Hochschule für Wirtschaft und Recht Berlin. Das Dokument dient zur Strukturierung und genaueren Einschätzung des zeitlichen Aufwandes des Projektes und der Priorisierung der einzelnen Module. Somit lässt sich auch einschätzen, ob und mit welchen Kosten das Projekt durchführbar ist.&lt;br /&gt;
=== Erwartete Leserschaft ===&lt;br /&gt;
Im Allgemeinen können alle Stakeholder des Projektes als Leser erwartet werden, jedoch werden die Entwickler, die Projektleitung, der Auftragnehmer und -geber besonders als Leserschaft hervorgehoben.&lt;br /&gt;
=== Versionsgeschichte des Dokumentes ===&lt;br /&gt;
Dies ist die erste Version des Pflichtenheftes, weitere Versionen sind noch nicht in Planung.&amp;lt;br /&amp;gt;&lt;br /&gt;
Table&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
=== Allgemeines ===&lt;br /&gt;
Ein Entscheidungsbaum ist ein speziell aufgebauter Baum aus der Graphentheorie. Im Gegensatz zu einem &amp;quot;normalen&amp;quot; Baum ist ein Entscheidungsbaum geordnet und gerichtet und dient dem Zweck Entscheidungsregeln darzustellen. Ein Entscheidungsbaum kann durch Algorithmen auf Basis von tabellarischen Daten erstellt werden. Aufgrund der Tatsache, dass diese Bäume Entscheidungsprobleme lösen  bzw. vereinfachen können, wird diese Methode in vielen Bereichen angewandt. Hauptsächlich benutzt, wird ein Entscheidungsbaum beim Data-Mining, also der umfassenden Theroie der Datenauswertung; aber auch in der Betriebswirtschaftslehre, um effektives Marketing zu betreiben, oder Investment-Geschäfte zu bewerten. Darüber hinaus gibt es viele denkbare Einsatzbereiche, da Entscheidungen fast überall getroffen werden müssen.&lt;br /&gt;
&lt;br /&gt;
Ein Entscheidungsbaum besteht aus Knoten und Blättern. Er muss einen Wurzelknoten besitzen und wird durch Kanten verbunden.&lt;br /&gt;
Ein Knoten repräsentiert ein(en) Attribut(-namen), Kanten die zulässigen Attributwerte und die Blätter zeigen die Attributwerte (meistens klassifiziert) des Zielattributs an.&lt;br /&gt;
&lt;br /&gt;
In diesem Pflichtenheft wird nun ein Programm beschrieben, dass einen Entscheidungsbaum auf Basis einer Tabelle konstruieren kann. Dieses Programm ist als Auftragsarbeit von Hr. Prof. Dr. Höhne und Fr. Prof. Dr. Monett-Diaz zu sehen, bestimmte Funtktionen und Kriterien sind bereits vorgegeben.&lt;br /&gt;
=== Abgrenzungen ===&lt;br /&gt;
==== Ausgangssituation ====&lt;br /&gt;
Im Auftrag von Hr. Prof. Dr. Höhne und Fr. Prof. Dr. Monett-Diaz wird ein Programm, im Rahmen des Moduls SWE-2, entwickelt, welches dazu dienen soll Entscheidungsbäume zu konstruieren und darzustellen. Als Datenbasis dienen Excel- und CSV-Dateien.&lt;br /&gt;
Mit Hilfe dieser Daten soll dann ein &amp;quot;optimaler Entscheidungsbaum&amp;quot; aufgebaut werden, wobei zu beachten ist, dass der Begriff &amp;quot;optimal&amp;quot; nur relativ gesehen kann, und abhängig von gewähltem Algorhitmus und Art des Datenbestands abhängig ist.&lt;br /&gt;
==== Systemname ===&lt;br /&gt;
Aufgrund der Tatsache, dass ein Entscheidungsbaum nach bestimmten Regeln ''aufgebaut'' wird und der Anwender einen ''Lerneffekt'' aus diesem Baum ziehen kann, in dem Entscheidungen vereinfacht werden, wurde beschlossen das Projekt und das Programm &amp;quot;Baumschule - Optimale Entscheidungsbäume&amp;quot; zu nennen. &lt;br /&gt;
==== Allgemeine Systembeschreibung ====&lt;br /&gt;
Das System bzw. das Programm bietet hauptsächlich drei grobe Funtkionen an:&lt;br /&gt;
* Laden/Editieren eines Datenbestands durch eine Datei (Excel bzw. CSV)&lt;br /&gt;
* Erstellen eines Entscheidungsbaumes durch einen gegebenen Algorithmus, oder einer Nutzervorgabe&lt;br /&gt;
* Präsentation des Ergebnisses&lt;br /&gt;
&lt;br /&gt;
Diese 3 Hauptfunktionen lassen sich näher beschreiben:&lt;br /&gt;
* Es gibt eine graphische Benutzeroberfläche mit der der Endandwender alle Funktionen des Programms benutzen kann&lt;br /&gt;
* Es gibt eine Funktion zum Laden/Speichern einer Excel- oder CSV-Datei&lt;br /&gt;
* Geladene Tabellendaten können editiert werden.&lt;br /&gt;
* Ein Baum kann automatisch generiert werden, ein ZielAttribut kann vorher gewählt werden.&lt;br /&gt;
* Ein Baum kann teilweise manuell erstellt werden, in dem für jeden Knoten die nächste Attributebene selbst gewählt werden kann.&lt;br /&gt;
* Es können jederzeit detaillierte Informationen über einen Baum bzw. dessen Tabellendaten angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
==== Vorteile und Nutzen ====&lt;br /&gt;
&lt;br /&gt;
Das System bietet eine Bearbeitung eines Datenbestandes an, und arbeitet nach dem Laden einer Datei formatunabhängig. Ist ein Datenbestand bearbeitet worden, ist dieser auch wieder exportierbar.&lt;br /&gt;
Die Oberfläche bietet die Möglichkeit einen, gemäß des Algorithmus, optimalen Baumes darzustellen. Die Stärke liegt hierbei einerseits auf der Präsentation und andererseits die leichte Editierbarkei, denn der Baum kann durch Mausklicks bearbeitet und untersucht werden. Ein manuelles zeichnen und berechnen des Baumes entfällt. &lt;br /&gt;
Gerade bei großen Daten ist ein Baum nur durch ein Programm wie dieses erstellbar. Arbeitet der Algorithmus fehlerfrei, kann ''immer wieder'' und ''reprodzuzierbar'' ein Baum aufgebaut werden.&lt;br /&gt;
&lt;br /&gt;
=== Überblick über den Rest des Dokuments ===&lt;br /&gt;
&lt;br /&gt;
Die nachfolgenden Abschnitte befassen sich detaillierter und gründlicher mit den Funktionen des Programms. Es werden Vereinbarungen festgelegt, welches Verhalten das Programm leisten kann und muss.&lt;br /&gt;
&lt;br /&gt;
== Fachbegriffe, Akronyme und Abkürzungen ==&lt;br /&gt;
&amp;lt;b&amp;gt;Dieser Teil sollte die im Dokument verwendeten teschnischen Fachbergriffe festlegen. Dabei sollten Sie keine Erfahrung oder Fachwissen beim Leser voraussetzten.&amp;lt;/b&amp;gt;&lt;br /&gt;
=== Glossar ===&lt;br /&gt;
=== Akronyme ===&lt;br /&gt;
=== Abkürzungen ===&lt;br /&gt;
&lt;br /&gt;
== Zielbestimmungen ==&lt;br /&gt;
=== Musskriterien ===&lt;br /&gt;
Die Muss-Kritierien ergeben sich größtenteils aus der Aufgabenbeschreibung von Hr. Höhne und Fr. Monett-Diaz:&lt;br /&gt;
* Es muss eine graphische Benutzeroberfläche geben.&lt;br /&gt;
* Das Programm muss Lauffähig sein, ausführbar vorliegen&lt;br /&gt;
* Das Programm muss mit Tabellen-Dateien umgehen können. (Laden/Speichern von Excel- und CSV-Dateien)&lt;br /&gt;
* Das Programm muss ein Bearbeiten der Tabellendaten zulassen&lt;br /&gt;
* Das Programm muss anhand eines vorgegebenen Algorithmus(''Konzept der Entropie'') einen Entscheidungsbaum erstellen können.&lt;br /&gt;
* Das Programm muss eine Möglichkeit bieten den Baum, durch Auswahl des nächsten Attributs, teilweise manuell aufzubauen.&lt;br /&gt;
* Der Entscheidungsbaum muss in der Oberfläche präsentiert werden und die Parameter (wie z.B. die Entropie) anzeigen können.&lt;br /&gt;
&lt;br /&gt;
=== Sollkriterien ===&lt;br /&gt;
* Das Programm soll an den meisten Stellen, durchdachte Hilfebeschreibungen anzeigen können.&lt;br /&gt;
* Das Programm soll bei bestimmten Fehlern oder unerlaubten Nutzeraktionen eine graphische Fehlermeldung anzeigen.&lt;br /&gt;
* Das Programm soll zum Nachverfolgen von Programm-/Algorithmen abläufen eine Log-Datei erstellen.&lt;br /&gt;
* Das Log-Verhalten soll konfigurierbar sein&lt;br /&gt;
* Die Oberfläche soll farblich und organisaorisch übersichtlich und leicht zu bedienen sein&lt;br /&gt;
* Das Erstellen eines Baumes soll nicht länger als 5 sekunden dauern. (Vorrausgesetzt das Datenlimit von 10*100 Attributwerten wird eingehalten)&lt;br /&gt;
* Die Oberfläche soll neben der einfachen Ansicht, einen Präsentationsmodus bieten, in dem der Baum als Vollbild dragestellt wird.&lt;br /&gt;
&lt;br /&gt;
=== Kannkriterien ===&lt;br /&gt;
* Das Programm kann die Möglichkeit bieten über eine Konfigurationsschnittstelle, verschiedene Programmparameter anzupassen.&lt;br /&gt;
* Das Programm kann die Möglichkeit bieten den erstellten Baum als Text-Datei abzuspeichern.&lt;br /&gt;
 &lt;br /&gt;
=== Abgrenzungskriterien ===&lt;br /&gt;
&lt;br /&gt;
* Die Software setzt eine installierte Version von Java vorraus.&lt;br /&gt;
* Es gibt für jedes Betriebssystem(Windows, Linux, Mac) und dessen Ausprägung (x64, x32) jeweils eine Version.&lt;br /&gt;
* Die Software kann nur mit Datenformaten umgehen, die Excel-Konform sind- (bis 2003: .xls, ab 2007: .xlsx) oder dem CSV-Format entsprechen(Trennzeichen: &amp;quot;,&amp;quot; (Ausgesprochen: Komma)&lt;br /&gt;
* Die Software benutzt einen fest vorgegebenen Algorithmus (''Konzept der Entropie'').&lt;br /&gt;
* Die Tabelle kann maximal 10 Attribute und jeweils 100 Attributwerte enthalten und darf innerhalb der Tabellengrenzen keine leeren Zellenwerte(leere Strings) enthalten.&lt;br /&gt;
&lt;br /&gt;
== Systemeinsatz ==&lt;br /&gt;
=== Anwendungsbereiche === &lt;br /&gt;
=== Zielgruppen === &lt;br /&gt;
=== Betriebsbedingungen === &lt;br /&gt;
&lt;br /&gt;
== Technische Systemumgebung ==&lt;br /&gt;
=== Software === &lt;br /&gt;
=== Hardware === &lt;br /&gt;
=== Orgware === &lt;br /&gt;
&lt;br /&gt;
== Systemübersicht und -architektur ==&lt;br /&gt;
=== Übersicht über das System === &lt;br /&gt;
=== Systemarchitektur === &lt;br /&gt;
&amp;lt;b&amp;gt;Dieses Kapitel sollte einen groben Überblick über die erwartete Systemarchitektur geben, der die erteilung der Funktionen auf die Systemmodule zeigt. Wieder verwendete Komponenten sollten gekennzeichnet werden.&amp;lt;/b&amp;gt;&lt;br /&gt;
=== Schnittstellen des Systems ===&lt;br /&gt;
&lt;br /&gt;
== Systemanforderungen ==&lt;br /&gt;
Das Programm soll den Argorithmus, einen optimalen Entscheidungsbaum zu finden, demonstrieren.&lt;br /&gt;
=== Funktionale Anforderungen ===&lt;br /&gt;
* Das Programm soll unter allen gängigen Windows-Betriebssystemen ohne Installation lauffähig sein (Java darf vorrausgesetzt werden, sonst nichts spezielles).&lt;br /&gt;
==== Tabellenansicht ====&lt;br /&gt;
* Einlesen / Speichern einet Tabelle im .csv-Format (wobei das Trennzeichen ein Komma ist).&lt;br /&gt;
* Alle Attribute sind Zeichenketten.&lt;br /&gt;
* Eingeben / Editieren einer Tabelle muss möglich sein.&lt;br /&gt;
* Import und Export von Exel-Dateien.&lt;br /&gt;
==== Baum automatisch ====&lt;br /&gt;
* Der optimale Entscheidungsbaum wird mit dem Algorithmus, der sukzessiv für jeden Knoten jeveils das Attribut auswählt, das die minimale gewichtete Entropie ergiebt, erzeugt und darstellt.&lt;br /&gt;
* Wenn ein Knoten nur noch Objekte einer Klasse enthält, wird nicht weiter aufgeteilt.&lt;br /&gt;
* Wenn ein Knoten nurnoch eine Anzahl (einstellbarn Voreinstellung 1) von Elementen enthält, wird nicht weiter aufgeteilt.&lt;br /&gt;
&lt;br /&gt;
=== Qualitätsanforderungen ===&lt;br /&gt;
=== Benutzeroberfläche ===&lt;br /&gt;
Weil das Programm insbesondere für Präsentationszwecke eingesetzt werden soll, ist insbesondere auch auf eine entsprechende Gestaltung der Oberfläche (aussagekräftige Verwendung von Farben, genügend großer Schriftgrad, etc.) zu achten.&amp;lt;br&amp;gt;&lt;br /&gt;
Im Programm kann zwischen drei verschiedenen Ansichten hin- und hergeschaltet werden, von denen stets genau eine sichtbar ist:&lt;br /&gt;
* Tabellenansicht&lt;br /&gt;
* Baum interaktiv&lt;br /&gt;
* Baum automatisch&lt;br /&gt;
Start ist stets in der Tabellenansicht, erst wenn eine Tabelle geladen oder eingegeben ist, kann in eine Baumansicht gewechselt werden. Ansonsten kann stets zwischen den drei Ansichten gewechselt werden.&lt;br /&gt;
==== Tabellenansicht ====&lt;br /&gt;
* Eine Tabelle besteht aus maximal etwa 10 Attributen und 100 Objekten. Die Spalten repräsentieren dabei die Attribute und die Zeilen die Objekte / Datensätze.&lt;br /&gt;
* (Farbliche) Markierung des Zielattributs.&lt;br /&gt;
&lt;br /&gt;
==== Baum interaktiv ====&lt;br /&gt;
* Zu Beginn wird nur der oberste Knoten (also der, der allen Objekten in der Tabelle entspricht) dargestellt.&lt;br /&gt;
* Das gilt ebenso, wenn in der Tabellenansicht ein Attribut hinzugefügt oder gelöscht oder das Zielattribut geändert wird.&lt;br /&gt;
* In jedem Knoten ist die Zahl der enthaltenden Objekte, die Zahl der Objekte jeder Klasse und die Entropie angegeben.&lt;br /&gt;
* Die Kanten sind mit dem entsprechenden Attributwert markiert.&lt;br /&gt;
* Bei Identifikation eines Knotens des Baumes wird  eine Tabelle mit den Objekten, die von diesem Knoten repräsentiert werden, dargestellt.&lt;br /&gt;
* Wird in dieser Tabelle ein Attribut identifiziert, wird die gewichtete Entropie, die sich bei Aufteilung nach diesem Attribut ergeben würde, ausgegeben.&lt;br /&gt;
* In dieser Tabelle kann ein Attribut selektiert werden, sodass entsprechend den Werten dieses Attributs Unterknoten entstehen. Die Tabelle verschwindet. Hatte der Knoten schon Unterknoten, verschwinden diese natürlich ebenfalls.&lt;br /&gt;
&lt;br /&gt;
==== Baum interaktiv ====&lt;br /&gt;
* In jedem Knoten ist die Zahl der enthaltenden Objekte, die Zahl der Objekte jeder Klasse und die Entropie automatisch.&lt;br /&gt;
* Die Kanten sind mit dem entsprechenden Attributwert markiert.&lt;br /&gt;
* Bei Identifikation eines Knotens des Baumes wird  eine Tabelle mit den Objekten, die von diesem Knoten repräsentiert werden, dargestellt.&lt;br /&gt;
&lt;br /&gt;
=== Andere nicht-funktionale Anforderungen ===&lt;br /&gt;
&lt;br /&gt;
== Systemmodelle ==&lt;br /&gt;
&amp;lt;b&amp;gt;Dieses Kapitel sollte eines oder mehrere Systemmodelle festlegen, die die Beziehung zwischen den Systemkomponenten und dem System und seiner Umgebung aufzeigen. Dies können Objekt-, Datenfluss- und semantische Datenmodelle sein.&amp;lt;/b&amp;gt;&lt;br /&gt;
=== Datenmodelle === &lt;br /&gt;
=== Andere Modelle === &lt;br /&gt;
&lt;br /&gt;
== Anforderungen an die Entwicklungsumgebung ==&lt;br /&gt;
Die hier genannten Aspekte werden für die qualitative Entwicklung der Software benötigt.&lt;br /&gt;
=== Software ===&lt;br /&gt;
Das Betriebssystem spielt keine Rolle, da Eclipse und Java Plattformunabhängig ist.&lt;br /&gt;
*Die Software &amp;quot;Eclipse&amp;quot; zur Programmierung mit Java wird benötigt. Hinzu kommt das Eclipse PlugIn &amp;quot;subversive&amp;quot; zur Handhabung der Versionsverwaltung&lt;br /&gt;
*Eine aktuelle Java-Developer-Version (jdk) wird zur Kompilierung benötigt. Außerdem werden folgende externe Bibliotheken benötigt:&lt;br /&gt;
** &amp;quot;dom4j&amp;quot;, &amp;quot;poi&amp;quot; zur Konvertierung und Erstellung von Excel-Spreadsheet Tabellen&lt;br /&gt;
** &amp;quot;swt&amp;quot;, das genutzte Framework zur Erstellung der graifschen Benutzeroberfläche&lt;br /&gt;
** &amp;quot;xmlbeans&amp;quot; zur Erstellung und lesen von XML-Dateien&lt;br /&gt;
&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
Für die Hardware sollten mindestens 2 GB Arbeitsspeicher für eine flüssige&lt;br /&gt;
&lt;br /&gt;
=== Orgware ===&lt;br /&gt;
Hauptsächlich wurde die Teamkommunikation über E-Mailtransfer und Kurzmitteilungen wie Skype geregelt.&lt;br /&gt;
&lt;br /&gt;
== Ergänzungen ==&lt;br /&gt;
&lt;br /&gt;
== Anhang ==&lt;/div&gt;</summary>
		<author><name>Bepf</name></author>	</entry>

	<entry>
		<id>https://p-servus.net/mediawiki/index.php?title=Optimaler_Entscheidungsbaum:_Pflichtenheft</id>
		<title>Optimaler Entscheidungsbaum: Pflichtenheft</title>
		<link rel="alternate" type="text/html" href="https://p-servus.net/mediawiki/index.php?title=Optimaler_Entscheidungsbaum:_Pflichtenheft"/>
				<updated>2012-05-02T07:43:55Z</updated>
		
		<summary type="html">&lt;p&gt;Bepf: /* Einleitung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Über ==&lt;br /&gt;
Projekt: Optimaler Entscheidungsbaum &amp;lt;br /&amp;gt;&lt;br /&gt;
Autoren: Christian Gebauer, Sebastian Große, Jonathan Wiens, Benjamin Pfeiffer, Nico Smeenk &amp;lt;br /&amp;gt;&lt;br /&gt;
Modul: Software-Engineering II &amp;lt;br /&amp;gt;&lt;br /&gt;
Studiengang: Informatik 2010 &amp;lt;br /&amp;gt;&lt;br /&gt;
Fachbereich: Fachbereich 2, Duales Studium Wirtschaft • Technik, HWR Berlin &amp;lt;br /&amp;gt;&lt;br /&gt;
Datum:&lt;br /&gt;
&lt;br /&gt;
== Vorwort ==&lt;br /&gt;
Dieses Pflichtenheft ist eine Vereinbarung zwischen der Dozentin Frau Prof. Dr. Monett Diaz als Auftrag- geberin und der Gruppe 1 des Kurses &amp;quot;Software-Engineering II&amp;quot; aus dem Studiengang &amp;quot;Informatik 2010&amp;quot;. Die Vereinbarung enthält alle Anforderungen an ein zu erstellendes Chat-Programm für die Hochschule für Wirtschaft und Recht Berlin. Das Dokument dient zur Strukturierung und genaueren Einschätzung des zeitlichen Aufwandes des Projektes und der Priorisierung der einzelnen Module. Somit lässt sich auch einschätzen, ob und mit welchen Kosten das Projekt durchführbar ist.&lt;br /&gt;
=== Erwartete Leserschaft ===&lt;br /&gt;
Im Allgemeinen können alle Stakeholder des Projektes als Leser erwartet werden, jedoch werden die Entwickler, die Projektleitung, der Auftragnehmer und -geber besonders als Leserschaft hervorgehoben.&lt;br /&gt;
=== Versionsgeschichte des Dokumentes ===&lt;br /&gt;
Dies ist die erste Version des Pflichtenheftes, weitere Versionen sind noch nicht in Planung.&amp;lt;br /&amp;gt;&lt;br /&gt;
Table&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
=== Allgemeines ===&lt;br /&gt;
Ein Entscheidungsbaum ist ein speziell aufgebauter Baum aus der Graphentheorie. Im Gegensatz zu einem &amp;quot;normalen&amp;quot; Baum ist ein Entscheidungsbaum geordnet und gerichtet und dient dem Zweck Entscheidungsregeln darzustellen. Ein Entscheidungsbaum kann durch Algorithmen auf Basis von tabellarischen Daten erstellt werden. Aufgrund der Tatsache, dass diese Bäume Entscheidungsprobleme lösen  bzw. vereinfachen können, wird diese Methode in vielen Bereichen angewandt. Hauptsächlich benutzt, wird ein Entscheidungsbaum beim Data-Mining, also der umfassenden Theroie der Datenauswertung; aber auch in der Betriebswirtschaftslehre, um effektives Marketing zu betreiben, oder Investment-Geschäfte zu bewerten. Darüber hinaus gibt es viele denkbare Einsatzbereiche, da Entscheidungen fast überall getroffen werden müssen.&lt;br /&gt;
&lt;br /&gt;
Ein Entscheidungsbaum besteht aus Knoten und Blättern. Er muss einen Wurzelknoten besitzen und wird durch Kanten verbunden.&lt;br /&gt;
Ein Knoten repräsentiert ein(en) Attribut(-namen), Kanten die zulässigen Attributwerte und die Blätter zeigen die Attributwerte (meistens klassifiziert) des Zielattributs an.&lt;br /&gt;
&lt;br /&gt;
In diesem Pflichtenheft wird nun ein Programm beschrieben, dass einen Entscheidungsbaum auf Basis einer Tabelle konstruieren kann. Dieses Programm ist als Auftragsarbeit von Hr. Prof. Dr. Höhne und Fr. Prof. Dr. Monett-Diaz zu sehen, bestimmte Funtktionen und Kriterien sind bereits vorgegeben.&lt;br /&gt;
=== Abgrenzungen ===&lt;br /&gt;
==== Ausgangssituation ====&lt;br /&gt;
Im Auftrag von Hr. Prof. Dr. Höhne und Fr. Prof. Dr. Monett-Diaz wird ein Programm, im Rahmen des Moduls SWE-2, entwickelt, welches dazu dienen soll Entscheidungsbäume zu konstruieren und darzustellen. Als Datenbasis dienen Excel- und CSV-Dateien.&lt;br /&gt;
Mit Hilfe dieser Daten soll dann ein &amp;quot;optimaler Entscheidungsbaum&amp;quot; aufgebaut werden, wobei zu beachten ist, dass der Begriff &amp;quot;optimal&amp;quot; nur relativ gesehen kann, und abhängig von gewähltem Algorhitmus und Art des Datenbestands abhängig ist.&lt;br /&gt;
==== Systemname ===&lt;br /&gt;
Aufgrund der Tatsache, dass ein Entscheidungsbaum nach bestimmten Regeln ''aufgebaut'' wird und der Anwender einen ''Lerneffekt'' aus diesem Baum ziehen kann, in dem Entscheidungen vereinfacht werden, wurde beschlossen das Projekt und das Programm &amp;quot;Baumschule - Optimale Entscheidungsbäume&amp;quot; zu nennen. &lt;br /&gt;
==== Allgemeine Systembeschreibung ====&lt;br /&gt;
Das System bzw. das Programm bietet hauptsächlich drei grobe Funtkionen an:&lt;br /&gt;
* Laden/Editieren eines Datenbestands durch eine Datei (Excel bzw. CSV)&lt;br /&gt;
* Erstellen eines Entscheidungsbaumes durch einen gegebenen Algorithmus, oder einer Nutzervorgabe&lt;br /&gt;
* Präsentation des Ergebnisses&lt;br /&gt;
&lt;br /&gt;
Diese 3 Hauptfunktionen lassen sich näher beschreiben:&lt;br /&gt;
* Es gibt eine graphische Benutzeroberfläche mit der der Endandwender alle Funktionen des Programms benutzen kann&lt;br /&gt;
* Es gibt eine Funktion zum Laden/Speichern einer Excel- oder CSV-Datei&lt;br /&gt;
* Geladene Tabellendaten können editiert werden.&lt;br /&gt;
* Ein Baum kann automatisch generiert werden, ein ZielAttribut kann vorher gewählt werden.&lt;br /&gt;
* Ein Baum kann teilweise manuell erstellt werden, in dem für jeden Knoten die nächste Attributebene selbst gewählt werden kann.&lt;br /&gt;
* Es können jederzeit detaillierte Informationen über einen Baum bzw. dessen Tabellendaten angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
==== Vorteile und Nutzen ====&lt;br /&gt;
&lt;br /&gt;
Das System bietet eine Bearbeitung eines Datenbestandes an, und arbeitet nach dem Laden einer Datei formatunabhängig. Ist ein Datenbestand bearbeitet worden, ist dieser auch wieder exportierbar.&lt;br /&gt;
Die Oberfläche bietet die Möglichkeit einen, gemäß des Algorithmus, optimalen Baumes darzustellen. Die Stärke liegt hierbei einerseits auf der Präsentation und andererseits die leichte Editierbarkei, denn der Baum kann durch Mausklicks bearbeitet und untersucht werden. Ein manuelles zeichnen und berechnen des Baumes entfällt. &lt;br /&gt;
Gerade bei großen Daten ist ein Baum nur durch ein Programm wie dieses erstellbar. Arbeitet der Algorithmus fehlerfrei, kann ''immer wieder'' und ''reprodzuzierbar'' ein Baum aufgebaut werden.&lt;br /&gt;
&lt;br /&gt;
=== Überblick über den Rest des Dokuments ===&lt;br /&gt;
&lt;br /&gt;
Die nachfolgenden Abschnitte befassen sich detaillierter und gründlicher mit den Funktionen des Programms. Es werden Vereinbarungen festgelegt, welches Verhalten das Programm leisten kann und muss.&lt;br /&gt;
&lt;br /&gt;
== Fachbegriffe, Akronyme und Abkürzungen ==&lt;br /&gt;
&amp;lt;b&amp;gt;Dieser Teil sollte die im Dokument verwendeten teschnischen Fachbergriffe festlegen. Dabei sollten Sie keine Erfahrung oder Fachwissen beim Leser voraussetzten.&amp;lt;/b&amp;gt;&lt;br /&gt;
=== Glossar ===&lt;br /&gt;
=== Akronyme ===&lt;br /&gt;
=== Abkürzungen ===&lt;br /&gt;
&lt;br /&gt;
== Zielbestimmungen ==&lt;br /&gt;
=== Musskriterien ===&lt;br /&gt;
Die Muss-Kritierien ergeben sich größtenteils aus der Aufgabenbeschreibung von Hr. Höhne und Fr. Monett-Diaz:&lt;br /&gt;
* Es muss eine graphische Benutzeroberfläche geben.&lt;br /&gt;
* Das Programm muss Lauffähig sein, ausführbar vorliegen&lt;br /&gt;
* Das Programm muss mit Tabellen-Dateien umgehen können. (Laden/Speichern von Excel- und CSV-Dateien)&lt;br /&gt;
* Das Programm muss ein Bearbeiten der Tabellendaten zu lassem&lt;br /&gt;
* Das Programm muss anhand eines vorgegebenen Algorithmus einen Entscheidungsbaum erstellen können.&lt;br /&gt;
* Der Entscheidungsbaum muss in der Oberfläche präsentiert werden und die Parameter(wie z.B. die Entropie) anzeigen können.&lt;br /&gt;
* Der Entscheidungsbaum muss (graphisch) veränderbar sein.&lt;br /&gt;
&lt;br /&gt;
=== Sollkriterien ===&lt;br /&gt;
* Das Programm soll an den meisten Stellen, durchdachte Hilfebeschreibungen anzeigen können.&lt;br /&gt;
* Das Programm soll bei bestimmten Fehlern oder unerlaubten Nutzeraktionen eine graphische Fehlermeldung anzeigen.&lt;br /&gt;
* Das Programm soll zum Nachverfolgen von Programm-/Algorithmen abläufen eine Log-Datei erstellen&lt;br /&gt;
* Das Log-Verhalten soll konfigurierbar sein&lt;br /&gt;
* Die Oberfläche soll farblich und organisaorisch übersichtlich und leicht zu bedienen sein&lt;br /&gt;
* Das Erstellen eines Baumes soll nicht länger als 5 sekunden dauern. (Vorrausgesetzt das Datenlimit von 10*100 Attributwerten wird eingehalten)&lt;br /&gt;
* Die Oberfläche soll neben der einfachen Ansicht, einen Präsentationsmodus bieten, in dem der Baum als Vollbild dragestellt wird.&lt;br /&gt;
* Das Programm soll die Möglichkeit bieten den erstellten Baum als Text-Datei abzuspeichern.&lt;br /&gt;
&lt;br /&gt;
=== Kannkriterien ===&lt;br /&gt;
* Das Programm kann die Möglichkeit bieten über eine Konfigurationsschnittstelle, verschiedene Programmparameter anzupassen.&lt;br /&gt;
* Das Programm kann die Möglichkeit bieten einen, als Text-Datei abgespeicherten Baum wieder einzulesen und darzustellen.&lt;br /&gt;
 &lt;br /&gt;
=== Abgrenzungskriterien ===&lt;br /&gt;
&lt;br /&gt;
* Die Software setzt eine installierte Version von Java vorraus.&lt;br /&gt;
* Es gibt für jedes Betriebssystem(Windows, Linux, Mac) und dessen Ausprägung (x64, x32) jeweils eine Version.&lt;br /&gt;
* Die Software kann nur mit Datenformaten umgehen, die Excel-Konform sind- (bis 2003: .xls, ab 2007: .xlsx) oder dem CSV-Format entsprechen(Trennzeichen: Semikolon)&lt;br /&gt;
* Die Software benutzt einen fest vorgegebenen Algorithmus.&lt;br /&gt;
* Die Tabelle kann maximal 10 Attribute und jeweils 100 Attributwerte enthalten.&lt;br /&gt;
&lt;br /&gt;
== Systemeinsatz ==&lt;br /&gt;
=== Anwendungsbereiche === &lt;br /&gt;
=== Zielgruppen === &lt;br /&gt;
=== Betriebsbedingungen === &lt;br /&gt;
&lt;br /&gt;
== Technische Systemumgebung ==&lt;br /&gt;
=== Software === &lt;br /&gt;
=== Hardware === &lt;br /&gt;
=== Orgware === &lt;br /&gt;
&lt;br /&gt;
== Systemübersicht und -architektur ==&lt;br /&gt;
=== Übersicht über das System === &lt;br /&gt;
=== Systemarchitektur === &lt;br /&gt;
&amp;lt;b&amp;gt;Dieses Kapitel sollte einen groben Überblick über die erwartete Systemarchitektur geben, der die erteilung der Funktionen auf die Systemmodule zeigt. Wieder verwendete Komponenten sollten gekennzeichnet werden.&amp;lt;/b&amp;gt;&lt;br /&gt;
=== Schnittstellen des Systems ===&lt;br /&gt;
&lt;br /&gt;
== Systemanforderungen ==&lt;br /&gt;
Das Programm soll den Argorithmus, einen optimalen Entscheidungsbaum zu finden, demonstrieren.&lt;br /&gt;
=== Funktionale Anforderungen ===&lt;br /&gt;
* Das Programm soll unter allen gängigen Windows-Betriebssystemen ohne Installation lauffähig sein (Java darf vorrausgesetzt werden, sonst nichts spezielles).&lt;br /&gt;
==== Tabellenansicht ====&lt;br /&gt;
* Einlesen / Speichern einet Tabelle im .csv-Format (wobei das Trennzeichen ein Komma ist).&lt;br /&gt;
* Alle Attribute sind Zeichenketten.&lt;br /&gt;
* Eingeben / Editieren einer Tabelle muss möglich sein.&lt;br /&gt;
* Import und Export von Exel-Dateien.&lt;br /&gt;
==== Baum automatisch ====&lt;br /&gt;
* Der optimale Entscheidungsbaum wird mit dem Algorithmus, der sukzessiv für jeden Knoten jeveils das Attribut auswählt, das die minimale gewichtete Entropie ergiebt, erzeugt und darstellt.&lt;br /&gt;
* Wenn ein Knoten nur noch Objekte einer Klasse enthält, wird nicht weiter aufgeteilt.&lt;br /&gt;
* Wenn ein Knoten nurnoch eine Anzahl (einstellbarn Voreinstellung 1) von Elementen enthält, wird nicht weiter aufgeteilt.&lt;br /&gt;
&lt;br /&gt;
=== Qualitätsanforderungen ===&lt;br /&gt;
=== Benutzeroberfläche ===&lt;br /&gt;
Weil das Programm insbesondere für Präsentationszwecke eingesetzt werden soll, ist insbesondere auch auf eine entsprechende Gestaltung der Oberfläche (aussagekräftige Verwendung von Farben, genügend großer Schriftgrad, etc.) zu achten.&amp;lt;br&amp;gt;&lt;br /&gt;
Im Programm kann zwischen drei verschiedenen Ansichten hin- und hergeschaltet werden, von denen stets genau eine sichtbar ist:&lt;br /&gt;
* Tabellenansicht&lt;br /&gt;
* Baum interaktiv&lt;br /&gt;
* Baum automatisch&lt;br /&gt;
Start ist stets in der Tabellenansicht, erst wenn eine Tabelle geladen oder eingegeben ist, kann in eine Baumansicht gewechselt werden. Ansonsten kann stets zwischen den drei Ansichten gewechselt werden.&lt;br /&gt;
==== Tabellenansicht ====&lt;br /&gt;
* Eine Tabelle besteht aus maximal etwa 10 Attributen und 100 Objekten. Die Spalten repräsentieren dabei die Attribute und die Zeilen die Objekte / Datensätze.&lt;br /&gt;
* (Farbliche) Markierung des Zielattributs.&lt;br /&gt;
&lt;br /&gt;
==== Baum interaktiv ====&lt;br /&gt;
* Zu Beginn wird nur der oberste Knoten (also der, der allen Objekten in der Tabelle entspricht) dargestellt.&lt;br /&gt;
* Das gilt ebenso, wenn in der Tabellenansicht ein Attribut hinzugefügt oder gelöscht oder das Zielattribut geändert wird.&lt;br /&gt;
* In jedem Knoten ist die Zahl der enthaltenden Objekte, die Zahl der Objekte jeder Klasse und die Entropie angegeben.&lt;br /&gt;
* Die Kanten sind mit dem entsprechenden Attributwert markiert.&lt;br /&gt;
* Bei Identifikation eines Knotens des Baumes wird  eine Tabelle mit den Objekten, die von diesem Knoten repräsentiert werden, dargestellt.&lt;br /&gt;
* Wird in dieser Tabelle ein Attribut identifiziert, wird die gewichtete Entropie, die sich bei Aufteilung nach diesem Attribut ergeben würde, ausgegeben.&lt;br /&gt;
* In dieser Tabelle kann ein Attribut selektiert werden, sodass entsprechend den Werten dieses Attributs Unterknoten entstehen. Die Tabelle verschwindet. Hatte der Knoten schon Unterknoten, verschwinden diese natürlich ebenfalls.&lt;br /&gt;
&lt;br /&gt;
==== Baum interaktiv ====&lt;br /&gt;
* In jedem Knoten ist die Zahl der enthaltenden Objekte, die Zahl der Objekte jeder Klasse und die Entropie automatisch.&lt;br /&gt;
* Die Kanten sind mit dem entsprechenden Attributwert markiert.&lt;br /&gt;
* Bei Identifikation eines Knotens des Baumes wird  eine Tabelle mit den Objekten, die von diesem Knoten repräsentiert werden, dargestellt.&lt;br /&gt;
&lt;br /&gt;
=== Andere nicht-funktionale Anforderungen ===&lt;br /&gt;
&lt;br /&gt;
== Systemmodelle ==&lt;br /&gt;
&amp;lt;b&amp;gt;Dieses Kapitel sollte eines oder mehrere Systemmodelle festlegen, die die Beziehung zwischen den Systemkomponenten und dem System und seiner Umgebung aufzeigen. Dies können Objekt-, Datenfluss- und semantische Datenmodelle sein.&amp;lt;/b&amp;gt;&lt;br /&gt;
=== Datenmodelle === &lt;br /&gt;
=== Andere Modelle === &lt;br /&gt;
&lt;br /&gt;
== Anforderungen an die Entwicklungsumgebung ==&lt;br /&gt;
Die hier genannten Aspekte werden für die qualitative Entwicklung der Software benötigt.&lt;br /&gt;
=== Software ===&lt;br /&gt;
Das Betriebssystem spielt keine Rolle, da Eclipse und Java Plattformunabhängig ist.&lt;br /&gt;
*Die Software &amp;quot;Eclipse&amp;quot; zur Programmierung mit Java wird benötigt. Hinzu kommt das Eclipse PlugIn &amp;quot;subversive&amp;quot; zur Handhabung der Versionsverwaltung&lt;br /&gt;
*Eine aktuelle Java-Developer-Version (jdk) wird zur Kompilierung benötigt. Außerdem werden folgende externe Bibliotheken benötigt:&lt;br /&gt;
** &amp;quot;dom4j&amp;quot;, &amp;quot;poi&amp;quot; zur Konvertierung und Erstellung von Excel-Spreadsheet Tabellen&lt;br /&gt;
** &amp;quot;swt&amp;quot;, das genutzte Framework zur Erstellung der graifschen Benutzeroberfläche&lt;br /&gt;
** &amp;quot;xmlbeans&amp;quot; zur Erstellung und lesen von XML-Dateien&lt;br /&gt;
&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
Für die Hardware sollten mindestens 2 GB Arbeitsspeicher für eine flüssige&lt;br /&gt;
&lt;br /&gt;
=== Orgware ===&lt;br /&gt;
Hauptsächlich wurde die Teamkommunikation über E-Mailtransfer und Kurzmitteilungen wie Skype geregelt.&lt;br /&gt;
&lt;br /&gt;
== Ergänzungen ==&lt;br /&gt;
&lt;br /&gt;
== Anhang ==&lt;/div&gt;</summary>
		<author><name>Bepf</name></author>	</entry>

	<entry>
		<id>https://p-servus.net/mediawiki/index.php?title=Optimaler_Entscheidungsbaum:_Pflichtenheft</id>
		<title>Optimaler Entscheidungsbaum: Pflichtenheft</title>
		<link rel="alternate" type="text/html" href="https://p-servus.net/mediawiki/index.php?title=Optimaler_Entscheidungsbaum:_Pflichtenheft"/>
				<updated>2012-04-13T11:05:48Z</updated>
		
		<summary type="html">&lt;p&gt;Bepf: /* Zielbestimmungen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Über ==&lt;br /&gt;
Projekt: HWR-Chat-Programm &amp;lt;br /&amp;gt;&lt;br /&gt;
Autoren: Christian Gebauer, Sebastian Große, Jonathan Wiens, Benjamin Pfeiffer, Nico Smeenk &amp;lt;br /&amp;gt;&lt;br /&gt;
Modul: Software-Engineering II &amp;lt;br /&amp;gt;&lt;br /&gt;
Studiengang: Informatik 2010 &amp;lt;br /&amp;gt;&lt;br /&gt;
Fachbereich: Fachbereich 2, Duales Studium Wirtschaft • Technik, HWR Berlin &amp;lt;br /&amp;gt;&lt;br /&gt;
Datum:&lt;br /&gt;
&lt;br /&gt;
== Vorwort ==&lt;br /&gt;
Dieses Pflichtenheft ist eine Vereinbarung zwischen der Dozentin Frau Prof. Dr. Monett Diaz als Auftrag- geberin und der Gruppe 1 des Kurses &amp;quot;Software-Engineering II&amp;quot; aus dem Studiengang &amp;quot;Informatik 2010&amp;quot;. Die Vereinbarung enthält alle Anforderungen an ein zu erstellendes Chat-Programm für die Hochschule für Wirtschaft und Recht Berlin. Das Dokument dient zur Strukturierung und genaueren Einschätzung des zeitlichen Aufwandes des Projektes und der Priorisierung der einzelnen Module. Somit lässt sich auch einschätzen, ob und mit welchen Kosten das Projekt durchführbar ist.&lt;br /&gt;
=== Erwartete Leserschaft ===&lt;br /&gt;
Im Allgemeinen können alle Stakeholder des Projektes als Leser erwartet werden, jedoch werden die Entwickler, die Projektleitung, der Auftragnehmer und -geber besonders als Leserschaft hervorgehoben.&lt;br /&gt;
=== Versionsgeschichte des Dokumentes ===&lt;br /&gt;
Dies ist die erste Version des Pflichtenheftes, weitere Versionen sind noch nicht in Planung.&amp;lt;br /&amp;gt;&lt;br /&gt;
Table&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
=== Allgemeines ===&lt;br /&gt;
Ein Entscheidungsbaum ist ein speziell aufgebauter Baum aus der Graphentheorie. Im Gegensatz zu einem &amp;quot;normalen&amp;quot; Baum ist ein Entscheidungsbaum geordnet und gerichtet und dient dem Zweck Entscheidungsregeln darzustellen. Ein Entscheidungsbaum kann durch Algorithmen, aufbauend auf einer Datenbasis, erstellt werden. Aufgrund der Tatsache, dass diese Bäume Entscheidungsprobleme lösen oder bzw. vereinfachen können, wird diese Methode in vielen Bereichen verwendet. Hauptsächlich angewendet, wird ein Entscheidungsbaum beim Data-Mining, also der umfassenden Theroie der Datenauswertung, und auch in der Betriebswirtschaftslehre, um effektives Marketing zu betreiben, oder investment-Geschäfte zu bewerten. Durch die Allgemeinheit des Entscheidungsbaumes und der daraus resultierenden Einsatzgebiete gibt es viele weitere Bereiche, für die Entscheidungsbäume verwendet werden können.&lt;br /&gt;
&lt;br /&gt;
Ein Entscheidungsbaum besteht aus Knoten und Blättern und muss einen Wurzelknoten besitzen und werden durch Kanten verbunden.&lt;br /&gt;
Ein Knoten repräsentiert ein Attribut(-namen), Kanten die zulässigen Attributwerte und die Blätter zeigen die Attributwerte (meistens klassifiziert) eines Zielattributs an.&lt;br /&gt;
&lt;br /&gt;
In diesem Pflichtenheft wird nun ein Programm beschrieben, dass einen Entscheidungsbaum auf Basis eines Datenstocks konstruieren kann. Dieses Programm ist als Auftragsarbeit von Hr. Prof. Dr. Höhne und Fr. Prof. Dr. Monett-Diaz zu sehen, bestimmte Funtktionen und Kriterien sind bereits vorgegeben.&lt;br /&gt;
=== Abgrenzungen ===&lt;br /&gt;
==== Ausgangssituation ====&lt;br /&gt;
Im Auftrag von Hr. Prof. Dr. Höhne und Fr. Prof. Dr. Monett-Diaz wird ein Programm, im Rahmen des Moduls SWE-2, entwickelt, welches dazu dienen soll Entscheidungsbäume zu konstruieren und darzustellen. Als Datenbasis dienen Excel- und CSV-Dateien.&lt;br /&gt;
Mit Hilfe dieser Daten soll dann ein &amp;quot;optimaler Entscheidungsbaum&amp;quot; aufgebaut werden, wobei zu beachten ist, dass der Begriff &amp;quot;optimal&amp;quot; nur relativ gesehen kann, und abhängig von gewähltem Algorhitmus und Art des Datenbestands abhängig ist.&lt;br /&gt;
==== Systemname ====&lt;br /&gt;
Aufgrund der Tatsache, dass ein Entscheidungsbaum nach bestimmten Regeln ''aufgebaut'' wird und der Anwender einen &amp;quot;Lerneffekt&amp;quot; aus diesem Baum ziehen kann, in dem Entscheidungen vereinfacht werden, wurde beschlossen das Projekt und das Programm &amp;quot;Baumschule - Optimale Entscheidungsbäume&amp;quot; zu bennen. Auch ein Bild, das später als Icon benutzt werden soll, wurde bereits in der Planungsphase entworfen.&lt;br /&gt;
==== Allgemeine Systembeschreibung ====&lt;br /&gt;
Das System bzw. das Programm bietet hauptsächlich drei grobe Funtkionen an:&lt;br /&gt;
* Laden eines Datenbestands durch eine Datei (Excel bzw. CSV)&lt;br /&gt;
* Erstellen eines Entscheidungsbaumes durch einen gegebenen Algorithmus&lt;br /&gt;
* Präsentation des Ergebnisses&lt;br /&gt;
&lt;br /&gt;
Diese 3 Hauptfunktionen lassen sich näher beschreiben:&lt;br /&gt;
* Es gibt eine graphische Benutzeroberfläche mit der der Endandwender alle Funktionen des Programms benutzen kann&lt;br /&gt;
* Es gibt eine Funktion zum Laden einer Excel- oder CSV-Datei&lt;br /&gt;
* Es gibt eine Funktion zum Speichern einer Excel- oder CSV-Datei&lt;br /&gt;
* Geladene Tabellendaten können editiert werden.&lt;br /&gt;
* Ein Baum kann automatisch generiert werden, ein ZielAttribut kann vorher gewählt werden.&lt;br /&gt;
* Es können detaillierte Informationen über einen Baum angezeigt werden&lt;br /&gt;
* Ein Baum kann individuell aufgebaut werden&lt;br /&gt;
==== Vorteile und Nutzen ====&lt;br /&gt;
&lt;br /&gt;
Das System bietet zunächst eine Bearbeitung eines Datenbestandes an, und ist nach dem Laden einer Datei unabhängig vom Dateiformat. Ist ein Datenbestand bearbeitet worden, ist dieser auch wieder abspeicherbar.&lt;br /&gt;
Die Oberfläche bietet die Möglichkeit einen, gemäß des Algorithmus, optimalen Baumes darzustellen. Die Stärke liegt hierbei einerseits auf der Präsentation und andererseits die leichte Editierbarkei, denn der Baum kann durch MausKlicks bearbeitet werden.&lt;br /&gt;
Ein manuelles erstellen des Baumes entfällt. Gerade bei großen Daten wäre ein manuelles Erstellen des Baumes nicht mehr realisierbar. Arbeitet der Algorithmus fehlerfrei, kann ''immer wieder'' ein Baum aufgebaut werden.&lt;br /&gt;
&lt;br /&gt;
=== Überblick über den Rest des Dokuments ===&lt;br /&gt;
&lt;br /&gt;
== Fachbegriffe, Akronyme und Abkürzungen ==&lt;br /&gt;
&amp;lt;b&amp;gt;Dieser Teil sollte die im Dokument verwendeten teschnischen Fachbergriffe festlegen. Dabei sollten Sie keine Erfahrung oder Fachwissen beim Leser voraussetzten.&amp;lt;/b&amp;gt;&lt;br /&gt;
=== Glossar ===&lt;br /&gt;
=== Akronyme ===&lt;br /&gt;
=== Abkürzungen ===&lt;br /&gt;
&lt;br /&gt;
== Zielbestimmungen ==&lt;br /&gt;
=== Musskriterien ===&lt;br /&gt;
Die Muss-Kritierien ergeben sich größtenteils aus der Aufgabenbeschreibung von Hr. Höhne und Fr. Monett-Diaz:&lt;br /&gt;
* Es muss eine graphische Benutzeroberfläche geben.&lt;br /&gt;
* Das Programm muss Lauffähig sein, ausführbar vorliegen&lt;br /&gt;
* Das Programm muss mit Tabellen-Dateien umgehen können. (Laden/Speichern von Excel- und CSV-Dateien)&lt;br /&gt;
* Das Programm muss ein Bearbeiten der Tabellendaten zu lassem&lt;br /&gt;
* Das Programm muss anhand eines vorgegebenen Algorithmus einen Entscheidungsbaum erstellen können.&lt;br /&gt;
* Der Entscheidungsbaum muss in der Oberfläche präsentiert werden und die Parameter(wie z.B. die Entropie) anzeigen können.&lt;br /&gt;
* Der Entscheidungsbaum muss (graphisch) veränderbar sein.&lt;br /&gt;
&lt;br /&gt;
=== Sollkriterien ===&lt;br /&gt;
* Das Programm soll an den meisten Stellen, durchdachte Hilfebeschreibungen anzeigen können.&lt;br /&gt;
* Das Programm soll bei bestimmten Fehlern oder unerlaubten Nutzeraktionen eine graphische Fehlermeldung anzeigen.&lt;br /&gt;
* Das Programm soll zum Nachverfolgen von Programm-/Algorithmen abläufen eine Log-Datei erstellen&lt;br /&gt;
* Das Log-Verhalten soll konfigurierbar sein&lt;br /&gt;
* Die Oberfläche soll farblich und organisaorisch übersichtlich und leicht zu bedienen sein&lt;br /&gt;
* Das Erstellen eines Baumes soll nicht länger als 5 sekunden dauern. (Vorrausgesetzt das Datenlimit von 10*100 Attributwerten wird eingehalten)&lt;br /&gt;
* Die Oberfläche soll neben der einfachen Ansicht, einen Präsentationsmodus bieten, in dem der Baum als Vollbild dragestellt wird.&lt;br /&gt;
* Das Programm soll die Möglichkeit bieten den erstellten Baum als Text-Datei abzuspeichern.&lt;br /&gt;
&lt;br /&gt;
=== Kannkriterien ===&lt;br /&gt;
* Das Programm kann die Möglichkeit bieten über eine Konfigurationsschnittstelle, verschiedene Programmparameter anzupassen.&lt;br /&gt;
* Das Programm kann die Möglichkeit bieten einen, als Text-Datei abgespeicherten Baum wieder einzulesen und darzustellen.&lt;br /&gt;
 &lt;br /&gt;
=== Abgrenzungskriterien ===&lt;br /&gt;
&lt;br /&gt;
* Die Software setzt eine installierte Version von Java vorraus.&lt;br /&gt;
* Es gibt für jedes Betriebssystem(Windows, Linux, Mac) und dessen Ausprägung (x64, x32) jeweils eine Version.&lt;br /&gt;
* Die Software kann nur mit Datenformaten umgehen, die Excel-Konform sind- (bis 2003: .xls, ab 2007: .xlsx) oder dem CSV-Format entsprechen(Trennzeichen: Semikolon)&lt;br /&gt;
* Die Software benutzt einen fest vorgegebenen Algorithmus.&lt;br /&gt;
* Die Tabelle kann maximal 10 Attribute und jeweils 100 Attributwerte enthalten.&lt;br /&gt;
&lt;br /&gt;
== Systemeinsatz ==&lt;br /&gt;
=== Anwendungsbereiche === &lt;br /&gt;
=== Zielgruppen === &lt;br /&gt;
=== Betriebsbedingungen === &lt;br /&gt;
&lt;br /&gt;
== Technische Systemumgebung ==&lt;br /&gt;
=== Software === &lt;br /&gt;
=== Hardware === &lt;br /&gt;
=== Orgware === &lt;br /&gt;
&lt;br /&gt;
== Systemübersicht und -architektur ==&lt;br /&gt;
=== Übersicht über das System === &lt;br /&gt;
=== Systemarchitektur === &lt;br /&gt;
&amp;lt;b&amp;gt;Dieses Kapitel sollte einen groben Überblick über die erwartete Systemarchitektur geben, der die erteilung der Funktionen auf die Systemmodule zeigt. Wieder verwendete Komponenten sollten gekennzeichnet werden.&amp;lt;/b&amp;gt;&lt;br /&gt;
=== Schnittstellen des Systems ===&lt;br /&gt;
&lt;br /&gt;
== Systemanforderungen ==&lt;br /&gt;
=== Funktionale Anforderungen === &lt;br /&gt;
=== Qualitätsanforderungen ===&lt;br /&gt;
=== Benutzeroberfläche ===&lt;br /&gt;
=== Andere nicht-funktionale Anforderungen === &lt;br /&gt;
&lt;br /&gt;
== Systemmodelle ==&lt;br /&gt;
&amp;lt;b&amp;gt;Dieses Kapitel sollte eines oder mehrere Systemmodelle festlegen, die die Beziehung zwischen den Systemkomponenten und dem System und seiner Umgebung aufzeigen. Dies können Objekt-, Datenfluss- und semantische Datenmodelle sein.&amp;lt;/b&amp;gt;&lt;br /&gt;
=== Datenmodelle === &lt;br /&gt;
=== Andere Modelle === &lt;br /&gt;
&lt;br /&gt;
== Anforderungen an die Entwicklungsumgebung ==&lt;br /&gt;
=== Software ===&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
=== Orgware ===&lt;br /&gt;
&lt;br /&gt;
== Ergänzungen ==&lt;br /&gt;
&lt;br /&gt;
== Anhang ==&lt;/div&gt;</summary>
		<author><name>Bepf</name></author>	</entry>

	<entry>
		<id>https://p-servus.net/mediawiki/index.php?title=Optimaler_Entscheidungsbaum:_Pflichtenheft</id>
		<title>Optimaler Entscheidungsbaum: Pflichtenheft</title>
		<link rel="alternate" type="text/html" href="https://p-servus.net/mediawiki/index.php?title=Optimaler_Entscheidungsbaum:_Pflichtenheft"/>
				<updated>2012-04-13T10:51:55Z</updated>
		
		<summary type="html">&lt;p&gt;Bepf: /* Vorteile und Nutzen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Über ==&lt;br /&gt;
Projekt: HWR-Chat-Programm &amp;lt;br /&amp;gt;&lt;br /&gt;
Autoren: Christian Gebauer, Sebastian Große, Jonathan Wiens, Benjamin Pfeiffer, Nico Smeenk &amp;lt;br /&amp;gt;&lt;br /&gt;
Modul: Software-Engineering II &amp;lt;br /&amp;gt;&lt;br /&gt;
Studiengang: Informatik 2010 &amp;lt;br /&amp;gt;&lt;br /&gt;
Fachbereich: Fachbereich 2, Duales Studium Wirtschaft • Technik, HWR Berlin &amp;lt;br /&amp;gt;&lt;br /&gt;
Datum:&lt;br /&gt;
&lt;br /&gt;
== Vorwort ==&lt;br /&gt;
Dieses Pflichtenheft ist eine Vereinbarung zwischen der Dozentin Frau Prof. Dr. Monett Diaz als Auftrag- geberin und der Gruppe 1 des Kurses &amp;quot;Software-Engineering II&amp;quot; aus dem Studiengang &amp;quot;Informatik 2010&amp;quot;. Die Vereinbarung enthält alle Anforderungen an ein zu erstellendes Chat-Programm für die Hochschule für Wirtschaft und Recht Berlin. Das Dokument dient zur Strukturierung und genaueren Einschätzung des zeitlichen Aufwandes des Projektes und der Priorisierung der einzelnen Module. Somit lässt sich auch einschätzen, ob und mit welchen Kosten das Projekt durchführbar ist.&lt;br /&gt;
=== Erwartete Leserschaft ===&lt;br /&gt;
Im Allgemeinen können alle Stakeholder des Projektes als Leser erwartet werden, jedoch werden die Entwickler, die Projektleitung, der Auftragnehmer und -geber besonders als Leserschaft hervorgehoben.&lt;br /&gt;
=== Versionsgeschichte des Dokumentes ===&lt;br /&gt;
Dies ist die erste Version des Pflichtenheftes, weitere Versionen sind noch nicht in Planung.&amp;lt;br /&amp;gt;&lt;br /&gt;
Table&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
=== Allgemeines ===&lt;br /&gt;
Ein Entscheidungsbaum ist ein speziell aufgebauter Baum aus der Graphentheorie. Im Gegensatz zu einem &amp;quot;normalen&amp;quot; Baum ist ein Entscheidungsbaum geordnet und gerichtet und dient dem Zweck Entscheidungsregeln darzustellen. Ein Entscheidungsbaum kann durch Algorithmen, aufbauend auf einer Datenbasis, erstellt werden. Aufgrund der Tatsache, dass diese Bäume Entscheidungsprobleme lösen oder bzw. vereinfachen können, wird diese Methode in vielen Bereichen verwendet. Hauptsächlich angewendet, wird ein Entscheidungsbaum beim Data-Mining, also der umfassenden Theroie der Datenauswertung, und auch in der Betriebswirtschaftslehre, um effektives Marketing zu betreiben, oder investment-Geschäfte zu bewerten. Durch die Allgemeinheit des Entscheidungsbaumes und der daraus resultierenden Einsatzgebiete gibt es viele weitere Bereiche, für die Entscheidungsbäume verwendet werden können.&lt;br /&gt;
&lt;br /&gt;
Ein Entscheidungsbaum besteht aus Knoten und Blättern und muss einen Wurzelknoten besitzen und werden durch Kanten verbunden.&lt;br /&gt;
Ein Knoten repräsentiert ein Attribut(-namen), Kanten die zulässigen Attributwerte und die Blätter zeigen die Attributwerte (meistens klassifiziert) eines Zielattributs an.&lt;br /&gt;
&lt;br /&gt;
In diesem Pflichtenheft wird nun ein Programm beschrieben, dass einen Entscheidungsbaum auf Basis eines Datenstocks konstruieren kann. Dieses Programm ist als Auftragsarbeit von Hr. Prof. Dr. Höhne und Fr. Prof. Dr. Monett-Diaz zu sehen, bestimmte Funtktionen und Kriterien sind bereits vorgegeben.&lt;br /&gt;
=== Abgrenzungen ===&lt;br /&gt;
==== Ausgangssituation ====&lt;br /&gt;
Im Auftrag von Hr. Prof. Dr. Höhne und Fr. Prof. Dr. Monett-Diaz wird ein Programm, im Rahmen des Moduls SWE-2, entwickelt, welches dazu dienen soll Entscheidungsbäume zu konstruieren und darzustellen. Als Datenbasis dienen Excel- und CSV-Dateien.&lt;br /&gt;
Mit Hilfe dieser Daten soll dann ein &amp;quot;optimaler Entscheidungsbaum&amp;quot; aufgebaut werden, wobei zu beachten ist, dass der Begriff &amp;quot;optimal&amp;quot; nur relativ gesehen kann, und abhängig von gewähltem Algorhitmus und Art des Datenbestands abhängig ist.&lt;br /&gt;
==== Systemname ====&lt;br /&gt;
Aufgrund der Tatsache, dass ein Entscheidungsbaum nach bestimmten Regeln ''aufgebaut'' wird und der Anwender einen &amp;quot;Lerneffekt&amp;quot; aus diesem Baum ziehen kann, in dem Entscheidungen vereinfacht werden, wurde beschlossen das Projekt und das Programm &amp;quot;Baumschule - Optimale Entscheidungsbäume&amp;quot; zu bennen. Auch ein Bild, das später als Icon benutzt werden soll, wurde bereits in der Planungsphase entworfen.&lt;br /&gt;
==== Allgemeine Systembeschreibung ====&lt;br /&gt;
Das System bzw. das Programm bietet hauptsächlich drei grobe Funtkionen an:&lt;br /&gt;
* Laden eines Datenbestands durch eine Datei (Excel bzw. CSV)&lt;br /&gt;
* Erstellen eines Entscheidungsbaumes durch einen gegebenen Algorithmus&lt;br /&gt;
* Präsentation des Ergebnisses&lt;br /&gt;
&lt;br /&gt;
Diese 3 Hauptfunktionen lassen sich näher beschreiben:&lt;br /&gt;
* Es gibt eine graphische Benutzeroberfläche mit der der Endandwender alle Funktionen des Programms benutzen kann&lt;br /&gt;
* Es gibt eine Funktion zum Laden einer Excel- oder CSV-Datei&lt;br /&gt;
* Es gibt eine Funktion zum Speichern einer Excel- oder CSV-Datei&lt;br /&gt;
* Geladene Tabellendaten können editiert werden.&lt;br /&gt;
* Ein Baum kann automatisch generiert werden, ein ZielAttribut kann vorher gewählt werden.&lt;br /&gt;
* Es können detaillierte Informationen über einen Baum angezeigt werden&lt;br /&gt;
* Ein Baum kann individuell aufgebaut werden&lt;br /&gt;
==== Vorteile und Nutzen ====&lt;br /&gt;
&lt;br /&gt;
Das System bietet zunächst eine Bearbeitung eines Datenbestandes an, und ist nach dem Laden einer Datei unabhängig vom Dateiformat. Ist ein Datenbestand bearbeitet worden, ist dieser auch wieder abspeicherbar.&lt;br /&gt;
Die Oberfläche bietet die Möglichkeit einen, gemäß des Algorithmus, optimalen Baumes darzustellen. Die Stärke liegt hierbei einerseits auf der Präsentation und andererseits die leichte Editierbarkei, denn der Baum kann durch MausKlicks bearbeitet werden.&lt;br /&gt;
Ein manuelles erstellen des Baumes entfällt. Gerade bei großen Daten wäre ein manuelles Erstellen des Baumes nicht mehr realisierbar. Arbeitet der Algorithmus fehlerfrei, kann ''immer wieder'' ein Baum aufgebaut werden.&lt;br /&gt;
&lt;br /&gt;
=== Überblick über den Rest des Dokuments ===&lt;br /&gt;
&lt;br /&gt;
== Fachbegriffe, Akronyme und Abkürzungen ==&lt;br /&gt;
&amp;lt;b&amp;gt;Dieser Teil sollte die im Dokument verwendeten teschnischen Fachbergriffe festlegen. Dabei sollten Sie keine Erfahrung oder Fachwissen beim Leser voraussetzten.&amp;lt;/b&amp;gt;&lt;br /&gt;
=== Glossar ===&lt;br /&gt;
=== Akronyme ===&lt;br /&gt;
=== Abkürzungen ===&lt;br /&gt;
&lt;br /&gt;
== Zielbestimmungen ==&lt;br /&gt;
=== Musskriterien ===&lt;br /&gt;
=== Sollkriterien ===&lt;br /&gt;
=== Kannkriterien === &lt;br /&gt;
=== Abgrenzungskriterien ===&lt;br /&gt;
&lt;br /&gt;
* Die Software setzt eine installierte Version von Java vorraus.&lt;br /&gt;
* Es gibt für jedes Betriebssystem(Windows, Linux, Mac) und dessen Ausprägung (x64, x32) jeweils eine Version.&lt;br /&gt;
* Die Software kann nur mit Datenformaten umgehen, die Excel-Konform sind- (bis 2003: .xls, ab 2007: .xlsx) oder dem CSV-Format entsprechen(Trennzeichen: Semikolon)&lt;br /&gt;
* Die Software benutzt einen fest vorgegebenen Algorithmus.&lt;br /&gt;
* Die Tabelle kann maximal 10 Attribute und jeweils 100 Attributwerte enthalten.&lt;br /&gt;
&lt;br /&gt;
== Systemeinsatz ==&lt;br /&gt;
=== Anwendungsbereiche === &lt;br /&gt;
=== Zielgruppen === &lt;br /&gt;
=== Betriebsbedingungen === &lt;br /&gt;
&lt;br /&gt;
== Technische Systemumgebung ==&lt;br /&gt;
=== Software === &lt;br /&gt;
=== Hardware === &lt;br /&gt;
=== Orgware === &lt;br /&gt;
&lt;br /&gt;
== Systemübersicht und -architektur ==&lt;br /&gt;
=== Übersicht über das System === &lt;br /&gt;
=== Systemarchitektur === &lt;br /&gt;
&amp;lt;b&amp;gt;Dieses Kapitel sollte einen groben Überblick über die erwartete Systemarchitektur geben, der die erteilung der Funktionen auf die Systemmodule zeigt. Wieder verwendete Komponenten sollten gekennzeichnet werden.&amp;lt;/b&amp;gt;&lt;br /&gt;
=== Schnittstellen des Systems ===&lt;br /&gt;
&lt;br /&gt;
== Systemanforderungen ==&lt;br /&gt;
=== Funktionale Anforderungen === &lt;br /&gt;
=== Qualitätsanforderungen ===&lt;br /&gt;
=== Benutzeroberfläche ===&lt;br /&gt;
=== Andere nicht-funktionale Anforderungen === &lt;br /&gt;
&lt;br /&gt;
== Systemmodelle ==&lt;br /&gt;
&amp;lt;b&amp;gt;Dieses Kapitel sollte eines oder mehrere Systemmodelle festlegen, die die Beziehung zwischen den Systemkomponenten und dem System und seiner Umgebung aufzeigen. Dies können Objekt-, Datenfluss- und semantische Datenmodelle sein.&amp;lt;/b&amp;gt;&lt;br /&gt;
=== Datenmodelle === &lt;br /&gt;
=== Andere Modelle === &lt;br /&gt;
&lt;br /&gt;
== Anforderungen an die Entwicklungsumgebung ==&lt;br /&gt;
=== Software ===&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
=== Orgware ===&lt;br /&gt;
&lt;br /&gt;
== Ergänzungen ==&lt;br /&gt;
&lt;br /&gt;
== Anhang ==&lt;/div&gt;</summary>
		<author><name>Bepf</name></author>	</entry>

	</feed>