Prof. Dr. Alois Sch¼tte1 Web-basierte Verbuchung eines Wareneingangs Alois Sch¼tte schuette/ Inhalt Problemstellung Projekt

  • View
    111

  • Download
    2

Embed Size (px)

Text of Prof. Dr. Alois Sch¼tte1 Web-basierte Verbuchung eines Wareneingangs Alois Sch¼tte ...

  • Folie 1
  • Prof. Dr. Alois Schtte1 Web-basierte Verbuchung eines Wareneingangs Alois Schtte http://www.fbi.fh-darmstadt.de/~schuette/ Inhalt Problemstellung Projekt Wertpapiergeschft - Erfassen und Buchen Analyse Konzeption Realisierung Diskussion
  • Folie 2
  • Prof. Dr. Alois Schtte2 Problemstellung Eine Bank braucht eine Anwendung, bei der eine Einlieferung von Wertpapieren (Wareneingang) z.B. 100 Apple-Aktion (mengenmig) zum aktuellen Kurs (wertmig) in ein Kundendepot ber ein Web-Frontend von einem Bankmitarbeiter fr einen Bank-Kunden durchgefhrt werden kann. Die IT-Abteilung der Bank gibt vor, dass die Anwendung ber eine bestehende 3-Ebenen-Architektur auf die Backend-Daten (Depots, Kunden,...) zugreift. Die Datenhaltung soll in der Anwendung selbst in einer eigenen relationalen freien Datenbank erfolgen. Die Schnittstelle zu den Bank-eigenen Systemen erfolgt durch die Bank. Live Demo http://hal.local/WP/php/http://hal.local/WP/php/
  • Folie 3
  • Prof. Dr. Alois Schtte3 Analyse Wir als Softwarehaus haben Erfahrung mit Php und MySql Aus der Problemstellung leiten sich 3 Komponenten ab: Visualisierung mittels HTML in einem Web-Browser (keine Java- Anwendung) Anwendungslogik per Php auf einem Anwendungs-Server (keine J2EE Anwendung) Speicherung in einer MySql-Datenbank Aus den Anforderungen resultiert folgende Anwendungsarchitektur: Application- Server Datenbank Server Backend- Systeme VisualisierungAnwendungslogik Speicherung
  • Folie 4
  • Prof. Dr. Alois Schtte4 Analyse Beteiligte Projektmitarbeiten werden bentigt aus den Bereichen: Design (HTML-Masken) Programmierung (Php) Datenbankspezialisten (MySql) Der Kern der Anwendung ist ein Datenmodell, dass die Speicherung von WP-Transaktionen fr Kunden abbilden kann.
  • Folie 5
  • Prof. Dr. Alois Schtte5 Konzeption: ER-Modell Der konzeptionelle Entwurf ist der Vorgang, bei dem das konzeptionelle Modell aus der Realitt abgeleitet wird. Er mndet im konzeptionellen Datenmodell. Als Modell fr die konzeptionelle Phase verwenden wird das Entity- Relationship Modell. Es definiert die Entitten einer Anwendung zusammen mit ihren Beziehungen: Entity (Objekttyp): Rechteck Relationship (Beziehungstyp): Raute Attribute: Ovale Beziehungsart Kunde besitzt KuNr 1 n
  • Folie 6
  • Prof. Dr. Alois Schtte6 Konzeption: ER-Modell (Ausschnitt) - Entitten Kunde KuNr Name Adresse
  • Folie 7
  • Prof. Dr. Alois Schtte7 Konzeption: ER-Modell (Ausschnitt) - Entitten Kunde KuNr Name Adresse Depot DeNr Abr-Konto Wert Auf eine valutengerechte Betrachtung wird der Einfachheit halber verzichtet.
  • Folie 8
  • Prof. Dr. Alois Schtte8 Konzeption: ER-Modell (Ausschnitt) - Entitten KundeDepot KuNr Name Adresse DeNr Abr-Konto Wert Wertpapier WKN Kurs Bez. Auf eine valutengerechte Betrachtung wird der Einfachheit halber verzichtet.
  • Folie 9
  • Prof. Dr. Alois Schtte9 Konzeption: ER-Modell (Ausschnitt) - Beziehungen KundeDepot KuNr Name Adresse DeNr Abr-Konto Wert Wertpapier WKN Kurs besitzt Bez. n1 Auf eine valutengerechte Betrachtung wird der Einfachheit halber verzichtet. 1 zu n
  • Folie 10
  • Prof. Dr. Alois Schtte10 Konzeption: ER-Modell (Ausschnitt) - Beziehungen KundeDepot KuNr Name Adresse DeNr Abr-Konto Wert Wertpapier WKN Kurs besitztbeinhaltet Bez. n1n m Anzahl Auf eine valutengerechte Betrachtung wird der Einfachheit halber verzichtet. n zu m
  • Folie 11
  • Prof. Dr. Alois Schtte11 Konzeption: ER-Modell (Ausschnitt) - Beziehungen KundeDepot KuNr Name Adresse DeNr Abr-Konto Wert Wertpapier WKN Kurs besitztbeinhaltet Bez. n1n mn m OrderNr ordert kauft/verkauft Anzahl Auf eine valutengerechte Betrachtung wird der Einfachheit halber verzichtet. 3 stellig
  • Folie 12
  • Prof. Dr. Alois Schtte12 Konzeption: ER-Modell -> Relationalen Modell Verfahren: ER-Modell -> Relationenmodell: Abbildung von Entity-Typen auf Relationenschematas Abbildung von Beziehungstypen auf Relationenschemata Attribute werden zu Attributen des Relationenschemas Schlssel werden bernommen Wenn mglich: Verschmelzung von Relationenschemata von Entity- und Beziehungstypen Einfhrung von Fremdschlsseln in verbleibenden Relationenschemata zur Referenzierung der Entities Normalisierung des entstandenen Schemas
  • Folie 13
  • Prof. Dr. Alois Schtte13 Konzeption: ER-Modell -> Relationalen Modell Kunde KuNr Name Adresse NameAttribut:Type KundeKuNr: Integer Name: String Adresse: String EntittRelation
  • Folie 14
  • Prof. Dr. Alois Schtte14 Konzeption: ER-Modell -> Relationalen Modell NameAttribut:Type beinhaltet (WpBestand) DeNr: Integer WKN: String Anzahl: Integer BeziehungRelation Depot DeNr Abr-Konto Wert Wertpapier WKN Kurs beinhaltet Bez. n m Anzahl
  • Folie 15
  • Prof. Dr. Alois Schtte15 Konzeption: Relationenschema NameAttribut_ Typ KundeKuNr: Integer Name: String Adresse: String DepotDeNr: Integer KuNr: Kunde.KuNr Wert: String KoNr: Konto.KoNr WertpapierWKN: Integer Bezeichnung: String Kurs: Float WpBestandDeNr: Integer WKN: Wertpapier.WKN Anzahl: Integer WpUmsatzOrNr: Integer DeNr: Depot.DeNr Ausfhrung: Date WKN: Integer Anzahl: Integer KontoKoNr: Integer KuNr: Kunde.KuNr Saldo: Float GeldUmsatzUmNr: Integer KoNr: Kunde.KuNr Ausfhrung: Date Betrag: Float Relationenschema insgesamt (nach Vereinfachung und Normalisierung)
  • Folie 16
  • Prof. Dr. Alois Schtte16 Konzeption: Design Die Konzeption der Design-Komponente wird hier nicht nher betrachtet. Als einzigen Aspekt wird die Anforderung nach Validierung von Formularfeldern errtert: In Formularfelder soll die Benutzereingabe auf korrekte Typen sinnvolle Werte geprft werden.
  • Folie 17
  • Prof. Dr. Alois Schtte17 Konzeption: Anwendungslogik Php bietet die Mglichkeit, objektorientiert zu programmieren. Somit sind die elementaren Bestandteile in Klassen zu verpacken. Grundlegende Funktionalitten, z.B.: Allgemeiner Datenbankzugriff Benutzerauthentifizierung Kursimport Klassen fr Entitten, Beziehungen und Anwendungsfunktionalitten, z.B.: Kunde Buchen Der Zugriff auf eine MySQL-Datenbank erfolgt ber Php spezifische APIs.
  • Folie 18
  • Prof. Dr. Alois Schtte18 Realisierung: Datenbank Aus dem Relationenschema wird nach dem konzeptionellen Entwurfs eine Datenbank erzeugt, die dann Ausgangspunkt fr die Implementierung ist. SQL-Anweisungen: create table kunde ( KuNr integer primary key, Name varchar(100), Adresse varchar(100) ) type=innodb; create table konto ( KoNr integer primary key, KuNr integer not null references kunde.KuNr on delete cascade, Saldo float ) type=innodb;...
  • Folie 19