Moderne Softwareentwicklungsmethoden

Größe: px
Ab Seite anzeigen:

Download "Moderne Softwareentwicklungsmethoden"

Transkript

1 Moderne Softwareentwicklungsmethoden Volker Schnauder Schnauder 1

2 Vorstellung Überblick der SW- Entwicklungsmethoden Grundlagen des Software-Engineering Aktuelle Methoden der Softwareentwicklung Unified Modeling Language Ausblick: Plattformunabhängige Lösungen mit C# und.net Schnauder 2

3 Warum Softwareengineering? Durch Leidensdruck: Software wird immer komplexer Die Software(weiter)entwicklung dauert zu lang Der erzeugte Code ist oft unzuverlässig Die Wartung und Fortschreibung von Softwareprodukten ist problematisch Schnauder 3

4 Was ist Softwareengineering? Systematisches Vorgehen Methodische Unterstützung Intensiver Einsatz von Instumenten Entwicklungsarbeit und Projektorganisation treten stets paarweise auf Schnauder 4

5 Aktuelle Methoden der Softwareentwicklung Funktional: Strukturierte Analyse & Strukturiertes Design (rückläufig) Programmiersprachen: C, Pascal Objektorientiert: Unified Modeling Language (zunehmend) Programmiersprachen: C++, C#, Java Schnauder 5

6 Ziele der methodischen Unterstützung (Methodische Unterstützung rechnet sich nur bei größeren Systemen) Vermeidung von frühen Fehlern Unterstützung bei der Anforderungsdefinition Unterstützung bei der Systemarchitektur Unterstützung bei der Programmierung Unterstützung bei Planungs- und Organisationsfragen Kommunikationsplattform zwischen fachwissenschaftlichen Bedürfnissen und informationstechnischen Belangen Schnauder 6

7 Methodenneutrale Grundprinzipien des Softwareentwicklung Abstraktion Hierarchien Kapselung (Verhinderung von sog. Seiteneffekten) Modularisierung Schnauder 7

8 Strukturierte Analyse & Strukturiertes Design Kernelemente: Datenflußdiagramme und Datenwörterbuch Bestandteile der Datenflußdiagramme: Funktionsknoten, Datenstöme, Speicher, Terminatoren Vorgehensweise: Funktionsknoten werden mit einem das Ganze benennende Kontext- Diagramm zunehmend kokretisiert Schnauder 8

9 Strukturierte Analyse & Strukturiertes Design Sukzessive Konkretisierung, jeder Knoten wird in einem neuen Datenflußdiagramm (neue Ebene) solange verfeinert, bis eine für die Weiterbearbeitung angemessene Granularität erreicht ist. Die so entstandene Vielfalt von Funktionsknoten unterstützt Planungs- und Organisationsfragen Die Vorgehensweise für das Datenwörterbuch ist analog Schnauder 9

10 Strukturierte Analyse & Strukturiertes Design Später wurde das Entity Relationship Modeling (ERM) integriert, eine bedeutsame Erweiterung, mit der die ganze Datenlogik zuverlässig definiert werden konnte Speicher der Datenflußdiagramme der Datenflußdiagramme gelten als Entitätskandidaten Schnauder 10

11 Strukturierte Analyse & Strukturiertes Design Zur Abbildung der Prozeßdynamik wurden später noch Elemente der Zustandsänderungsdiagramme der Methode zugefügt die Schaltlogik wurde von Schalt- Datenströmen gesteuert, die Prozesse (Funktionsknoten) aktivieren und deaktivieren Schnauder 11

12 Strukturierte Analyse & Strukturiertes Design Entity Relationship Modeling Datenflußdiagramme und Datenwörterbuch Zustandsänderungsdiagramme Schnauder 12

13 Strukturierte Analyse & Strukturiertes Design Nach einem bestimmten Algorithmus wurden die so erstellten Datenflußdiagramme in einen hierarchischen Systementwurf umgewandelt, ganz oben stand die main() Start-Funktion Schnauder 13

14 Strukturierte Analyse & Strukturiertes Design Diese Vorgehensweise erzwang Systematik (Top-Down), taugte auch als Kommunikationsebene, jedoch war die Fortschreibbarkeit unsicher, die Übernahme und Anpassung von Standard-Geschäftsmodellen war schwierig das Zusammenbauen der verschiedenen Methoden in eine überdachende wurde von Entwickler wenig akzeptiert Schnauder 14

15 Umbruch der Vorgehensweisen Mit der Entwicklung und Akzeptanz der objektorientierten Programmiersprachen (C++, Java) und erweiterten Zielsetzungen wurde ein Umdenken der Entwurfsinstrumente unabdingbar. In 1979 wurde C zu C/C++ weiterentwickelt, Mitte der Neunziger das rein objektorientierte Java. Diese Sprachen erweiterten die Möglichkeiten (konstruktiven Freiheiten) der Entwickler beträchtlich. Die Grundprinzipien Abstraktion, Hierarchien, Kapselung, Modularisierung, blieben weiter gültig - wenngleich in einer anderen Ausprägung Schnauder 15

16 Umbruch der Vorgehensweisen Das mächtige Element der Vererbung repräsentiert bei der Objektorientierung Abstraktion und Hierarchien die Datenkapselung wurde durch Vergabe von Klassenprivilegien (public, private,..) sichergestellt. Eine Überleitung von Strukturierten Entwürfen zu Klassendiagrammen ist unter Zuhilfenahme von ERM-Tabellen möglich Schnauder 16

17 Umbruch der Vorgehensweisen C- Beispiel: Keine Kapselung #include <stdio.h> struct Hello { char *h; void ausgabe(void) { h="hello World"; printf("%s\n", h); } }; main(void) {struct Hello begruessung; begruessung.ausgabe(); begruessung.h="testausgabe";printf("%s\n", begruessung.h); } Schnauder 17

18 Umbruch der Vorgehensweisen C++-Beispiel: Kapselung erzeugt Compilerfehler #include <stdio.h> class Hello {private: char *h; public: void ausgabe(void) { h="hello World"; printf("%s\n", h); } }; main(void) {class Hello begruessung; begruessung.h;} //begruessung.ausgabe();} Schnauder 18

19 Unified Modeling Language (UML) Eine Sprache zur Beschreibung & Modellierung von Softwaresystemen Grundgedanke - einheitliche Notation Darstellung verschiedener Sichtweisen Rahmenwerk zur Darstellung von Prozessen Code Generierung (Code-Hülsen) Ab 1997 Unified Modeling Language Schnauder 19

20 Diagrammbeschreibung - Diagrammtypen Nutzungsumgebung: Use Cases Statische Beschreibung: Klassendiagramme Dynamische Beschreibung: Sequenzdiagramme Interaktionsdiagramme Zustandsdiagramme Aktivitätsdiagramme Implementierung Komponentendiagramme Package Diagramme Schnauder 20

21 Statische Beschreibung: Use Cases (Anwendungsfalldiagramme) Geschäftsprozesse, allgemeine Einsatzmöglichkeiten Zusammenwirken von Personen (Akteuren) mit einem System Die durch Use Cases abgebildeten Tätigkeiten sind verbal zu beschreiben Schnauder 21

22 Use Cases (Symbole) <<extend>>, <<uses>> erweitert den Basis Use Case, der Basis Use Case kann auch ohne die Erweiterung arbeiten Basis Use Case (Reise verkaufen) <<extend>> Erweiterung (Flug buchen) Schnauder 22

23 Use Cases (Symbole) <<include>>die gemeinsame Funktionalität zweier Use Cases wird durch einen Dritten beschreiben. Der Dritte ist stets Bestandteil der ersten beiden. Dritter (Ware einlagern) <<include>> Wareneingang <<include>> Zukauf Wareneingang Produktion Schnauder 23

24 Use Cases (Geschäftsvorfälle) Schnauder 24

25 Statische Beschreibung: Klassendiagramme sind die wichtigsten Diagramme der UML dokumentieren die statische Struktur der Klassen in einem System und ihre Beziehungen untereinander insbesondere Vererbung Assoziation Aggregation und Komposition Schnauder 25

26 Klassendiagramme, Symbole Klassen Attribute, Methoden Fahrzeug -PS-Zahl : double -Kennzeichen : string +setpszahl() : double +setkennzeichen() : string +zeigefahrzeugrechneflaeche() : void +beschleunige() : void +lenke() : void Schnauder 26

27 Statische Beschreibung: Klassendiagramme, Symbole Vererbung Fahrzeug -PS-Zahl : double -Kennzeichen : string +setpszahl() : double +setkennzeichen() : string +zeigefahrzeugrechneflaeche() : void +beschleunige() : void +lenke() : void PKW -Sitzplaetze : int +setsitzplaetze() : int +getsitzplaetze() : void LKW -Nutzlast : double +setnutzlast() : void +getnutzlast() : void Schnauder 27

28 Fahrer -Name : string -Führerschein : int +setname() : int +setführerschein() : Fahrer +fahrbeginn() : Fahrer -End1 Klassendiagramme, -End2 Symbole * Assoziation, Aggregation und Komposition * Motor -Typ : string +settyp() +gettyo() * -End4 1 -End3 1 PKW -Sitzplaetze : int +setsitzplaetze() : int +getsitzplaetze() -End5 : void * -End6 1 * -End9 -End10 Raeder Fahrgestellteile -Typ : string -Typ : string +settyp() +settyp() +gettyo() +gettyo() Schnauder 28

29 Fahrer -Name : string -Führerschein : int +setname() : int +setführerschein() : Fahrer +fahrbeginn() : Fahrer -End1 Statische Beschreibung: Klassendiagramme Motor -Typ : string +settyp() +gettyo() * -End4 * 1 -End3 1 -End2 * -Sitzplaetze : int Fahrzeug -PS-Zahl : double -Kennzeichen : string +setpszahl() : double +setkennzeichen() : string +zeigefahrzeugrechneflaeche() : void +beschleunige() : void +lenke() : void PKW +setsitzplaetze() : int +getsitzplaetze() -End5 : void LKW -Nutzlast : double +setnutzlast() : void +getnutzlast() : void * -End6 1 * -End9 -End10 Raeder Fahrgestellteile -Typ : string -Typ : string +settyp() +settyp() +gettyo() Schnauder +gettyo() 29

30 Dynamische Beschreibung: Interaktionsdiagramme Nachrichten und Zusammenarbeit der Objekte im zeitlichen Ablauf Sequenzdiagramm: Zeitliche Aufrufstruktur mit wenigen Klassen Kollaborationsdiagramm: Zeitliche Aufrufstruktur mit wenigen Nachrichten Schnauder 30

31 Dynamische Beschreibung: Interaktionsdiagramme, Symbole Sequenzdiagramm afahrzeug : Fahrzeug afahrer : Fahrer setfahrzeugdaten() Objekt Nachricht bschleunige() Objekt- Lebenslinie Schnauder 31

32 Dynamische Beschreibung: Zum statischen Klassendiagramm Buch * 1 Person name : Object pname : Object Konstruktor() person(object) : Void Konstruktor() merkebuch(object) : Void ausgeliehen(object) : Void buch(object) : Void Schnauder 32

33 Dynamische Beschreibung: wird ein Sequenzdiagramm hinzugefügt abuch : Buch aperson : Person person(nr) : Void buch(signatur) : Void ausgeliehen(person) : Void merkebuch(signatur) : Void Schnauder 33

34 Dynamische Beschreibung: Interaktionsdiagramme - Sequenzdiagramme Schnauder 34

35 Dynamische Beschreibung: Zustandsdiagramme Kennwort eingetroffen Weiterbearbeitung Aktionen Zustand Ereignis Zustandsübergang Schnauder 35

36 Dynamische Beschreibung: Aktivitätsdiagramme Sachbearbeiter Reisebuchungssystem Angebotsnummer eingeben Angebot suchen und... Kundendaten erfassen Kunde suchen [Kunde vohanden] [Kunde nicht vorhanden] Neuen Kunden anlegen Reservierung auslösen Schnauder 36

37 erfassen Kunde suchen Dynamische Beschreibung: [Kunde vohanden] Aktivitätsdiagramme anlegen Neuen Kunden [Kunde nicht vorhanden] Reservierung auslösen Reservierung vornehmen [Reservierung scheitert] Buchung : TourBooking [reserviert] Reiseunterla Schnauder 37

38 Package-Diagramm Aufteilung in Unterprojekte, Bibliotheken Schnauder 38

39 Implementierungsdiagramme Darstellung von verteilten Anwendungen und Komponenten (Übersetzungseinheiten, ausführbare Programme, Hardwarestruktur) Komponentendiagramme Zusammenhänge der Software Verteilungsdiagramme Hardwareaufbau Schnauder 39

40 Implementierungsdiagramme - Komponentendiagramme Schnauder 40

41 Implementierungsdiagramme Verteilungsdiagramme Schnauder 41

42 Was haben die einzelnen Diagramme miteinander zu tun? Verbale Beschreibung der Use-Case- Diagramme liefert Objekt-, Attributs- und Methodenkandidaten: Sequenzdiagramm Sequenzdiagramm definiert Nachrichten zwischen den Objekten: Klassendiagramm (weitere Attribute und Methoden) mit Beziehungen zwischen den Klassen entsprechend der Nachrichten Die Aussagen von Sequenz- und Kollaborationsdiagramm sind äquivalent Schnauder 42

43 Ausblick: Plattformunabhängige Lösungen Die rasche Akzeptanz des Internet erforderte plattformunabhängige Lösungen. Dies wird derzeit nur von Java geleistet. Plattformunabhängigkeit ist aber keine Frage der Programmiersprache, sondern vielmehr eine Frage des erzeugten Zwischencodes, etwa der class-dateien von Java, die dann von einer JVM (Java Virtual Maschine, standardisiertes Bestandteil aller gängigen Betriebssysteme) interpretiert wird Schnauder 43

44 Erstellung ausführbarer Dateien Vergleich zwischen C/C++ und Java C/C++: Compiler Linker Quellcode -> Objektcode -> exe-datei.cpp,.h.obj.exe Java: Compiler Ausführung Quellcode -> Zwischendatei <- per JVM.java.class Schnauder 44

45 Inhaltliche Verbesserungen von Java gegenüber C/C++: Keine Header-Dateien mehr Exception-Handler mehr Sicherheit Packages flexibler als Header-Dateien Garbage-Collector Vermeidet Datenmüll u. a. Vergleich C/C++ mit Java C C++ Java Performance Unabhängigkeit Schnauder 45

46 Ausblick: Gegenüberstellung der Microsoft (C++, C#) und Sun/Oracle (Java) - Konzepte Schnauder 46

47 Ausblick: C# und.net Einzel-PC sind weniger nützlich als Netz-PC Internet-Hardware wird immer billiger Internet-Software zeigt neue Problemklassen Hauptproblem: Sicherheit braucht generische Infrastruktur Die.NET Technik unterstützt vorfabrizierte Infrastrukturen zur Problemlösung beim Erstellen von Internet-Software.NET-Technik: Neue Laufzeitumgebung.NET- Framework Schnauder 47

48 C# und.net.net: Neues Programmiermodell für die Entwicklung von HTML-Dokumenten ASP.NET.NET: Unterstützt Support für DB-Zugriffe innerhalb des.net-frameworks COM (Common Object Modeling) half Applikationsentwicklern durch das Zusammenfügen gekaufter Komponenten- ist aber plattformabhängig, besitzt keine Versionsbeachtung etc., Schnauder 48

49 C# und.net Wunsch: objektorientierte Leistungsmerkmale in und zwischen allen Programmiersprachen, also nahtlose Zusammenarbeit zwischen Client und Server..NET-Lösungsansatz: COMMON LANGUAGE RUNTIME (CLR) Schnauder 49

50 C# und.net Quellcodes verschiedener Sprachen werden in eine Zwischensprache übersetzt, die MS Intermediate Language (MSIL). Diese wird von einem jit-compiler (jit= just in time) in plattformspezifischen Code übersetzt. Entwicklungsumgebung VS.NET jit-compiler VB, C/C++, Cobol, etc.->msil->plattformspez. Code Schnauder 50

09.01.14. Vorlesung Programmieren. Unified Modeling Language (UML) Unified Modeling Language (UML) Unified Modeling Language (UML)

09.01.14. Vorlesung Programmieren. Unified Modeling Language (UML) Unified Modeling Language (UML) Unified Modeling Language (UML) Vorlesung Programmieren Unified Modeling Language (UML) Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Unified Modeling Language (UML)

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren Unified Modeling Language (UML) Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Unified Modeling Language (UML)

Mehr

EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick mtr@is.informatik.uni-kiel.de www.is.informatik.uni-kiel.

EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick mtr@is.informatik.uni-kiel.de www.is.informatik.uni-kiel. EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick mtr@is.informatik.uni-kiel.de www.is.informatik.uni-kiel.de/~mtr FRAGEN / ANMERKUNGEN Vorlesung Neue Übungsaufgaben MODELLIERUNG

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

Unified Modeling Language (UML)

Unified Modeling Language (UML) Kirsten Berkenkötter Was ist ein Modell? Warum Modellieren? Warum UML? Viele, viele Diagramme UML am Beispiel Was ist ein Modell? Ein Modell: ist eine abstrakte Repräsentation eines Systems, bzw. ist eine

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

Softwaretechnik (Allgemeine Informatik) Überblick

Softwaretechnik (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

Mehr

Java Einführung Umsetzung von Beziehungen zwischen Klassen. Kapitel 7

Java 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

Mehr

Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer

Fachdidaktik 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,

Mehr

UML Klassendiagramm. Igor Karlinskiy, Mikhail Gavrish

UML Klassendiagramm. Igor Karlinskiy, Mikhail Gavrish UML Klassendiagramm Igor Karlinskiy, Mikhail Gavrish Agenda Wichtigste Eigenschaften Syntaktische Elemente mit entsprechendem C++ Code Analysemodell Designmodell Quellen 2 Klassendiagramm gibt die Möglichkeit,

Mehr

Requirements Engineering I

Requirements Engineering I Norbert Seyff Requirements Engineering I UML Unified Modeling Language! 2006-2012 Martin Glinz und Norbert Seyff. Alle Rechte vorbehalten. Speicherung und Wiedergabe für den persönlichen, nicht kommerziellen

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

4. AuD Tafelübung T-C3

4. AuD Tafelübung T-C3 4. AuD Tafelübung T-C3 Simon Ruderich 17. November 2010 Arrays Unregelmäßige Arrays i n t [ ] [ ] x = new i n t [ 3 ] [ 4 ] ; x [ 2 ] = new i n t [ 2 ] ; for ( i n t i = 0; i < x. l e n g t h ; i ++) {

Mehr

RUP Analyse und Design: Überblick

RUP Analyse und Design: Überblick Inhaltsverzeichnis Übersicht [, 2, 8] 3. Vorgehensweise............................... 5 2 Planungsmethoden 37 2. Definitionsphase.............................. 6 3 Rational Unified Process [5, 6] und

Mehr

Objektorientierte Programmierung

Objektorientierte 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

Mehr

Software Engineering Interaktionsdiagramme

Software Engineering Interaktionsdiagramme Software Engineering Interaktionsdiagramme Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Nachrichtenaustausch Welche Nachrichten werden ausgetauscht? (Methodenaufrufe)

Mehr

Klassendiagramm. (class diagram)

Klassendiagramm. (class diagram) : Klassendiagramm http:///topic95.html Klassendiagramm (class diagram) Klassendiagramm Objektdiagramm Komponentendiagramm Kompositionsstrukturdiagramm Verteilungsdiagramm Einstieg Paketdiagramm Aufbau

Mehr

Gliederung des Vortrages

Gliederung des Vortrages Gliederung des Vortrages Unified Modeling Language Rational Rose Sergej Schwenk Oktober 1999 0. Einführung 1. Historie 2. Der Entwicklungsprozeß 3. UML 3.1 Anwendungsfalldiagramme 3.2 Klassendiagramme

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

EinfÅ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 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

Mehr

WhiteStarUML Tutorial

WhiteStarUML Tutorial WhiteStarUML Tutorial Autor: Simon Balázs, BME IIT, 2015. Übersetzung: Kovács Márton, 2015. Installation Herunterladen und installieren Sie das WhiteStarUML: http://sourceforge.net/projects/whitestaruml/

Mehr

Objektbasierte Entwicklung

Objektbasierte Entwicklung Embedded Software Objektbasierte Entwicklung Objektorientierung in C? Prof. Dr. Nikolaus Wulff Objektbasiert entwickeln Ohne C++ wird meist C im alten Stil programmiert. => Ein endlose while-schleife mit

Mehr

Vorlesung "Software-Engineering"

Vorlesung Software-Engineering Vorlesung "Software-Engineering" Rainer Marrone, TUHH, Arbeitsbereich STS Vorige Vorlesung Pflichtenheft (requirements specification document) Charakterisierung von Software-Qualität Detaillierte Anforderungsanalyse

Mehr

Orientierte Modellierung mit der Unified Modeling Language

Orientierte Modellierung mit der Unified Modeling Language UML-Basics: Einführung in Objekt- Orientierte Modellierung mit der Unified Modeling Language Michael Hahsler Ziel dieses Seminars Verständnis von Objekt-Orientierung Was sind Klassen? Was ist Vererbung?

Mehr

Klassendiagramm. Kurzer Überblick über UML - Stand 2006. BlaBla

Klassendiagramm. 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

Mehr

Kapitelü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? Kapitelübersicht Was ist So#waretechnik? Historische Entwicklung der So9waretechnik Prinzipien, Methoden, Werkzeuge Was bedeutet Objektorien+erung? ObjektorienCerte Analyse und Design die Objektmodellierung

Mehr

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java

Willkommen 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

Mehr

Einführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005

Einführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005 Einführung in Java PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005 Gliederung 1. Was ist Java / Geschichte von Java 2. Prinzip der Plattformunabhängigkeit 3. Wie kommt man vom Quellcode zum Programm

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

Software Engineering in der Praxis

Software Engineering in der Praxis Software Engineering in der Praxis Praktische Übungen Meitner, Spisländer FAU Erlangen-Nürnberg Objektorientiertes Design 1 / 16 Objektorientiertes Design Matthias Meitner Marc Spisländer Lehrstuhl für

Mehr

Guido de Melo 5.2.2007 Fachvortrag, Uni Ulm UML 2.0. Für den Einsatz in der Praxis

Guido de Melo 5.2.2007 Fachvortrag, Uni Ulm UML 2.0. Für den Einsatz in der Praxis Guido de Melo 5.2.2007 Fachvortrag, Uni Ulm UML 2.0 Für den Einsatz in der Praxis Seite 2 Überblick 1. Ziele 2. Warum das alles? 3. Was ist UML 4. Diagrammarten 5. Umfeld Seite 3 1. Ziele 1. Ziele dieses

Mehr

Programmieren was ist das genau?

Programmieren was ist das genau? Programmieren was ist das genau? Programmieren heisst Computerprogramme herstellen (von griechisch programma für Vorschrift). Ein Computerprogramm ist Teil der Software eines Computers. Als Software bezeichnet

Mehr

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter Die Programmiersprache Java Dr. Wolfgang Süß Thorsten Schlachter Eigenschaften von Java Java ist eine von der Firma Sun Microsystems entwickelte objektorientierte Programmiersprache. Java ist......a simple,

Mehr

Software Engineering in der Praxis

Software Engineering in der Praxis Inhalt Nachlese Aufgaben Literatur Software Engineering in der Praxis Praktische Übungen Inhalt Nachlese Aufgaben Literatur Marc Spisländer Dirk Wischermann Lehrstuhl für Software Engineering Friedrich-Alexander-Universität

Mehr

Softwaretechnik. Fomuso Ekellem WS 2011/12

Softwaretechnik. Fomuso Ekellem WS 2011/12 WS 2011/12 Inhalt Wiederholung Weitere Begriffe Programmierung im Großem (Programmierung von Software als Ganzes) Prozess-Modelle 2 Wiederholung: Prozesse Prozesse sind hierarchische Gruppierungen von

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

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein. Schritt 1: Installation des Javacompilers JDK. Der erste Start mit Eclipse Bevor Sie den Java-Compiler installieren sollten Sie sich vergewissern, ob er eventuell schon installiert ist. Gehen sie wie folgt

Mehr

SWE5 Übungen zu Software-Engineering

SWE5 Ü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

Mehr

Klausur Software-Engineering SS 2005 Iwanowski 23.08.2005

Klausur Software-Engineering SS 2005 Iwanowski 23.08.2005 Klausur Software-Engineering SS 2005 Iwanowski 23.08.2005 Hinweise: Bearbeitungszeit: 90 Minuten Erlaubte Hilfsmittel: im Anhang, sonst keine Bitte notieren Sie Ihre Antworten ausschließlich auf dem Aufgabenblatt!

Mehr

ActiveCharts. Verknüpfung von Modellen und Code bei der modellgetriebenen Softwareentwicklung mit UML 2.0

ActiveCharts. Verknüpfung von Modellen und Code bei der modellgetriebenen Softwareentwicklung mit UML 2.0 Jens Kohlmeyer 05. März 2007 Institut für Programmiermethodik und Compilerbau ActiveCharts Verknüpfung von Modellen und Code bei der modellgetriebenen Softwareentwicklung mit UML 2.0 Seite 2 Übersicht

Mehr

SEP 114. Design by Contract

SEP 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

Mehr

Workshop 6. Einführung in die objektorientierte Programmierung. Teil: Java mit BlueJ

Workshop 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

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung Kapitel 6 Vererbung Vererbung 1 Ziele Das Vererbungsprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen

Mehr

OO Softwareentwicklung

OO Softwareentwicklung OO Softwareentwicklung Objektorientierung Prof. Dr. Bernhard Schiefer 1 OO als Ansatz zur Verbesserung der Software-Qualität Modellierung der Welt als selbständig agierende Objekte. Gemeinsame Beschreibung

Mehr

Techniken der Projektentwicklungen

Techniken 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

Mehr

Fachgebiet Informationssysteme Prof. Dr.-Ing. N. Fuhr. Programmierung Prof. Dr.-Ing. Nobert Fuhr. Übungsblatt Nr. 6

Fachgebiet Informationssysteme Prof. Dr.-Ing. N. Fuhr. Programmierung Prof. Dr.-Ing. Nobert Fuhr. Übungsblatt Nr. 6 Gudrun Fischer Sascha Kriewel programmierung@is.informatik.uni-duisburg.de Anmeldung zur Klausur! Übungsblatt Nr. 6 Um an der Klausur teilzunehmen, müssen sich Studierende der angewandten Informatik in

Mehr

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...

Verhindert, 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:

Mehr

Schulcurriculum Informationstechnische Grundkenntnisse und Informatik Stand: 18.09.2011

Schulcurriculum Informationstechnische Grundkenntnisse und Informatik Stand: 18.09.2011 Bezug zu den Leitideen der Bildungsstandards und den Kompetenzen, Inhalte Bemerkungen welche die Schülerinnen und Schüler erwerben Klasse 11 Informatik 4-stündig Einführung in die objektorientierte Modellierung

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

Übersetzung von UML-Software-Spezifikationen in Simulationsmodelle

Übersetzung von UML-Software-Spezifikationen in Simulationsmodelle Übersetzung von UML-Software-Spezifikationen in Simulationsmodelle Stefan Walter swalter@dspace.de Lehrstuhl für Informationstechnik, insb. Realzeitsysteme FernUniversität in Hagen Fachtagung Echtzeit

Mehr

Use Cases. Use Cases

Use Cases. Use Cases Use Cases Eigenschaften: Ein Use Case beschreibt einen Teil des Verhaltens eines Systems aus externer Sicht (Formuliert in der der Fachsprache der Anwendung) Dies geschieht, indem ein Systemdialog beschrieben

Mehr

Software Engineering I

Software Engineering I Vorlesung Software Engineering I Dynamische Basiskonzepte 2 Kontrollstrukturen Aktivitätsdiagramme Sequenzdiagramme 1 Basiskonzepte Beschreiben die feste Struktur des Systems, die sich während der Laufzeit

Mehr

Fakultät Angewandte Informatik Lehrprofessur für Informatik 23.01.2012

Fakultät Angewandte Informatik Lehrprofessur für Informatik 23.01.2012 WS 2011/2012 Fakultät Angewandte Informatik Lehrprofessur für Informatik 23.01.2012 Prof. Dr. Robert Lorenz Musterlösung zur Vorlesung Informatik I, Extrablatt zu komplexen Datenstrukturen Aufgabe 45 **

Mehr

Alltagsnotizen eines Softwareentwicklers

Alltagsnotizen eines Softwareentwicklers Alltagsnotizen eines Softwareentwicklers Entkoppeln von Objekten durch Callbacks mit c++-interfaces oder boost.function und boost.bind Tags: c++, entkoppeln, objekt, oop, callback, boost.bind, boost.function,

Mehr

Klausur Software Engineering für WI (EuI)

Klausur Software Engineering für WI (EuI) Autor: Prof. Dr. Bernhard Humm, FB Informatik, FH Darmstadt Datum: 14. Februar 2006 Klausur Software Engineering für WI (EuI) Ihr Name: Ihre Matrikelnummer Erreichte Punkte (von insgesamt 57 Punkten):

Mehr

Evaluation of Database Design and Reverse Engineering Tools for a Large Software System

Evaluation of Database Design and Reverse Engineering Tools for a Large Software System Evaluation of Database Design and Reverse Engineering Tools for a Large Software System Anne Thomas TU Dresden Dr. B. Demuth Pre Press GmbH (Dresden) T. Reuter Gliederung Einleitung Vorgehensweise Kontext

Mehr

Software-Engineering SS03. Zustandsautomat

Software-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

Mehr

Ein 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 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++,

Mehr

Kapitel 6. Vererbung

Kapitel 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

Mehr

Assoziation und Aggregation

Assoziation und Aggregation Assoziation und Aggregation Martin Wirsing in Zusammenarbeit mit Matthias Hölzl, Nora Koch 05/03 2 Ziele Verstehen der Begriffe Assoziation und Aggregation Implementierung von Assoziationen in Java schreiben

Mehr

Einführung in die Programmierung mit Java. Hörsaalübung

Einführung in die Programmierung mit Java. Hörsaalübung Einführung in die Programmierung mit Java Hörsaalübung Folie 1 Grundlagen der Objektorientierung Seit Anfang der Neunzigerjahre Standardmethode der Softwareentwicklung. Die OOP Objektorientierte Programmierung

Mehr

3. Konzepte der objektorientierten Programmierung

3. Konzepte der objektorientierten Programmierung 3. Konzepte der objektorientierten Programmierung 3.1 Basiskonzepte 3.2 Generalisierung / Spezialisierung 3.3 Aggregation 3.4 Assoziation 3.5 Nachrichten 3.6 Polymorphismus 3. Konzepte der Objektorientierung

Mehr

Vorkurs Informatik WiSe 15/16

Vorkurs Informatik WiSe 15/16 Java 1 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 12.10.2015 Technische Universität Braunschweig, IPS Überblick Organisatorisches Arbeitsablauf Hello! 12.10.2015 Dr. Werner Struckmann / Stephan

Mehr

Übungsklausur vom 7. Dez. 2007

Ü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

Mehr

Motivation. Motivation

Motivation. Motivation Vorlesung Modellierung nebenläufiger Systeme Sommersemester 2012 Universität Duisburg-Essen Was sind nebenläufige Systeme? Ganz allgemein: Systeme, bei denen mehrere Komponenten/Prozesse nebenläufig arbeiten

Mehr

Kapitel 6. Vererbung

Kapitel 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

Mehr

Prüfungszeuch im Fach Objektorientierte Programmierung WS 2000

Prüfungszeuch im Fach Objektorientierte Programmierung WS 2000 Prüfungszeuch im Fach Objektorientierte Programmierung WS 2000 A. Beschreibung der Projektarbeit. Welche Aufgabe haben Sie im Rahmen der Projektarbeit gelöst? 2. Mit welchen Tools bzw. Programmen (Anwendung,

Mehr

Systemdenken und Gestaltungsmethodik System-Modellierung

Systemdenken und Gestaltungsmethodik System-Modellierung Systemdenken und Gestaltungsmethodik System-Modellierung Prof. Dr.-Ing. Stefan Brunthaler TFH Wildau 2008ff Master Telematik Ausgangsbasis Es liegt ein kosten-nutzen-optimales Lösungskonzept vor. Die Architektur

Mehr

Vgl. Oestereich Kap 2.7 Seiten 134-147

Vgl. Oestereich Kap 2.7 Seiten 134-147 Vgl. Oestereich Kap 2.7 Seiten 134-147 1 Sequenzdiagramme beschreiben die Kommunikation/Interaktion zwischen den Objekten (bzw. verschiedenen Rollen) eines Szenarios. Es wird beschrieben, welche Objekte

Mehr

Java: Vererbung. Teil 3: super() www.informatikzentrale.de

Java: 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

Mehr

Was ist EMF? Wie wird EMF eingesetzt? Was ist ecore? Das Generatormodell Fazit

Was ist EMF? Wie wird EMF eingesetzt? Was ist ecore? Das Generatormodell Fazit Was ist EMF? Wie wird EMF eingesetzt? Was ist ecore? Das Generatormodell Fazit EMF ist ein eigenständiges Eclipse-Projekt (Eclipse Modeling Framework Project) EMF ist ein Modellierungsframework und Tool

Mehr

Rhapsody in J Modellierung von Echtzeitsystemen

Rhapsody in J Modellierung von Echtzeitsystemen Rhapsody in J Modellierung von Echtzeitsystemen Tobias Schumacher tobe@uni-paderborn.de Rhapsody in J - Modellierung von Echtzeitsystemen p.1/17 Anspruch des Tools Einsatzbereiche/Features Modellierung

Mehr

Klausur zur Einführung in die objektorientierte Programmierung mit Java

Klausur 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-

Mehr

Lösungsvorschlag für Übungsblatt 6 Software Engineering 1 (WS 2012/13)

Lö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

Mehr

Prinzipien Objektorientierter Programmierung

Prinzipien Objektorientierter Programmierung Prinzipien Objektorientierter Programmierung Valerian Wintner Inhaltsverzeichnis 1 Vorwort 1 2 Kapselung 1 3 Polymorphie 2 3.1 Dynamische Polymorphie...................... 2 3.2 Statische Polymorphie........................

Mehr

Einführung in die Programmierung für NF

Einführung in die Programmierung für NF Einführung in die Programmierung für NF UML Valerie Holmeyer Michael Kirsch Direct Feedback Eure Mitarbeit ist mir wichbg Quiz nach den jeweiligen AbschniGen Jeder kann mitmachen App socra&ve auf Smartphone

Mehr

Einführung in Eclipse und Java

Einführung in Eclipse und Java Universität Bayreuth Lehrstuhl für Angewandte Informatik IV Datenbanken und Informationssysteme Prof. Dr.-Ing. Jablonski Einführung in Eclipse und Java Dipl.Inf. Manuel Götz Lehrstuhl für Angewandte Informatik

Mehr

Programmierung von Steuerungen künftig objektorientiert?

Programmierung von Steuerungen künftig objektorientiert? 1 Programmierung von Steuerungen künftig objektorientiert? R. Hungerbühler, Dozent BFH R. Hungerbühler Dozent Automation BFH 2 Sichten auf Fragestellung Wissenstand Mitarbeiter /Ausbildung Entwickler,

Mehr

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden. Grundwissen Informatik Objekt Attribut Methoden Als Objekte bezeichnet man alle Gegenstände, Dinge, Lebewesen, Begriffe oder Strukturen unserer Welt ( Autos, Räume, Bakterien, Lehrer, Schüler, Kunden,

Mehr

Modellierung von Echtzeitsystemen mit dem UML CASE Tool Telelogic Tau G2 Developer

Modellierung von Echtzeitsystemen mit dem UML CASE Tool Telelogic Tau G2 Developer Modellierung von Echtzeitsystemen mit dem UML CASE Tool Telelogic Tau G2 Developer Holger Sinnerbrink Einführung Firmenentwicklung Gründung von Telelogic 1983 als Forschungs- und Entwicklungsabteilung

Mehr

7. Analyse-Phase: Datenmodellierung Software Engineering

7. Analyse-Phase: Datenmodellierung Software Engineering 7. Analyse-Phase: Datenmodellierung Software Engineering Hochschule Darmstadt Haardtring 100 D-64295 Darmstadt Prof. Dr. Bernhard Humm Hochschule Darmstadt, 20. November 2006 Einordnung in den Kontext

Mehr

Prüfung Software Engineering I (IB)

Prüfung Software Engineering I (IB) Hochschule für angewandte Wissenschaften München Fakultät für Informatik und Mathematik Studiengruppe IB 3 A Wintersemester 2014/15 Prüfung Software Engineering I (IB) Datum : 21.01.2015, 14:30 Uhr Bearbeitungszeit

Mehr

SEQUENZDIAGRAMM. Christoph Süsens

SEQUENZDIAGRAMM. Christoph Süsens SEQUENZDIAGRAMM Christoph Süsens DEFINITION Das Sequenzdiagramm gibt Auskunft darüber: Welche Methoden für die Kommunikation zwischen ausgewählten Objekten zuständig sind. Wie der zeitliche Ablauf von

Mehr

Rahmenbedingungen und Integrationsvoraussetzungen

Rahmenbedingungen 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

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In

Mehr

Hochschule Darmstadt Fachbereich Informatik. Softwaretechnik II. 4.1 Darstellung der Architektur

Hochschule Darmstadt Fachbereich Informatik. Softwaretechnik II. 4.1 Darstellung der Architektur Hochschule Darmstadt Fachbereich Informatik Softwaretechnik II 4.1 Darstellung der Architektur Darstellung der Architektur Was macht ein Architekt? Viele Pläne! Endkunde Elektro Bauarbeiter Sanitär Softwaretechnik

Mehr

Programmieren in Java

Programmieren 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

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren Unified Modeling Language (UML) Dr. Dennis Pfisterer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/pfisterer Unified Modeling Language (UML)

Mehr

Prof. Dr. Uwe Schmidt. 21. August 2007. Aufgaben zur Klausur Objektorientierte Programmierung im SS 2007 (IA 252)

Prof. Dr. Uwe Schmidt. 21. August 2007. Aufgaben zur Klausur Objektorientierte Programmierung im SS 2007 (IA 252) Prof. Dr. Uwe Schmidt 21. August 2007 Aufgaben zur Klausur Objektorientierte Programmierung im SS 2007 (IA 252) Zeit: 75 Minuten erlaubte Hilfsmittel: keine Bitte tragen Sie Ihre Antworten und fertigen

Mehr

3.4 Unified Process. 1999 Ivar Jacobson, Grady Booch, James Rumbaugh: The Unified Software Development Process.

3.4 Unified Process. 1999 Ivar Jacobson, Grady Booch, James Rumbaugh: The Unified Software Development Process. 1999 Ivar Jacobson, Grady Booch, James Rumbaugh: The Unified Software Development Process. 1996 Philippe Kruchten: Rational Unified Process Produkt der Firma Seit 2002 Teil des IBM Konzerns Objektorientiertes

Mehr

Objektorientierter Software-Entwurf Grundlagen 1 1. Analyse Design Implementierung. Frühe Phasen durch Informationssystemanalyse abgedeckt

Objektorientierter 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

Mehr

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag

Ü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:

Mehr

Grundkonstrukte der Objektorientierung in Java, C# und C++

Grundkonstrukte der Objektorientierung in Java, C# und C++ Grundkonstrukte der Objektorientierung in Java, C# und C++ 2 Viele Patterns basieren auf einer Kombination einiger zentraler Modellierungskonstrukte, namentlich auf Schnittstellen- und Implementierungsvererbung

Mehr

Vorlesung Objektorientierte Softwareentwicklung. Kapitel 0. Java-Überblick

Vorlesung Objektorientierte Softwareentwicklung. Kapitel 0. Java-Überblick Vorlesung Objektorientierte Softwareentwicklung Sommersemester este 2008 Kapitel 0. Java-Überblick Was sind die Ziele? Warum Java? Komplexe Anwendungen e-business verteilt zuverlässig sicher mobil persistent

Mehr

Ministerium für Kultus, Jugend und Sport Baden-Württemberg

Ministerium für Kultus, Jugend und Sport Baden-Württemberg Anlage zu 45-6512-2420/31 Ministerium für Kultus, Jugend und Sport Baden-Württemberg Schulversuch 51-6624.20/100 (früher: /84) vom 26. August 2003 Lehrpläne für das berufliche Gymnasium der sechs- und

Mehr

UML (Unified Modelling Language) von Christian Bartl

UML (Unified Modelling Language) von Christian Bartl UML (Unified Modelling Language) von Inhaltsverzeichnis Inhaltsverzeichnis... 2 1 UML Unified Modelling Language... 3 2 Diagrammtypen... 3 2.1 Aktivitätsdiagramm... 3 2.1.1 Notation... 4 2.1.2 Beispieldiagramm...

Mehr

EPK Ereignisgesteuerte Prozesskette

EPK Ereignisgesteuerte Prozesskette Ausarbeitung zum Fachseminar Wintersemester 2008/09 EPK Ereignisgesteuerte Prozesskette Referent: Prof. Dr. Linn Ausarbeitung: Zlatko Tadic e-mail: ztadic@hotmail.com Fachhochschule Wiesbaden Fachbereich

Mehr

C++11 C++14 Kapitel Doppelseite Übungen Musterlösungen Anhang

C++11 C++14 Kapitel Doppelseite Übungen Musterlösungen Anhang Einleitung Dieses Buch wendet sich an jeden Leser, der die Programmiersprache C++ neu lernen oder vertiefen möchte, egal ob Anfänger oder fortgeschrittener C++-Programmierer. C++ ist eine weitgehend plattformunabhängige

Mehr

Softwareentwicklungsprozess im Praktikum. 23. April 2015

Softwareentwicklungsprozess im Praktikum. 23. April 2015 Softwareentwicklungsprozess im Praktikum 23. April 2015 Agile Softwareentwicklung Eine agile Methodik stellt die beteiligten Menschen in den Mittelpunkt und versucht die Kommunikation und Zusammenarbeit

Mehr

Kapitel 2: Der Software-Entwicklungsprozess

Kapitel 2: Der Software-Entwicklungsprozess Wie konstruiert man Software? Kapitel 2: Der Software-Entwicklungsprozess SoPra 2008 Kap. 2: Der Software-Entwicklungsprozess (1/10) Der Software-Entwicklungs-Prozess Historisches 1960JJ adhoc Techniken

Mehr