SOFTWARE ENGINEERING 2
|
|
- Käthe Abel
- vor 5 Jahren
- Abrufe
Transkript
1 Fakultät Informatik/Mathematik Lehrstuhl für Softwaretechnologie Vorlesungsmitschrift SOFTWARE ENGINEERING 2 Mitschrift von Falk-Jonatan Strube Vorlesung von Prof. Dr. Anna Sabine Hauptmann 27. März 2018
2 INHALTSVERZEICHNIS I. Vorlesung 4 1. Entwurf, Architektur, Risiken Rückblick Prozess und Produkt Struktur Grob- und Feinentwurf System vs Software-System Komplexität Risiko beim Software-Entwurf Fragen bei der Softwarentwicklung Zusammenfassung Module, Schnittstellen, Entwurf, Architektur Komponenten und Module Schnittstellen Entwurf: Prinzipien und Perspektiven Architektur Drei-Schichten-Architektur versus physische Verteilung Model-View-Control Paradigma Entwurfsprinzipien Systemstruktur Struktur im Inneren des Systems Unterstützung von loser Kopplung / innere Bindung Kopplung und Kohäsion Kopplung Kohäsion Beschreibung einer Programmierschnittstelle Langlebige Struktur im inneren System Grundlegende Entwurfsprinzipien Muster Grundlegende Architekturen Schichten / Layer Datenfluss und Filter / Pipes-and-Filters Depot-Architektur Client-Server-Architektur Peer-to-Peer-Architektur Proxy-Pattern (Vermittler/Broker) Säulenarchitektur Säulen-Architektur Säulen-Architektur Reflection Quasar
3 5. Entwurfsmuster Objektorientierte Programmierung Objekt Vererbung Substitutionsprinzip Chancen und Gefahren der Vererbung Entwurfsmuster Erzeugermuster Singleton Prototyp Fabrikmethode II. Praktikum Einführung MVC Notenverwaltung 21 3
4 Fakultät Informatik/Mathematik Lehrstuhl für Softwaretechnologie TEIL I. VORLESUNG 4
5 EINFÜHRUNG BELEGARBEIT Folie 3 Im Protokoll (bei Bedarf) nicht vergessen: Teilnehmende (entschuldigt/unentschuldigt) Festsetzungsprotokoll (wer macht was bis wann?) 5
6 1. ENTWURF, ARCHITEKTUR, RISIKEN 1.1. RÜCKBLICK Vorlesung Folie 7 Folie PROZESS UND PRODUKT Folie STRUKTUR Folie GROB- UND FEINENTWURF Folie SYSTEM VS SOFTWARE-SYSTEM Folie 13 Folie KOMPLEXITÄT Folie 14 6
7 1.7. RISIKO BEIM SOFTWARE-ENTWURF Folie FRAGEN BEI DER SOFTWARENTWICKLUNG Folie ZUSAMMENFASSUNG Folie 23 7
8 2. MODULE, SCHNITTSTELLEN, ENTWURF, ARCHITEKTUR Folie 3 Vorlesung KOMPONENTEN UND MODULE Folie 4 Folie SCHNITTSTELLEN Folie 8 Folie ENTWURF: PRINZIPIEN UND PERSPEKTIVEN Folie 10 Folie ARCHITEKTUR Folie 11 8
9 DREI-SCHICHTEN-ARCHITEKTUR VERSUS PHYSISCHE VERTEILUNG Folie 12 Folie 13 Die Drei-Schichten-Architektur sagt nichts über die physische Verteilung der Schichten aus MODEL-VIEW-CONTROL PARADIGMA Folie 14 ENTKOPPLUNG VON VIEW UND MODEL Folie 16 9
10 3. ENTWURFSPRINZIPIEN 3.1. SYSTEMSTRUKTUR Vorlesung /1 VO03.pdf Folie STRUKTUR IM INNEREN DES SYSTEMS VO03.pdf Folie 3 Kopplung: Einfluss von Außen Kohäsion: Einfluss von Innen (untereinander) VO03.pdf Folie UNTERSTÜTZUNG VON LOSER KOPPLUNG / INNERE BINDUNG Vergleich: Aufteilung in Klassen. VO03.pdf Folie 6 VO03.pdf Folie KOPPLUNG UND KOHÄSION KOPPLUNG VO03.pdf Folie KOHÄSION VO03.pdf Folie 9 10
11 3.5. BESCHREIBUNG EINER PROGRAMMIERSCHNITTSTELLE (bspw. Klassenebene) Jede öffentliche Operation/Funktion braucht: Signatur: Syntax name (...) Wesen: Semantik Was die Operation tut. Vorbedingungen Nachbedingungen Invariante (nicht veränderlich) Protokoll (synchron/asynchron) Kosten (Zeit, Rechenleistung, Dienste[ Geld],... ) Anforderungen (funktional [ Signatur / Wesen], Qualitätsanforderungen [ Vor-/Nachbed. / Invariant / Protokoll], Rahmenbedingungen [ Kosten]) 3.6. LANGLEBIGE STRUKTUR IM INNEREN SYSTEM VO03.pdf Folie 11 Open/Closed Prinzip 3.7. GRUNDLEGENDE ENTWURFSPRINZIPIEN VO03.pdf Folie 12 11
12 4. MUSTER VO04.pdf Folie 9 Vorlesung /2 VO04.pdf Folie 5 VO04.pdf Folie 6 Kategorien von Mustern: Architektur-Unabhängig: Architektur-Muster (im Grobentwurf) Entwurfs-Muster (im Feinentwurf, näher an der Implementierung) Für bestimmte Implementierungen (abhängig von der Sprache): Idiom 4.1. GRUNDLEGENDE ARCHITEKTUREN SCHICHTEN / LAYER VO04.pdf Folie DATENFLUSS UND FILTER / PIPES-AND-FILTERS Daten fließen durch Filter-Komponenten (Beispiele: Compiler, Converter,... ) DEPOT-ARCHITEKTUR In einem Depot sind Informationen, in Anwendungen/Teilsystemen werden diese dargestellt oder verarbeitet (Vergleich: objectif/case Klassendiagramm und Sequenzdiagramm greifen auf Objekte zurück [beim Löschen ist bspw. dann die Frage: Soll die Representation oder das Objekt im Depot gelöscht werden]) CLIENT-SERVER-ARCHITEKTUR Weiterentwicklung der Depot-Architektur: Das Depot verarbeitet nun auch Informationen (bekommt Funktionalität). 12
13 PEER-TO-PEER-ARCHITEKTUR Spezielle Client-Server-Architektur, wo der Client und Server eine Komponente sind PROXY-PATTERN (VERMITTLER/BROKER) Kontext, Problem Netzwerk von Clients und Servern, die Informationen austauschen sollen. Vorlesung Lösungsstrategie und Server(n) Eine spezielle Komponente übernimmt die VERMITTLUNG zwischen Clients Konsequenzen Effizienz sinkt Fehleranfälligkeit steigt Fehlertoleranzmaßnahmen (redundant, Prüf-Funktionalitäten) Kommunikationsaufwand steigt Client Proxy Broker Server Proxy Client Server SÄULENARCHITEKTUR Client (Benutzerschnittstelle) Anwendungslogik Server (Datenbank-Server) SÄULEN-ARCHITEKTUR Client Applikationsserver (Anwendungsserver) DB-Server SÄULEN-ARCHITEKTUR Client Formularerstellung Applikationsserver (Anwendungsserver) DB-Server Client DB-Server Anwendungslogik Client Benutzerschnittstelle Server Datenbank-Server (zentrale Datenhaltung) Applikationsserver (Anwendungsserver) REFLECTION REFLEXIVES SYSTEM, d.h. dynamische Veränderung von Struktur + Verhal- Kontext, Problem ten 13
14 Lösungsstrategie Metaebene Informationen über spezielle Systemeigenschaften Basisebene Anwendungslogik Veränderung in der Metaebene beeinflussen die Basisebene QUASAR Referenzarchitektur Wurde entwickelt bei der Firma sd&m ( , seit 2001 bei Capgemini ). Vorlesung Ziel Trennung von Zuständigkeiten realisieren Programmierung gegen Schnittstellen realisieren Denken in Komponenten fördern Trennung von Zuständigkeiten Definition von SW-KATEGORIEN Ansatz bei Quasar: SW-Komponenten klassifizieren durch SW-Kategorien Trennung von ANWENDUNG und TECHNIK Kategorie A-Software von fachlicher Anwendung bestimmt Kategorie T-Software technische Komponenten, von mindestens einer API bestimmt (DB-anschluss, Technologie der Oberflächenprogrammierung,... ) weitere: Kategorie AT-Software (möglichst vermeiden!) Mischung aus A- und T-Komponenten Kategorie R-Softwaree reserviert für Bausteine, die als Transformator zwischen A- und T-Software liegen Einfache Darstellung: 14
15 UI1... ) Nachbarsysteme Adapter ) ) Anwendungskern A-Software R-Software ( ( Authorisierung Regelinterpreter ) Persistenzframework T-Software DB Detaillierte Darstellung: VO06Quasar.pdf Folie 1 15
16 5. ENTWURFSMUSTER 5.1. OBJEKTORIENTIERTE PROGRAMMIERUNG Vorlesung Instanz (in der Realität) einer abstrakten Bauanleitung Kapselung Vererbung Schnittstelle wird benutzt ( Kapselung) Zusammenführung von Daten und Methoden. Folie OBJEKT Folie 5 Folie 6 Folie VERERBUNG Folie 8 Polymorphie (mit früher/später Bindung) Folie SUBSTITUTIONSPRINZIP Folie 10 16
17 CHANCEN UND GEFAHREN DER VERERBUNG Folie ENTWURFSMUSTER Folie 12 Folie 14 Folie ERZEUGERMUSTER Folie 16 Problem Komplexe Objekte erstellen. Vorlesung Kontext Erzeugung und Darstellung eines Objektes getrennt (Methode der Erzeugung interessiert Client nicht): Konvertierung von Zeichenketten, Erzeugung von Fensteranordnungen [bspw. in Eclipse]. Lösungsstrategie Ein Direktor delegiert das Erbauen an einen Erbauer, der das Produkt dann ausgibt. einfache Erweiterung und gute Kapselung SINGLETON Problem absichern, dass nur ein Objekt instanziiert wird Kontext Zugriff auf zentrale HW-Ressourcen (z.b. eine Instanz einer Drucker-Warteschlange) Lösungsstrategie Anzahl von Instanzen zählen ( wenn 0, dann instanziieren sonst nicht). Variable, die den Wert aufnimmt Kontrollierte Instanziierung im Standardkonstruktor prüfen 17
18 1 Standardkonstruktor privat 2 GibInstanz (){ 3 // prüfen 4 // Aufruf des Standardkonstruktors, abh ä ngig vom Pr ü fergebnis 5 } Singleton - instanz: singleton - singleton(); + GibInstanz(): singleton; PROTOTYP Problem Ein Sachverhalt viele Ausprägungen. Kontext Erzeugung eines neuen Dokuments in Word Dokument wird nach Prototyp (Vorlage) erzeugt Vorlage zur Serienfertigung. Lösung Nur eine Klasse eine Instanz gespeichert beliebig viele Kopien davon können Prototyp erstellt werden. + clone(); FABRIKMETHODE Problem verschieden Produkte mit ähnlichem Aufbau Lösung (abstrakte) Klasse, die einen Grundaufbau für alle Produkte enthält. 18
19 Fakultät Informatik/Mathematik Lehrstuhl für Softwaretechnologie TEIL II. PRAKTIKUM 19
20 1. EINFÜHRUNG MVC INHALTE Wiederholung objectif Persektive: Entwurf technische Sicht Klassendiagramm statische Struktur Darstellung des VERHALTENS (Dynamik, Progress) Sequenzdiagramm Konkretes Beispiel: MVC NOTIZEN Controller und View hängen immer zusammen, da die Art, wie ich kontrolliere abhängig ist von der Art, wie mir zu Kontrollierendes angezeigt wird. Das Klassendiagramm(KD) zeigt mögliche Botschaftswege. Das Sequenzdiagramm(SD) zeigt die zeitliche Reihenfolge konkreter Botschaften (d.h. Methodenaufrufe). Modellelemente: Instanz (Objekt) als Lebenslinie rot: zugeordnete Klasse), schwarz: ohne zugeordnete Klasse verdickt: wenn Instanz an Botschaft beteiligt ist Botschaft Systemgrenze 20
21 2. NOTENVERWALTUNG 1. Methodik: Modell (objectif) Roundtrip-Verfahren Forward Engineering Reverse Engineering Implementation (MS VisualStudio.NET) 2. Architektur: 3-Schichten-Architektur Präsentation Logik Datenhaltung Im objectif: Schichten sind Pakete Paketdiagramm Im VisualStudio: Schichten sind Projekte Projektmappe Vereinbarung: Verbindung der Schichten zwischen objectif und VisualStudio außer bei der Präsentation Dialog bauen MS Visual Studie.NET KD: DBService objectif Paket Typen (Student, Fachnote) objectif Synchronisation: Modell Implementation objectif MS Visual Studio Vorlesung
Auf einen Blick. 1 Einleitung Die Basis der Objektorientierung Die Prinzipien des objektorientierten Entwurfs...
Auf einen Blick Auf einen Blick 1 Einleitung... 15 2 Die Basis der Objektorientierung... 29 3 Die Prinzipien des objektorientierten Entwurfs... 41 4 Die Struktur objektorientierter Software... 67 5 Vererbung
MehrObjektorientierte und Funktionale Programmierung SS 2014
Objektorientierte und Funktionale Programmierung SS 2014 6 Objektorientierte Entwurfsmuster 1 6 Objektorientierte Entwurfsmuster Lernziele Einige wichtige Entwurfsmuster kennen und verstehen Einsatzmöglichkeiten
MehrPraxisbuch Objektorientierung
Bernhard Lahres, Gregor Rayman Praxisbuch Objektorientierung Von den Grundlagen zur Umsetzung Galileo Press 1.1 Was ist Objektorientierung? 11 1.2 Hallo liebe Zielgruppe 12 1.3 Was bietet dieses Buch (und
MehrObjektorientierte Programmierung
Bernhard Lahres, Gregor Rayman Objektorientierte Programmierung Das umfassende Handbuch Galileo Press 1.1 Was ist Objektorientierung? 13 1.2 Hallo liebe Zielgruppe 14 1.3 Was bietet dieses Buch (und was
MehrEinführung in die objektorientierte Programmierung
Einführung in die objektorientierte Programmierung Seminarunterlage Version: 4.04 Copyright Version 4.04 vom 17. Juni 2016 Dieses Dokument wird durch die veröffentlicht. Copyright. Alle Rechte vorbehalten.
MehrCreational Patterns. Seminar Software-Entwurf. Thomas Liro WS 2004/05.
Creational Patterns Seminar Software-Entwurf WS 2004/05 Thomas Liro Inhaltsüberblick Einordnung des Themas Beschreibung von Design Pattern Auswahl von Design Patterns Was sind Creational
MehrObjektorientierte Programmierung (OOP)
orientierte Programmierung (OOP) 1. Motivation Die objektorientierte Sichtweise der Welt Als Motivation für die OOP sieht man sich am besten die reale Welt an: Die reale Welt besteht aus "en", z. B.: Gegenstände,
MehrInhalt. 1 Einführungsveranstaltung. 2 Pflichtenheft ANFORDERUNGSSPEZIFIKATION - GROBPLANUNG ANFORDERUNGSSPEZIFIKATION - SOLLKONZEPT
Inhalt ANFORDERUNGSSPEZIFIKATION - GROBPLANUNG 1 Einführungsveranstaltung 1.1 Ziel der Veranstaltung 1.2 Formaler Ablauf der Veranstaltung 1.3 Bewertungskriterien mittels Meilensteinen, Präsentationen
MehrPHP OOP, Design Patterns und UML. Marco Skulschus
PHP OOP, Design Patterns und UML Marco Skulschus Page ta Controller Transfer bject Two-Step-View Row Transaction Script Data Mapper Data Gateway Application Controller Table Module Transform View Front
Mehr3-Tier-Architecture und J2EE
3-Tier-Architecture und J2EE Oliver Müller Seminar Software-Entwurf WS 2004/05 3-Tier, was war das noch gleich? NEIN, das nicht!!! 2 Die Lage - Applikationen laufen
MehrSoftwaretechnik 2015/2016
Softwaretechnik 2015/2016 PST Lehrstuhl Prof. Dr. Matthias Hölzl HAUPT-/ BACHELOR- SEMINAR ADAPTIVE SYSTEME PST Joschka PROF. DR. Rinke WIRSING 14. JUNI 2009 VORNAME NAME AGENDA Übung 11: 14.01.2016 Schon
MehrLehrbuch der Objektmodellierung
Heide Balzert Lehrbuch der Objektmodellierung Analyse und Entwurf mit CD-ROM Technische Universität Darmstadt FACHBEREICH INFORMATIK BIBLIOTHEK Inventar-Nr.: Sachgebiete: Standort: Tt Spektrum Akademischer
MehrInhalt. TEIL I Grundlagen. Einleitung 15
Einleitung 15 TEIL I Grundlagen 1.1 Notwendigkeit einer verbesserten Abstraktion 23 1.2 Klassen und Objekte 25 1.3 Festlegung von Grenzen 27 1.4 Wiederverwendung 30 1.4.1 Komposition 30 1.4.2 Vererbung
MehrTEIL I: OBJEKTORIENTIERUNG UND GRUNDKURS JAVA GRUNDLAGEN DER PROGRAMMIERUNG... 4
Inhaltsverzeichnis TEIL I: OBJEKTORIENTIERUNG UND GRUNDKURS JAVA... 1 1 GRUNDLAGEN DER PROGRAMMIERUNG... 4 1.1 Das erste Java-Programm... 4 1.2 Programme und ihre Abläufe... 6 1.3 Entwurf mit Nassi-Shneiderman-Diagrammen...
MehrSoftware- /Systemarchitektur
Software- /Systemarchitektur Agenda: Definition von Softwarearchitektur Voraussetzungen Was bedeutet Objektorientierung? Wie speichert man Daten persistent? Client-Server-Architektur Schichtenarchitektur
MehrDesign Patterns. 3. Juni 2015
Design Patterns 3. Juni 2015 Überblick Was sind Design Patterns? Welche Design Patterns gibt es? Wann sollte man Design Patterns einsetzen? Taentzer Softwarequalität 2015 138 Was sind Design Patterns?
MehrEntwurfsprinzip. Entwurfsprinzip
Die Komposition (hat ein Beziehung) ist der Vererbung (ist ein Beziehung) vorzuziehen. Es können Familien von Algorithmen in eigenen Klassensätzen gekapselt werden. Das Verhalten lässt sich zu Laufzeit
MehrSoftware Engineering
Software Engineering Gustav Pomberger, Wolfgang Pree Architektur-Design und Prozessorientierung ISBN 3-446-22429-7 Weitere Informationen oder Bestellungen unter http://www.hanser.de/3-446-22429-7 sowie
MehrKomponentenbasierte Client-Architektur. Bernd Olleck, IT Beratung Olleck Dr. Martin Haft, sd&m AG München,
Komponentenbasierte Client-Architektur Bernd Olleck, IT Beratung Olleck Dr. Martin Haft, sd&m AG München, 5.5.2008 Agenda Clients aus drei verschiedenen Perspektiven: Technische Infrastruktur Fachliche
MehrEntwurfsmuster. Tao Zhang Technische Universität München Lehrstuhl für Angewandete Softwaretechnik
Entwurfsmuster Tao Zhang Technische Universität München Lehrstuhl für Angewandete Softwaretechnik Information über Entwurfsmuster Die heutige Vorlesung: Einführung in die Thematik Die Vorlesung am 12.01:
MehrMethoden und Architekturen der Softwaretechnik
Joachim Goll Methoden und Architekturen der Softwaretechnik STUDIUM VIEWEG+ TEUBNER Inhaltsverzeichnis Vorwort 7 Wegweiser durch das Buch 11 Inhaltsverzeichnis 17 Begriffsverzeichnis 23 Abkürzungsverzeichnis
MehrUML (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Übungen zu Softwaretechnik
Prof. Dr. Dr. h.c. M. Broy Lösungsblatt 10 Dr. H. Ehler, S. Wagner 16. Januar 2004 Übungen zu Softwaretechnik Aufgabe 14 Systementwurf / SW-Grobentwurf nach dem V-Modell Auf dem Arbeitsblatt 3 sind Auszüge
MehrSoftware- und Systementwicklung
Software- und Systementwicklung Seminar: Designing for Privacy 11.11.2009 Moritz Vossenberg Inhalt Vorgehensmodelle Wasserfallmodell V-Modell Phasen (Pflichtenheft) UML Klassendiagramm Sequenzdiagramm
MehrSoftware Engineering. 5. Architektur
Software Engineering 5. Architektur Gliederung Vorlesung Einführung V-Modell XT Analyse und Anforderungsmanagement Benutzungsoberflächen Architektur Entwurf Entwurfsmuster Persistenz Implementierung Konfigurationsmanagement
MehrTutorium Softwaretechnik I
Tutorium Softwaretechnik I Moritz Klammler 27. Juni 2017 Fakultät für Informatik, IPD Tichy Titelfoto: Copyright (C) 2010 Multimotyl CC BY-SA 3.0 1 27. Juni 2017 Moritz Klammler - Tutorium Softwaretechnik
MehrDesign Patterns II. Der Design Muster Katalog. Prof. Dr. Nikolaus Wulff
Design Patterns II Der Design Muster Katalog Prof. Dr. Nikolaus Wulff Wiederverwendung Wiederverwendung ist das Schlagwort von OOP zur Erhöhung der Produktivität. Es gibt im Prinzip drei Methoden hierzu:
Mehr7. Zusammenfassung (1)
Typisierung in OO-Sprachen Subtyping vs. Subclassing Untertypen für Typkonstrukte Funktionsuntertypen und Überschreiben Generik Einsatz von Vererbung konzeptioneller Entwurf: Abstraktion Spezialisierung
MehrObjektorientierteund FunktionaleProgrammierung
Objektorientierte und Funktionale Programmierung SS 2014 6 Objektorientierte Entwurfsmuster 1 6 Objektorientierte Entwurfsmuster Lernziele Einige wichtige Entwurfsmuster kennen und verstehen Einsatzmöglichkeiten
MehrEntwurfsmuster Martin Fesser 00IN
Entwurfsmuster Martin Fesser 00IN Inhalt Was sind Entwurfsmuster? Vorteile, Nachteile Entwurfsmusterkatalog (nach GoF) Variation von Entwurfsaspekten Wie Entwurfsmuster Entwurfsprobleme lösen Beispiele
MehrAlternative Architekturkonzepte
Alternative Architekturkonzepte Motivation: Suche nach einer Gesamtstruktur meistens: dominante nichtfunktionale Eigenschaften legen Architektur fest Antrieb: Architekturziel Ziel: globale Betrachtung
MehrMatthias Geirhos. Entwurfsmuster. Das umfassende Handbuch. Rheinwerk. Computing
Matthias Geirhos Entwurfsmuster Das umfassende Handbuch Rheinwerk Computing Inhalt Vorwort 17 1 Einführung 19 1.1 Einleitung und allgemeine Hinweise 19 1.1.1 Für wen ist dieses Buch gedacht? 19 1.1.2 Muster
MehrObjektorientierte Systementwicklung
Karl-Heinz Rau Objektorientierte Systementwicklung Vom Geschäftsprozess zum Java-Programm Mit 162 Abbildungen vieweg Überblick und Vorbemerkungen 1 1 Objektorientierte Software-Entwicklung 5 1.1 Überblick
MehrInhaltsverzeichnis.
Wegweiser durch das Buch 1 1 Problembereich und Lösungsbereich 10 1.1.Unterschiede zwischen Problembereich und Lösungsbereich 10 1.2 Paradigmen der Softwareentwicklung 12 1.3 Methoden für die verschiedenen
MehrPraktikum. SEP: Java-Programmierung WS 2018/19. Modularisierung. Thomas Lemberger und Martin Spießl
Praktikum SEP: Java-Programmierung WS 2018/19 Modularisierung Thomas Lemberger und Martin Spießl Basierend auf Folien von Matthias Dangl und Karlheinz Friedberger 1 / 10 Modularisierung Module gliedern
MehrDabei sollen die Nutzern nach einer Authentifizierung entsprechend ihren Rechten Begriffe ändern, anlegen und kommentieren können.
Seite: 1 / 10 Designentwurf 1 Allgemeines 1.1 Kurzcharakterisierung Die Glossarverwaltung soll eine einheitliche Terminologie zwischen allen Beteiligten sicherstellen, hier zwischen den Mitarbeitern der
MehrZiele und Tätigkeiten von Architekten
Ziele und Tätigkeiten von Architekten Definition Software Architektur o A software architecture provides a model of a whole software system that is composed of internal behavioral units (i.e. components)
MehrInhaltsverzeichnis 1. Objektorientierung: Ein Einstieg 2. Objekte, Klassen, Kapselung
Inhaltsverzeichnis 1. Objektorientierung: Ein Einstieg... 1 1.1 Objektorientierung: Konzepte und Stärken...... 1 1.1.1 Gedankliche Konzepte der Objektorientierung....... 2 1.1.2 Objektorientierung als
MehrEntwurfsmuster. Marc Monecke
Entwurfsmuster Marc Monecke monecke@informatik.uni-siegen.de Praktische Informatik Fachbereich Elektrotechnik und Informatik Universität Siegen, D-57068 Siegen 20. Mai 2003 Inhaltsverzeichnis 1 Grundlagen
MehrObjektorientierte und Funktionale Programmierung
Objektorientierte und Funktionale Programmierung SS 2013 6 Objektorientierte Entwurfsmuster Wissensbassierte Systeme / Wissensmanagement Objektorientierte und Funktionale Programmierung 1 PrüfungstermineOFP
MehrÜbung Einführung in die Softwaretechnik
Lehrstuhl für Informatik 3 RWTH Aachen Übung Einführung in die Softwaretechnik Lösungshinweise zum Übungsblatt 12 Aufgabe 28 Sichtbarkeits-Symbol UML Java + public # protected private (default) Sichtbar
MehrEntwurfsmuster in Java
Entwurfsmuster in Java Das Observer- und das Decorator-Pattern Friederike Löwe 13. März 2011 Inhaltsverzeichnis Einleitung Wozu eigentlich Entwurfsmuster? Die Grundlage: Design-Prinzipien Das Decorator-Pattern
MehrÜberblick FBC SNW Zusammenfassung. Entwurfsmuster. Eine Einführung. Botond Draskoczy. Marcus Vitruvius Pollio
Entwurfsmuster Eine Einführung Botond Draskoczy Marcus Vitruvius Pollio Überblick Historie, Literatur Das Flugapparat-Bildschirmschoner-Projekt (FBP) Das internetbasierte Solar-Netzwerk (SNW) Zusammenfassung
MehrGernot Starke. Effektive Softwarearchitekturen. Ein praktischer Leitfaden ISBN: 978-3-446-42728-0. Weitere Informationen oder Bestellungen unter
Gernot Starke Effektive Softwarearchitekturen Ein praktischer Leitfaden ISBN: 978-3-446-42728-0 Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-42728-0 sowie im Buchhandel.
MehrDas UML Benutzerhandbuch
Grady Booch James Rumbaugh Ivar Jacobson Das UML Benutzerhandbuch Aktuell zur Version 2.0 Inhalt Vorwort 15 Ziele 15 Publikum 16 Wie Sie dieses Buch verwenden sollten 16 Aufbau und besondere Merkmale 17
MehrObjektorientierte Analyse (OOA) OOA-Pattern
OOA-Muster (Architektur Pattern) Ein Pattern (Entwurfsmuster) ist ein Problem mit seiner Lösung in einem Kontext. Der Kontext enthält in der Regel Zielkonflikte, die der Designer lösen muss, z.b. Performance
MehrInhaltsverzeichnis. 1 Einleitung 1. 2 Grundlagen von Softwarearchitekturen 11
D3kjd3Di38lk323nnm xi 1 Einleitung 1 1.1 Softwarearchitektur als Disziplin im Software Engineering........ 2 1.2 isaqb International Software Architecture Qualification Board.......... 4 1.3 Certified
MehrModerne Softwarearchitektur
Johannes Siedersieben Moderne Softwarearchitektur Umsichtig planen, robust bauen mit Quasar dpunkt.verlag 1 Softwarearchitektur als Herausforderung 1 1.1 Was ist Softwarearchitektur? 3 1.2 Quasar: Qualitätssoftwarearchitektur
MehrModel-View-Controller
Software Design Pattern Model-View-Controller Michael Lühr Gliederung Einführung und Problemstellung Ansatz durch MVC Detaillierte Darstellung der Komponenten Model View Controller Vor- und Nachteile Zusammenfassung
MehrOOSE 01 JAVA MIT BLUEJ UND UML-BY-EXAMPLE
OOSE 01 JAVA MIT BLUEJ UND UML-BY-EXAMPLE Nutzung des AMCS (Auditorium Mobile Classroom Service) https://amcs.website Einloggen/Registrieren mit beliebigem Pseudonym Passwort Kurs Softwaretechnologie PIN:
MehrApplication Engineering Grundlagen für die objektorientierte Softwareentwicklung mit zahlreichen Beispielen, Aufgaben und Lösungen
I " t3ildungsmedien Informatik Application Engineering Grundlagen für die objektorientierte Softwareentwicklung mit zahlreichen Beispielen, Aufgaben und Lösungen Hansruedi Tremp und Markus Ruggiero Application
MehrHarald Störrle UML 2 für Studenten
Harald Störrle UML 2 für Studenten ein Imprint von Pearson Education München Boston San Francisco Harlow, England Don Mills, Ontario Sydney Mexico City Madrid Amsterdam Inhaltsverzeichnis Vorwort 11 Teil
MehrKapitel 1 Grundlagen. Skript zur Vorlesung: Datenbanksysteme II Sommersemester Vorlesung: PD Dr. Peer Kröger
LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS DATABASE Skript zur Vorlesung: Datenbanksysteme II Sommersemester 2016 Kapitel 1 Grundlagen Vorlesung: PD Dr. Peer Kröger http://www.dbs.ifi.lmu.de/cms/datenbanksysteme_ii
MehrGliederung der Folien
1 Gliederung der Folien 1. Einführung 1.1. Gliederung 1.2. Literatur 1.3. Einstieg in Java 1.3.1. Geschichte von Java 1.3.2. Hello World 1.3.3. Übersetzen eines Java-Programms 1.4. Die Entwicklungsumgebung
MehrAus Sicht der funktionalen Anforderungen ist der Entwurf eines Systems beliebig wählbar
Zweck des Entwurfs Aus Sicht der funktionalen Anforderungen ist der Entwurf eines Systems beliebig wählbar Überspitztes Beispiel: Wenn eine Klas mit einer Methode, die 10.000 Zeilen lang ist, die geforderte
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Objektorientierung in C++ (3) Aspekte der Vererbung (1) Dr. Frank Seifert Vorlesung Datenstrukturen - Sommersemester 2016 Folie 546 Zuweisung bei Vererbung Dr. Frank Seifert Vorlesung
MehrUniversität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich
Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich WS 02/03 Warum muss ein Objekt wissen, zu welcher Klasse es gehört? Damit die Klassenzugehörigkeit
MehrBasisinformationstechnologie I
Basisinformationstechnologie I Wintersemester 2014/15 07. Januar 2015 Programmiersprachen II Universität zu Köln. Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners // jan.wieners@uni-koeln.de
MehrObjektorientierte Programmierung II
Objektorientierte Programmierung II OOP I Erlaubt Entwicklers, im Problemraum zu denken und zu arbeiten. Das Problem wird in eine Menge von Objekten zerlegt. Objekte wirken aufeinander, um das Problem
MehrSkriptum Bauinformatik SS 2013 (Vorlesung IV)
Skriptum Bauinformatik SS 2013 (Vorlesung IV) Stand: 23.04.2013 Dr. Johannes Lange 2 Inhalt Objektorientierte Programmierung Großes Beispiel... 2 Klasse erstellen... 2 Erzeugen eines Objekts der Klasse...
MehrEin Entwurfsmuster der GoF. vorgestellt von. Sigrid Weil 16. Januar 2008
Ein Entwurfsmuster der GoF vorgestellt von Sigrid Weil 16. Januar 2008 Einleitung 2 Entwurfsmuster (Design Patterns) beschreiben Probleme, die wiederholt in unterschiedlichsten Zusammenhängen aufreten
MehrJava als erste Programmiersprache
Joachim Göll Cornelia Heinisch Java als erste Programmiersprache Grundkurs für Hochschulen 8., überarbeitete Auflage Springer Vi eweg Inhaltsverzeichnis 1 Grundlagen der Programmierung 1 1.1 Das erste
MehrProgrammierpraktikum WS 16/17 Entwicklungsprozess
Programmierpraktikum WS 16/17 Entwicklungsprozess AR Dr.-Ing. Andreas Hoffmann Universität Siegen Lehrstuhl Betriebssysteme / verteilte Systeme ProPra WS 16/17 1 Softwareentwicklung Software ist ---komplex,
MehrProgrammierparadigmen
Programmierparadigmen Paradigma = Denkweise oder Art der Weltanschauung klassische Einteilung: Programmiersprache imperativ deklarativ prozedural objektorientiert funktional logisch Zusammenhänge tatsächlich
MehrEffektive Software-Architekturen Ein praktischer Leitfaden
Gernot Starke Effektive Software-Architekturen Ein praktischer Leitfaden ISBN-10: 3-446-41215-8 ISBN-13: 978-3-446-41215-6 Inhaltsverzeichnis Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-41215-6
MehrObjektorientierte Programmierung mit Java
David J. Barnes Michael Kölling Objektorientierte Programmierung mit Java Eine praxisnahe Einführung mit BlueJ Übersetzt von Axel Schmolitzky, Universität Hamburg PEARSON Studium ein Imprint von Pearson
MehrErzeugungsmuster. Kapselung der Objekt-Erzeugung
Erzeugungsmuster Kapselung der Objekt-Erzeugung Definition Erzeugungsmuster dienen für die Lose Koppelung, bei der erst zur Laufzeit der Typ des zu erzeugenden Objekts festgelegt wird. Abstract Factory
MehrPraktikum Datenbanken und verteilte Systeme SS Einführung August 2008
Praktikum Datenbanken und verteilte Systeme SS 2007 - Einführung - 18. August 2008 Verteilte Systeme und Informationssysteme (VSIS) Department Informatik Universität Hamburg VSIS Arbeitsbereich VSIS: Verteilte
MehrEinführung in die Informatik II
Einführung in die Informatik II SS 2012 6 Objektorientierte Entwurfsmuster Wissensbassierte Systeme / Wissensmanagement Einführung in die Informatik II 1 Prüfungstermine EI II im Sommersemester 2012 Klausurtermine
MehrVererbung, Polymorphie
Vererbung, Polymorphie Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 21.1.08 G. Bohlender (IANM UNI Karlsruhe) Vererbung, Polymorphie 21.1.08
MehrMVC Ein wichtiges Konzept der Software-Architektur
MVC Ein wichtiges Konzept der Software-Architektur Dr. Arthur Zimek Ludwig-Maximilians-Universität München, Institut für Informatik, LFE Datenbanksysteme Softwareentwicklungspraktikum Wintersemester 2011/12
MehrKapitel 5: Das Design
Nach der Analyse kommt... Kapitel 5: Das Design SoPra 2008 Kap. 5: Das Design (1/20) Kapitel 5.1: Überblick Was ist Design? Ergebnis der Analyse: abstrakte Definitionen Objektmodell: Klassen, Assoziationen,
MehrÜbung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 2. Teil
MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++ 2. Teil 18. April 2012 Organisatorisches MÜNSTER Übung zur Vorlesung Wissenschaftliches
MehrProgrammierparadigmen A01 OOP. Programmierparadigmen
2013-10-09 Programmierparadigmen 1 185.A01 OOP Programmierparadigmen 2013-10-09 Programmierparadigmen 2 OOP Klassische Programmierparadigmen Paradigma = Denkweise oder Art der Weltanschauung klassische
MehrObjektorientierter Entwurf. Grundlagen des Software Engineerings
Objektorientierter Entwurf Grundlagen des Software Engineerings Lernziele } Verstehen, wie der Softwareentwurf als Menge von interagierenden Objekten dargestellt werden kann, die ihren eigenen Zustand
MehrInhaltsverzeichnis. Teil I Einführung 13. Teil II Struktur 41. Vorwort 11
UML 2 für Studenten Inhaltsverzeichnis Vorwort 11 Teil I Einführung 13 Kapitel 1 UML (nicht nur) für Studenten 15 1.1 Zielgruppen 16 1.2 Konventionen 17 1.3 Abgrenzung 18 1.4 Aufbau dieses Buches 18 Kapitel
MehrEinstieg in die Informatik mit Java
1 / 35 Einstieg in die Informatik mit Java Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 35 1 Grundlagen 2 Verdeckte Variablen 3 Verdeckte Methoden 4 Konstruktoren
MehrProjektgruppe. Thomas Kühne. Komponentenbasiertes Software Engineering mit OSGi
Projektgruppe Thomas Kühne Komponentenbasiertes Software Engineering mit OSGi Anforderungen der PG IDSE an ein Komponenten- Client Nativer Client Web Client Alternativen IDSE Nutzer Szenario Pipe IDSE
MehrEinführung: Verteilte Systeme - Remote Method Invocation -
Einführung: Verteilte Systeme - - Prof. Dr. Michael Cebulla 11. Dezember 2014 Fachhochschule Schmalkalden Wintersemester 2014/15 1 / 43 M. Cebulla Verteilte Systeme Gliederung 1 2 Architektur RMI Kommunikation
MehrLehrstuhl für Datenverarbeitung. Technische Universität München. Grundkurs C++ Objektmodellierung. Grundkurs C++
Grundkurs C++ Objektmodellierung Grundkurs C++ Objektmodellierung welche Objekte bzw. Klassen werden benötigt? welche Information wird benötigt, um ein Objekt zu beschreiben? welche Beziehungen bestehen
MehrLukas Klich. Projektgruppe SHUTTLE. Seminar: Entwurfsmuster Lukas Klich/Projektgruppe SHUTTLE Seite: 1. Entwurfsmuster
Entwurfsmuster Lukas Klich Projektgruppe SHUTTLE Seminar: 28.11.2002 Entwurfsmuster Lukas Klich/Projektgruppe SHUTTLE Seite: 1 Motivation Die Menschheit löst Probleme, indem sie beobachtet, Beobachtungen
MehrObjektorientierte Analyse
Objektorientierte Analyse 1) Überblick über die Objektorientierte Analyse Prof. Dr. rer. nat. habil. Uwe Aßmann Institut für Software- und Multimediatechnik Lehrstuhl Softwaretechnologie Fakultät für Informatik
MehrInhaltsverzeichnis. Effektive Softwarearchitekturen (6. Auflage)
Inhaltsverzeichnis zu Effektive Softwarearchitekturen (6. Auflage) von Gernot Starke ISBN (Buch): 978-3-446-43614-5 ISBN (E-Book): 978-3-446-43653-4 Weitere Informationen und Bestellungen unter http://www.hanser-fachbuch.de/978-3-446-43614-5
MehrUML - Unified Modeling Language
Rainer Burkhardt UML - Unified Modeling Language Objektorientierte Modellierung für die Praxis ADDISON-WESLEY An imprint of Addison Wesley Longman, Inc. Bonn Reading, Massachusetts Menlo Park, California
MehrVorlesung am Systemkonstruktion. Dr. F. Sarre Wintersemester 2008 / Folie 57
Vorlesung am 28.10.2008 Systemkonstruktion Folie 57 Übergang vom Fachkonzept zum DV-Konzept Aufgabenstellung Entwickler Geschäftsvorfall Java-Klassen Fachliches Objekt Nicht funktionale Anforderungen...?
MehrDas UML Benutzerhandbuch
Grady Booch James Rumbaugh Ivar Jacobson Das UML Benutzerhandbuch Aktuell zur Version 2.0 ADDISON-WESLEY An imprint of Pearson Education München Boston San Francisco Harlow, England Don Mills, Ontario
MehrInhaltsverzeichnis. Teil 1 Grundlagen der Objektorientierung 29
Vorwort von James Gosling, Sun Microsystems 15 Vorwort an Kursleiter 16 Vorwort des Übersetzers 24 Projekte, die in diesem Buch detailliert besprochen werden 25 Danksagungen 27 Teil 1 Grundlagen der Objektorientierung
MehrAnalyse und Entwurf von Softwaresystemen mit der UML
Analyse und Entwurf von Softwaresystemen mit der UML Bearbeitet von Horst A. Neumann 2. Auflage 2002. Buch. XVI, 480 S. Hardcover ISBN 978 3 446 22038 6 Format (B x L): 17,7 x 24,5 cm Gewicht: 1049 g Zu
MehrObjektorientierte Entwurfsmuster
Objektorientierte Entwurfsmuster Claus Lewerentz Brandenburgische Technische Universität Cottbus Fraunhofer FIRST/SWQlab Cottbus Fraunhofer Institut Rechnerarchitektur und Softwaretechnik 12.05.2005, Software-Systemtechnik,
MehrInformatik II Übung 6 Gruppe 7
Informatik II Übung 6 Gruppe 7 Leyna Sadamori leyna.sadamori@inf.ethz.ch DEBRIEFING Übung 5 2 U5A1-4 Im Prinzip alles richtig. Falls am Ende noch Zeit, dann Einsicht in die Best Of s 3 THEORIE Java Vererbung,
MehrInhalte des Moduls Programmieren 1
Inhalte des Moduls Programmieren 1 Einführung: Algorithmus und Programm, Programmiersprache Erste Schritte in Java Grundlagen der Sprache: Datentypen, Ausdrücke und Anweisungen, imperative Programmierung
MehrKonzepte der Programmiersprachen
Konzepte der Programmiersprachen Sommersemester 2010 4. Übungsblatt Besprechung am 9. Juli 2010 http://www.iste.uni-stuttgart.de/ps/lehre/ss2010/v_konzepte/ Aufgabe 4.1: Klassen in C ++ Das folgende C
Mehrsystems landscape engineering - übung -
systems landscape engineering - übung - Wintersemester 2010 /2011 Arbeitsgruppe Wirtschaftsinformatik - Managementinformationssysteme - Dipl. Wirt.-Inform. Sven Gerber Arbeitsgruppe Wirtschaftsinformatik
MehrInhaltsverzeichnis. Vorwort Kapitel 1 Einleitung Reisebeschreibung Zielpublikum Fallbeispiel...
Vorwort..................................................... 13 Kapitel 1 Einleitung......................................... 15 1.1 Reisebeschreibung............................ 18 1.2 Zielpublikum.................................
MehrVererbung. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java 23.5.
Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 23.5.07 G. Bohlender (IANM UNI Karlsruhe) Vererbung 23.5.07 1 / 22 Übersicht 1
MehrOOSE 13 Objektorientierter Entwurf (OOD) (Hörsaalübung)
OOSE 13 Objektorientierter Entwurf (OOD) (Hörsaalübung) SS 2015 Birgit Demuth Analyse Anforderungs- Ermittlung Von der Analyse zum Entwurf System- Modelierung Anforderungs- Spezifikation (Pflichtenheft)
MehrRepetitorium Informatik (Java)
Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen
Mehr