Anforderung

Werbung
Fachschule für Wirtschaftsinformatik
Projekt : OOP - Java
Matthias Wetzer
Allgemeine Themenstellung
Im Projekt "Java" realisieren Sie selbständig eine vorgegebene oder eine von Ihnen vorgeschlagene und mit den
verantwortlichen Dozenten abgesprochene und genehmigte, anwendungsorientierte Aufgabe aus dem Bereich der
Anwendungsprogrammierung mit Java. Damit verbunden sind Anforderungsdefinition (Lastenheft), Entwurf und
Implementierung, Test, Dokumentation und eine Klausur. Jedes Projekt hat eine in sich abgeschlossene Anwendung
zum Ziel. Für jedes Projekt wird eine Definition der Anforderungen des zu realisierenden Produkts erstellt, die
Benutzersicht festgelegt und im Projektantrag dokumentiert. Danach wird von Ihnen die Lösung / Implementierung
erarbeitet.
Organisation
Das Projekt kann im Unterrichtsraum und/oder am privaten Arbeitsplatz realisiert werden. Die Zeiteinteilung im Projekt
liegt beim Teilnehmer. Die Betreuung durch den/die verantwortlichen Fachdozenten erfolgt wie im Stundenplan
ausgewiesen bzw. zu genannten/vereinbarten Sprechzeiten.
Termine und Ablauf
Die Projekte werden in der KW 12+13 vom 22.03.2010 bis 30.03.2010 an 5+2=7 Tagen durchgeführt. Den Nachweis
über die erarbeiteten Kenntnisse in Java leisten Sie in einer Klausur nach der Osterheimfahrt.
Projektantrag:
Lastenheft
Entwurf, Implemntierung
und Test
Dokumentation
Klausur
Projektstart
Projektantrag
Abgabe Projekt
Abgabe Doku
Klausur
Montag
Dienstag
23.03.2010
bis 16:00 Uhr
Dienstag
30.03.2010
bis 16:00 Uhr
Donnerstag
01.04.2010
bis 13:00 in
BS06/304
Montag
19.04.2010
10:00 - 11:30
22.03.2010
ab 08:00 Uhr
Projekt-Betreuung
KW 12/10
KW 12/10
KW 12/10
KW 12/10
Montag
Dienstag
Mittwoch
Donnerstag
07:30 - 12:30
07:30 - 12:30
07:30 - 12:30
KW 13/10
KW 13/10
Montag
Dienstag
07:30 - 12:30
07:30 - 12:30
Projekt-Klausur
KW 16/10
Montag
13:00 - 16:00
13:00 - 16:00
08:15 - 09:45
13:00 - 16:00
Fachschule für Wirtschaftsinformatik
Projekt : OOP - Java
Matthias Wetzer
Projekt-Bewertung
Lastenheft
5 Punkte
Projekt
70 Punkte
GUI
Datenbank (SQL / MySQL)
Benutzerführung (Menü, Dialoge)
MDI-Techniken
Objektorientierung / Modularisierung
MVC-Entwurfsmuster
Klausur
Dokumentation
Summe
Verspätete Projektabgabe
Modifikator Komplexität
15
15
15
10
5
10
20 Punkte
5 Punkte
100 Punkte
-5 Punkte je Werktag
10 Punkte
Projektergebnisse
Als Projektergebnisse sind abzugeben:
Projektantrag mit Anforderungsdefinition (Lastenheft)
Projekt mit Java-Quellcodes, Datenbank, Bildern und anere verwendete Dateien (Stick / CD / DVD)
Projektdokumentation im Format : print, doc oder pdf.
Projektanforderungen
Es wird erwartet, dass Sie sich (auch) neues Wissen selbständig aneignen, indem Sie online - Hilfen, Bücher, Scripte,
Tutorials verwenden oder eine Kollegin, einen Kollegen oder Dozenten fragen. Damit wir Sie beraten und unterstützen
können, müssen wir konkret wissen, was Sie vorhaben. Daher verlangen wir von Ihnen eine Anforderungsdefinition: die
Beschreibung der Oberfläche und der Funktionalität aus Benutzersicht : ein Lastenheft. Sie finden das Muster eines
Lastenhefts im Dozentenverzeichnis auf dem Netzlaufwerk.
Ihr Projekt muss mindestens folgende Anforderungen erfüllen:





Swing-Anwendung mit mindestens 5 Klassen
MySQL-Datenbank zur Speicherung der Anwendungsdaten mit mindestens 3 Tabellen
Benutzerführung mit Menüs
MDI-Techniken: JTabbedPanes oder JDesktopPane/JInternalFrame
Trennung von Daten (model) und Anzeige(view) in verschiedenen Klassen (MVC-Entwurfsmuster)
Sie können auch andere Java-Techniken, Klassen oder Konzepte umsetzen. Diese werden dann je nach Komplexität
zusätzlich honoriert. Mehr als 80 Punkte können Sie jedoch mit dem Projekt selbst nicht erzielen. So kann der komplexe
Einsatz einer JTable, generische Klassen, Transaktion bei verteilten Anwendungen mit zentraler Datenspeicherung
usw. mit bis zu 10 Punkten honoriert werden.
Fachschule für Wirtschaftsinformatik
Projekt : OOP - Java
Matthias Wetzer
Projektthemen
1
Medienverwaltung
Medienverwaltung für Grafiken und Sounds erstellen. Dateiverzeichnisse anzeigen und manipulieren, Filtern
von Dateien, Vorschau von Grafiken, Sounds abspielen, Suchen von Sounds und Grafiken.
2
Grafische Benutzerschnittstelle
Visualisierung einer dem Veranstaltungsort angepaßten grafischen Benutzerschnittstelle. Dies schließt eine
Verwaltung und geeignete Manipulation der Daten ein. Denkbar wäre z.B. eine Parkplatzverwaltung,
Theaterkartenverkauf etc.
3
JDBC
Datenbank anlegen, Grundoperationen bereitstellen, Abfragen gestatten und deren Ergebnisse anzeigen.
Anwendungs-Szenario frei wählbar wie Seminarverwaltung oder Faktura mit Artikel- , Kunden- und
Auftragsverwaltung oder EDV-Verwaltung von Hardware, Arbeitsplätzen, Mitarbeiter, Peripheriegeräten etc.
4
Lernsoftware
Übungen erstellen und ausführen. Programm, um theoretische Stoffgebiete zu erarbeiten und geeignete Test
zu formulieren. Dazu muß eine Anwendung die Definition von Lektionen erlauben, eine andere das Üben der
Lektionen.
5
Bildgenerierung
Interaktives Programm zur 2D-Bildgenerierung, Der Benutzer soll einfache Grafiken aus grafischen
Grundelementen interaktiv erstellen können. Die Vektor-Grafiken sollen schließlich als Rastergrafiken
exportiert werden können.
6
JDBC
Java-Programm zur interaktiven Erstellung und Manipulation von ACESS- oder MySQLDatenbanken. Im Dialog soll der Benutzer Tabellen, Index-Tabellen, Tabellen-Felder und deren Typ festlegen
können.
7
Spiele-Applet
Spiel als Applet oder Application programmieren (z.B. XPlosion). Dies macht eine Einarbeitung in die Themen
Threads, Animationen mit Z-Buffering, interaktive Animationen oder Synchronisation von Threads notwendig.
8
Visualisierung von Daten
Auswertung und graphische Aufbereitung von Datenreihen. Dies können Prüfdaten eines Meßstandes sein,
Aktienkurse.
9
Graphen
Ein Graph ist ein Netzwerk aus Knoten verbunden über Kanten. Haltestellen und Linien eines
Verkehrsbetriebs, Computer in einem LAN, Mitarbeiter in einem Projekt, die Gebäude und Räume des BFW
bilden einen Graph. Hat man eine geeignete interne Repräsentation für Graphen gefunden, können Methoden
bereitgestellt werden, um z.B. den kürzesten Weg von einem Knoten zum anderen zu finden. Eingaben und
Ausgaben erfolgen über eine grafische Benutzerschnittstelle wie ein Stadtplan (Route anzeigen, Start und Ziel
eingeben). Ein Graph kann mit ein- und zweidimensionalen Arrays oder mit Listen dargestellt werden.
Fachschule für Wirtschaftsinformatik
Projekt : OOP - Java
Matthias Wetzer
10
JPad
Java-Editor als AWT oder Swing-Applikation. Im Wesentlichen besteht der Editor aus einer TextArea und einer
geeigneten Bedienerführung über Menü’s und/oder Buttons. Buttons könnten in Panels zu Symbolleisten
zusammengefaßt werden. Über Buttons (mit Icons?) oder Listen können Textbausteine eingefügt werden. Der
Editor könnte mehrere Bearbeitungsfenster unterstützen (Child-Fenster oder Register). Über die rechte
Maustaste sind Kontextmenü’s denkbar.
11
XPad
XML-Editor als AWT oder Swing-Applikation. Im Wesentlichen besteht ein Editor aus einer TextArea und einer
geeigneten Bedienerführung über Menü’s und/oder Buttons. Über Buttons (mit Icons?) oder Listen können
Textbausteine eingefügt werden. Der XML-Editor sollte einen XML-Parser aufrufen, um die Syntax des XMLDokuments in der TextArea zu überprüfen. In der JAX-API des JDK 1.4 sind dafür alle notwendigen Klassen
(SAXParser und SAXParserFactory) enthalten.
12
MIDI
Sequenzer–Programm (Percussions) oder Synthesizer–Programm (Keyboard). Eigene Melodien, Rhytmen
oder Beats erzeugen, abspielen, speichern und laden.
13
Code-Generatoren


Das Java-Programm erzeugt auf Basis einer existierenden Access-Tabelle den Code einer SwingAnwendung zur Bearbeitung von Datensätzen dieser Tabelle.
Das Java-Programm erzeugt auf Basis einer existierenden Klassendefinition den Code einer SwingAnwendung zur Bearbeitung von Instanzen dieser Klasse einschließlich der Speicherung in Dateien.
Fachschule für Wirtschaftsinformatik
Projekt : OOP - Java
Matthias Wetzer
14
Bitmap-Grafiken
Manipulation von Bitmap-Grafiken: laden, speichern, zeichnen, transformieren, filtern usw.
15
Vektor-Grafiken
Manipulation von Vektor-Grafiken: laden, speichern, zeichnen, transformieren, rendern usw.
Herunterladen