Zeitraum:
12.10.04-18.01.04 Projektname:
Movie Manager Team:Nr.: 3
Arbeitsaufwand:
111 MSt
Mitglieder:
Lechner Holger, Maier Tobias, Schneider Josef
Datum:
07.12.2004 Verteiler:Team Nr.: 3, Prof. Dr. Mottok
Feinspezifikation Movie Manager
Autoren:
Lechner Holger, Maier Tobias, Schneider Josef Ausgabe 0.1
Änderungsgeschichte
Ausgabe: 0.1 07.12.04 Erster Entwurf
Ausgabe: 0.2 11.12.04 Überarbeitung des Erstentwurfs
Ausgabe: 1.0 13.12.04 Einfügen der Gui-Diagramme
Inhaltsverzeichnis
Änderungsgeschichte...2
1 Einführung...4
1.1 Zweck des Dokuments...4
1.2 Gültigkeitsbereich...4
1.3 Definitionen, Abkürzungen...4
1.4 Referenzen...4
1.5 Übersicht des Dokuments...4
2 Software Systemarchitektur...5
2.1 Struktur der Klassenkategorien...5
2.2 Kurzbeschreibung der Klassenkategorien...5
2.2.1 Kategorie GUI...5
2.2.2 Kategorie Kommunikation...5
2.2.3 Kategorie Allgemeine Funktionalität...5
2.2.4 Kategorie Datenhaltung...5
2.3 Schnittstellen der Klassenkategorien...6
2.3.1 GUI...6
2.3.2 Allgemeine Funktionalität (Core)...6
2.4 Architekturkonzepte...6
2.4.1 Designkonzepte...6
2.4.2 Errorhandling...6
2.4.3 Logging und Debugging Mechanismen...6
2.5 Technologie...6
2.5.1 Programmiersprache...6
2.5.2 Datenhaltung...6
2.5.3 Kommunikation...7
2.5.4 Bausteine und Bibliotheken...7
2.6 Use Cases...7
2.6.1 Filme verwalten...7
2.6.2 Medien verwalten...7
2.6.3 Warenverwaltung...8
2.6.4 Kundenverwaltung...8
2.6.5 Suchfunktionen...8
2.7 Klassendiagramm...9
2.7.1 Core...9
2.7.2 GUI...10
2.8 Sequenzdiagramm...11
2.8.1 Core...11
2.8.2 GUI...12
2.8.2.1 Daten speichern...12
2.8.2.2 Datenmanagementmaske anzeigen...12
2.8.2.3 Datenmenü öffnen...13
2.8.2.4 Id abfragen...13
2.8.2.5 Datensatz suchen...14
2.8.2.6 Relation anzeigen...15
2.8.2.7 Relationsmenü öffnen...15
2.9 Kollaborationsdiagramm...16
1 Einführung
1.1 Zweck des Dokuments
Dieses Dokument zeigt die Architektur des Videotheken – Verwaltungsprogramm Movie Manager auf. Es beschreibt die Unterteilung der Software in ihre Bestandteile und die daraus resultierenden Beziehungen.
1.2 Gültigkeitsbereich
Dieses Dokument gilt für die Software Engineering Semesterarbeit. Es kann von den Autoren jederzeit geändert werden.
1.3 Definitionen, Abkürzungen
GUI Graphical User Interface
FSK Freiwillige Selbstkontrolle
Core Hauptteil des Programms
1.4 Referenzen
Projektantrag MOVIE Manager Anwendungsspezifikation
1.5 Übersicht des Dokuments
Dem Dokument liegen allgemeine Verfahrensweisen aus der OOA und OOD mittels der UML zugrunde.
2 Software Systemarchitektur
2.1 Struktur der Klassenkategorien
2.2 Kurzbeschreibung der Klassenkategorien
2.2.1 Kategorie GUIEnthält die Klassen des Benutzerinterfaces. Für die Implementierung werden die Perl/TK Standardklassen verwendet.
2.2.2 Kategorie Kommunikation
Dient zur Interaktion von GUI und Core(Allgemeine Funktionalität) und enthält alle dafür nötigen Klassen.
2.2.3 Kategorie Allgemeine Funktionalität
Dient zur internen Ablaufsteuerung sämtlicher Programmbausteine.
2.2.4 Kategorie Datenhaltung
Enthält alle Klassen welche die Datenstruktur des Programms bilden.
2.3 Schnittstellen der Klassenkategorien
2.3.1 GUIKommunikation: Die in der GUI darzustellenden Daten werden hier zur Verfügung gestellt, ebenso werden Benutzereingaben aus der GUI an den Core weitergeleitet.
2.3.2 Allgemeine Funktionalität (Core)
Kommunikation: Die vom Benutzer eingegebenen Daten werden hier zur Verfügung gestellt, ebenso werden Ausgaben aus der Datenhaltung an die GUI weitergeleitet.
Datenhaltung: Alle Datensätze die nicht für die Funktion, sondern für die Abhandlung nötig sind werden in dieser Kategorie kontrolliert und gespeichert.
2.4 Architekturkonzepte
2.4.1 Designkonzepte3 Schichten Modell: Aufteilung des Systems in 3 Schichten: Userinterface (GUI), allgemeine Funktionalität (Core) und Datenhaltung.
2.4.2 Errorhandling
Bei Fehlerfällen kommt es zur Rückgabe entsprechender Fehlercodes.
Fehlerfälle werden über einen Errorhandler mittels Fehlercode behandelt.
2.4.3 Logging und Debugging Mechanismen
Als Logging-Mechanismus wird das von Visual C++ zur Verfügung gestellte „Trace“
verwendet.
Zur Erkennung von Programmierfehlern wird das von Visual C++ zur Verfügung gestellte
„Assert“ verwendet.
2.5 Technologie
2.5.1 Programmiersprache
Der Core des MovieManagers wird in C++ mit Microsoft Visual C++ realisiert.
Die Gui des MovieManagers wird in Perl/TK realisiert.
2.5.2 Datenhaltung
Zum verarbeiten der Datensätze wird eine selbst implementierte Klassenstruktur verwendet.
Die Datensätze werden aus einer Text-Datei geladen und in diese gespeichert.
2.5.3 Kommunikation
Zur Kommunikation zwischen GUI und Core wird eine Netzwerkschnittstelle mit der Standardmethode „Socket-Bind-Listen-Accept“ auf beiden Seiten implementiert. Somit sind GUI und Core Programmiersprachen- und Maschinenunabhängig voneinander.
2.5.4 Bausteine und Bibliotheken
Userinterface (GUI): Für das Erstellen der GUI werden Perl/TK Standard- Bibliotheken verwendet.
Core: Für das Erstellen des Cores werden C++ Standard-Bibliotheken
verwendet.
2.6 Use Cases
2.6.1 Filme verwalten
2.6.2 Medien verwalten
Film anzeigen Film anlegen Filmverwaltung
Medium ändern Medium löschen Medium anlegen
Medienverwaltung
Medium anzeigen
2.6.3 Warenverwaltung
2.6.4 Kundenverwaltung
2.6.5 Suchfunktionen
Warenverleih/Rückgabe Warenverwaltung
Kundendaten anlegen
Kundendaten löschen
Kundendaten ändern Kundendaten anzeigen
Kundenverwaltung
Medium suchen
Kundendaten suchen Suchfunktionen
2.7 Klassendiagramm
2.7.1 Core2.7.2 GUI
2.8 Sequenzdiagramm
2.8.1 Core2.8.2 GUI
2.8.2.1 Daten speichern
2.8.2.2 Datenmanagementmaske anzeigen
2.8.2.3 Datenmenü öffnen
2.8.2.4 Id abfragen
2.8.2.5 Datensatz suchen
2.8.2.6 Relation anzeigen
2.8.2.7 Relationsmenü öffnen