Einführung in die Objektorientierte Programmierung
|
|
- Dirk Dittmar
- vor 8 Jahren
- Abrufe
Transkript
1 Einführung in die Objektorientierte Programmierung MVC mit Zustandsbasierter Modellierung Helmut Paulus Max-Planck-Gymnasium Trier
2 Einstieg Diskussion: Nachteile der bisher im Unterricht entwickelten Verschlüsselungsverfahren leichte Entschlüsselung möglich Ziel: bessere Verfahren nutzen evtl. Quellecode von anderen in eigene Programme einbinden, möglichst ohne Aufwand Wünschenswert wäre Bereits implementierte Verfahren nutzen (soweit sie zur Verfügung stehen) Einbau ins eigene Programm möglichst einfach, z. B. als Klasse wie die Delphi-Komponenten Grundsätzliche Schwäche der bisher entwickelten Programme Der Quellcode ist in eine GUI integriert Wiederverwendbarkeit ist nicht nicht ohne Aufwand gegeben Lösung: Objektorientierte Programmierung 2
3 Verwendung einer vorgegeben Klasse (2) Lesen und Analysieren einer Klassendokumentation Klärung der zur Verfügung gestellten Dienste Die Klasse TCaesar als Bauplan für Verschlüsselungsobjekte Objekte vom Typ TCaesar stellen Dienste zur Verfügung: Aufträge Anfragen Die nächsten Schritte Entwicklung (oder Vorgabe) eines Rahmenprogramms Experimente mit dem Programm z. B.: Der Versuch, einen Dienst der Klasse zu nutzen scheitert, typische Fehlermeldung, Ursache: noch kein Objekt vorhanden, das den Dienst ausführen könnte 3
4 Arbeiten mit Klassen Erarbeitung eines Grundschemas zum Arbeiten mit vorgegebenen Klassen Vorbereitung: Klasse integrieren, Objektbezeichner deklarieren Verwendung: Objekt erzeugen, Dienste des Objekts nutzen, Objekt vernichten Implementierung in Delphi Vorbereitung: uses Windows,, mtcaesar; type TGUI = class(tform) BEntschluesseln: TButton; BEntschluesseln: TButton; procedure BVerschluesselnClick(); procedure BEntschluesselnClick(); procedure FormCreate(); procedure FormDestroy(); private { Private-Deklarationen } Caesar : TCaesar; public { Public-Deklarationen } Einbinden der Unit Objektbezeichner (-Variable) deklarieren 4
5 Objekte verwenden Mit dem Objekt arbeiten: procedure TGUI.FormCreate(); begin Caesar := TCaesar.Create; procedure TGUI.FormDestroy(); begin Caesar.Free; Objekt erzeugen (z. B. ereignisgesteuert) Objekt vernichten (z. B. ereignisgesteuert) procedure TGUI.BVerschluesselnClick(); var Quelltext, Geheimtext : string; begin // Eingabe Quelltext := MText.Text; // Verarbeitung Geheimtext := Caesar.getVerschluesselt(QuellText); // Ausgabe MText.Text := Geheimtext; Verschlüsselungsdienst des Objekts nutzen 5
6 Vertiefung des Objektverständnisses Objekt als Einheit aus Attributen und Methoden, zuständig für die Erledigung bestimmter Aufgaben aktive und autonome Programmeinheit (Modul), die Aufgaben erledigt Klasse: Bauplan für Objekte, der für die Erzeugung von Objekten benötigt wird Diskussion: Vorteile des Objekt-Konzepts: Geheimnisprinzip, Modularisierung Verdeutlichung durch einen Austausch der Klasse (z. B. TVigener) Übungen zur Verwendung von Klassen (2) Beispiel: Verwenden einer Klasse zur Ermittlung von Buchstabenhäufigkeiten in Texten TTextAnalysator 6
7 Aufbau und Implementierung einer Klasse (2) Analyse einer vorher benutzten Klasse (z. B.: TCaesar) Eine Klassen-Deklaration besteht aus Deklarationen von Attributen für die verschiedenen Eigenschaftender Objekte, Konstruktoren zur Erzeugung und Initialisierung der Objekte, Methoden, d.h. Operationen (Algorithmen) auf Objekten. Beschreibung der Klassenstruktur mit einem UML-Klassendiagramm Implementierung in Delphi TCaesar = class private //Attribute Schluessel : integer; public //Methoden constructor create; procedure SetSchluessel ( ); function getschluessel : integer; function getvorbereitet ( ) : string; function getentschluesselt( ) : string; function getverschluesselt (..) : string; Hinweise zur Implementierung: Jede Klasse sollte in einer separaten Datei des entsprechenden Namens stehen. Klassendeklaration im Interface-Teil, Quellcode im Implementation-Teil der Klassenunit Die Schlüsselworte private bzw. public klassifizieren, für wen die entsprechenden Elemente zugänglich sind. Innerhalb einer Objekt-Methode/eines Konstruktors kann auf die Attribute des Objekts direkt zugegriffen werden. 7
8 Darstellung objektorientierter Modelle Das UML-Klassendiagramm des Chiffiersystems zeigt den Aufbau der Anwendung und die Beziehungen zwischen den Objekten. Das Diagramm ist statisch, es werden keine Programmabläufe sichtbar. Das Formular vom Typ TGUI verwaltet die Objekte Caesar und Analysator, d. h. es ist zuständig für deren Erzeugung und Vernichtung. (hat-beziehung) Die Diagramme sind unabhängig von der Programmiersprachen! 8
9 Vererbung: Vererbung Jedes Formular besitzt "von Anfang an" gewisse Eigenschaften, die dieses spezielle Formular (Klasse TForm1) von einer Oberklasse (Klasse TForm) geerbt hat. Mit Hilfe des Vererbungsmechanismus kann man existierende Klassen erweitern, d. h. neue Eigenschaften und Operationen hinzufügen. Beispiel: Die Klassen TCaesar und TVigenere haben gemeinsame Schnittstellen, könnten also aus einer gemeinsamen Oberklasse abgeleitet werden. Klassenhierarchie Bei Delphi sind alle Objekte Nachfahren eines Urobjekts - Klasse TObject. In der Klasse TObject wird das grundlegende Verhalten, das allen Objekten in Delphi gemeinsam realisiert. (Z. B. Standardkonstruktor, Destructor ) Jede objektorientierte Programmierumgebung stellt eine Klassenbibliothek zur Verfügung, deren Klassen hierarchisch angeordnet sind. 9
10 Delphi s Klassenhierarchie 10
11 Entwicklung einer eigenen Klasse (3) Entwicklung eines objektorientierten Modells Beispiel: Eine einfache Uhr mit Digitaler Anzeige soll mit Hilfe von geeigneten Objekten realisiert werden. 12 : 14 : 04 Überlegungen zur Objektstruktur Welche Merkmale sind charakteristisch für eine Uhr, also allen Uhrentypen gemeinsam? Welche Funktionalitäten gehören zu den Basiseigenschaften einer Uhr? Bzw. Welche Dienste muss eine Uhr zur Verfügung stellen, um ihre Aufgabe zu erfüllen? Lässt sich das Objekt Uhr noch zerlegen? Entwicklungsschritte OO-Analyse Identifikation von Objekten: Zähler für Sekunden (modulo 60), Zähler für Stunden (modulo 24) OO-Entwurf (-Design) Idee: Eine Klasse soll Zählerobjekte modulo einer vorgebbaren Grenze nutzen können Modellierung der Attribute und Methoden Beschreibung des Modells mit UML /Dokumentation Implementierung der Klasse Testen der Klasse 11
12 Modellierung des Zählers Der Objekttyp Zähler Welche Eigenschaften des Objekts Zähler sind für die Beschreibung in einem Programm von Interesse? Ergebnisse der Analyse: Der Zählerstand: Er soll nur positive Werte (bzw. 0) annehmen können. Der Zähler arbeitet nach dem Prinzip: Weiterzählen, bis ein maximaler Wert erreicht ist, dann wieder bei Null beginnen. Der Zähler kann wieder in den Startzustand (Zählerstand 0) zurückversetzt werden. Der Zähler kann auf einen bestimmten (Anfangs-)Zählerstand gesetzt werden. Der Zählerstand kann ausgelesen werden. Dokumentation: Schnittstellen- und Verhaltensbeschreibung aller öffentlichen Methoden Beschreibung des Modells mit UML Entwicklungsschritte bisher weitgehend unabhängig von der Programmiersprache! Implementation und Testprogramm 12
13 Testprogramm Test des Modulozähler-Objekts mit Hilfe eines Testprogramms GUI- Klasse (Anwendungsfenster) Fachklasse (Datenmodell) Das Formular enthält Objekte zur Manipulation und Anzeige des Zählers. Veröffentlichung der Klasse Entwicklung der Uhr mit Hilfe der ModuloZähler-Klasse 13
14 Zusammensetzen der Uhr Aufgabe: Entwickle mit Hilfe der Zählerobjekte eine Uhr. Die Uhr soll dabei vorerst noch nicht selbst laufen und in die GUI eingebaut werden. Prototyp Klassendiagramm Die GUI verwaltet die Zählerobjekte (Hat-Beziehung) 14
15 Implementierung Datenmodell type TGUI = class(tform) private { Private-Deklarationen } stundenzaehler: TModuloZaehler; minutenzaehler: TModuloZaehler; public procedure zeitanzeigen; { Public-Deklarationen } Erzeugung procedure TGUI.FormCreate(Sender: TObject); begin stundenzaehler := TModuloZaehler.create(23); minutenzaehler := TModuloZaehler.create(59); zeitanzeigen; Nachteil: Steuerung Zähler in der GUI Anzeigen der Zeit / Abfragen der Zählerstände procedure TGUI.zeitAnzeigen; var hs, ms, ss : string; h,m,s : integer; begin h := stundenzaehler.getstand; if h < 10 then hs := '0' + IntToStr(h) else hs := IntToStr(h); m := minutenzaehler.getstand; if m < 10 then ms := '0' + IntToStr(m) else ms := IntToStr(m); Lanzeige.caption := hs+' : ' + ms; Die Uhr tickt procedure TGUI.BTickClick(Sender: TObject); begin minutenzaehler.weiterzaehlen; if minutenzaehler.getstand = 0 then stundenzaehler.weiterzaehlen; zeitanzeigen; 15
16 Trennung von GUI und Datenmodell - MVC (2) Analyse des entwickelten Programms zeigt: Uhr bildet noch keine Einheit (3 lose Bausteine). Steuerung der Zähler (Uhrwerk) erledig die GUI, was eigentlich Aufgabe der Uhr ist! Uhr abhängig vom Formular. Verbesserung: Vollständige Entkopplung von GUI und Datenmodell (MVC) Alternative Vorgehensweisen zur Erarbeitung des MVC-Entwurfsmusters: Demonstration eines Programms mit vollständiger Trennung Experimente mit dem Programm Analyse dieses Programms Objekte mit Beziehungen zu anderen Objekten siehe auch: Objektorientierte Software-Entwicklung - Teil 2 Entwicklung einer MVC- Uhr durch Erweiterung des entwickelten Programms 16
17 MVC-Modell einer Uhr GUI Model schreibt liest Darstellung View Steuerung Control Realisierung der Entkopplung: Das Model hat keinen Zugriff (keine Referenzen) auf GUI-Objekte! Model in eigener Unit Model völlig unabhängig von der GUI. Die GUI hat Zugriff auf das Model (hat-beziehung). Diskussion: Vorteile/Nachteile 17
18 Aufgabe: Entwickle mit Hilfe der Zählerobjekte eine Uhr. Modellierung der MVC-Uhr Anforderungen: 1. Die Uhr soll dabei vorerst noch nicht selbst laufen. 2. Die Uhr soll als eigenständiger Baustein, der unabhängig von GUI-Objekten ist, entwickelt werden. Analyse Die Uhr besitzt drei Zählerobjekte als Stunden-, Minuten- und Sekundenzähler. Stunden, Minuten und Sekunden können gesetzt werden. Stunden, Minuten und Sekunden können ausgelesen werden. Die Uhrzeit kann schrittweise erhöht werden. Klassendiagramm Kurzbeschreibung: Das Uhrobjekt verwaltet die Zählerobjekte, d. h. es erzeugt und vernichtet sie. Gemäß dem Geheimnisprinzip werden die Zählerobjekte als private bzw. protected deklariert, sind also dem Benutzer verborgen. Der Zugriff erfolgt indirekt mit Hilfe der Set- und Get- Methoden. 18
19 Entwurf einer MVC-Uhr Prototyp Klassendiagramm Dokumentation 19
20 Weitere Uhrenbeispiele Uhr-Beispiel wie im Buch "Barnes, Kölling: Java lernen mit BlueJ. Pearson Studium." Implementierungen mit Delphi : Objektorientierte Software-Entwicklung - Teil 1 Katja Weishaupt: K. Merkert (HSG-Kaiserlautern) Weiterentwicklungen Beispiele: Selbstlaufende Uhr, Wecker, Schachuhr, Zeitzonenuhr, 20
21 Entwicklung weiterer Klassen(6) Entwicklung objektorientierter Modelle (u. U. mit mehreren Klassen) Beispiele: Lottogenerator mit Tippscheinauswertung Klasse "Bruch", die Kürzen und Erweitern als Dienste zur Verfügung stellt Das Spiel "chuck a luck" mit Objekten für Würfel, Konto und Spielbrett siehe auch: Objektorientierte Software-Entwicklung - Teil 1 Es empfiehlt sich, bei der Modellierung von Klassen darauf zu achten, dass diese auch in anderen Zusammenhängen wiederverwendet werden können. Abstraktion, Wiederverwendung Dokumentation 21
22 Zusammenfassung OOP OOP-Idee: Vorstrukturierung komplexer Systeme anhand natürlicher Objekte Jedes Objekt hat Fähigkeiten und Eigenschaften Verteilung von Aufgaben (Zuständigkeiten) Prinzipien: Objekt und Klasse Geheimnisprinzip Beziehung/Assoziation Vererbung Eine Klassen-Deklaration besteht aus Deklarationen von: Attributen für die verschiedenen Eigenschaftender Objekte Konstruktoren zur Erzeugung und Initialisierung der Objekte Methoden, d.h. Operationen (Algorithmen) auf Objekten UML-Klassendiagramm Zeigt die Klassen einer Anwendung und die Beziehungen zwischen diesen Klassen. Es liefert Informationen über den Aufbau der Anwendung. Entwurfsprinzip: Trennung von GUI und Modell (MVC) 22
23 Programmierprojekt (6) Vertiefung der bisher entwickelten Prinzipien MVC-Entwurfsmuster Phasen der OOP OOA OOD OOP - Zyklus Beispiel: Entwicklung interaktiver Spiele oder Simulationen Entwicklung eines interaktiven Roulette-Spiels (in Analogie zum Spiel "chuck a luck"); Anwendung des bisher Gelernten in einem etwas größeren Zusammenhang Ampelsteuerung Spielautomat (Slotmaschine) Memory Vorgehensweise Gemeinsam Spezifikation der Anforderungen objektorientierte Analyse / und Design arbeitsteilig Implementierung der Klassen und Testen des Systems; begleitende Dokumentation des Systems siehe Dokumentationsgerüst (K. Merkert): 23
24 Unterrichtmaterialien Links K. Merkert: R. Mechling: K. Heidler: Hessischer Bildungsserver: S. Spolwig: Martin Jakobs: Werkzeuge UMLed Violet BlueJ JavaEditor 24
25 Zustandsbasierte Modellierung MVC 25
26 Zustandsbasierte Ablaufmodellierung Beispiel: Spiels 17 und 4 Problem: Um Fehlbedienungen zu vermeiden müssen je nach Spielphase bestimmte Schaltflächen deaktiviert sein. Modellierung des Spielverlaufs: Spielsumme auf 0 Zahl anfordern Spiel beenden Spielzustände: Z0 Z1 Bereit - für ein neues Spiel Spiel in Gang - Spieler würfelt 26
27 Modellierung des Zustandsautomaten Steuerung durch Ereignisse: Alter Zustand Auslösende Aktion Ausgelöste Aktion Neuer Zustand Z0 BtNeuClick Spielsumme auf 0 btneu deaktivieren, btzahl /Btaufhoeren aktivieren Z1 Z1 btneuezahlclick Spielsumme bestimmen [Spielsumme < 21] sonst Spiel beenden BtNeuClick aktivieren btzahl /BtSpielbeenden aktivieren Z1 Z0 Implementierung: Datentyp für Zustandsvariable: TZustand = (z0, z1); TGUI = class(tform) BtNeu: TButton; BtZahl: TButton; private { Private-Deklarationen} Punkte : integer; Ergebnis : string; SpZustand : TZustand; procedure neuerzustand; public { Public-Deklarationen} 27
28 Implementierung Überführungsfunktion: procedure TGUI.neuerZustand; begin case SpZustand of z0 : begin SpZustand := z1; BtNeu.Enabled := false; BtZahl.Enabled := true; BtSpielbeenden.Enabled := true; z1 : begin SpZustand := z0; BtNeu.Enabled := true; BtZahl.Enabled := false; BtSpielbeenden.Enabled := false; Zustandswechsel auslösen procedure TGUI.BtZahlClick(); var Zufall : integer; begin //Eingabe Zufall := random(6)+1; //Verarbeitung Punkte := Punkte + Zufall; if Punkte >= 21 then begin if Punkte > 21 then Ergebnis := 'Du hast leider verloren' else Ergebnis := 'Du hast gewonnen!!!'; neuerzustand; //Ausgabe 28
29 Arbeitsschritte: Simulation einer einzelnen Ampel(4) Ziel: Simulation einer einzelnen Ampel mit klarer Trennung der Modellierung und Darstellung ( MVC-Konzept) Modellierung der einzelnen Phasen einer (deutschen) Ampel Zustandsdiagramm Datenmodell: Zustandsvariable, die 4 verschiedene Werte annehmen kann Die Zustände werden zyklisch durchlaufen auf Tastendruck 29
30 MVC-Architektur Controller Steuerung schreibt View Ansicht liest informiert Model (Daten,Verarbeitung) Fachkonzept GUI (graphical user interface) Die interne Datenverarbeitung ist von der Benutzeroberfläche (GUI) gänzlich abgekoppelt. Die Modellklassen werden dazu in separaten Units gespeichert, die keine Beziehung zum Formular haben! Das Modell kennt weder View noch Controller. Das bedeutet: In den Datenklassen werden keine View oder Controllermethoden aufgerufen! View und Controller kennen das Modell und lesen und schreiben die Daten. View und Controller bilden bei Delphi das Formular. 30
31 Modellierung der Ampelsteuerung Modellierung der Zustände TZustand = (aus, rot, rotgelb, gruen, gelb); Klassendiagramm Implementierung procedure TAmpelsteuerung.schalte; begin //Überführungsfunktion case Zustand of aus : Zustand := rot; rot : Zustand := rotgelb; rotgelb : Zustand := gruen; gruen : Zustand := gelb; gelb : Zustand := rot; Die Methode schalte ändert den Zustand zyklisch (Überführungsfunktion) Die Methode wird von außen (Control) aufgerufen. Die einzelnen Phasen sind noch gleich lang. Durch Änderung der Überführungsfunktion kann ein anderer Schaltzyklus erreicht werden, ohne dass an der GUI etwas geändert werden muss! 31
32 Modellierung von View und Control View mit Hilfe von Shapes Control Schaltfläche Da die Steuerung keine Verbindung zur GUI hat, kann sie die Aktualisierung der Ansicht nicht auslösen, wenn sich der Ampelzustand ändert. Dies muss daher von GUI selbst initiiert werden! 32
33 Implementierung Weiterschalten der Ampel procedure TGUI.BSchalterClick(); begin Ampel.schalte; aktualisiereansicht; Aktualisierung der Ansicht procedure TGUI.aktualisiereAnsicht; begin case Ampel.GetZustand of rot : Panzeige.Caption := Rot ; rotgelb: Panzeige.Caption := RotGelb ; gruen: Panzeige.Caption := Grün ; gelb: Panzeige.Caption := Gelb ; Die Ansicht fragt den Zustand der Ampel ab und aktualisiert sich, wenn sie dazu aufgefordert wird. Dies kann auf unterschiedliche Weise geschehen: von der GUI bei jeder Aktivierung des Models permanent, timergesteuert (Polling) durch Ereignis, das vom Model ausgelöst wird Vorteile des MVC-Entwurfs: Die Darstellung kann sehr schnell geändert werden. Ebenso die Steuerung, z. B. durch einen Timer 33
34 Links Weitere Übungen und Vertiefungen z.b. Simulation zweier Ampeln an einer Baustelle wie in Spolwig Atze's Ampelsteuerungs-Nexus, Uni Hannover Bundeswettbewerb Informatik 2003,Aufgaben 2.Runde K. Merkert:
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:
MehrObjektorientierte Programmierung OOP
Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Ronja Düffel WS2012/13 08. Oktober 2013 Objektorientierte Programmierung OOP Objektorientierte Programmierung Objektorientierte
MehrDrei-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
MehrVerhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...
PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:
MehrWintersemester 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
MehrArbeiten 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
MehrProgrammieren in Java
Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können
MehrKlassenentwurf. 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
MehrSoftwaretechnik (Allgemeine Informatik) Überblick
Softwaretechnik (Allgemeine Informatik) Überblick 1 Einführung und Überblick 2 Abstraktion 3 Objektorientiertes Vorgehensmodell 4 Methoden der Anforderungs- und Problembereichsanalyse 5 UML-Diagramme 6
MehrSEP 114. Design by Contract
Design by Contract SEP 114 Design by Contract Teile das zu entwickelnde Programm in kleine Einheiten (Klassen, Methoden), die unabhängig voneinander entwickelt und überprüft werden können. Einheiten mit
MehrJetzt sollt ihr von der Vorlage der Grundversion 1.0 ein eigenes Textadventure erstellen.
Teil B: Erweiterungen Jetzt sollt ihr von der Vorlage der Grundversion 1.0 ein eigenes Textadventure erstellen. Die folgenden Aufgaben und Ausführungen geben einige Hilfestellungen, welche (mindestens
MehrVBA-Programmierung: Zusammenfassung
VBA-Programmierung: Zusammenfassung Programmiersprachen (Definition, Einordnung VBA) Softwareentwicklung-Phasen: 1. Spezifikation 2. Entwurf 3. Implementierung Datentypen (einfach, zusammengesetzt) Programmablaufsteuerung
MehrWorkshop 6. Einführung in die objektorientierte Programmierung. Teil: Java mit BlueJ
IBBB 2010 Workshop 6 Einführung in die objektorientierte Programmierung Dozenten: J. Penon, J. Frank, A. Schindler Teil: Java mit BlueJ Dozent: A. Schindler Einf. i. d. OOP - Java u. BlueJ / A. Schindler
MehrObjektorientierte Programmierung
Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum
MehrPHP Aufbaukurs. Tag 3. PHP5 & Klassen
PHP Aufbaukurs Tag 3. PHP5 & Klassen Organisatorisches 2 Igor Olkhovskiy Dr. Dipl.- Ing. Kontakt: olkhovskiy@rrzn.uni-hannover.de PHP Aufbaukurs 19.09.2006 Folie 2 PHP. OOP. Geschichte 3 PHP/FI ( PHP 1
MehrAnwendungspraktikum aus JAVA Programmierung im SS 2006 Leitung: Albert Weichselbraun. Java Projekt. Schiffe Versenken mit GUI
Anwendungspraktikum aus JAVA Programmierung im SS 2006 Leitung: Albert Weichselbraun Java Projekt Schiffe Versenken mit GUI 1. Über den Autor: Name: Marija Matejic Matrikelnummer: 9352571 E-mail: marijamatejic@yahoo.com
MehrDr. 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??
MehrObjektorientierte Programmierung
Universität der Bundeswehr Fakultät für Informatik Institut 2 Priv.-Doz. Dr. Lothar Schmitz FT 2006 Zusatzaufgaben Lösungsvorschlag Objektorientierte Programmierung Lösung 22 (Java und UML-Klassendiagramm)
MehrEinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0. EDV Kurs 13/2
EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0 EDV Kurs 13/2 Inhaltsverzeichnis 1 Objekte... 1 2 Klassen... 3 2.1 Beziehungen zwischen Klassen... 4 2.1.1 Vererbung... 4 2.1.2
MehrDrei-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
Mehr13 OOP MIT DELPHI. Records und Klassen Ein Vergleich
13 OOP MIT DELPHI Delphi war früher "Object Pascal". Dieser Name impliziert eine Funktionalität, welche in der Welt der Programmierung nicht mehr wegzudenken ist: die objektorientierte Programmierung,
MehrEin wichtiges Konzept der Software-Architektur
Ein wichtiges Konzept der Software-Architektur Dr. Peer Kröger, Arthur Zimek Ludwig-Maximilians-Universität München, Institut für Informatik, LFE Datenbanksysteme Programmierpraktikum Wintersemester 2007/08
MehrFachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer
Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Klassendiagramme Ein Klassendiagramm dient in der objektorientierten Softwareentwicklung zur Darstellung von Klassen und den Beziehungen,
MehrEinfü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
MehrObjektorientierter Software-Entwurf Grundlagen 1 1. Analyse Design Implementierung. Frühe Phasen durch Informationssystemanalyse abgedeckt
Objektorientierter Software-Entwurf Grundlagen 1 1 Einordnung der Veranstaltung Analyse Design Implementierung Slide 1 Informationssystemanalyse Objektorientierter Software-Entwurf Frühe Phasen durch Informationssystemanalyse
MehrSWE5 Übungen zu Software-Engineering
1 Übungen zu Software-Engineering 1) Klassen und Objekte 2) Telefonanlage 3) Objekt- und Klassendiagramme 4) Assoziationen 5) Telefonanlage (Erweiterung) 6) Fahrzeuge 7) Familien 2 Aufgabe 1: Klassen und
MehrKapitelübersicht. Was ist So#waretechnik? Historische Entwicklung der So9waretechnik Prinzipien, Methoden, Werkzeuge. Was bedeutet Objektorien+erung?
Kapitelübersicht Was ist So#waretechnik? Historische Entwicklung der So9waretechnik Prinzipien, Methoden, Werkzeuge Was bedeutet Objektorien+erung? ObjektorienCerte Analyse und Design die Objektmodellierung
MehrInformatik für Schüler, Foliensatz 21 Objektorientierte Programmierung
rof. G. Kemnitz Institut für Informatik, Technische Universität Clausthal 23. April 2009 1/14 Informatik für Schüler, Foliensatz 21 Objektorientierte Programmierung Prof. G. Kemnitz Institut für Informatik,
MehrAGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b
AGROPLUS Buchhaltung Daten-Server und Sicherheitskopie Version vom 21.10.2013b 3a) Der Daten-Server Modus und der Tresor Der Daten-Server ist eine Betriebsart welche dem Nutzer eine grosse Flexibilität
MehrRobot Karol für Delphi
Robot Karol für Delphi Reinhard Nitzsche, OSZ Handel I Version 0.1 vom 24. Januar 2003 Zusammenfassung Nach der Einführung in die (variablenfreie) Programmierung mit Robot Karol von Freiberger und Krško
MehrKlausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007
Fachhochschule Bonn-Rhein-Sieg University of Applied Sciences Fachbereich Informatik Prof. Dr. Peter Becker Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007
MehrSoftware Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015
Software Engineering Zur Architektur der Applikation Data Repository Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering: Mit acht bewährten Praktiken zu gutem Code 2 Schichtarchitektur
MehrKlassendiagramm. Kurzer Überblick über UML - Stand 2006. BlaBla
BlaBla Diese Kennzeichnungen sind nur Erläuterungen und nicht Bestandteil des Diagramms Quelle: P.Grässle, H.Baumann, P.Baumann, UML projektorientiert, Galileo Verlag, 2003 21 Primäre Begriffe Kapselung
MehrJava lernen mit BlueJ
Java lernen mit BlueJ Eine Einführung in die objektorientierte Programmierung David J. Barnes Michael Kölling 4.0 Lernen in Eigenregiegi Vorlesungen Seminare Übungen Bücher Webseiten Diskussionslisten
MehrObjektorientierte Programmierung für Anfänger am Beispiel PHP
Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten
MehrDelphi eine Einführung
Delphi eine Einführung 1. Die Entwicklungsumgebung Delphi ist ein sogenanntes RAD Werkzeug. RAD = Rapid Application Development = schnelle Anwendungsentwicklung Merkmale: - es gibt vorgefertigte Komponenten
MehrAgile Vorgehensmodelle in der Softwareentwicklung: Scrum
C A R L V O N O S S I E T Z K Y Agile Vorgehensmodelle in der Softwareentwicklung: Scrum Johannes Diemke Vortrag im Rahmen der Projektgruppe Oldenburger Robot Soccer Team im Wintersemester 2009/2010 Was
MehrObjektorientierte Programmierung. Kapitel 12: Interfaces
12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/
MehrKap. 35 Swing: Grundlagen Kap. 36.1 Swing: Hauptfenster
Kap. 35 Swing: Grundlagen Kap. 36.1 Swing: Hauptfenster by Ali Bastan Gliederung Grundlagen von Swing 1. Kurze Einleitung 2. Warum Swing, wenn es das AWT gibt? 3. Was ist Swing? 4. Merkmale von Swing 5.
MehrEinführung in die Java- Programmierung
Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113
MehrOrdner Berechtigung vergeben Zugriffsrechte unter Windows einrichten
Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten Was sind Berechtigungen? Unter Berechtigungen werden ganz allgemein die Zugriffsrechte auf Dateien und Verzeichnisse (Ordner) verstanden.
Mehr1 Vom Problem zum Programm
Hintergrundinformationen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik WS 02/03 AG Betriebssysteme FB3 Kirsten Berkenkötter 1 Vom Problem zum Programm Aufgabenstellung analysieren
MehrKlausur zur Einführung in die objektorientierte Programmierung mit Java
Klausur zur Einführung in die objektorientierte Programmierung mit Java im Studiengang Informationswissenschaft Prof. Dr. Christian Wolff Professur für Medieninformatik Institut für Medien-, Informations-
MehrTechniken der Projektentwicklungen
Von der Analyse zum Entwurf 5. Termin Vom Use Case zum Domänenmodell Bis zum nächsten Mal Vom Use Case zum Domänenmodell Vom Use Case zum Domänenmodell Was ist ein Domänenmodell? Graphische Beschreibung
MehrFassade. Objektbasiertes Strukturmuster. C. Restorff & M. Rohlfing
Fassade Objektbasiertes Strukturmuster C. Restorff & M. Rohlfing Übersicht Motivation Anwendbarkeit Struktur Teilnehmer Interaktion Konsequenz Implementierung Beispiel Bekannte Verwendung Verwandte Muster
MehrKlausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg.
Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 Klausurteilnehmer Name: Matrikelnummer: Wichtige Hinweise Es sind keinerlei Hilfsmittel zugelassen auch keine Taschenrechner! Die Klausur dauert
MehrProgrammierparadigmen. Programmierparadigmen. Imperatives vs. objektorientiertes Programmieren. Programmierparadigmen. Agenda für heute, 4.
Agenda für heute, 4. Mai, 2006 Programmierparadigmen Imperative Programmiersprachen In Prozeduren zusammengefasste, sequentiell ausgeführte Anweisungen Die Prozeduren werden ausgeführt, wenn sie als Teil
MehrÜ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Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag
Ludwig-Maximilians-Universität München WS 2015/16 Institut für Informatik Übungsblatt 9 Prof. Dr. R. Hennicker, A. Klarl Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung:
MehrGrundlagen 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
MehrSharePoint Demonstration
SharePoint Demonstration Was zeigt die Demonstration? Diese Demonstration soll den modernen Zugriff auf Daten und Informationen veranschaulichen und zeigen welche Vorteile sich dadurch in der Zusammenarbeit
MehrDesign Pattern - Strukturmuster. CAS SWE - OOAD Marco Hunziker Klaus Imfeld Frédéric Bächler Marcel Lüthi
Design Pattern - Strukturmuster CAS SWE - OOAD Marco Hunziker Klaus Imfeld Frédéric Bächler Marcel Lüthi Agenda Einleitung Strukturmuster Fassade Model View Controller Vergleich 2 Einleitung Strukturmuster
MehrStellvertretenden Genehmiger verwalten. Tipps & Tricks
Tipps & Tricks INHALT SEITE 1. Grundlegende Informationen 3 2.1 Aktivieren eines Stellvertretenden Genehmigers 4 2.2 Deaktivieren eines Stellvertretenden Genehmigers 11 2 1. Grundlegende Informationen
MehrC# im Vergleich zu Java
C# im Vergleich zu Java Serhad Ilgün Seminar Universität Dortmund SS 03 Gliederung Entstehung von C# und Java Überblick von C# und Java Unterschiede und Gemeinsamkeiten Zusammenfassung und Ausblick Entstehung
MehrProgrammiersprache 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
MehrJava Einführung Packages
Java Einführung Packages Inhalt dieser Einheit Packages (= Klassenbibliotheken) Packages erstellen Packages importieren Packages verwenden Standard Packages 2 Code-Reuse Einbinden von bereits (selbst-/fremd)
MehrÜbungsklausur vom 7. Dez. 2007
Übungsklausur vom 7. Dez. 2007 Ein Lösungsmuster Teilbereiche der Softwaretechnik Software Anforderungen Software Entwurf Software Konstruktion Software Test Software Wartung Software Konfigurationsmanagement
MehrSoftware-Engineering SS03. Zustandsautomat
Zustandsautomat Definition: Ein endlicher Automat oder Zustandsautomat besteht aus einer endlichen Zahl von internen Konfigurationen - Zustände genannt. Der Zustand eines Systems beinhaltet implizit die
MehrWillkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java
Willkommen zur Vorlesung Objektorientierte Programmierung Vertiefung - Java Zum Dozenten Mein Name: Andreas Berndt Diplom-Informatiker (TU Darmstadt) Derzeit Software-Entwickler für Web- Applikationen
MehrAutorisierung. Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente
Autorisierung Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente Dokumentation zum Referat von Matthias Warnicke und Joachim Schröder Modul: Komponenten basierte Softwareentwickelung
MehrMediator 9 - Lernprogramm
Mediator 9 - Lernprogramm Ein Lernprogramm mit Mediator erstellen Mediator 9 bietet viele Möglichkeiten, CBT-Module (Computer Based Training = Computerunterstütztes Lernen) zu erstellen, z. B. Drag & Drop
MehrSuche 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
MehrJava Einführung Umsetzung von Beziehungen zwischen Klassen. Kapitel 7
Java Einführung Umsetzung von Beziehungen zwischen Klassen Kapitel 7 Inhalt Wiederholung: Klassendiagramm in UML Java-Umsetzung von Generalisierung Komposition Assoziationen 2 Das Klassendiagramm Zweck
MehrEinführung in PHP. (mit Aufgaben)
Einführung in PHP (mit Aufgaben) Dynamische Inhalte mit PHP? 2 Aus der Wikipedia (verkürzt): PHP wird auf etwa 244 Millionen Websites eingesetzt (Stand: Januar 2013) und wird auf etwa 80 % aller Websites
MehrRahmenbedingungen und Integrationsvoraussetzungen
Objektorientierte Modellierung unter Einsatz eines CASE-Tools im Informatikunterricht der Jahrgangsstufe 11 Stefan Moll GI-Workshop Bommerholz, 11.10.02 Rahmenbedingungen und Integrationsvoraussetzungen
MehrEr musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt
Inhaltsverzeichnis Aufgabe... 1 Allgemein... 1 Active Directory... 1 Konfiguration... 2 Benutzer erstellen... 3 Eigenes Verzeichnis erstellen... 3 Benutzerkonto erstellen... 3 Profil einrichten... 5 Berechtigungen
MehrAnlegen eines Speicherbereichs mit DB, DW eleganter in Kombination mit EQU, Timer-Interrupt
Anlegen eines Speicherbereichs mit DB, DW eleganter in Kombination mit EQU, Timer-Interrupt AMPEL-Steuerung(en) Die Beschreibung und Programmierung der Ampel (vor allem Ampel_5) können sehr kompliziert
MehrDas System sollte den Benutzer immer auf dem Laufenden halten, indem es angemessenes Feedback in einer angemessenen Zeit liefert.
Usability Heuristiken Karima Tefifha Proseminar: "Software Engineering Kernkonzepte: Usability" 28.06.2012 Prof. Dr. Kurt Schneider Leibniz Universität Hannover Die ProSeminar-Ausarbeitung beschäftigt
MehrDialognetze. 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
MehrFactory Method (Virtual Constructor)
Factory Method (Virtual Constructor) Zweck: Definition einer Schnittstelle für Objekterzeugung Anwendungsgebiete: Klasse neuer Objekte bei Objekterzeugung unbekannt Unterklassen sollen Klasse neuer Objekte
MehrOutlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang
sysplus.ch outlook - mail-grundlagen Seite 1/8 Outlook Mail-Grundlagen Posteingang Es gibt verschiedene Möglichkeiten, um zum Posteingang zu gelangen. Man kann links im Outlook-Fenster auf die Schaltfläche
MehrStep by Step Webserver unter Windows Server 2003. von Christian Bartl
Step by Step Webserver unter Windows Server 2003 von Webserver unter Windows Server 2003 Um den WWW-Server-Dienst IIS (Internet Information Service) zu nutzen muss dieser zunächst installiert werden (wird
Mehr1 Mathematische Grundlagen
Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.
MehrEin Blick voraus. des Autors von C++: Bjarne Stroustrup. 04.06.2005 Conrad Kobsch
Ein Blick voraus des Autors von C++: Bjarne Stroustrup 04.06.2005 Conrad Kobsch Inhalt Einleitung Rückblick Nur eine Übergangslösung? Was würde C++ effektiver machen? Quelle 2 Einleitung Wo steht C++,
MehrKapitel 4 Die Datenbank Kuchenbestellung Seite 1
Kapitel 4 Die Datenbank Kuchenbestellung Seite 1 4 Die Datenbank Kuchenbestellung In diesem Kapitel werde ich die Theorie aus Kapitel 2 Die Datenbank Buchausleihe an Hand einer weiteren Datenbank Kuchenbestellung
MehrÜbung 4. Musterlösungen
Informatik für Ökonomen II HS 2010 Übung 4 Ausgabe: 18.11.2010 Abgabe: 25.11.2010 Musterlösungen Schreiben Sie Ihre Namen und Ihre Matrikelnummern in die vorgesehenen Felder auf dem Deckblatt. Formen Sie
MehrKonzepte der Informatik
Konzepte der Informatik Vorkurs Informatik zum WS 2011/2012 26.09. - 30.09.2011 17.10. - 21.10.2011 Dr. Werner Struckmann / Christoph Peltz Stark angelehnt an Kapitel 1 aus "Abenteuer Informatik" von Jens
MehrEine Anwendung mit InstantRails 1.7
Eine Anwung mit InstantRails 1.7 Beschrieben wird das Anlegen einer einfachen Rails-Anwung, die ohne Datenbank auskommt. Schwerpunktmäßig wird auf den Zusammenhang von Controllern, Views und der zugehörigen
MehrÜbungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag
Ludwig-Maximilians-Universität München WS 2015/16 Institut für Informatik Übungsblatt 13 Prof. Dr. R. Hennicker, A. Klarl Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung:
MehrGrundzüge der Programmierung. Konzepte der objektorientierten Programmierung (oop) OBJEKTE - KLASSEN
Grundzüge der Programmierung Konzepte der objektorientierten Programmierung (oop) OBJEKTE - KLASSEN Inhalt dieser Einheit JAVA ist objektorientiert! Grundbegriffe der objektorientierten Programmierung:
MehrFolge 18 - Vererbung
Workshop Folge 18 - Vererbung 18.1 Ein einfacher Fall der Vererbung Schritt 1 - Vorbereitungen Besorgen Sie sich - vielleicht aus einer der Übungen der Folge 17 - ein fertiges und lauffähiges Listenprojekt,
MehrMC-Hx 006. Einbindung des MC-Hx Modul als MODBus TCP Slave. MB DataTec GmbH. Stand: 01.2013
Einbindung des MC-Hx Modul als MODBus TCP Slave MB DataTec GmbH Stand: 01.2013 Kontakt: MB DataTec GmbH Friedrich Ebert Str. 217a 58666 Kierspe Tel.: 02359 2973-22, Fax 23 Web : www.mb-datatec.de e-mail:
MehrSelbstbestimmtes Lernen. Proinformatik III Objektorientierte Programmierung. Format. Inhalt. Buzzwords
4.0 Proinformatik III Objektorientierte Programmierung Michael Kölling University of Kent Canterbury, UK Selbstbestimmtes Lernen Vorlesung Tutorium Übungen Buch Web-Seite Üben, üben, üben! Format Vorlesung:
MehrErster Bug: eine Motte
SOFTWAREFEHLER Der erste Bug Erster Bug: eine Motte Der Begriff Bug (deutsch: Motte) stammt aus dem Jahre 1945, als Ingenieure in einem Schaltrelais eines Computers (Harvard Mark II-System) eine Motte
MehrProgrammierkurs Java
Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen
MehrJava Kurs für Anfänger Einheit 4 Klassen und Objekte
Java Kurs für Anfänger Einheit 4 Klassen und Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 13. Juni 2009 Inhaltsverzeichnis klasse
Mehr5 Projekt Bankverwaltung
Kapitel 5 Bankverwaltung (Lösung) Seite 1/7 5 Projekt Bankverwaltung 5.1 Festlegen der Schnittstelle Bevor du mit der Programmierung beginnst, musst du dir einige Gedanken über die Schnittstelle zwischen
MehrAbschnitt 16: Objektorientiertes Design
Abschnitt 16: Objektorientiertes Design 16. Objektorientiertes Design 16 Objektorientiertes Design Informatik 2 (SS 07) 610 Software-Entwicklung Zur Software-Entwicklung existiert eine Vielfalt von Vorgehensweisen
MehrJava: Vererbung. Teil 3: super() www.informatikzentrale.de
Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und
Mehr6.8.4.9 Übung - Freigabe eines Ordners und Zuordnung eines Netzwerlaufwerks in Windows XP
5.0 6.8.4.9 Übung - Freigabe eines Ordners und Zuordnung eines Netzwerlaufwerks in Windows XP Einführung Drucken Sie diese Übung aus und führen Sie sie durch. In dieser Übung erstellen Sie einen Ordner
MehrAgiles Design. Dr.-Ing. Uwe Doetzkies Gesellschaft für Informatik mail: gi@uwe.doetzkies.de
Agiles Design Dr.-Ing. Uwe Doetzkies Dr.-Ing. Uwe Doetzkies Gesellschaft für Informatik mail: gi@uwe.doetzkies.de startupcamp berlin 15.3.2013 Regionalgruppe Berlin/Brandenburg Arbeitskreis Freiberufler
MehrWindows XP Jugendschutz einrichten. Monika Pross Molberger PC-Kurse
Windows XP Jugendschutz einrichten Monika Pross Molberger PC-Kurse Um ein Benutzerkonto mit Jugendschutzeinstellungen zu verwenden, braucht man ein Eltern- Konto (Administrator) und eine Kinderkonto (Standard).
MehrSome Software Engineering Principles
David L. Parnas: Some Software Engineering Principles Marco Oppel 30.06.2004 Seminar Software-Architektur Institut für Informatik Humboldt Universität zu Berlin 1 Problemstellung Software Engineering Multi-Personen
MehrKlassendiagramm. (class diagram)
: Klassendiagramm http:///topic95.html Klassendiagramm (class diagram) Klassendiagramm Objektdiagramm Komponentendiagramm Kompositionsstrukturdiagramm Verteilungsdiagramm Einstieg Paketdiagramm Aufbau
MehrKapitel 6. Vererbung
1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben
MehrLösungsvorschlag für Übungsblatt 6 Software Engineering 1 (WS 2012/13)
Prof. Ina Schaefer Institut für Softwaretechnik und Fahrzeuginformatik TU Braunschweig Lösungsvorschlag für Übungsblatt 6 Software Engineering 1 (WS 2012/13) Ausgabe: 12. Januar 2013 Abgabe: 25. Januar
MehrDokumentation zum Spielserver der Software Challenge
Dokumentation zum Spielserver der Software Challenge 10.08.2011 Inhaltsverzeichnis: Programmoberfläche... 2 Ein neues Spiel erstellen... 2 Spielfeldoberfläche... 4 Spielwiederholung laden... 5 Testdurchläufe...
MehrErweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:
VBA Programmierung mit Excel Schleifen 1/6 Erweiterung der Aufgabe Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: Es müssen also 11 (B L) x 35 = 385 Zellen berücksichtigt
MehrKomponententest. Testen von Software Systemen. Übung 02 SS 2009 Version: 1.0 09.06.2009
Testen von Software Systemen Übung 02 SS 2009 Version: 1.0 09.06.2009 Komponententest Kunde: Dr. Reinhold Plösch Dr. Johannes Sametinger Kundenreferenz: 259.019 Team 19 Mitarbeiter: Christian Märzinger
MehrProzeß P1 Prozeß P2. Zur Synchronisation stehen den beiden Prozessen binäre Semaphore und die beiden Funktionen
Seite 8 A UFGABE 11 INTERP ROZEßKOMMUNIKATION Das folgende Petrinetz zeigt zwei verkoppelte Prozesse P1 und P2. Die Transitionen a und b beschreiben Aktionen von P1, die Transitionen c und d Aktionen von
Mehr