Das SalesPoint-Framework v3.2 Einführung und Überblick

Slides:



Advertisements
Ähnliche Präsentationen
Projektvorstellung „Sport-Kindertagesstätte CHAMPINI“ in Nürnberg
Advertisements

programmiert April-Juni 2003 von Knut Riechmann
Strategie (Strategy / Policy) Ein objektbasiertes Verhaltensmuster Stephan Munkelt, Stefan Salzmann - 03IN.
DVG Einfache Klassen Einfache Klassen. DVG Einfache Klassen 2 Strukturen Beispiel: Personendaten bestehen aus –String name –String vorname.
ProFinance Computergestütztes Werkzeug zur finanziellen Vorbereitung, Durchführung (Controlling) und End-Abrechnung von internationalen EU-Projekten 5.
Erich Weichselgartner IuK-Jahrestagung 2006 Nutzeranforderungen an ein Psychologie- Fachportal: Ergebnisse einer Online- Befragung Erich Weichselgartner.
EMB-Ausschuss Unternehmenspolitik
3rd Wednesday, 18. Januar Wettbewerb Breitband Ruhr – Mit neuen Technologien Zukunft sichern 29. 3rd Wednesday, 18. Januar 2006 Ulrike Langer, Projekt.
Java: Objektorientierte Programmierung
Java: Grundlagen der Objektorientierung
Dienstbesprechung der Fachbereichsleiter AWT am Dienstag, 21
Wie überwacht man Objekte im "Alltag" ?. Indem man "Wanzen" an diese anbringt.
Ein Beispiel in Java.
Assoziationen (Beziehungen). Zwischen Objekten kann es eine Beziehung geben.
Klaus Pommerening, Mainz
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 7 User Interfaces in Java Sommersemester 2003 Lars Bernard.
Institut für Kartographie und Geoinformation Prof.-Dr. Lutz Plümer, Dr. Gerhard Gröger, Dipl.-Ing. Dirk Dörschlag Einführung in die Programmierung mit.
PKJ 2005/1 Stefan Dissmann Ausblick Es fehlen noch: Möglichkeiten zum Strukturieren größerer Programme Umgang mit variabler Zahl von Elementen Umgang mit.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
Taschenrechner im Mathematikunterricht Stephan Damp
B. Mathea, 1./ akualisierte Fassung vom 1./
Grundlagen für die Teilnahme an G8GTS Die Pflichtstunden in G8GTS
DVG Einführung in Java1 Einführung in JAVA.
DVG Einfache Klassen 1 Einfache Klassen. 2DVG Einfache KlassenStrukturen Beispiel: Personendaten bestehen aus String name String name.
03 - Paint Das Zeichenprogramm EMMA Paint2 Aufgabenstellung Entwicklung eines ausschließlich in JAVA programmierten Graphikprogrammes. Vergleichsprodukte:
Vortrag zur Verteidigung der Diplomarbeit von Oliver Schäfer
Java in 9 Folien Besser: Online-Buch Go to Java 2.
© 2002 Dr. Cavelius - Ley - Pohlig - Taulien Step by step zum JFrame 1 Zum JFrame Step by step by step by step by step by step by step by step by.
© 2005 Pohlig GK Informatik K Zum JFrame Step by step by step by step by step by step by step by step by.
© 2006 MPohlig Grundkurs Informatik mit Java 1 JFrame-Vorlage Step by step by step by step by step by step by step by step by.
© 2005 Pohlig – Taulien: Die Matheamatik-GUI als Applet Come Together 1 April 2005 Was ist ein Applet Ein Applet ist ein Javaprogramm, das die VM benutzt,
Hänchen & Partner GmbH 1 Web-Anwendungen mit dem Jakarta Struts Framework 3.Juli 2003 Martin Burkhardt.
Barrierefreiheit ( Accessibility ).
Dr. Stefan Sammito (Bundeswehrkrankenhaus Bad Zwischenahn)
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
Sommersemester 2004 Jan Drewnak Entwicklung und Einsatz von Geosoftware I Praktikum Sitzung 7 Sitzung 7: User Interfaces in Java.
Zu Folie 1 Meine sehr geehrten Damen und Herren,
Morbach, den Morbach, den Gemeinsam statt einsam - Neue Wohnformen im Dorf Barrierefreie Wohnungen Angepasste Wohnungen Betreutes.
University of Applied Sciences Übung Objektorientierte Programmierung II Dipl.-Inf. (FH) Markus Vogler.
BMU – KI III 1 Stand: März 2007 Entwicklung erneuerbarer Energien in Deutschland im Jahr Erneuerbare Energien in Deutschland im Jahr 2006.
Applets Java für’s Web.
Inventarisierung leicht gemacht
Erste Hilfe Praktikumsunterlage
IT2 – WS 2005/20061Oct 10, 2005 Externes Verhalten – Quelltext (source code) Durch Aufrufe der Konstruktoren und Methoden kann das externe Verhalten (=die.
Einführung / Geschichte Einführung / Geschichte Motivation Motivation Beispiel Beispiel Architektur / Komponenten Architektur / Komponenten Konfiguration.
Inhalt (2) Atmung Kreislauf (AED) Erste Hilfe 2006.
Inhalt (3) Schock Starke Blutung Akutes Koronarsyndrom Insult
IT2 – WS 2005/20061Oct 17, 2005 Objektinteraktion Zusammenarbeitende Objekte erzeugen 1.0.
Universität Zürich Informatikdienste GoKoordinatorenmeeting 27. April UZH Global Storage Projekt.
OOP-Begriffe Abstraktion Modellieren Klasse Objekt Attribute Methoden
Der deutsche Arbeitsmarkt seit 1945
Berufs- und Laufbahnberatende
CuP - Java Vierte Vorlesung Entspricht ungefähr Kapitel 2.1 des Skriptums Montag, 14. Oktober 2002.
Starten der Entwicklungsumgebung (IDE)
Prävention im Einsatzwesen
Ulrich Kalina, Deutsche Blindenstudienanstalt Marburg
ppt, ©Robert Wolff, Presenting PowerPoint.
Zentralkurs 2006 Nationales Kader Allgemeine Infos.
Programmiervorkurs WS 2014/15 Methoden
Informatik I : Software höhere Programmiersprachen Java Klassen: hat Methoden (Funktionen) und Daten (Variablen) es kann mehrere Klassen geben nur eine.
© 2005 Pohlig Informatik Jg. 11 mfH Michael Pohlig 1 Zum JFrame Step by step by step by step by step by step by step by step by.
Java-Kurs Übung Benutzeroberflächen und Graphik Frames (Fenster)
Java-Applets und URLs APP Philip Graf, Andreas Bößl.
Institut für Kartographie und Geoinformation Prof. Dr. L. Plümer, Dipl.-Ing. D. Dörschlag, Dr. G. Gröger Einführung in die Programmierung mit Java 13.
IT2 – WS 2005/20061Nov 14, 2005 Visibility  public: Sichtbar in allen Paketen  protected: Sichtbar innerhalb des Pakets und in den Unterklassen  (default,
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Thomas H. Kolbe Einführung in die Programmierung mit Java 9. Vorlesung WS 2001/2002.
Objektorientierung Gliederung von Daten und Funktionen zu Objekten
Java-Kurs Übung Klassen und Objekte: Vererbung (Fortsetzung)
Mit der Turtle Java Programmieren
 Präsentation transkript:

Das SalesPoint-Framework v3.2 Einführung und Überblick Steffen Zschaler TU Dresden, SS 2006

Gliederung Technische Realisierung des Frameworks SalesPoint Übersicht Anwendungsverwaltung Datenverwaltung Benutzerverwaltung Protokollverwaltung Ein paar Erfahrungen... SS 2006

Framework? (nach Hußmann) Klassenbibliothek Framework Vorgefertigte Teile Anwendungsspezifische Teile Don't call us, we call you Anpassung durch Instanziierung Anpassung durch Spezialisierung Ablaufsteuerung nicht vordefiniert Ablaufsteuerung im wesentlichen vordefiniert Die Grenze ist fließend, siehe z.B. Java AWT ! SS 2006

Übersicht SalesPoint Bereichsspezifisches Framework (Domain Framework) Version 3.2 basierend auf Java 1.5 Entwicklung von Verkaufsanwendungen: Abläufe in einem Geschäft und an Verkaufsständen (Shop, SalesPoint und SaleProcess) Datenverwaltung (Stock und Catalog) Domainspezifische GUI-Komponenten SS 2006

Beispiel: Großmarkt SS 2006

Übersicht(2) – Paketstruktur Metriken: 18431 LOC (ohne Dokumentation und Leerzeilen) 254 Klassen SS 2006

Gliederung Technische Realisierung des Frameworks SalesPoint Übersicht Anwendungsverwaltung Datenverwaltung Benutzerverwaltung Protokollverwaltung Ein paar Erfahrungen... SS 2006

Anwendungsverwaltung Zentrale Klassen

Beispiel: Videomaschine Metriken: 1409 LOC (ohne Dokumentation und Leerzeilen) 45 Klassen Zur Erinnerung – Framework: 18431 LOC 254 Klassen SS 2006

Beispiel: Videomaschine (2) SalesPoint Shop SS 2006

Beispiel: Videomaschine (2) SalesPoint SS 2006

Beispiel: Videomaschine (3) public class VideoShop extends Shop { … public static void main (String[] args){ // VideoShop anlegen und registrieren VideoShop vidMachine = new VideoShop(); setTheShop (vidMachine); // Automat anlegen VideoAutomat va = new VideoAutomat ( “Video Rental” ); vidMachine.addSalesPoint (va); // Anwendung starten getTheShop().start(); } SS 2006

Anwendungsverwaltung Prozesse Ort sämtlicher Interaktionen mit dem Nutzer Realisiert durch Zustandsautomaten Prozeß besteht aus: Kommunikation mit dem Nutzer Internen Bearbeitungsvor- gängen Automat besteht aus: Zuständen (Gate) Zustandsübergängen (Transition) SS 2006

Prozeßeigenschaften An jedem Gate definiert unterbrechbar Transitionen: Kurz, insbesondere keine Nutzerkommunikation Ununterbrechbar Gates: Beliebig lang Zu jedem Zeitpunkt unterbrechbar SS 2006

Beispiel: Videomaschine (4) SS 2006

Beispiel Videomaschine RentProcess

Hilfe durch das „Kochbuch“ SS 2006

Anwendungsverwaltung Benutzeroberfläche Ein Fenster je SalesPoint Zur Anzeige von Formularen (FormSheet) und Menüs (MenuSheet) SS 2006

FormSheet FormSheet Komponentenbereich Beliebige javax.swing-Komponenten (incl. spezielle GUI-Komponenten des Frameworks) Knopfleiste SS 2006

MenuSheet FormSheets und MenuSheets: Abstraktion von der konkreten Darstellung Aufgabe des Display (Framework-interne Klassen) Verwenden Aktionen (Action), zur Anbindung von Programmcode MenuSheet SS 2006

Standard-GUI Swing-Komponenten (packages *.swing) Spezielle GUI-Klassen von SalesPoint (z.B. CatalogTableModel) Standard-Formulare (packages *.stdforms) Swing-Komponenten, die zu Standard-Formularen zusammengesetzt sind MsgForm, TextInputForm abeleitet von FormSheet, Paket sale.stdforms SS 2006

Gliederung Technische Realisierung des Frameworks SalesPoint Übersicht Anwendungsverwaltung Datenverwaltung Benutzerverwaltung Protokollverwaltung Ein paar Erfahrungen... SS 2006

Datenverwaltung Kataloge und Bestände SS 2006

Beispiel: Videomaschine (5) Catalog CatalogItem CountingStock StockItem SS 2006

Datenkorb Analysesicht: Entwurfssicht: Warenkorb Entwurfssicht: Transaktionseigenschaften (Isolation und Atomizität) enge Kooperation mit Katalogen und Beständen: Parameter jeder Methode, die Datencontainer manipuliert SS 2006

Datenverwaltung Zahlungsverkehr? Nur primitiv unterstützt: Währungen (Currency): Katalog von Scheinen und Münzen Geldbeutel (MoneyBag) verwaltet Bargeld elektronischer Zahlungs-verkehr noch nicht unter-stützt SS 2006

Beispiel: Videomaschine (6) Keine eigenen Klassen notwendig Nur Katalog- und Bestandseinträge zu implementieren SS 2006

Gliederung Technische Realisierung des Frameworks SalesPoint Übersicht Anwendungsverwaltung Datenverwaltung Benutzerverwaltung Protokollverwaltung Ein paar Erfahrungen... SS 2006

Benutzerverwaltung Verwaltet Benutzer (User) und deren Rechte (Capability) Neu erzeugte Benutzer erhalten Standardrechte SS 2006

Protokollverwaltung Protokolle (Log) sind Ströme von Protokolleinträgen (LogEntry) Protokolleintrag: Zeitpunkt der Protokollierung Sachverhalt … Protokollierbare Objekte oder Vorgänge (Loggable): Liefern Protokolleinträge log public void log(Loggable l) throws LogNoOutputStreamException, IOException Adds one entry to the log file. Calls l.getLogData(). Specified by: log in interface LogContext Parameters: l - the event to be logged. Throws: LogNoOutputStreamException - if no OutputStream has been specified. IOException - if an IOException occurs when writing to the stream. See Also: Loggable Override: Never public LogEntry getLogData() Called when the object is being logged. Should return a fresh instance of a subclass of LogEntry describing the object or event to be logged. Returns: the data to be stored in the log file. Always SS 2006

Gliederung Technische Realisierung des Frameworks SalesPoint Übersicht Anwendungsverwaltung Datenverwaltung Benutzerverwaltung Protokollverwaltung Ein paar Erfahrungen... SS 2006

Metriken Metriken SalesPoint-Framework Anzahl Klassen: 254 Lines of Code (LOC): 18.431 Durchschnittliche Metriken für SalesPoint-Anwendungen (SS 2005, 58 Projekte): Anzahl Klassen: 88 LOC: 9.877 SS 2006

Einarbeitungsaufwand SS 2005 SS 2006

Dokumentation – Nutzung SS 2005 SS 2006

Dokumentation – Wo? www-st.inf.tu-dresden.de/SalesPoint/v3.2/ Dokumentation studentischer Praktika aus vorigen Semestern SS 2005: www-st.inf.tu-dresden.de /sp/internesPraktikum/pages/gruppenzuteilung.html SS 2004: www-st.inf.tu-dresden.de /Lehre/SS04/sp/internesPraktikum/pages/gruppenzuteilung.html SS 2006

Fröhliches Bauen! SS 2006