ALLG. METHODEN DES SOFTWAREEINGINEERING
|
|
- Gerhardt Böhler
- vor 8 Jahren
- Abrufe
Transkript
1 Grundlagen und Prinzipien des Software-Entwurfs ALLG. METHODEN DES SOFTWAREEINGINEERING
2 Ziele der Veranstaltung (I) Grundlagen und Begrifflichkeiten Prinzipien des Architekturentwurfs Modulare Dekomposition Objektorientierte vs. Funktionsorientierte Zerlegung 2
3 Ziele der Veranstaltung (II) Einführung in die Objektorientierte Modellierung Klassen und Objekte Assoziation, Aggregation, Komposition, Vererbung Modellierung von Klassendiagrammen mit UML Empfehlungen beim Arbeiten mit UML Ermittlung von Klassen und Attributen Ermittlung von Assoziationen und Spezialisierungen 3
4 Entwurf Übersicht Entwurf basiert auf dem Pflichtenheft/Spezifikation und ist eine Arbeitsvorlage für den Entwicklungsprozess Entwurf berücksichtigt die technischen Gegebenheiten und beschreibt das grobe WIE Entwurf wird schon mit Blick auf die nachher bei der Implementierung verfügbaren Möglichkeiten durchgeführt werden Entwurf legt die Architektur, Komponenten, Schnittstellen und anderer Merkmale der Zielsoftware fest 4
5 Entwurf Ziele des Entwurfs Gliederung des Systems in überschaubare Einheiten Komplexität verringern Definition der Systemkomponenten Festlegung der Lösungsarchitektur Erarbeitung einer geeigneten Architektur Festlegung der Schnittstellen/Abhängigkeiten Hierarchische Gliederung Arbeitsteiliges Entwickeln vorbereiten 5
6 Ein guter Entwurf braucht Klare, strukturierte und iterative Vorgehensweise Wissen über die fachlichen Anforderungen Wissen über die Gegebenheiten (Technik, Menschen, Prozesse) Skills Fähigkeiten zur Abstraktion und Dekomposition Wissen über die Einsatztechnologie, min. Imperative Programmierung Beherrschen von Entwurfmustern (Patterns) Beherrschung von Notationen wie UML, ER, PAP, 6
7 Entwurf Systematische und iterative Vorgehensweise Bildung dynamischer und statischer Komponenten Festlegung der Hierarchie Und der Kommunikation/ Interaktion Zerlegung Revision Änderung Des Vorschlags Verfeinerung der Zerlegung Überprüfung Anhand von aktuellen Anforderungen 7
8 Bedienoberfläche Begrifflichkeiten im Entwurf Die Entwicklungsrichtung Aufgabe, Problem top-down outside-in bottom-up inside-out System-Software, -Hardware 8
9 Die Entwicklungsrichtung Top-down: vom Abstrakten zum Konkreten Bottom-up: vom Konkretem zum Abstrakten Outside-in: Modellierung der Umwelt > Modellierung der Systeminterna Inside-out: Modellierung der Systeminterna > Modellierung der Schnittstellen zur Umwelt 9
10 Die Entwicklungsrichtung Vor- und Nachteile Top-down + Konzentration auf das Wesentliche möglich + Strukturierte Zusammenhänge werden leichter erkannt - Es wird hohes Abstraktionsvermögen benötigt - Vage Entscheidungen werden an tiefere Ebenen weitergereicht Bottom-up + Es ist eine konkrete Ausgangsbasis vorhanden + Eine Begrenzung auf konkrete Teilgebiete ist möglich - Es muss eine breite Basis gelegt werden, um das Ziel sicher zu erreichen 10
11 Die Entwicklungsrichtung Vor- und Nachteile Outside-In + Konzentration auf die Umwelt + Beziehungen zur Außenwelt werden nicht übersehen - Die Außenwelt lenkt von internen Problem ab - Die Wiederverwendbarkeit wird erschwert Inside-out + Strukturierungen stehen im Mittelpunkt - Gefahr, dass Anforderungen der Umwelt übersehen oder zu spät erkannt werden 11
12 Begrifflichkeiten im Entwurf System und Systemelemente Ein System ist ein Ausschnitt aus der realen gedanklichen Welt, bestehend aus Systemkomponenten bzw.. Subsystemen, die untereinander in verschiedenen Beziehungen stehen Balzert, H. (2009) Systemteile bzw.. Bausteine, die nicht zerlegbar sind oder zerlegt werden sollten, werden als Systemelemente bezeichnet 12
13 Begrifflichkeiten im Entwurf Software-Architektur Softwarearchitektur wird als eigenständige Ebene betrachtet, die verschiedene Sichten auf ein Programmsystem beschreibt die äußere Ausgestaltung den inneren Aufbau Äußere Architektur Verbindung mit Komponenten des Basissystems Bindung an Bibliotheken und Rahmenwerke Innere Architektur Die statische Sicht als Zerlegung in Entwurfseinheiten Die dynamische Sicht als Interaktion von Komponenten 13
14 Software-Architektur Architektur hängt von Gegebenheiten ab Gibt es eine allgemeine Anwendungsarchitektur die als Schablone dienen kann? Welcher architektonischer Typ oder welche Typen sind für das System geeignet? Wie lautet der grundlegende Ansatz zur Strukturierung des Systems? Wie werden die strukturellen Einheiten im System in Module zerlegt? Wie soll die Systemarchitektur dokumentiert werden? und natürlich die Anforderungen an das System 14
15 Software-Architektur wird durch mehrere Modelle beschrieben (Auszug) Ein statisches Strukturmodell Ein dynamischen Prozessmodell Ein Schichtenmodell Diverse Beziehungsmodelle Ein Verteilungsmodell 15
16 Begrifflichkeiten im Entwurf Architekturmuster Dokumentation und Wiederverwendung von bewährten Mustern auf einer sehr hohen Abstraktionsebene Programmiersprachen- und Technologie-neutral Abhängig von den Gegebenheiten und vorhanden Werkzeugen Beispiele: Drei-Schichten-Architektur, Model-View-Controller- Architektur 16
17 Begrifflichkeiten im Entwurf Entwurfsmuster Lösungen für gängige Entwurfsprobleme Werden auf der Ebene des Feinentwurfs von Komponenten eingesetzt Unabhängig von einer Programmiersprache Meistens objektorientierte Konzepte als Grundlage Beispiel: Beobachter, Singleton (Implementierung später) 17
18 Prinzipien des Architekturentwurfs Prinzip der Abstraktion Abstraktion /Abstrahieren Verallgemeinerung und Loslösen vom Dinglichen Absehen vom Konkreten, Besonderen und Einzelnen Herausgeben des Wesentlichen aus dem Zufälligen Erkennen gleicher Merkmale Erstellen eines Modells der realen Welt Beispiel: Klaus Mustermann besitzt ein Giro-Konto und ein Sparbuch-Konto
19 Prinzipien des Architekturentwurfs Prinzip der modularen Dekomposition Modulare Dekomposition beschreibt die Zerlegung des System in logische / physikalische Einzelteile (~7) Klassifikation in Funktionale Module Bsp.: Funktionsbibliotheken wie Math > math.pow() Datenobjektmodule Bsp.: Datenbanken Datentypmodule Bsp.: Datentypen wie Kunde, Artikel 19
20 Modulare Dekomposition Generelle Vor- und Nachteile Vorteile Kapselung des Subsystems (Sichtbarkeit) Keine Schwierigkeiten bei internen Änderungen Nachteile Erhöhte Rechenzeit Hohe Anforderungen an die Doku/ Konfiguration durch hohe Modularisierung 20
21 Modulare Dekomposition Objektorientierte Zerlegung Aufteilung des Systems in Module mit eigenem Zustand und Operationen System besteht aus lose gekoppelten Objekten mit genau definierten Schnittstellen Objekte repräsentieren real existierende Gegenstände Objekte benutzen die Dienste anderer Objekte 21
22 Modulare Dekomposition Funktionsorientierte Zerlegung Funktionale Transformationen von Daten: Eingangsdaten > Transformation > Ausgangsdaten Mehrere Funktionen/Prozesse verarbeiten sequentiell oder parallel Informationen 22
23 Modulare Dekomposition Vorteile Objektorientierte Zerlegung Teile und Herrsche -Prinzip Kapselung von Daten bzw.. Wissen Funktionsorientierte Zerlegung Intuitiv, da Reihenfolge von Verarbeitungen Transformationen können hinzugefügt bzw. entfernt werden 23
24 Modulare Dekomposition Nachteile Objektorientierte Zerlegung Funktionsorientierte Zerlegung Abstrakt, da keine Reihenfolge Anforderungen an die Schnittstellen (Doku) Verteilung des Objektwissens auf mehrere Funktionen Kann sehr unüberschaubar werden Überlappende Teilfunktionen 24
25 Prinzipien des Architekturentwurfs Kopplung Kopplung beschreibt die Abhängigkeit zwischen Modulen, z.b. durch Ablaufsteuerung oder gemeinsam benutzte Daten Ziel beim Entwurf: die Kopplung zwischen Modulen möglichst gering zu gestalten -> lose Kopplung Die Kopplung zwischen den Modulen soll über die parametrisierte Operation erfolgen zustandsändernde Prozeduren wertliefernde Operationen 25
26 Prinzipien des Architekturentwurfs Geheimnisprinzip - Information hiding Eine Technik zur Modularisierung von Software-Systemen Verfolgt den Need-to-know-Prinzip, Informationen, die nicht verwendet werden dürfen, werden nicht zugänglich gemacht Zugriff auf die Informationen über Operationen Das Modul entscheidet selbst wer auf seine Attribute lesend und schreibend zugreifen darf wie lesend und schreibend zugegriffen werden darf. 26
27 Information Hiding Beispiel: Klasse Konto in Java class Konto { private int kontonr; private double kontostand; public Konto(int nr) { kontonr = nr; } public void abheben(double betrag) {... } } public double kontostandabfragen() {... } 27
28 Prinzipien des Architekturentwurfs Trennung von Zuständigkeiten Konzentration von Komponenten auf bestimmte Aufgabenbereiche Ziel: keine Komponenten, die in mehreren Bereichen agieren Kriterien zur Trennung bzw. Zusammenlegung von Modulen Zusammengehörende Daten und Operationen (Klassen) Funktionale Aspekte (Features) Trennung von Funktionalität und Interaktionen (MVC) 28
29 Prinzipien des Architekturentwurfs Trennung von Funktion und Interaktion GUI-intensiven Programmteile können Interaktions- und funktionalen Anweisungen beinhalten Schlechte Lesbarkeit des Programmcodes Sehr hoher Wartungsaufwand bei kleinen Änderungen Keine direkte Wiederverwendung von Geschäftslogiken in anderen Darstellungskonzepten Ziel: Trennung der Darstellung inkl. der Interaktion von der Anwendungs-/Geschäftslogik Werkzeug: Model-View-Controller-Pattern 29
30 Entwurf Wo fange ich an? 30
31 31
32 Was ist Objektorientierung? Objektorientierung ist ein Paradigma, eine Sichtweise auf komplexe Systeme (nicht neu, seit 60er Jahren) Ziel: Verringerung der Komplexität, bessere Handhabung folgende Merkmale aufweist Unterstützung von Vererbungsmechanismen Unterstützung von Datenkapselung Unterstützung von Polymorphie Objektorientierten Sprachen (Auszug): Java, C#, Smalltalk 32
33 Objektorientierung Vorteile Realitätsnahe Modellierung und Modellbasierte Entwicklung Konzepte und Notation der Analyse gelten auch in Entwurf und Implementierung Kapsellung des Wissens in der Klassen bzw. im Objekt Steigerung der Wartbarkeit und Wiederverwendbarkeit des Codes 33
34 Objektorientierung Nachteile Die Nachteile sind vorhanden, spielen aber heute keine bedeutende Rollen mehr Großer Speicherbedarf und Verarbeitungsaufwand Speicherverwaltung erforderlich (dynamische Bindung) Anwendung / Portierung des Paradigma auf andere Problembereiche 34
35 Elemente objektorientierter Architektur Übersicht Statik Klasse und Objekt Beziehungen zwischen Klassen bzw. Objekten Merkmale Verhalten Zustand Lebenszyklus 35
36 Elemente objektorientierter Architektur Klassen Eine Klasse = eine abstrakte Beschreibung bzw. Schablone von Gegenständen und Sachverhalten Klassen sind Baupläne für Objekte / reale Gegenstände Klassen definieren Eigenschaften und Methoden von Objekten Zu einer Klasse können beliebig viele Objekte erzeugt werden 36
37 Elemente objektorientierter Architektur Objekte Ein Objekt ist eine konkrete Ausprägung einer Klasse (Instanz der Klasse), ein Objekt wird instanziiert Objekte enthalten Eigenschaften und Methoden von Klassen Ein Objekt besitzt eine Identität! Ein Objekt besitzt Zustände und einen Lebenszyklus Beispiel: Bauplan > Haus (hier kann man wohnen) 37
38 Elemente objektorientierter Architektur Zustände und Verhalten Der Zustände eines Objekt wird über die Attribute ausgedrückt Das Verhalten eines Objekts wird über seine Operationen beschrieben 38
39 Fragen bei der objektorientierten Modellierung Welche Objekte benötigen wir? Welche Merkmale besitzen diese Objekte? Wie lassen sich diese Objekte klassifizieren? Welche Assoziationen bestehen zwischen den Klassen? Wie wirken die Objekte global zusammen? In welchen Zuständen befinden sich die Objekte? 39
40 Unified Modeling Language (UML) hilft beim Beantworten der Fragen Standard der Object Management Group UML ist keine Methode, sondern definiert eine Notation und Semantik zur Visualisierung, Konstruktion und Dokumentation von Modellen Konzipiert für die Geschäftsprozessmodellierung und für die objektorientierte Softwareentwicklung 40
41 UML Ein Produkt der Evolution M. Jeckle: UML 2.0. Modellierung 2004, Marburg 41
42 Objektorientierte Modellierung mit UML Diagrammtypen (Auszug) Anforderungen an das System Use-Case-Diagramm Logischer Aufbau des Systems (Statische Sicht) Klassendiagramm Kollaborationsdiagramm Interaktionen und Abläufe (Dynamische Sicht) Aktivitätsdiagramm Sequenzdiagramm Zustandsdiagramm 42
43 Objektorientierte Modellierung mit UML Werkzeugunterstützung 43
44 Klassendiagramm Übersicht Grafische Darstellung / Modellierung von Klassen, Schnittstellen und deren Beziehungen Zusammenstellung deklarativ-statischer Modellelemente (Klassen, Typen, ihre Inhalte und Beziehungen) Zwei wesentliche Elemente: Klasse und Objekt Ersetzt oftmals das klassische Datenmodell (Entity Relationship) 44
45 Klassendiagramm Aufbau Klassenname Attribute/ Eigenschaften Parameter Operationen/ Methoden Rückgabewert 45
46 Klassendiagramm Aufbau Rolle bzw. Eigenschaft Beziehungsname Operationen-Bereich Multiziplität Attributen-Bereich 46
47 Klassendiagramm Beispiel 47
48 Aufbau Klassendiagramm Sichtbarkeit von Attributen und Operationen Der Sichtbarkeitsbereich für Attribute und Dienste + public sichtbar für alle Systemteilnehmer - private sichtbar nur innerhalb der Klasse # protected sichtbar nur innerhalb der Klasse und für alle Unterklassen ~ package sichtbar nur innerhalb des Packet. Grundsätzlich sollten Variablen immer auf private gesetzt werden > Zugriff soll über Methoden erfolgen 48
49 Konkrete Implementierung Beispiel: Klasse Konto in Java class Konto { private int kontonr; private double kontostand; public Konto(int nr) { kontonr = nr; } public void abheben(double betrag) {... } } public double kontostandabfragen() {... } 49
50 Konkrete Implementierung Beispiel: Instanziieren der Objekte in Java public static void main(string[] args) { Konto konto1 = new Konto(123456); konto1.abheben(1000.0); } Konto konto2 = new Konto(234567); konto2.abheben(2000.0); 50
51 Beziehungen Assoziation Assoziation = semantische Beziehung zweier Klassen Zwei Klassen/Objekte sind assoziiert, wenn das eine Methoden von dem anderen aufruft. Eine Klasse/Objekt nutzt die Dienste einer anderen Klasse/Objekt Beziehung von zwei unabhängigen Objekten, um ein gemeinsames Ziel zu erreichen Objekte bestehen weiterhin unabhängig voneinander fort auch nach dem Erreichen des Ziels Beschreibbar über: "benutzt ein/e", "ist zugeordnet zu" und "hat eine Beziehung zu 51
52 Assoziationen Beispiel: Eine Person benutzt ein Computer Assoziationsname Assoziation 52
53 Assoziationen Beispiel: Kunde und Auto stehen im Mietverhältnis 53
54 Assoziationen Navigierbarkeit Assoziationen können nicht gerichtet und gerichtet sein Keine Aussage zur Navigierbarkeit zwischen der Klasse Person und Konto Person Konto Navigieren von Person nach Konto verboten Person Konto Navigieren von Person nach Konto erlaubt Person Konto In der Praxis wird typischerweise unidirektionale Navigierbarkeit unterstützt 54
55 Assoziationen Multiplizität Ausdruck wie viele Objekte ein Objekt halten kann Intervall von nicht-negativen, ganzen Zahlen Untergrenze >= anzahl <= Obergrenze * ^= unendlich Multiplizität 55
56 Assoziationen Mini-Übung 56
57 Beziehungen Vererbung, Generalisierung und Spezialisierung Modellierung der realen Welt in ihren Strukturen Vorteile Hierarchische Begriffsklassifizierung Wiederverwendung von bereits vorhandenem Wissen Wiederverwendung von existierendem Code Einfachere Wartung Beschreibbar über: "ist ein/e" 57
58 Vererbung Beispiel Kraftfahrzeug PKW Van LKW Coupé Cabrio Kombi 58
59 Vererbung Generalisierung und Spezialisierung Basisklasse Superklasse Person erbt von = Spezialisierung Kunde Mitarbeiter Diskriminator Vertragsverhältnis Privat Kunde Praktikant Angestellter Subklasse Leitender Angestellter 59
60 Vererbung Weitere Beispiele 60
61 Vererbung Weitere Beispiele 61
62 Vererbung Beispiel: Java-Programm ohne Vererbung class Angestellter { private String name; private double gehalt; private Date geburtsdatum; } public String liefereangaben() {... } class Abteilungsleiter { private String name; private double gehalt; private Date geburtsdatum; private String abteilung; public String liefereangaben() {... } public void befördern(angestellter a){... }; } 62
63 Vererbung Beispiel: Java-Programm mit Vererbung 63
64 Vererbung Beispiel: Java-Programm mit Vererbung class Angestellter { private String name; private double gehalt; private Date geburtsdatum; public String liefereangaben() {... } } class Abteilungsleiter extends Angestellter { } private String abteilung; public void befördern { }... (Angestellter a) 64
65 Beziehungen Aggregation Aggregation beschriebt eine Abhängigkeit Physische Aggregation: Das Analyseobjekt besteht aus Teilen. Der Motor ist Teil eines Autos (Komposition) Logische Aggregation: Begriffliche Objekte werden als ein Teil angesehen. Die Adresse gehört zu einer Person. 65
66 Aggregation Beispiel: Der Motor ist Teil eines Autos 66
67 Aggregation Beispiel Ein Bus befördert Fahrgäste 67
68 Beziehungen Komposition Eine Komposition stellt eine strengere Beziehung als eine Assoziation dar Bei einer Komposition enthält ein Ganzes-Objekt ein Teil-Objekt. Bei einer Komposition enthält ein Objekt ein anderes. Für das enthaltene Objekt macht eine selbständige Existenz keinen Sinn. Beschreibbar über: "hat ein/e" bzw. "besteht aus" Beispiel: Ein Beispiel für eine Komposition wäre ein Bleistift und seine Mine 68
69 Komposition Beispiele 69
70 Aggregation und Komposition Mini-Übung 70
71 Modellierung von Klassendiagrammen Methodik Finde Klassen Identifiziere Klassen über die Substantivmethode Identifiziere Substantive Identifiziere Synonyme, Akronyme und Fachbegriffe Identifiziere Homonyme Kategorisiere und filtriere die Substantive Wähle aussagefähige und verbindliche Klassennamen Dokumentiere jede Klasse in einem Satz 71
72 Modellierung von Klassendiagrammen Methodik Finde Attribute Identifiziere Attribute im Anschluss an die Substantivmethode Fasse Adjektive zu Attributen zusammen Überprüfe den Attributnamen (Substantiv, konkret, kein Homonym) Definiere den Typ der Attribute (int, double, Konto,..) Überprüfe die Attribute auf fachliche bzw. technische Lücken Füge Informationen hinzu, die vom System ermittelt werden können Füge Informationen hinzu, die für spätere Verarbeitung verwendet werden können 72
73 Modellierung von Klassendiagrammen Methodik Finde Assoziationen Identifiziere mögliche Assoziationen zwischen Objekten (Verben und prozessbeschreibende Substantive) Ermittle die Abhängigkeit zwischen den Klassen nur Assoziation? Aggregation? Komposition? Bestimme die Kardinalität jeder Rolle jeder Assoziation Muss-Beziehung -> 1.. Kann-Beziehung -> 0... Ober/Untergrenzen -> n...m 73
74 Literaturquellen Ludewig, J., Lichter, H.: Software Engineering. Grundlagen, Menschen, Prozesse, Techniken Balzert, H.: Lehrbuch der Software-Technik: Basiskonzepte und requirements engineering Pomberger, G., Blasckek, G.: Software Engineering. Prototyping und objektorientierte Software-Entwicklung Sommerville, I.: Software Engineering 74
75 Übung 75
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
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
MehrObjektorientierte Programmierung OOP
Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Ronja Düffel WS2012/13 08. Oktober 2013 Objektorientierte Programmierung OOP Objektorientierte Programmierung Objektorientierte
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
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,
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
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
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
Mehr09.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)
MehrVorlesung 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)
MehrDaniel Warneke warneke@upb.de 08.05.2006. Ein Vortrag im Rahmen des Proseminars Software Pioneers
Design Patterns Daniel Warneke warneke@upb.de 08.05.2006 Ein Vortrag im Rahmen des Proseminars Software Pioneers Design Patterns 1/23 Übersicht Einleitung / Motivation Design Patterns Beispiele Rolle des
MehrEinfü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
MehrVorlesung "Software-Engineering"
Vorlesung "Software-Engineering" Rainer Marrone, TUHH, Arbeitsbereich STS Vorige Vorlesung Pflichtenheft (requirements specification document) Charakterisierung von Software-Qualität Detaillierte Anforderungsanalyse
MehrUML 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,
MehrSoftware Engineering
Literatur Gliederung Software Engineering Herbert Kuchen Universität Münster Di+Fr 14:15-15:45, M2 Wintersemester 2009/2010 1 Literatur Gliederung Basis-Literatur H. Balzert: Lehrbuch der Software-Technik,
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
MehrOO 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
MehrUnified 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
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
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
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:
Mehr4. 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 ++) {
Mehra) In der Aufgabenstellung war ein möglichst einfaches Klassendiagramm gefordert. Abb. 1 zeigt eine mögliche Lösung. * * * Aufbau 1..
Software Engineering I Musterlösungen zur Klausur vom 3.7.2004 Aufgabe a) In der Aufgabenstellung war ein möglichst einfaches Klassendiagramm gefordert. Abb. zeigt eine mögliche Lösung. Turnier sportart
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
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
MehrKapitel 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
MehrSoftware Engineering. Sommersemester 2012, Dr. Andreas Metzger
Software Engineering (Übungsblatt 2) Sommersemester 2012, Dr. Andreas Metzger Übungsblatt-Themen: Prinzip, Technik, Methode und Werkzeug; Arten von Wartung; Modularität (Kohäsion/ Kopplung); Inkrementelle
MehrSoftware-Engineering
FH Wedel Prof. Dr. Sebastian Iwanowski SWE2 Folie 1 Software-Engineering Sebastian Iwanowski FH Wedel Kapitel 2: Grundbegriffe und Prinzipien FH Wedel Prof. Dr. Sebastian Iwanowski SWE2 Folie 2 Grundbegriffe
Mehr3. 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Ü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
Mehr2. Tutorium zu Softwaretechnik I
2. Tutorium zu Softwaretechnik I Lastenheft, Durchführbarkeitsuntersuchung und Klassendiagramme Michael Hoff 06.05.2014 INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION KIT Universität des Landes
MehrKlassendiagramm. (class diagram)
: Klassendiagramm http:///topic95.html Klassendiagramm (class diagram) Klassendiagramm Objektdiagramm Komponentendiagramm Kompositionsstrukturdiagramm Verteilungsdiagramm Einstieg Paketdiagramm Aufbau
MehrRequirements 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
MehrGroß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,
MehrInformationssystemanalyse Lebenszyklusmodelle 3 1. Lebenszyklusmodelle sollen hauptsächlich drei Aufgaben erfüllen:
Informationssystemanalyse Lebenszyklusmodelle 3 1 Aufgaben von Lebenszyklusmodellen Lebenszyklusmodelle sollen hauptsächlich drei Aufgaben erfüllen: Definition der Tätigkeiten im Entwicklungsprojekt Zusicherung
MehrSoftware-Engineering
SWE5 Slide 1 Software-Engineering Sebastian Iwanowski FH Wedel Kapitel 5: Systementwurf SWE5 Slide 2 Systemanalyse vs. Softwareentwurf Systemanalyse beschreibt das System der Anwendung, für das eine Aufgabe
MehrKapitel 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
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
MehrEINFÜ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
MehrBEISPIELKLAUSUR Softwareentwicklung:
Prof. Dr. Andreas Fink Institut für Informatik Fakultät für Wirtschafts- und Sozialwissenschaften Helmut-Schmidt-Universität / Universität der Bundeswehr Hamburg BEISPIELKLAUSUR Softwareentwicklung: Objektorientierte
MehrSoftwarepraktikum: Enigma
Softwarepraktikum: Enigma Martin Steffen Sommersemester 2003 Abschnitt I Softwareentwurf Bereiche der Softwareentwicklung 1 Softwareentwurf eigentliche Softwareentwicklung Projektmanagement Konfigurationsmanagement
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
MehrGI-Technologien zur Umsetzung der EU-Wasserrahmenrichtlinie (WRRL): Wissensbasen. Teil 1: Einführung: Wissensbasis und Ontologie.
GI-Technologien zur Umsetzung der EU-Wasserrahmenrichtlinie (WRRL): Wissensbasen Teil 1: Einführung: Wissensbasis und Ontologie Was ist eine Wissensbasis? Unterschied zur Datenbank: Datenbank: strukturiert
Mehr1 Informationelle Systeme begriffliche Abgrenzung
1 Informationelle Systeme begriffliche Abgrenzung Im Titel dieses Buches wurde das Wort Softwaresystem an den Anfang gestellt. Dies ist kein Zufall, denn es soll einen Hinweis darauf geben, dass dieser
MehrSoftware Engineering. 3. Analyse und Anforderungsmanagement
Software Engineering 3. Analyse und Anforderungsmanagement Gliederung Vorlesung Einführung V-Modell XT Analyse und Anforderungsmanagement Benutzungsoberflächen Architektur Entwurf Entwurfsmuster Persistenz
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
Mehr17 Architekturentwurf Vorgehen und Dokumentation
17 Architekturentwurf Vorgehen und Dokumentation 17.1 Einbettung Aber Erster Schritt der Lösung Wenn Anforderungsspezifikation vorliegt Vorgabe für Codierung Hierarchische Verzahnung von Anforderungen
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
MehrFachgebiet 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
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
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
Mehr5.5.8 Öffentliche und private Eigenschaften
5.5.8 Öffentliche und private Eigenschaften Schnittstellen vs. Implementierungen: Schnittstelle einer Klasse beschreibt, was eine Klasse leistet und wie sie benutzt werden kann, ohne dass ihre Implementierung
MehrDatenbankmodelle 1. Das Entity-Relationship-Modell
Datenbankmodelle 1 Das Entity-Relationship-Modell Datenbankmodelle ER-Modell hierarchisches Modell Netzwerkmodell relationales Modell objektorientierte Modelle ER Modell - 2 Was kann modelliert werden?
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
MehrSoftwareentwicklungspraktikum Sommersemester 2007. Grobentwurf
Softwareentwicklungspraktikum Sommersemester 2007 Grobentwurf Auftraggeber Technische Universität Braunschweig
Mehr4. Übung zu Software Engineering
4. Übung zu Software Engineering WS 2009/2010 Henning Heitkötter Klassendiagramm: Projektmanagement AUFGABE 10 1 OOA-Methode von Heide Balzert 1. Klassen finden 2. Assoziationen und Kompositionen finden
MehrEinfü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
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??
MehrPrinzipien 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........................
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
MehrSoftware 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
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
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
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++,
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
Mehr7. Objektorientierte Softwareentwicklung/3. Informatik II für Verkehrsingenieure
7. Objektorientierte Softwareentwicklung/3 Informatik II für Verkehrsingenieure Überblick FOLGENDE BEGRIFFE/PRINZIPIEN SOLLTEN BEKANNT SEIN Objekte Klasse Attribute Fähigkeiten ZIEL DER HEUTIGEN LEHRVERANSTALTUNG
Mehr16 Architekturentwurf Einführung und Überblick
Teil III: Software-Architekturentwurf 16 Architekturentwurf Einführung und Überblick 16.1 Software entwerfen Warum? Beim Arbeiten im Kleinen nicht oder nur ansatzweise (Detailentwurf) Größere Software
MehrGrundlagen der Softwaretechnik
Universität Stuttgart Institut für Automatisierungs- und Softwaretechnik Prof. Dr.-Ing. Dr. h. c. P. Göhner PRÜFUNG Grundlagen der Softwaretechnik Musterlösung Name: Matrikelnummer: Note: Prüfungstag:
MehrProgrammieren I. Strategie zum Entwurf von Klassen. Beispiele. Design von Klassen. Dr. Klaus Höppner. Beispiel: Bibliothek
Programmieren I Dr. Klaus Höppner Hochschule Darmstadt Wintersemester 2008/2009 1 / 22 2 / 22 Strategie zum Entwurf von Klassen Beispiele Objektorientierte Sichtweise: Mit welchen Objekten habe ich es
MehrEinfü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
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
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.
MehrKlassenbeziehungen & Vererbung
Klassenbeziehungen & Vererbung VL Objektorientierte Programmierung Raimund Kirner teilweise nach Folien von Franz Puntigam, TU Wien Überblick Arten von Klassenbeziehungen Untertypen versus Vererbung in
MehrGenerative Prozessmodelle Patrick Otto MDD Konferenz 22.03.2009
Generative Prozessmodelle Patrick Otto MDD Konferenz 22.03.2009 Gliederung 1. Generative Programmierung 2. Möglichkeiten und Einsatzgebiet 3. Prozess / Tools 4. Zusammenfassung 19.03.2009 GENERATIVE PROGRAMMIERUNG
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
MehrDas Metamodell der UML und in FUJABA. Vortrag von Alexander Geburzi
Das Metamodell der UML und in FUJABA Vortrag von Alexander Geburzi Gliederung Metamodellierung Metamodell der UML Metamodell in FUJABA Metamodellierung - Metamodell der UML - Metamodell in FUJABA 2/20
MehrEberhard Lehmann: Projekte im Informatik-Unterricht Software Engineering, Ferd. Dümmlers Verlag, Bonn 1995. Inhaltsverzeichnis.
3 Eberhard Lehmann: Projekte im Informatik-Unterricht Software Engineering, Ferd. Dümmlers Verlag, Bonn 1995 Inhaltsverzeichnis Vorwort 5 1. Komplexe Software - Projekte - Software-Engineering 7 1.1 Komplexe
MehrRUP Analyse und Design: Überblick
Inhaltsverzeichnis Übersicht [, 2, 8] 3. Vorgehensweise............................... 5 2 Planungsmethoden 37 2. Definitionsphase.............................. 6 3 Rational Unified Process [5, 6] und
MehrSoftware 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
MehrU08 Entwurfsmuster (II)
U08 Entwurfsmuster (II) Inhalt der Übung Diskussion und Implementierung von Entwurfsmustern Übungsaufgaben Aufgabe 1 (Queue) Gegeben ist das folgende Analysemodell einer Warteschlange (Queue): Eine Warteschlange
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
MehrPrü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,
MehrOrientierte 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?
MehrDie Softwareentwicklungsphasen!
Softwareentwicklung Die Softwareentwicklungsphasen! Die Bezeichnungen der Phasen sind keine speziellen Begriffe der Informatik, sondern den allgemeinen Prinzipien zur Produktion integrierter Systeme entliehen.
MehrGrundlagen Software Engineering
Grundlagen Software Engineering Rational Unified Process () GSE: Prof. Dr. Liggesmeyer, 1 Rational Unified Process () Software Entwicklungsprozess Anpassbares und erweiterbares Grundgerüst Sprache der
MehrObjektorientierte Softwareentwicklung
Objektorientierte Softwareentwicklung Objektorientierte Softwareentwicklung Smalltalk CLOS Ada 9 C++ Objektorientierte Softwareentwicklung Object Pascal Java Oberon-2 Frage: Die Bibliothek der Fachhochschule
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
MehrFACHHOCHSCHULE MANNHEIM
Objektorientierte Programmierung 1. Vorlesung Prof. Dr. Peter Knauber Email: P.Knauber@fh-mannheim.de FACHHOCHSCHULE MANNHEIM Hochschule für Technik und Gestaltung Objektorientierung Was ist das? Warum
MehrSchulcurriculum 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
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:
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
Mehr1.1 Einführung 11. Grundbegriffe der objektorientierten Softwareentwicklung
1.1 Einführung 11 1 Grundbegriffe der objektorientierten Softwareentwicklung 12 1 Grundbegriffe der objektorientierten Softwareentwicklung 1 Grundbegriffe der objektorientierten Softwareentwicklung 1.1
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
MehrArchitekturplanung und IS-Portfolio-
Architekturplanung und IS-Portfolio- management Gliederung 1.Einführung 2.Architekturplanung 3.IS-Portfoliomanagement 4.AP und IS-PM 5.Fazit 2 1. Einführung Problem: Verschiedene Software im Unternehmen
MehrEinführung in die Modellierung
Einführung in die Modellierung Christian Huemer Business Informatics Group Institute of Software Technology and Interactive Systems Vienna University of Technology Favoritenstraße 9-11/188-3, 1040 Vienna,
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
MehrVorkurs 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:
MehrProgrammieren in Java
FG TECHNISCHE INFORMATIK V JV A00 00 TH 0 Programmieren in Java Anhang A A. Modellierung von OOP-Programmen A.. Klassenkategorien A.2. Klassembeziehungen A.3. Klassendiagramm und Sequenzdiagramm der UML
MehrSoftware 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
MehrSystemanalyse. - Folien zur Vorlesung für AI3 im Sommersemester 2010 - -Teil 4 -
Systemanalyse - Folien zur Vorlesung für AI3 im Sommersemester 2010 - -Teil 4 - Hans-Jürgen Steffens (by courtesy of Prof. Dr. Thomas Allweyer) Fachbereich Informatik und Mikrosystemtechnik Fachhochschule
Mehr