Software Engineering. Prof. Dr. Stefan Enderle NTA Isny

Größe: px
Ab Seite anzeigen:

Download "Software Engineering. Prof. Dr. Stefan Enderle NTA Isny"

Transkript

1 Software Engineering Prof. Dr. Stefan Enderle NTA Isny

2 5 Arbeitsschritt Entwurf

3 5.1 Einführung Analyse: Beschreibung des Systems auf abstrakte Art, unabhängig von der verwendeten Technologie. Entwurf: Berücksichtigung von konkreten Technologien Grundlage für unmissverständliche Implementierung

4 Produkte von Analyse und Entwurf

5 Ausgangspunkt Produkte der Analyse: Anwendungsfälle Analysemodell Domänenmodell Analyseprototyp Stand der Technik / Erfahrung: Qualitätsanforderungen User Interface Design Fehlerbehandlung Architekturkonzepte

6 Ergebnis Produkte des Entwurfs: Architekturbeschreibung Systemaufteilung (Subsysteme) Anwenderschnittstelle (User Interface) Datenbasis Geschäftslogik

7 Ergebnis graphisch

8 5.2 Analyse technischer Varianten Beispiel: Auswahl einer Entwicklungsumgebung 2 Möglichkeiten: Möglichkeit 1: Nutzen der Standard-Entwicklungsumgebung, Systementwurf nach deren Möglichkeiten Möglichkeit 2: Wahl einer optimalen geeigneten Entw.umgeb. Auswahl durch wenige, entscheidende Projektmerkmale

9 Vor- / Nachteile Möglichkeit 1: Bestehende Entwicklungsumgebung: Vorteile: Erfahrung im Unternehmen Gute Programmierer Einsparen von Schulungskosten Nachteile: Entwicklung auf bestimmte Technologien begrenzt Einschränkungen bei der Implementierung (Projekt evtl. nicht realisierbar oder suboptimal) Innovation ist ausgeschlossen

10 Vor- / Nachteile Möglichkeit 2: Auswahl einer optimal geeigneten Entw-.Umg: Vorteile: Flexibilität Innovation (Theoretisch) optimale Lösung Nachteile: Hohes Risiko: Entwickler / Erfahrung vorhanden? Evtl. hoher Schulungsaufwand Auswahl selbst ist evtl. schwierig und langwierig

11 Merkmale von Entw.Umg. Die Auswahl einer Entwicklungsumgebung können verschiedene Merkmale beeinflussen: Unterstützung von Architekturkonzepten z.b. Datenbanken, Client-Server-Lösungen,... Leistung einzelner Komponenten z.b. Bibliotheken, User-Interface,... Verfügbarkeit von User-Interface Editor/Bibliothek (Eigenentwicklungen haben sehr schlechtes Kosten/Nutzen-Verhältnis) Unterstützung von Sprachkonzepten z.b. Objektorientierung, Fehlerbehandlung,... Portierbarkeit der Applikation Unterstützung von Versionsmanagement Eliminieren von Fehlern mit externen Programmen

12 Merkmale von Entw.Umg. (2) Merkmale unabhängig vom aktuellen Entwurf: Qualität einzelner Tools Compiler, Debugger, Editor Integration in Systemumgebung Betriebssystem, Zusammenarbeit mit anderen Tools Erweiterbarkeit und Anpassbarkeit Hersteller und Preis Oft umfangreicher aber teurer Support

13 Analyse technischer Varianten Allgemein müssen häufig Varianten von Systemen verglichen werden: Merkmalstabelle

14 Beispiel: UML-Tool Auswahl eines geeigneten UML-Tools: ArgoUML Visual Paradigm Merkmalstabelle! Siehe Praktikum...

15 5.3 Systemarchitekturen Shaw '96: Software-Architektur beinhaltet die Beschreibung von Elementen, aus denen Systeme gebaut werden, Interaktionen zwischen diesen Elementen, Muster, die deren Zusammensetzung steuern, und Einschränkungen in Bezug auf diese Muster. Ein bestimmtes System wird beschrieben durch die Sammlung von Komponenten und Interaktionen zwischen diesen Komponenten.

16 Beispiele Administratives Stand-Alone System vs. Embedded-/Echtzeitsystem

17 Beispiel Verteiltes System (Client-Server)

18 Schnittstellen Input: Daten Steuerinformation Je nach Systemarchitektur verschiedene Schnittstellen: Stand-Alone System: Über User-Interface Bei Embedded-system: Über Hardware Bei verteiltem System: Über mehrere UIs, Netzwerk

19 Stand-Alone vs. Verteiltes System Stand-Alone System: System, das auf einem einzelnen Rechner ausführbar ist. Ohne Netzwerk. Verteilte Systeme: Client/Server-System: Über ein Netzwerk zusammenarbeitende Anwendungen Jeweils Server (Dienst-Anbieter) oder Client (Nutzer) Server meist auf leistungsfähigen Rechnern Peer-to-Peer-System: Anwendungen haben ähnliche Fähigkeiten Jede Anwendung bietet und nutzt Dienste gleichermaßen Master/Slave-System: Master-Anwendung übt Kontrolle über Slaves aus

20 Schichten-Architekturen Eine Anwendung als EINEN Block zu sehen ist keine Architektur! Einfachste Unterteilung unterteilt in zwei Bereiche Zwei-Schichten Architektur

21 Zwei-Schichten-Architektur 2 Schichten: Anwendung Datenbank Eine oder mehrere verteilte Applikationen Datenbank können auch strukturierte Dateien sein Applikationen enthalten UI und Logik

22 Drei-Schichten-Architektur 3 Schichten: Anwendung Datenbank Domäne / Logik Domäne / Logik übersetzt zwischen User-Interface und Datenbank Bsp: Objekte <-> XML

23 Mehr-Schichten-Architekturen Hauptsächlich bei verteilten Systemen kann es sinnvoll sein, mehr als drei Schichten zu definieren. Beispiel: Architektur der Ticket-Line

24 5.4 Darstellung von Systemarchitekturen in UML Prinzip Divide-and-Conquer ( Teile und Herrsche ) Durch die Unterteilung eines Systems in Module können folgende Eigenschaften erzielt werden: Aufgabenteilung Gut für Fehlersuche (wegen Begrenzung) und für Änderungen Skalierbarkeit Leichteres Erweitern oder Entfernen von Modulen, ohne das Gesamtsystem zu beeinflussen Wartbarkeit Leichteres Austauschen von Modulen,

25 Diagramm-Arten Zur Darstellung von Systemarchitekturen werden meist folgende UML-Diagrammarten verwendet: Subsystemdiagramm Implementierungsdiagramm Auslieferungsdiagramm

26 Subsystemdiagramm Zeigt die Aufteilung eines Systems in Subsysteme Subsystem = Rechteck mit Tab und Gabel Schnittstelle (Service) = kleiner Kreis Zugriff auf Schnittstelle = gestrichelter Pfeil

27 Subsystemdiagramm Subsysteme: Administration, Kassa, Kiosk Kiosk greift auf Administration über Schnittstelle Daten zu. Administration verwendet eine Schnittstelle von Kassa. <<stub>> deutet an, dass es sich nur um einen Stellvertreter handelt, der die Daten weiterleitet oder Standardantworten z.b. für Testzwecke schickt.

28 Subsystemdiagramm Eine Schnittstelle kann auch genauer spezifiziert sein, dann wird eine Schnittstellenklasse verwendet (mit <<interface>>). Beispiel: Schnittstelle Daten von vorher

29 Subsystemdiagramm In einem Subsystemdiagramm können zusätzlich Zusammenhänge zu Elementen der Analyse dargestellt werden: Zwei Hälften: Specification Elements = Analyse (z.b. Anwendungsfälle), Realization Elements = Entwurf

30 Implementierungsdiagramm Zeigt die Aufgliederung des Quellcodes und gegenseitige Abhängigkeit Komponenten = Rechteck mit 2 kleineren Rechtecken Komponenten bestehen meist aus mehreren Klassen

31 Implementierungsdiagramm Admin greift auf Admin DB und auf Admin Kommunikation zu. Kiosk greift über Kiosk Kommunikation auf Admin Kommunikation zu.

32 Auslieferungsdiagramm Zeigt die Maschinen/Geräte der Zielumgebung z.b. PCs, Server, Controller Maschine = 3D Rechteck Innerhalb der 3D Rechtecke wieder Komponenten (wie im Implementierungsdiagramm) + Komponenten der Zielumgebung Instanzen!

33 Auslieferungsdiagramm Zwei Maschinenklassen: Server und InfoTerminal Administration und Kiosk wurden zufammengefasst Jedes Kiosk greift auf den Server über die AdministrationSchnittstelle zu Administration benutzt die Datenbank des Servers

34 5.4 Umsetzung der Analyse-Anforderungen Aus den Anforderungen der Analyse müssen hauptsächlich folgende Teile entworfen werden: Anwenderschnittstelle (User Interface) Geschäftslogik Datenbasis

35 5.4.1 Entwurf der Anwenderschnittstelle Über das User-Interface müssen Mensch und Maschine zusammenarbeiten Funktionelle Dinge: Effektive Dateneingabe Schnelle Steuerung Subjektive Dinge: Reaktivität Vertrauensvoll Keine grafische Überladung o.ä. Gimmicks Gesamtfunktionalität muss passen

36 Entwurf der Anwenderschnittstelle Aus Maci '92: Know your Audience Konsistente Gestaltung Metaphern (Konzepte aus anderem Zusammenhang) Direkte Interaktion (Erfolg, Misslingen,...) Benutzerführung vs. geführter Benutzer Feedback bei längeren Aktionen Fehlertoleranz (Rückgängig-machen)

37 Beispiele Ist folgende Anwenderschnittstelle besonders gut oder schlecht?

38 Beispiele Schlecht! Zu viele Informationen Vermischen von Kundendaten Passwort, PIN... Tabelle mit EINER sichtbaren Zeile

39 Beispiele Gut / Schlecht?

40 Beispiele Schlecht! Schlechte Anordnung der Elemente Fenstersteuerung fehlt Schriftgrößen eher zufällig

41 Typischer Entwurfsablauf Grafischer Entwurf mit später verwendeter Entwicklungsumgebung Vorteil: Weiterverwendung für Implementierung Aber: Aufbereitung als Entwurf: Separate Archivierung Dokumentation mit Screenshots

42 Inhalt: Entwurf Anwenderschnittstelle Ein Entwurf der Anwenderschnittstelle sollte beinhalten: Name der Klasse Bild/Grafik der Anwenderschnittstelle Initialisierung aller Elemente Objekte, deren Attribute durch die Anwenderschnittstelle angezeigt/verändert werden Dynamisches Verhalten des Dialogs Aktionen, die über die Anwenderschnittstelle ausgelöst werden können: über Menüs bei Aktivierung oder Verlassen von Dialogelementen über Kontextmenüs direkte Manipulation (Drag&Drop, Doppelklick,...) Fehlerhafte Aktionen ( Bearbeiten ohne Auswahl etc.) Aktionen, die beim Schließen des Dialogs auszuführen sind.

43 Beispiel: Entwurf User-Interface (1)

44 Beispiel: Entwurf User-Interface (2) Verwendete Obekte: In ListBox Suchergebnis werden Objekte der Klasse Veranstaltung angezeigt Dynamisches Verhalten: Das Fenster kann nicht vergrößert oder verkleinert, aber minimiert werden. Aktionen: Suchen: Die Werte aus den Feldern der Gruppen Aufführungsort, Veranstaltung und Stammdaten werden als Suchkriterium verwendet. Das Suchergebnis wird in Listbox Suchergebnis dargestellt. Übernehmen: Der ausgewählte Eintrag wird an das aufrufende Fenster zurückgeliefert. Schließen: Das Fenster wird geschlossen Doppelklick auf Eintrag in Listbox Suchergebnis zeigt den Datensatz im Detail in UIVeranstaltung an

45 Benutzbarkeitstest Zwei Möglichkeiten: Usability-Richtlinien Tausende spezifische Regeln Heuristische Evaluation Wenige Heuristiken Vorteile der Heuristischen Evaluation: Kann auch von Nicht-UserInterface-Experten durchgeführt werden Schneller Günstiger

46 Heuristische Evaluation (1) Allgemein akzeptierte Heuristiken für User-Interfaces: Einfache und natürliche Dialoge Keine irrelevanten Informationen Natürliche Abfolge der Informationen Sprache des Benutzers Keine Gedächtnisbelastung Der Benutzer sollte nicht gezwungen sein, sich Informationen von einem Dialog zum nächsten zu merken. Konsistenz Gleiche Begriffe, Aktionen, Situationen sollen immer das Gleiche bedeuten. System-Aktion durch Benutzer-Aktion. Feedback: Information des Benutzers, was gerade passiert.

47 Heuristische Evaluation (2) Klare Ausstiegspunkte Situationen vermeiden, in denen der Anwender keinen Ausgang findet Zurück oder Abbruch Shortcuts Abkürzung aufwändiger Dialoge für geübte Benutzer Gute Fehlermeldungen Defensiv: Darlegung des Problems, Keine Kritik! Präzise: Exakte Information über die Ursachen des Problems Konstruktiv: Vorschlag von Lösungen Verhindere Fehler: Gutes Design kann viele Fehler verhindern

48 5.4.2 Entwurf der Geschäftslogik Geschäftslogik = Funktionalität des Systems: Statischer Teil (Klassen, Daten) Dynamischer Teil (Abläufe) Ansatz: Analysemodell bietet bereits mögliche Einteilung in Klassen Erweiterung um zusätzliche Details

49 UML Klassendiagramm Beispiel: Analyse des Ticket Systems als Klassendiagramm Ticket {abstract} Veranstaltung Aufführungssaal Datum Platz-Ticket Platz Platz_zuweisen Platz_ändern Typen? Sichtbarkeit? verkaufen stornieren suchen Zähl-Ticket Anzahl_Plätze Anzahl_zuweisen Anzahl_ändern

50 Erweiterungen Sichtbarkeit der Attribute: Angaben durch Zeichen vor dem Attributnamen: + = public: Systemweiter Zugriff - = protected: Zugriff nur durch Instanzen der Klasse # = protected: Instanzen der Klasse und Unterklassen unterstrichen = class-scope (static): Systemweiter Zugriff ohne Instanz (Eigenschaft der Klasse) Fenster Standardgröße +aktuellegröße -tags #owner

51 Erweiterungen Typen der Attribute: Angabe des Typs nach : hinter dem Attributnamen: Fenster Standardgröße: Rechteck +aktuellegröße: Rechteck -tags: byte #owner: Fenster*

52 Erweiterungen Initialisierung der Attribute: Initialisierungswerte werden nach = hinter dem Typ angegeben: Fenster Standardgröße: Rechteck = (200,100) +aktuellegröße: Rechteck -tags: byte = 128 #owner: Fenster* = NULL

53 Erweiterungen Sichtbarkeit der Methoden: Angabe von +, -, #, _ wir bei Attributen: Fenster Standardgröße: Rechteck = (200,100) +aktuellegröße: Rechteck -tags: byte = 128 #owner: Fenster* = NULL -zeigefenster +öffnen +anzkinder #minimiereallekinder

54 Erweiterungen Typen der Parameter und Rückgabewerte von Methoden: Wie bei Attributen: Name : Typ: Fenster Standardgröße: Rechteck = (200,100) +aktuellegröße: Rechteck -tags: byte = 128 #owner: Fenster* = NULL -zeigefenster() +öffnen(owner:fenster*):boolean +anzkinder():int #minimiereallekinder()

55 Vereinbarungen Um das Klassendiagramm nicht zu überladen, wurde vereinbart, dass folgende Kategorien von Methoden weggelassen werden: Konstruktoren: Initialisierung des Objekts Destruktoren: Maßnahmen vor Beendigung des Objekts Set-Methoden: Setzen (einzelner) Attributwerte Get-Methoden: Lesen (einzelner) Attributwerte

56 Fehlerbehandlung Zur statischen Systembeschreibung gehört auch die Fehlerbehandlung Typischer Fehlerursachen: Falscheingabe des Benutzers Abbruch eines Algorithmus aufgrund bekannter Bedingungen Abbruch eines Vorgangs durch den Benutzer Inkonsistenzen von Daten im Speicher oder Datenbank Abbruch eines Vorgangs aufgrund ungültiger oder unvollständiger Daten

57 Fehlerbehandlung Mögliche Maßnahmen zur Fehlerbehandlung: Fehler ignorieren unbestimmbares und oft untragbares Verhalten Abbruch der gesamten Applikation meist unzumutbar Wert für die Ungültigkeit eines Ergebnisses gute Dokumentation! Statusvariablen gute Dokumentation + Benutzung! Statusmethoden (wie oben) Einer der Rückgabewerte als Fehlerwert OK, aber unschön Exception-Handling Sauberste Lösung, Trennen von Code und Ferhlerbehandlung

58 Wdh: Exceptions Beispiel: Werfen einer Ausnahme mit throw: double squareroot(double value) { if (value < 0) throw Wert kleiner 0 ; return sqrt(value); } Es können beliebige Typen/Klassen geworfen werden.

59 Wdh: Exceptions Exception-Handler mit try/catch: try { a = sqareroot(1.0); b = sqareroot(-1.0); c = sqareroot(2.0); } catch (const char* exc) { cerr << Fehler: << exc << endl; exit(1); }

60 Fehlerbehandlung Vorschlag: Eigenes Dokument Fehlerbehandlung mit Definition aller Mechanismen z.b. Exceptions und globale Variablen Definition aller Konstanten z.b. Exception-Klassen und Werte für globale Variablen Definition von Standard-Fehlermeldungen an den Benutzer z.b. Keine gültige Zahl verschiedene Sprachen?

61 5.4.3 Dynamische Abläufe Das Analysemodell besitzt auch bereits dynamische Diagramme : Kollaborationsdiagramm Sequenzdiagramm Zustandsdiagramm Im Entwurf werden diese überprüft an Datentypen angepasst ggfs. erweitert oder verändert.

62 Wdh: Sequenzdiagramm

63 Wdh: Zustandsdiagramm

64 5.4.4 Datenbasis Das Analysemodell besitzt eine objektorientierte Beschreibung der Datenbasis Beim Entwurf: Übergang zum tatsächlichen Speichermedium. Beispiele/Möglichkeiten: Strukturierte Dateien Relationale Datenbanken XML (Objektorientierte Datenbanken)

65 Strukturierte Dateien Die zu speichernden Daten werden in eine Datei geschrieben. Oft wird das ASCII-Format benutzt. Trennung durch White spaces (Leerzeichen, Tab, Newline) Problem: Strukturierung nur durch Abfolge der Daten Beispiel: Konfigurationsdatei ; lame configuration [InputFileTypes] Audio-Files=*.wav;*.aif;*.aiff;*.mp3;*.mp2;*.mp1 Wave-Files=*.wav MP3-Files=*.mp3 MPx-Files=*.mp3;*.mp2;*.mp1 AIFF-Files=*.aif;*.aiff...

66 Strukturierte Dateien Die Struktur der Datei muss in einem eigenen Dokument beschrieben werden Für komplexere Dateistrukturen bietet sich die Definition einer Grammatik an Beispiel: Grammatik Datei = Dateikopf Dateikopf Dateirumpf Dateikopf = Autorenname Datum Zweck Dateirumpf = Ausdruck Befehl Dateirumpf Ausdruck Dateirumpf Befehl Ausdruck = Zahl Ausdruck + Zahl Ausdruck Zahl Befehl = Text Autorenname = Text Datum = tt.mm.jjjj Zweck = Text

67 XML XML = Extensible Markup Language Sprache für Datenaustausch und Dokumentenmarkierung ASCII Datei

68 XML Ein XML-Dokument besteht aus Elementen. Ein Element ist Text, der in zueinander passende öffnende und schließende Tags eingeschlossen ist. Beispiel: <book> Mein Lieblingsbuch </book>

69 XML Innerhalb eines Elements kann stehen: gewöhnlicher Text wieder Elemente beides Beispiel: <book> Mein Lieblingsbuch <autor> Stefan Enderle </autor> </book>

70 XML Tags markieren die Struktur des Dokuments Der Text stellt den Inhalt dar.

71 XML <bibliographie> <buch> <artikel> <autor> E.F. Codd <autor> S. Abiteboul </autor> </autor> <titel> A Relational Model of Data Banks <autor> R. Hull </autor> </titel> <journal> Communications of the ACM <titel> Foundation of Databases </titel> </journal> <jahr> 1970 <verlag> Addison-Wesey </jahr> </verlag> </artikel> <jahr> </bibliographie> 1985 </jahr> </buch>

72 XML Die Gesamtstruktur ist immer ein Baum. Welche Knoten welche Unterknoten haben können wird durch eine separate Datei definiert: Document Type Definition DTD Die DTD ist im wesentlichen eine kontextfreie Grammatik!

73 XML Beispiel: Bisherige Schreibweise: bibliographie buch artikel autoren autor titel journal jahr verlag (buch artikel)* autoren titel verlag jahr autoren titel journal jahr autor autor autoren text text text text text

74 XML Beispiel: DTD Schreibweise: <!ELEMENT bibliographie (buch artikel)+ > <!ELEMENT buch (autor+,titel,verlag,jahr)> <!ELEMENT artikel (autor+,titel,journal,jahr)> <!ELEMENT autor PCDATA> <!ELEMENT titel PCDATA> <!ELEMENT journal PCDATA> <!ELEMENT jahr PCDATA> <!ELEMENT verlag PCDATA>

75 XML Das heißt: Die DTD ist die Grammatik, die eine Sprache definiert (nämlich die erlaubten XML Dateien). Eine konkrete XML Datei ist dann EIN mögliches Wort aus dieser Sprache, mit einem bestimmten Ableitungsbaum.

76 XML Verarbeitung Verarbeitung: Lesen und Auswerten der XML Datei Speichern von Daten als XML Datei XML Dateien werden meist durch eines der beiden Frameworks gelesen: SAX DOM

77 SAX SAX = Simple API for XML Erlaubt Verarbeitung einer XML-Datei schon während des Einlesens. Hierzu werden Events generiert, die dem XML-Stream entsprechen. Ereignisbasiert

78 SAX Beispiel: <book> Mein Lieblingsbuch </book> Events: start-tag( book ) character-data( Mein Lieblingsbuch ) end-tag( book )

79 SAX Vorteil: Kein Einlesen der gesamten Datei nötig Nachteil: Kein späterer Zugriff auf Daten möglich

80 DOM DOM = Document Object Model Liest komplette XML-Datei ein... und wandelt sie in einen Baum um.

81 DOM Beispiel: Ausschnitt aus HTML-Datei DOM Baum

82 DOM Zugriff auf die Baumstruktur: Elemente des Baumes können dann mit bestimmten Funktionen verarbeitet werden: Elemente lesen Elemente suchen Elemente verändern Elemente löschen

83 DOM Beispiel: Zugriff auf Elemente (Qt): Dokument spezifizieren: QDomDocument doc("mydocument"); Oberstes Element lesen: QDomElement docelem = doc.documentelement(); Ersten Kind-Knoten lesen: QDomNode n = docelem.firstchild(); Nächsten Kind-Knoten lesen: n = n.nextsibling();

84 XML Verarbeitung in Qt s. Übung

85 Datenbanken XML: XML dient der strukturierten Speicherung von Daten in separaten Dateien (XML Datei). Die Inhalte der XML Dateien können baumartig strukturiert sein. (Relationale) Datenbanken: Datenbank unterstützen ebenfalls die strukturierte Speicherung von Dateien. Zusätzliche Features: Einfaches Suchen und Einfügen von Datensätzen Client-Server-Betrieb Replikation Relationale Datenbank: Tabellen zur Strukturierung

86 Datenbanken Querbezug: Hierarchisches Datenbankmodell Beispiel: DOS oder UNIX Dateisystem eintspricht dem hierarchischen Datenbankmodell Hierarchie = Baum Es sind nur 1:n Beziehungen möglich Jedes Verzeichnis kann beliebig viele Unterverzeichnisse (mit Daten) enthalten. Umgekehrt jedoch nur genau eines! DOS / UNIX Kommandos können als Tools zur Benutzung der Datenbank betrachtet werden.

87 Relationale Datenbanken Ein Relationales Datenbanksystem besteht aus Datenbank Die eigentliche Datenmasse. Besteht ggfs. aus vielen Dateien, die jeweils Tabellen mit Daten beinhalten. Datenbank Management System (DBMS) Vielzahl von Werkzeugen, mit denen die Daten eingegeben geändert, verwaltet geschützt gesichert abgefragt bzw. gesucht werden können.

88 Relationale Datenbanken In einer relationalen Datenbank werden Objekte mit deren Attributen gespeichert. Die Haupt-Beschreibungseinheit ist eine Tabelle. Die Überschriften der Tabelle entsprechen den Attributen einer Klassendefinition Für jedes Attribut genau eine Spalte. In jeder Zeile der Tabelle befindet sich dann genau ein Objekt der Klasse

89 Relationale Datenbanken Beispiel Klasse in UML: Datenbank-Schema: Dozent Kürzel : char[3] Vorname : string Nachname : string Raum : string Telefon : int Tabelle Dozenten

90 Relationale Datenbanken Primärschlüssel: Für den eindeutigen Zugriff auf ein Objekt, muß mindestens eine Spalte das Schlüsselattribut Primärschlüssel enthalten. Durch den Primärschlüssel müssen die Zeilen der Tabelle eindeutig voneinander zu unterscheiden sein. Gegebenenfalls muß ein Schlüsselattribut zusätzlich "erfunden" werden, wenn keines der Attribute die Bedingung der Eindeutigkeit erfüllt. Beispiel: Index

91 Relationale Datenbanken Problem: Manche Dozenten halten sich oft in zwei oder mehr Räumen auf. Schlechte Lösungen: Noch eine Zeile mit anderem Raum ( fast gleiches Objekt nochmal) Weitere Spalten Raum 2, Telefon 2,... ( Wieviele?)

92 Relationale Datenbanken Gute Lösung: Aufteilen der Tabelle in Wiederholungsdaten und sich nicht wiederholende Daten. Tabelle Dozenten Tabelle Räume

93 Relationale Datenbanken Tabelle Dozenten Tabelle Räume In Dozenten ist Kürzel der Primärschlüssel In Räume ist Kürzel der Fremdschlüssel und kann auch mehrfach vorkommen.

94 Relationale Datenbanken Tabelle Dozenten Tabelle Räume 1. Problem gelöst: Ein neuer Raum für einen Dozenten wird einfach als weitere Zeile in Räume hinzugefügt.

95 Relationale Datenbanken Tabelle Dozenten Tabelle Räume Neues Problem: Räume und zugehörige Telefonnummern tauchen mehrfach auf. Was tun, wenn sich die Tel.Nr. eines Raumes ändert?

96 Relationale Datenbanken Man sieht, dass ein sauberer Entwurf einer Datenbank wichtig ist. Einige Regeln: Zeilen können jederzeit hinzugefügt werden, Spalten nicht! Keine Redundanz! Jede Angabe über eine Person oder Sache sollte nur einmal gespeichert sein. Unveränderliche Daten immer bevorzugen (Geburtstag anstatt Alter, usw.)

97 Relationale Datenbanken Beispiel: Ein Dozent will für sich selbst eine kleine Datenbank mit Studenten und deren Prüfungsleistungen anlegen. Er benötigt folgende Daten: Matrikelnummer Name Vorname Geburtsdatum Fach Semester Prüfungsdatum Note Note in Worten Wie könnte(n) die Tabelle(n) aussehen?

98 SQL Zugriff auf eine Relationale Datenbank PC Anwendungen mit Oberfläche: früher Borland mit dbase jetzt Access weitere: FoxPro, Paradox Auf Großrechnern und Client-Server Lösungen: SQL Structured Query Language SQL findet man in Oracle, DB/2, Informix,... Seit 1989 genormt (ANSI und ISO)

99 SQL Wichtige Befehle in SQL Anlegen einer neuen Datenbank: CREATE DATABASE dbname ; Löschen einer Datenbank: DROP DATABASE dbname ;

100 SQL Wichtige Befehle in SQL Anlegen einer neuen Tabelle: CREATE TABLE tabname ( Attribut Datentyp [, Attribut Datentyp,...] ); Einige Datentypen: INTEGER DECIMAL(i,n) DATE CHAR(n) Ganze Zahlen Dezimalzahl mit insgesamt i Stellen (einschließlich Dezimalpunkt), davon n Nachpunktstellen Datum, Format entsprechend Landeseinstellung, z. B.: tt.mm.jjjj String mit n Zeichen

101 SQL Beispiel: CREATE TABLE Student ( MatNum CHAR(7), Name CHAR(20), VName CHAR(15), GebDat DATE ) ;

102 SQL Wichtige Befehle in SQL Anlegen einer neuen Tabelle: INSERT INTO tabname VALUES ( Wert [, Wert... ] ) ; Beispiel: INSERT INTO Student VALUES ( , Korn, Klara, { } ) ;

103 SQL Wichtige Befehle in SQL Ändern einer Zeile: UPDATE tabname SET Attribut=Ausdruck [, Attribut=Ausdruck... ] WHERE Bedingung ; Löschen einer Zeile: DELETE FROM tabname WHERE Bedingung ;

104 SQL Beispiel: UPDATE Student SET GebDat={ } WHERE Name= Korn ; DELETE FROM Student WHERE MatNum= ; Achtung: Die Aktionen können mehrere Zeilen betreffen!

105 SQL Wichtige Befehle in SQL Auswählen / Suchen von Daten: SELECT Ausdruck [, Ausdruck... ] * FROM tabname [ WHERE Bedingung ] [ ORDER BY Attribut ] ;

106 SQL Beispiel: SELECT * FROM Student; SELECT Name, VName, MatNum FROM Student WHERE GebDat < { } ORDER BY Name;

107 SQL SELECT genauer: SELECT Ausdruck [, Ausdruck... ] * FROM tabname [ WHERE Bedingung ] [ ORDER BY Attribut ] ; in Ausdruck kann vorkommen: Attribute (Spalten-Überschriften), Operatoren (z. B.: + * / ), Klammern, Funktionen und komplette SELECT-Anweisungen (in Klammern).

108 SQL SELECT genauer: Funktionen können sein: Spaltenfunktionen MIN(Attribut) Minimum der Spalte Maximum der Spalte MAX(Attribut) AVG(Attribut) Durchschnitt der Spalte SUM(Attribut) Summe der Spalte COUNT(*) Anzahl der Zeilen Mathematische Funktionen String-Funktionen Datumsfunktionen...

109 SQL Weitere Beispiele: SELECT COUNT (*) FROM Student ; Anzahl der Eintragungen in der Tabelle Student. SELECT INT ((DATE () GebDat)/365) FROM Student WHERE MatNum= ; Alter eines Studententen SELECT AVG (Note) FROM Note WHERE Fach= Mathe ; Durchschnitt aller Noten der Mathe-Prüfung. SELECT AVG (Zensur) FROM Zensuren WHERE (Fach = Mathe1 OR Fach = Mathe2 ) AND Note <= 4 ; Notendurchschnitt aller bestandenen Prüfungen in den Fächern Mathe1 und Mathe2.

110 SQL in C++/Qt Beispiele: Datenbank-Verbindung herstellen: QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"); db.sethostname("bigblue"); db.setdatabasename("flightdb"); db.setusername("acarlson"); db.setpassword("1utbsbas"); bool ok = db.open(); Anfrage: QSqlQuery query; query.exec("select name, salary FROM employee WHERE salary > 50000"); Anfrage auswerten/anzeigen: while (query.next()) { QString name = query.value(0).tostring(); int salary = query.value(1).toint(); qdebug() << name << salary; }

111

112 Relationale Datenbanken s. Übung

Programmiertechnik. Prof. Dr. Stefan Enderle NTA Isny

Programmiertechnik. Prof. Dr. Stefan Enderle NTA Isny Programmiertechnik Prof. Dr. Stefan Enderle NTA Isny 9. Datenspeicherung Einleitung Benötigte Daten können auf viele Arten gespeichert werden. Entscheidend sind hierbei hauptsächlich Datenumfang / Menge

Mehr

Programmiersprache 2 (C++) Prof. Dr. Stefan Enderle NTA Isny

Programmiersprache 2 (C++) Prof. Dr. Stefan Enderle NTA Isny Programmiersprache 2 (C++) Prof. Dr. Stefan Enderle NTA Isny 3. UML Klassendiagramm Nachtrag 3.1 Einführung UML UML ist eine standardisierte Sprache zur Modellierung von Systemen. In UML werden graphische

Mehr

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin PhpMyAdmin = grafsches Tool zur Verwaltung von MySQL-Datenbanken Datenbanken erzeugen und löschen Tabellen und Spalten einfügen,

Mehr

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER INHALTSVERZEICHNIS 1. Datenbanken 2. SQL 1.1 Sinn und Zweck 1.2 Definition 1.3 Modelle 1.4 Relationales Datenbankmodell 2.1 Definition 2.2 Befehle 3.

Mehr

Informatik 12 Datenbanken SQL-Einführung

Informatik 12 Datenbanken SQL-Einführung Informatik 12 Datenbanken SQL-Einführung Gierhardt Vorbemerkungen Bisher haben wir Datenbanken nur über einzelne Tabellen kennen gelernt. Stehen mehrere Tabellen in gewissen Beziehungen zur Beschreibung

Mehr

SQL structured query language

SQL structured query language Umfangreiche Datenmengen werden üblicherweise in relationalen Datenbank-Systemen (RDBMS) gespeichert Logische Struktur der Datenbank wird mittels Entity/Realtionship-Diagrammen dargestellt structured query

Mehr

SQL für Trolle. mag.e. Dienstag, 10.2.2009. Qt-Seminar

SQL für Trolle. mag.e. Dienstag, 10.2.2009. Qt-Seminar Qt-Seminar Dienstag, 10.2.2009 SQL ist......die Abkürzung für Structured Query Language (früher sequel für Structured English Query Language )...ein ISO und ANSI Standard (aktuell SQL:2008)...eine Befehls-

Mehr

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank

Mehr

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo.

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo. Mengenvergleiche: Mehr Möglichkeiten als der in-operator bietet der θany und der θall-operator, also der Vergleich mit irgendeinem oder jedem Tupel der Unteranfrage. Alle Konten außer das, mit dem größten

Mehr

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten In dem Virtuellen Seminarordner werden für die Teilnehmerinnen und Teilnehmer des Seminars alle für das Seminar wichtigen Informationen,

Mehr

Ein Ausflug zu ACCESS

Ein Ausflug zu ACCESS Ein Ausflug zu ACCESS Die folgenden Folien zeigen beispielhaft, wie man sein DB- Wissen auf ACCESS übertragen kann betrachtet wird ACCESS 2002, da gerade im Bereich der Nutzung von SQL hier einiges nachgearbeitet

Mehr

Artikel Schnittstelle über CSV

Artikel Schnittstelle über CSV Artikel Schnittstelle über CSV Sie können Artikeldaten aus Ihrem EDV System in das NCFOX importieren, dies geschieht durch eine CSV Schnittstelle. Dies hat mehrere Vorteile: Zeitersparnis, die Karteikarte

Mehr

Grundzüge und Vorteile von XML-Datenbanken am Beispiel der Oracle XML DB

Grundzüge und Vorteile von XML-Datenbanken am Beispiel der Oracle XML DB Grundzüge und Vorteile von XML-Datenbanken am Beispiel der Oracle XML DB Jörg Liedtke, Oracle Consulting Vortrag zum Praxis-Seminar B bei der KIS-Fachtagung 2007, Ludwigshafen Agenda

Mehr

Software Engineering Klassendiagramme Assoziationen

Software Engineering Klassendiagramme Assoziationen Software Engineering Klassendiagramme Assoziationen Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Lesen von Multiplizitäten (1) Multiplizitäten werden folgendermaßen

Mehr

Arbeiten mit einem lokalen PostgreSQL-Server

Arbeiten mit einem lokalen PostgreSQL-Server Arbeiten mit einem lokalen PostgreSQL-Server Download für das Betriebssystem Windows PostgreSQL-Server und pgadmin: http://www.enterprisedb.com/products-servicestraining/pgdownload#windows pgadmin: http://www.pgadmin.org/download/windows.php

Mehr

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 22

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 22 Kapitel 19 Vererbung, UML Seite 1 von 22 Vererbung - Neben der Datenabstraktion und der Datenkapselung ist die Vererbung ein weiteres Merkmal der OOP. - Durch Vererbung werden die Methoden und die Eigenschaften

Mehr

7. Übung - Datenbanken

7. Übung - Datenbanken 7. Übung - Datenbanken Informatik I für Verkehrsingenieure Aufgaben inkl. Beispiellösungen 1. Aufgabe: DBS a Was ist die Kernaufgabe von Datenbanksystemen? b Beschreiben Sie kurz die Abstraktionsebenen

Mehr

4D Server v12 64-bit Version BETA VERSION

4D Server v12 64-bit Version BETA VERSION 4D Server v12 64-bit Version BETA VERSION 4D Server v12 unterstützt jetzt das Windows 64-bit Betriebssystem. Hauptvorteil der 64-bit Technologie ist die rundum verbesserte Performance der Anwendungen und

Mehr

OP-LOG www.op-log.de

OP-LOG www.op-log.de Verwendung von Microsoft SQL Server, Seite 1/18 OP-LOG www.op-log.de Anleitung: Verwendung von Microsoft SQL Server 2005 Stand Mai 2010 1 Ich-lese-keine-Anleitungen 'Verwendung von Microsoft SQL Server

Mehr

Grundlagen von Python

Grundlagen von Python Einführung in Python Grundlagen von Python Felix Döring, Felix Wittwer November 17, 2015 Scriptcharakter Programmierparadigmen Imperatives Programmieren Das Scoping Problem Objektorientiertes Programmieren

Mehr

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage .htaccess HOWTO zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage Stand: 21.06.2015 Inhaltsverzeichnis 1. Vorwort...3 2. Verwendung...4 2.1 Allgemeines...4 2.1 Das Aussehen der.htaccess

Mehr

Allgemeines zu Datenbanken

Allgemeines zu Datenbanken Allgemeines zu Datenbanken Was ist eine Datenbank? Datensatz Zusammenfassung von Datenelementen mit fester Struktur Z.B.: Kunde Alois Müller, Hegenheimerstr. 28, Basel Datenbank Sammlung von strukturierten,

Mehr

Bedienung von BlueJ. Klassenanzeige

Bedienung von BlueJ. Klassenanzeige Im Folgenden werden wichtige Funktionen für den Einsatz von BlueJ im Unterricht beschrieben. Hierbei wird auf den Umgang mit Projekten, Klassen und Objekten eingegangen. Abgeschlossen wird dieses Dokument

Mehr

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 17: 3-Schichten-Architektur 2

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 17: 3-Schichten-Architektur 2 Universität Osnabrück 1 3 - Objektorientierte Programmierung in Java Zur Erinnerung: Aufteilung der Schichten GUI Vorlesung 17: 3-Schichten-Architektur 2 Fachkonzept Fachkonzept - Datenhaltung Datenhaltung

Mehr

Datenbanken für Online Untersuchungen

Datenbanken für Online Untersuchungen Datenbanken für Online Untersuchungen Im vorliegenden Text wird die Verwendung einer MySQL Datenbank für Online Untersuchungen beschrieben. Es wird davon ausgegangen, dass die Untersuchung aus mehreren

Mehr

teischl.com Software Design & Services e.u. office@teischl.com www.teischl.com/booknkeep www.facebook.com/booknkeep

teischl.com Software Design & Services e.u. office@teischl.com www.teischl.com/booknkeep www.facebook.com/booknkeep teischl.com Software Design & Services e.u. office@teischl.com www.teischl.com/booknkeep www.facebook.com/booknkeep 1. Erstellen Sie ein neues Rechnungsformular Mit book n keep können Sie nun Ihre eigenen

Mehr

Relationale Datenbanken in der Praxis

Relationale Datenbanken in der Praxis Seite 1 Relationale Datenbanken in der Praxis Inhaltsverzeichnis 1 Datenbank-Design...2 1.1 Entwurf...2 1.2 Beschreibung der Realität...2 1.3 Enitiy-Relationship-Modell (ERM)...3 1.4 Schlüssel...4 1.5

Mehr

Bauteilattribute als Sachdaten anzeigen

Bauteilattribute als Sachdaten anzeigen Mit den speedikon Attributfiltern können Sie die speedikon Attribute eines Bauteils als MicroStation Sachdaten an die Elemente anhängen Inhalte Was ist ein speedikon Attribut?... 3 Eigene Attribute vergeben...

Mehr

Datenmanagement in Android-Apps. 16. Mai 2013

Datenmanagement in Android-Apps. 16. Mai 2013 Datenmanagement in Android-Apps 16. Mai 2013 Überblick Strukturierung von datenorientierten Android-Apps Schichtenarchitektur Möglichkeiten der Datenhaltung: in Dateien, die auf der SDCard liegen in einer

Mehr

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Suche schlecht beschriftete Bilder mit Eigenen Abfragen Suche schlecht beschriftete Bilder mit Eigenen Abfragen Ist die Bilderdatenbank über einen längeren Zeitraum in Benutzung, so steigt die Wahrscheinlichkeit für schlecht beschriftete Bilder 1. Insbesondere

Mehr

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Dateiname: ecdl5_01_00_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Grundlagen

Mehr

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München Kapitel 4 Dynamisches SQL Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München 2008 Thomas Bernecker, Tobias Emrich unter Verwendung der Folien des Datenbankpraktikums aus dem Wintersemester

Mehr

Client-Server-Beziehungen

Client-Server-Beziehungen Client-Server-Beziehungen Server bietet Dienste an, Client nutzt Dienste Objekt ist gleichzeitig Client und Server Vertrag zwischen Client und Server: Client erfüllt Vorbedingungen eines Dienstes Server

Mehr

4. BEZIEHUNGEN ZWISCHEN TABELLEN

4. BEZIEHUNGEN ZWISCHEN TABELLEN 4. BEZIEHUNGEN ZWISCHEN TABELLEN Zwischen Tabellen können in MS Access Beziehungen bestehen. Durch das Verwenden von Tabellen, die zueinander in Beziehung stehen, können Sie Folgendes erreichen: Die Größe

Mehr

Schritt 1 - Registrierung und Anmeldung

Schritt 1 - Registrierung und Anmeldung Schritt 1 - Registrierung und Anmeldung Anmeldung: Ihre Zugangsdaten haben Sie per EMail erhalten, bitte melden Sie sich mit diesen auf www.inthega-datenbank.de an. Bitte merken Sie sich die Zugangsdaten

Mehr

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen Open Source professionell einsetzen 1 Mein Background Ich bin überzeugt von Open Source. Ich verwende fast nur Open Source privat und beruflich. Ich arbeite seit mehr als 10 Jahren mit Linux und Open Source.

Mehr

Variablen & erweiterte Aktionen nutzen

Variablen & erweiterte Aktionen nutzen 341 In Captivate können Sie mit Hilfe von Variablen Texte & Werte speichern oder Systeminformationen ausgeben. Außerdem können Sie auf Basis von Variablen komplexere Aktionen entwickeln, wie z. B. eine

Mehr

Vorkurs C++ Programmierung

Vorkurs C++ Programmierung Vorkurs C++ Programmierung Klassen Letzte Stunde Speicherverwaltung automatische Speicherverwaltung auf dem Stack dynamische Speicherverwaltung auf dem Heap new/new[] und delete/delete[] Speicherklassen:

Mehr

Durchführung der Datenübernahme nach Reisekosten 2011

Durchführung der Datenübernahme nach Reisekosten 2011 Durchführung der Datenübernahme nach Reisekosten 2011 1. Starten Sie QuickSteuer Deluxe 2010. Rufen Sie anschließend über den Menüpunkt /Extras/Reisekosten Rechner den QuickSteuer Deluxe 2010 Reisekosten-Rechner,

Mehr

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI Universität Osnabrück Drei-Schichten-Architektur 3 - Objektorientierte Programmierung in Java Vorlesung 6: 3-Schichten-Architektur Fachkonzept - GUI SS 2005 Prof. Dr. F.M. Thiesing, FH Dortmund Ein großer

Mehr

Labor 3 - Datenbank mit MySQL

Labor 3 - Datenbank mit MySQL Labor 3 - Datenbank mit MySQL Hinweis: Dieses Labor entstand z.t. aus Scripten von Prof. Dr. U. Bannier. 1. Starten des MySQL-Systems MySQL ist ein unter www.mysql.com kostenlos erhältliches Datenbankmanagementsystem.

Mehr

XINDICE. The Apache XML Project 3.12.09. Name: J acqueline Langhorst E-Mail: blackyuriko@hotmail.de

XINDICE. The Apache XML Project 3.12.09. Name: J acqueline Langhorst E-Mail: blackyuriko@hotmail.de Name: J acqueline Langhorst E-Mail: blackyuriko@hotmail.de 3.12.09 HKInformationsverarbeitung Kurs: Datenbanken vs. MarkUp WS 09/10 Dozent: Prof. Dr. M. Thaller XINDICE The Apache XML Project Inhalt Native

Mehr

Browser Grid Funktionalitäten

Browser Grid Funktionalitäten Browser Grid Funktionalitäten Die Browser Grid Funktionalitäten können durch rechts Klick auf dem Grid eines Browsers aufgerufen werden. Fig. 1 Die erste Option Gruppe (bis zur ersten linie in Fig.1) enthält

Mehr

SDD System Design Document

SDD System Design Document SDD Software Konstruktion WS01/02 Gruppe 4 1. Einleitung Das vorliegende Dokument richtet sich vor allem an die Entwickler, aber auch an den Kunden, der das enstehende System verwenden wird. Es soll einen

Mehr

IV. Datenbankmanagement

IV. Datenbankmanagement Wirtschaftsinformatik 2 (PWIN) IV. Datenbankmanagement Kapitel 2: Datenmanipulationssprache SQL Wirtschaftsinformatik 2 (PWIN) SS 2009, Professur für Mobile Business & Multilateral Security 1 Agenda 1.

Mehr

HTML5. Wie funktioniert HTML5? Tags: Attribute:

HTML5. Wie funktioniert HTML5? Tags: Attribute: HTML5 HTML bedeutet Hypertext Markup Language und liegt aktuell in der fünften Fassung, also HTML5 vor. HTML5 ist eine Auszeichnungssprache mit der Webseiten geschrieben werden. In HTML5 wird festgelegt,

Mehr

Funktionsbeschreibung. Lieferantenbewertung. von IT Consulting Kauka GmbH

Funktionsbeschreibung. Lieferantenbewertung. von IT Consulting Kauka GmbH Funktionsbeschreibung Lieferantenbewertung von IT Consulting Kauka GmbH Stand 16.02.2010 odul LBW Das Modul LBW... 3 1. Konfiguration... 4 1.1 ppm... 4 1.2 Zertifikate... 5 1.3 Reklamationsverhalten...

Mehr

Prozedurale Datenbank- Anwendungsprogrammierung

Prozedurale Datenbank- Anwendungsprogrammierung Idee: Erweiterung von SQL um Komponenten von prozeduralen Sprachen (Sequenz, bedingte Ausführung, Schleife) Bezeichnung: Prozedurale SQL-Erweiterung. In Oracle: PL/SQL, in Microsoft SQL Server: T-SQL.

Mehr

Qt-Projekte mit Visual Studio 2005

Qt-Projekte mit Visual Studio 2005 Qt-Projekte mit Visual Studio 2005 Benötigte Programme: Visual Studio 2005 Vollversion, Microsoft Qt 4 Open Source s. Qt 4-Installationsanleitung Tabelle 1: Benötigte Programme für die Qt-Programmierung

Mehr

Datenaustausch mit Datenbanken

Datenaustausch mit Datenbanken Datenaustausch mit Datenbanken Datenbanken Einführung Mit dem optionalen Erweiterungspaket "Datenbank" können Sie einen Datenaustausch mit einer beliebigen Datenbank vornehmen. Der Datenaustausch wird

Mehr

Alerts für Microsoft CRM 4.0

Alerts für Microsoft CRM 4.0 Alerts für Microsoft CRM 4.0 Benutzerhandbuch Der Inhalt des Dokuments ist Änderungen vorbehalten. Microsoft und Microsoft CRM sind registrierte Markenzeichen von Microsoft Inc. Alle weiteren erwähnten

Mehr

Carl-Engler-Schule Karlsruhe Datenbank 1 (5)

Carl-Engler-Schule Karlsruhe Datenbank 1 (5) Carl-Engler-Schule Karlsruhe Datenbank 1 (5) Informationen zur Datenbank 1. Definition 1.1 Datenbank-Basis Eine Datenbank-Basis ist eine Sammlung von Informationen über Objekte (z.b Musikstücke, Einwohner,

Mehr

Software Engineering Klassendiagramme Einführung

Software Engineering Klassendiagramme Einführung Software Engineering Klassendiagramme Einführung Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Aufgabe Erstellen Sie eine Klasse Person in Java. Jede Person verfügt

Mehr

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter 2 Inhaltsverzeichnis 1 Web-Kürzel 4 1.1 Einführung.......................................... 4 1.2 Web-Kürzel.........................................

Mehr

Bedienungsanleitung. Matthias Haasler. Version 0.4. für die Arbeit mit der Gemeinde-Homepage der Paulus-Kirchengemeinde Tempelhof

Bedienungsanleitung. Matthias Haasler. Version 0.4. für die Arbeit mit der Gemeinde-Homepage der Paulus-Kirchengemeinde Tempelhof Bedienungsanleitung für die Arbeit mit der Gemeinde-Homepage der Paulus-Kirchengemeinde Tempelhof Matthias Haasler Version 0.4 Webadministrator, email: webadmin@rundkirche.de Inhaltsverzeichnis 1 Einführung

Mehr

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7 Einrichtung des Cisco VPN Clients (IPSEC) in Windows7 Diese Verbindung muss einmalig eingerichtet werden und wird benötigt, um den Zugriff vom privaten Rechner oder der Workstation im Home Office über

Mehr

Dr. Hanno Schauer Mons-Tabor-Gymnasium Montabaur. UML-Klassendiagramme als Werkzeug im Unterricht

Dr. Hanno Schauer Mons-Tabor-Gymnasium Montabaur. UML-Klassendiagramme als Werkzeug im Unterricht Dr. Hanno Schauer Mons-Tabor-Gymnasium Montabaur UML-Klassendiagramme als Werkzeug im Unterricht Blitzlicht? In welcher Programmiersprache(n) unterrichten Sie?? In welchem Umfang unterrichten Sie Objektorientierung??

Mehr

Übersicht über Datenbanken

Übersicht über Datenbanken Übersicht über Datenbanken Vergleich zwischen normaler Datenorganisation und Datenbanken Definition einer Datenbank Beispiel (inkl. Zugriff) Der Datenbankadministrator Relationale Datenbanken Transaktionen

Mehr

Datenbank-Verschlüsselung mit DbDefence und Webanwendungen.

Datenbank-Verschlüsselung mit DbDefence und Webanwendungen. Datenbank-Verschlüsselung mit DbDefence und Webanwendungen. In diesem Artikel werden wir Ihnen zeigen, wie Sie eine Datenbank verschlüsseln können, um den Zugriff einzuschränken, aber trotzdem noch eine

Mehr

Database Exchange Manager. Infinqa IT Solutions GmbH, Berlin Stralauer Allee 2 10245 Berlin Tel.:+49(0) 30 2900 8639 Fax.:+49(0) 30 2900 8695

Database Exchange Manager. Infinqa IT Solutions GmbH, Berlin Stralauer Allee 2 10245 Berlin Tel.:+49(0) 30 2900 8639 Fax.:+49(0) 30 2900 8695 Database Exchange Manager Replication Service- schematische Darstellung Replication Service- allgemeines Replikation von Daten von bzw. in ein SAP-System und einer relationalen DMS-Datenbank Kombination

Mehr

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de s & Servlet Integration Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht Motivation Das Interface Stateful und Stateless s Programmierung einer Stateful

Mehr

Hilfe Bearbeitung von Rahmenleistungsverzeichnissen

Hilfe Bearbeitung von Rahmenleistungsverzeichnissen Hilfe Bearbeitung von Rahmenleistungsverzeichnissen Allgemeine Hinweise Inhaltsverzeichnis 1 Allgemeine Hinweise... 3 1.1 Grundlagen...3 1.2 Erstellen und Bearbeiten eines Rahmen-Leistungsverzeichnisses...

Mehr

Kurzeinführung Excel2App. Version 1.0.0

Kurzeinführung Excel2App. Version 1.0.0 Kurzeinführung Excel2App Version 1.0.0 Inhalt Einleitung Das Ausgangs-Excel Excel-Datei hochladen Excel-Datei konvertieren und importieren Ergebnis des Imports Spalten einfügen Fehleranalyse Import rückgängig

Mehr

Carl-Christian Kanne. Einführung in Datenbanken p.1/513

Carl-Christian Kanne. Einführung in Datenbanken p.1/513 Einführung in Datenbanken Carl-Christian Kanne Einführung in Datenbanken p.1/513 Kapitel 1 Einführung Einführung in Datenbanken p.2/513 Einführung Was ist ein Datenbanksystem (DBS)? Ein System zum Speichern

Mehr

Große Übung Praktische Informatik 1

Große Übung Praktische Informatik 1 Große Übung Praktische Informatik 1 2005-12-08 fuessler@informatik.uni-mannheim.de http://www.informatik.uni-mannheim.de/pi4/people/fuessler 1: Announcements / Orga Weihnachtsklausur zählt als Übungsblatt,

Mehr

Bedienungsanleitung CAD-KAS Reklamationserfassung. Einen neuen Datensatz anlegen. Klicken Sie auf das + Symbol, um einen neuen Datensatz anzulegen.

Bedienungsanleitung CAD-KAS Reklamationserfassung. Einen neuen Datensatz anlegen. Klicken Sie auf das + Symbol, um einen neuen Datensatz anzulegen. Bedienungsanleitung CAD-KAS Reklamationserfassung Einen neuen Datensatz anlegen Klicken Sie auf das + Symbol, um einen neuen Datensatz anzulegen. Datensatz löschen Daten hier erfassen. Automatische Reklamationsnummer

Mehr

KURZANLEITUNG CLOUD OBJECT STORAGE

KURZANLEITUNG CLOUD OBJECT STORAGE KURZANLEITUNG CLOUD OBJECT STORAGE Version 1.12 01.07.2014 SEITE _ 2 INHALTSVERZEICHNIS 1. Einleitung... Seite 03 2. Anmelden am Cloud&Heat Dashboard... Seite 04 3. Anlegen eines Containers... Seite 05

Mehr

Exception Handling, Tracing und Logging

Exception Handling, Tracing und Logging Exception Handling, Tracing und Logging Proseminar Objektorientiertes Programmieren mit.net und C# Tomas Ladek Institut für Informatik Software & Systems Engineering Agenda Exceptions Allgemeines Implementierung

Mehr

Arbeiten mit UMLed und Delphi

Arbeiten mit UMLed und Delphi Arbeiten mit UMLed und Delphi Diese Anleitung soll zeigen, wie man Klassen mit dem UML ( Unified Modeling Language ) Editor UMLed erstellt, in Delphi exportiert und dort so einbindet, dass diese (bis auf

Mehr

Dialognetze. Ziel : Beschreibung von Methoden und Beschreibungstechniken für den Entwurf und die Dokumentation von Dialogabläufen

Dialognetze. Ziel : Beschreibung von Methoden und Beschreibungstechniken für den Entwurf und die Dokumentation von Dialogabläufen Dialognetze Ziel : Beschreibung von Methoden und Beschreibungstechniken für den Entwurf und die Dokumentation von Dialogabläufen Dialogabläufe auf Fensterebene "grobe Dialogabläufe" d.h. Wechsel zwischen

Mehr

Ablaufbeschreibung für das neu Aufsetzen von Firebird und Interbase Datenbanken mit der IBOConsole

Ablaufbeschreibung für das neu Aufsetzen von Firebird und Interbase Datenbanken mit der IBOConsole Lavid-F.I.S. Ablaufbeschreibung für das neu Aufsetzen von Firebird und Interbase Datenbanken mit der Lavid Software GmbH Dauner Straße 12, D-41236 Mönchengladbach http://www.lavid-software.net Support:

Mehr

DB2 Kurzeinführung (Windows)

DB2 Kurzeinführung (Windows) DB2 Kurzeinführung (Windows) Michaelsen c 25. Mai 2010 1 1 Komponenten von DB2 DB2 bietet zahlreiche graphische Oberflächen für die Verwaltung der verschiedenen Komponenten und Anwendungen. Die wichtigsten

Mehr

Berechnungen in Access Teil I

Berechnungen in Access Teil I in Access Teil I Viele Daten müssen in eine Datenbank nicht eingetragen werden, weil sie sich aus anderen Daten berechnen lassen. Zum Beispiel lässt sich die Mehrwertsteuer oder der Bruttopreis in einer

Mehr

Klassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java

Klassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java Objektorientierte Programmierung mit Java Eine praxisnahe Einführung mit BlueJ Klassenentwurf Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? 1.0 Zentrale Konzepte

Mehr

Übungen zur Softwaretechnik

Übungen zur Softwaretechnik Technische Universität München Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Markus Pister, Dr. Bernhard Rumpe WS 2002/2003 Lösungsblatt 9 17. Dezember 2002 www4.in.tum.de/~rumpe/se

Mehr

Adami CRM - Outlook Replikation User Dokumentation

Adami CRM - Outlook Replikation User Dokumentation Adami CRM - Outlook Replikation User Dokumentation Die neue Eigenschaft der Adami CRM Applikation macht den Information Austausch mit Microsoft Outlook auf vier Ebenen möglich: Kontakte, Aufgaben, Termine

Mehr

Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009

Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009 Hochschule Darmstadt DATENBANKEN Fachbereich Informatik Praktikum 3 Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009 PL/SQL Programmierung Anwendung des Cursor Konzepts und Stored Procedures Und Trigger

Mehr

ecaros2 - Accountmanager

ecaros2 - Accountmanager ecaros2 - Accountmanager procar informatik AG 1 Stand: FS 09/2012 Inhaltsverzeichnis 1 Aufruf des ecaros2-accountmanager...3 2 Bedienung Accountmanager...4 procar informatik AG 2 Stand: FS 09/2012 1 Aufruf

Mehr

SILBER SURFER. PC-Treffen der Arbeiterwohlfahrt, Ortsverein Sehnde. PC Internet / Cloud. Leitfaden zur Schulung

SILBER SURFER. PC-Treffen der Arbeiterwohlfahrt, Ortsverein Sehnde. PC Internet / Cloud. Leitfaden zur Schulung Reiner Luck Bismarckstrasse 6 31319 Sehnde SILBER SURFER PC-Treffen der Arbeiterwohlfahrt, Ortsverein Sehnde PC Internet / Cloud Leitfaden zur Schulung erstellt Datum Version Reiner Luck 13.03.12 1.0 PC

Mehr

Ein Schlüssel ist eine Menge von Attributen (also eines oder mehrere), die eine Datenzeile (Tupel) einer Tabelle eindeutig identifiziert

Ein Schlüssel ist eine Menge von Attributen (also eines oder mehrere), die eine Datenzeile (Tupel) einer Tabelle eindeutig identifiziert Maika Büschenfeldt Datenbanken: Skript 1 1. Was ist eine relationale Datenbank? In Datenbanken können umfangreiche Datenbestände strukturiert abgelegt werden. Das Konzept relationaler Datenbanken soll

Mehr

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken. In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access Die Grundlagen der Datenbanken kurspc15 Inhaltsverzeichnis Access... Fehler! Textmarke nicht

Mehr

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Anmeldung http://www.ihredomain.de/wp-admin Dashboard Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Das Dashboard gibt Ihnen eine kurze Übersicht, z.b. Anzahl der Beiträge,

Mehr

Oracle: Abstrakte Datentypen:

Oracle: Abstrakte Datentypen: Oracle: Abstrakte Datentypen: Oracle bietet zwei mögliche Arten um abstrakte Datentypen zu implementieren: Varying Array Nested Table Varying Array (kunde) kdnr kdname gekaufteart 1 Mustermann 1 4 5 8

Mehr

Kontakte Dorfstrasse 143 CH - 8802 Kilchberg Telefon 01 / 716 10 00 Telefax 01 / 716 10 05 info@hp-engineering.com www.hp-engineering.

Kontakte Dorfstrasse 143 CH - 8802 Kilchberg Telefon 01 / 716 10 00 Telefax 01 / 716 10 05 info@hp-engineering.com www.hp-engineering. Kontakte Kontakte Seite 1 Kontakte Seite 2 Inhaltsverzeichnis 1. ALLGEMEINE INFORMATIONEN ZU DEN KONTAKTEN 4 2. WICHTIGE INFORMATIONEN ZUR BEDIENUNG VON CUMULUS 4 3. STAMMDATEN FÜR DIE KONTAKTE 4 4. ARBEITEN

Mehr

Java und XML 2. Java und XML

Java und XML 2. Java und XML Technische Universität Ilmenau Fakultät für Informatik und Automatisierung Institut für Praktische Informatik und Medieninformatik Fachgebiet Telematik Java und XML Hauptseminar Telematik WS 2002/2003

Mehr

Datensicherung. Beschreibung der Datensicherung

Datensicherung. Beschreibung der Datensicherung Datensicherung Mit dem Datensicherungsprogramm können Sie Ihre persönlichen Daten problemlos Sichern. Es ist möglich eine komplette Datensicherung durchzuführen, aber auch nur die neuen und geänderten

Mehr

SQL (Structured Query Language) Schemata Datentypen

SQL (Structured Query Language) Schemata Datentypen 2 SQL Sprachelemente Grundlegende Sprachelemente von SQL. 2.1 Übersicht Themen des Kapitels SQL Sprachelemente Themen des Kapitels SQL (Structured Query Language) Schemata Datentypen Im Kapitel SQL Sprachelemente

Mehr

Datenbanken. Prof. Dr. Bernhard Schiefer. bernhard.schiefer@fh-kl.de http://www.fh-kl.de/~schiefer

Datenbanken. Prof. Dr. Bernhard Schiefer. bernhard.schiefer@fh-kl.de http://www.fh-kl.de/~schiefer Datenbanken Prof. Dr. Bernhard Schiefer bernhard.schiefer@fh-kl.de http://www.fh-kl.de/~schiefer Wesentliche Inhalte Begriff DBS Datenbankmodelle Datenbankentwurf konzeptionell, logisch und relational

Mehr

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge Ab der Version forma 5.5 handelt es sich bei den Orientierungshilfen der Architekten-/Objektplanerverträge nicht

Mehr

Wochenbericht. Firas Zoabi. Studienprojekt A: SIMPL. 28. Dezember 2009 I M P

Wochenbericht. Firas Zoabi. Studienprojekt A: SIMPL. 28. Dezember 2009 I M P Wochenbericht Firas Zoabi Studienprojekt A: SIMPL 28. Dezember 2009 S I M P L Geplante Aufgaben und Tätigkeiten Erledigte Aufgaben und Tätigkeiten Übersicht Benötigte Arbeitszeit/Aufwände Gewonnene Erkenntnisse

Mehr

Datenbanktechnologie mit praktischen Übungen in MySQL und PHP

Datenbanktechnologie mit praktischen Übungen in MySQL und PHP Datenbanktechnologie mit praktischen Übungen in MySQL und PHP Übung, Sommersemester 2013 22. April 2013 - MySQL Sebastian Cuy sebastian.cuy@uni-koeln.de Datenbanken Was sind eigentlich Datenbanken? Eine

Mehr

XAMPP-Systeme. Teil 3: My SQL. PGP II/05 MySQL

XAMPP-Systeme. Teil 3: My SQL. PGP II/05 MySQL XAMPP-Systeme Teil 3: My SQL Daten Eine Wesenseigenschaft von Menschen ist es, Informationen, in welcher Form sie auch immer auftreten, zu ordnen, zu klassifizieren und in strukturierter Form abzulegen.

Mehr

Ein Beispiel. Ein Unternehmen will Internettechnologien im Rahmen des E- Business nutzen Welche Geschäftsprozesse?

Ein Beispiel. Ein Unternehmen will Internettechnologien im Rahmen des E- Business nutzen Welche Geschäftsprozesse? Ein Beispiel Ein Unternehmen will Internettechnologien im Rahmen des E- Business nutzen Welche Geschäftsprozesse? Dipl.-Kfm. Claus Häberle WS 2015 /16 # 42 XML (vereinfacht) visa

Mehr

Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten

Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten 2008 netcadservice GmbH netcadservice GmbH Augustinerstraße 3 D-83395 Freilassing Dieses Programm ist urheberrechtlich geschützt. Eine Weitergabe

Mehr

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.

Mehr

10.3.1.4 Übung - Datensicherung und Wiederherstellung in Windows 7

10.3.1.4 Übung - Datensicherung und Wiederherstellung in Windows 7 5.0 10.3.1.4 Übung - Datensicherung und Wiederherstellung in Windows 7 Einführung Drucken Sie diese Übung aus und führen Sie sie durch. In dieser Übung werden Sie die Daten sichern. Sie werden auch eine

Mehr

Einführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005

Einführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005 Einführung in die objektorientierte Programmierung mit Java Klausur am 19. Oktober 2005 Matrikelnummer: Nachname: Vorname: Semesteranzahl: Die Klausur besteht aus drei Frageblöcken zu den Inhalten der

Mehr

Urlaubsregel in David

Urlaubsregel in David Urlaubsregel in David Inhaltsverzeichnis KlickDown Beitrag von Tobit...3 Präambel...3 Benachrichtigung externer Absender...3 Erstellen oder Anpassen des Anworttextes...3 Erstellen oder Anpassen der Auto-Reply-Regel...5

Mehr

Quartalsabrechnung! " " " " " " " Stufe 1! Beheben von Abrechnungsfehlern" Stufe 2! Neue Abrechnung erstellen"

Quartalsabrechnung!        Stufe 1! Beheben von Abrechnungsfehlern Stufe 2! Neue Abrechnung erstellen tomedo Quartalsabrechnung Seite 1 von 10 Wie erstelle ich die Quartalsabrechnung! Stufe 1! Beheben von Abrechnungsfehlern Stufe 2! Neue Abrechnung erstellen in tomedo? Unser Video-Tutorial finden sie unter

Mehr