Quasar. Seminar "Beiträge zum Software Engineering" Freie Universität t Berlin. von Tichomir Jabarski
|
|
- Wolfgang Adenauer
- vor 7 Jahren
- Abrufe
Transkript
1 Quasar von Tichomir Jabarski Seminar "Beiträge zum Software Engineering" Freie Universität t Berlin 1
2 Inhaltsverzeichnis Quasar Schnittstellen Komponenten Softwarekategorien Zusammenfassung 2
3 1.Quasar 3
4 Quasar I! Schlechte Qualität! SOFTWARE t! 4
5 Software-Projekte: Quasar II! Schlechte Qualität! Dauern zu lange Kosten zu viel Scheitern oft t! Was ist der Grund und hat es etwas mit Architektur zu tun? 5
6 Was ist Quasar? QUASAR = Qualitätssoftwarearchitektur tssoftwarearchitektur Definiert Verständnis für f r Software-Qualit Qualität Beschreibt wichtige Regeln und Mechanismen der Software- technik als Standard Quasar auf vier Ebenen: Ideen & Konzepte Begriffe Standardarchitektur & Standardschnittstellen Standardkomponenten 6
7 Basiert auf jahrelange Erfahrung Warum Quasar? Definiert konkrete Praktiken in der Softwareentwicklung Garantiert eine tragende Architektur für f r das Produkt Garantiert bessere Qualität Architektonische Einfachkeit Wiederverwendbarkeit Entwicklungseffizienz Änderbarkeit Reduziert Kosten!!! 7
8 Das Buch Johannes, Siedersleben: Moderne Softwarearchitektur. Umsichtig planen, robust bauen mit Quasar dpunkt.verlag 1 Auflage 2004 ISBN:
9 2. Schnittstellen 9
10 Was ist eine Schnittstelle? Schnittstellen verbinden, schneiden nicht durch! Die Schnittstelle formalisiert die intuitive Vorstellung wie man eine Komponente benutzt System verständlicher Abhängigkeiten Reduzieren Arbeit sparen durch Wiederverwendung Schnittstellen sind die Träger der Architektur Viele Muster sind ein Spezialfall des Schnittstellen-Gedankens Brücke, Strategie, Fabrik, Iterator 1 0
11 Typen von Schnittstellen Standard-SS SS Allgemein akzeptiert Gut dokumentiert Gut getestet java.lang.*, JDBC, u.s.w Angebotene-SS Implementierung existiert Importeur für f r die SS gebaut Enge Kopplung Adapter Angeforderte-SS SS wird an den Importeur angepasst Lose Kopplung 1 1
12 Verfeinerung von Schnittstellen Syntax (Rückgabewerte, Argumente, in/out, Typen) Semantik (Was bedeutet die Methode) Formell OCL, JML, VDM, Z, QSL Informell z.b JavaDoc Protokoll (z.b synchron, asynchron) Nicht funktionale Eigenschaften (Performance, Robustheit, Verfügbarkeit) 1 2
13 Semantik von Schnittstellen 2 Arten von Methoden: Kommandos ändern den Zustand des Systems Abfragen lassen das System unverändert ndert Semantik: Einfache Abfragen Abgeleitete Abfragen Was bewirken die Kommandos Was bedeuten die Abfragen! Die meisten Schnittstellen sind komplizierter als sie aussehen! 1 3
14 Schnittstellen und Entwicklungsprozess Wer muss was wissen? SS, die alle Entwickler sehen, müssen m sehr einfach sein komplexe SS sollen nur für f r wenige Entwickler sichtbar sein Die Schnittstellen-Architektur beeinflusst den Entwicklungsprozess sehr: Parallelisierung der Entwicklung Verteilung des Knowhow innerhalb des Teams Rollenzuweisung im Team 1 4
15 3. Komponenten 1 5
16 Was ist eine Komponente? Der einzige Weg Systeme zu entwerfen und zu verstehen Teile und herrsche Prinzip Merkmale: Exportiert mind. 1 SS Importiert andere SS Versteckt Implementierung Minimale Annahmen über die Umgebung Komponenten lassen sich komponieren 1 6
17 Komponenten & Objektorientierung I? Klasse = Komponente Klasse als Entwurfseinheit zu klein Man kann ohne OO hervorragende Komponenten bauen Mit OO können k auch sehr schlechte monolithische Architekturen entstehen Naive Objektorientierung führt f oft zu unwartbaren Systemen, in denen tausende Klassen wahllos miteinander kommunizieren Datenkapselung erreicht man durch Verstecken von Klassen und nicht durch Verstecken von Feldern 1 7
18 Komponenten & Objektorientierung II Strikte Kontrolle der Importanweisungen: wichtigste Maßnahme beim Entwurf Zyklen strikt vermeiden OO nur innerhalb Komponenten Komponenten kommunizieren ausschließlich lich über SS Vererbung über Komponentengrenzen strikt verboten Anwendungsbeziehungen nur beschränkt mit Objektreferenzen implementierbar 1 8
19 Konfiguration Wer verbindet Benutzer und Implementierung? Importeur und Exporteur kennen sich nicht Die Konfiguration verbindet die beiden Legt die konkrete Implementierung fest Zur Compilezeit Zur Laufzeit Möglichkeiten für f r Konfiguration Konstruktor Fabrik Namensdienst! Konfiguration nur an bestimmten Stellen! 1 9
20 Kompositionsmanager Stellt eine geeignete Umgebung für f r die Komponente Konfiguration Ausnahmebehandlung Bereitstellung von Ressourcen (Threads, Sockets, u.s.w), Aufbau von Verbindungen, Transaktionskontrolle Liefert eine Komposition Kompositionsmanager Exportiert eine Teilmenge aller importierten SS Fassade für f r die exportierten SS R S Cx U Cy V Konfiguration schränkt Freiheitsgrade ein T T Cz W 2 0
21 Wie findet man Komponenten? Entwurf der Schnittstellen Validieren der Schnittstellen Implementieren der Komponente Validieren der Implementation Komponente verbinden durch Konfiguration 2 1
22 Wie beschreibt man Komponenten? Beschreibung von außen nach innen: Übersicht: : Idee hinter der Komponente, ein bis zwei Seiten Außensicht ensicht: : alle Informationen für f r den Benutzer Innensicht: : inneren Aufbau der Komponente für f r die Entwickler Variabilitätsanalyse tsanalyse: : Anwendungsfälle für f r evtl. Änderbarkeit Häufige Fehler : gar keine Beschreibung unsystematisch zu detailliert 2 2
23 4. Softwarekategorien 2 3
24 Was ist Softwarekategorie? Softwarekategorien Sachgebiete menschlichen Wissens Software kann & weiß etwas Softwareblutgruppe Softwarekategorie Komponenten finden ist schwierig Kategorien finden ist einfacher Analysieren der Kategorien Zerlegung in Komponenten Zuordnung von Schnittstellen und Komponenten zu Kategorien 2 4
25 Typen von Softwarekategorien Hauptkategorien: 0-Kategorie: allgemein bekannte Komponenten & Schnittstellen A-Kategorie: Anwendungssoftware frei von technischen Aspekten T-Kategorie: technische Komponenten & Schnittstellen R-Kategorie: Adapter zwischen Kategorien AT: Vermischung von Anwendung und Technik 2 5
26 Beispiel für f r Softwarekategorien Skat-Kartenspiel 0-Kat A-Kat T-Kat Kartenspiel Swing Deteisystem Skat Kartenspiel-GUI Skatstrategie Kartenspiel-GUI Swing 2 6
27 Beispiel für f r Softwarekategorien Kartenspielinf o Präsentation Kartenspielverwaltung Präsentation B Realer Spieler Präsentatio n C Kartenspiel - verwaltung Realer Spieler D KartenspielGUI Kartenspiel - steuerung E Kartenspiel Skat A F Kartenspiel - info Virtueller Spieler Skatstrategie G H Skatregeln Skatstrateg ie 2 7
28 Kommunikation zwischen Komponenten 0-Kat darf von allen verwendet werden Komponente verschiedener Kategorien kommunizieren nur über den ersten gemeinsamen Vorfahren im Konfigurationsgraphen Komponenten können k kommunizieren sobald sie eine gemeinsame Gesprächsebene besitzen und zwar in Form einer Schnittstelle der passenden Kategorie Eine Komponente der Kategorie X darf eine Schnittstelle XY der Kategorie Y genau dann importieren oder exportieren wenn X eine Verfeinerung von Y ist!vermischung von Anwendung und Technik führt f zu unwartbaren Systemen! 2 8
29 Komplexitätsma tsmaß Reine Kategorie: im Kategoriegraphen gibt es nur einen Weg zur 0-Kat0 Unreine Kategorie: : vermengt zwei oder mehrere Kategorien Komplexitätsma tsmaß: Rein: Anzahl der Vorfahren im Graphen Unrein: Summe der Komplexität t aller oberen Kategorien Modul: Komplexität t der Kategorie zu der es gehört Komponente: Gewichtete Mittel der Komplexitäten ten aller Subkomponenten 2 9
30 A- und T-T Revolution oder Selbstverständlichkeit? Trennung von Anwendung und Technik ist allgemein akzeptiert Fachlogik und Technologien haben verschiedene Lebenszyklen Software, die sich unterschiedlich schnell ändert, sollte in verschiedene Module untergebracht werden [Parnas 72]. Kritik am Konzept der Softwarekategorien: kostet Performance Gewinn an Flexibilität Aufwand beim Entwurf einfacher bei der Entwicklung Überflüssig bessere Änderbarkeit und Stabilität 3 0
31 5. Zusammenfassung 3 1
32 Was sollte man vom Vortrag mitnehmen? Softwarearchitektur ist der wichtigste Erfolgsfaktor einer Software Schnittstellen als Träger der Architektur Typen von Schnittstellen Information in der Schnittstelle Komponenten Komponentenorientierung und OO nicht verwechseln Konfiguration und Kompositionsmanager verwenden Beschreibung der Komponenten Softwarekategorien Schubladen zum Kategorisieren des Knowhos der Software Typen von Softwarekategorien Halten die Abhängigkeiten konstant 3 2
33 Weitere Themen Fehler & Ausnahmen Spezifikation von Schnittstellen Softwarearchitekturen Anwendungskomponenten & Anwendungskern 3 3
34 Quasar Ende Vielen Dank fürs f Zuhören! und lesen Sie das Buch! Es ist wirklich empfehlenswert! 3 4
Moderne 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
Mehr11. Komponenten Grundlagen der Programmierung 1 (Java)
11. Komponenten Grundlagen der Programmierung 1 (Java) Fachhochschule Darmstadt Haardtring 100 D-64295 Darmstadt Prof. Dr. Bernhard Humm FH Darmstadt, 10. Januar 2006 Einordnung im Kontext der Vorlesung
MehrHauptseminar Management von Softwaresystemen
Hauptseminar Management von Softwaresystemen Technische Universität München WS 2005/06 Autor : Ceren Alkis Thema: Standardarchitekturen am Beispiel von QUASAR Datum: 29.11.2005 [1] Inhaltsverzeichnis:
Mehr7. Komponenten Advanced Programming Techniques. Wintersemester 2009 / 2010 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik
7. Komponenten Advanced Programming Techniques Wintersemester 2009 / 2010 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik 1 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Advanced
MehrSoftware- /Systemarchitektur
Software- /Systemarchitektur Agenda: Definition von Softwarearchitektur Voraussetzungen Was bedeutet Objektorientierung? Wie speichert man Daten persistent? Client-Server-Architektur Schichtenarchitektur
MehrAuf 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 Programmierung OOP
Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Ronja Düffel Alina Stürck WS2016/17 11. Oktober 2016 Objektorientierte Programmierung OOP 1 Was ist das? 2 Wie geht das? 3 Warum
MehrSystemübergreifende Software-Architektur: Erfahrungen und Thesen
Systemübergreifende Software-Architektur: Erfahrungen und Thesen Johannes Siedersleben, Stephan Kurpjuweit sd&m Research Thomas-Dehler-Str. 27 D-81737 München siedersleben@sdm.de kurpjuweit@sdm.de Abstract:
Mehrsystems landscape engineering - übung -
systems landscape engineering - übung - Wintersemester 2010 /2011 Arbeitsgruppe Wirtschaftsinformatik - Managementinformationssysteme - Dipl. Wirt.-Inform. Sven Gerber Arbeitsgruppe Wirtschaftsinformatik
Mehr1.4! Einführung. Systemmodellierung. Methoden und Werkzeuge
Einführung. Vorbemerkungen und Überblick. Die elektronischen e des Fahrzeugs. Prozesse in der Fahrzeugentwicklung im Überblick,.4 Grundlagen. Steuerungs- und regelungstechnische e (Prof. Schumacher). Diskrete
MehrObjektorientierte Programmierung
Objektorientierte Programmierung Objektorientierte Programmierung Ronja Düffel WS2018/19 09. Oktober 2018 Objektorientierte Programmierung Überblick 1 Was ist das? 2 Wie geht das? 3 Warum gibt es das?
Mehr5. Dokumentieren und Testen Advanced Programming Techniques. Wintersemester 2009 / 2010 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik
5. Dokumentieren und Testen Advanced Programming Techniques Wintersemester 2009 / 2010 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik 1 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik:
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
MehrPotentiale modellgetriebener Softwareentwicklung
Model Driven Software Development Potentiale modellgetriebener Softwareentwicklung Referent: Hartwig Tödter Seite 2 / 23 Inhaltsverzeichnis 1. Grundideen modellgetriebener Softwareentwicklung 2. Vorteile
Mehr2. Programmieren gegen Schnittstellen Advanced Programming Techniques
2. Programmieren gegen Schnittstellen Advanced Programming Techniques Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt Sommersemester 2011 1 Einordnung in den gesamten Kurs 2 1. Einführung 2.
MehrKlausur zum BM Einführung in die Wirtschaftsinformatik SS 2014 Schriftlicher Teil
Friedrich-Schiller-Universität Jena Hinweise: Wirtschaftswissenschaftliche Fakultät Lehrstuhl Die Aufgaben für Wirtschaftsinformatik der Altklausur dienen lediglich der Orientierung. Aufgabenstellungen,
MehrSOLID für.net und JavaScript
SOLID für.net und JavaScript www.binarygears.de Stefan Dirschnabel Twitter: @StefanDirschnab #dncgn SOFTWARE ENTWICKLUNG BERATUNG SCHULUNG 5 Prinzipien für das Design von Software Wartbarer Code Leicht
Mehr6. Design-Phase Software Engineering (FB EIT) Wintersemester 2007 / 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik
6. Design-Phase Software Engineering (FB EIT) Wintersemester 2007 / 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik 1 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Software
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
MehrEine Normalform für Services Serviceorientierte Architektur konkret
Eine Normalform für Services Serviceorientierte Architektur konkret Prof. Dr. Bernhard Humm, Oliver Juwig Software Engineering 2006 Leipzig, 30. März 2006 Serviceorientierte Architektur (SOA) erfolgreich
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
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)
MehrPraxis der Softwareentwicklung
Praxis der Softwareentwicklung SS 2013 Prof. Dr. Gregor Snelting LEHRSTUHL 0 KIT 9. Universität April 2013 des Landes Baden-Württemberg Praxis der Softwareentwicklung und SS 2013 LEHRSTUHL nationales Forschungszentrum
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
Mehr7. Klassenmethoden Einführung in die Programmierung (fbw) Sommersemester 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, fbi
7. Klassenmethoden Einführung in die Programmierung (fbw) Sommersemester 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, fbi 1 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Einführung
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...?
MehrSprechen Sie Java? Hanspeter Mössenböck. Tm\ dpunkt.verlag. Eine Einführung in das systematische Programmieren
Hanspeter Mössenböck Sprechen Sie Java? Eine Einführung in das systematische Programmieren 3., überarbeitete und erweiterte Auflage Tm\ dpunkt.verlag 1 Grundlagen 1 1.1 Daten und Befehle 2 1.2 Algorithmen
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
MehrSoftware Design basierend auf dem Plug-In Konzept
Software Design basierend auf dem Plug-In Konzept Michael Antes Seminar Simulation und Bildanalyse mit Java, WS2003 Universität Ulm Software-Design basierend auf dem Plug-In-Konzept Inhalt: Einführung:
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
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
MehrSoftwaretest von verteilten Echtzeitsystemen im Automobil anhand von Kundenspezifikationen
Softwaretest von verteilten Echtzeitsystemen im Automobil anhand von Kundenspezifikationen S. Jovalekic 1), G. Martinek 1), Th. Okrusch 2) 1), 73458 Albstadt 2) Robert Bosch GmbH, Abstatt Gliederung Einleitung
MehrMathematik Seminar WS 2003: Simulation und Bildanalyse mit Java. Software-Architektur basierend auf dem Plug-in-Konzept
Mathematik Seminar WS 2003: Simulation und Bildanalyse mit Java Software-Architektur basierend auf dem Plug-in-Konzept Aufteilung: Probleme mit normaler/alter Software Ziele des Software Engineerings Die
MehrÜbung 11: Klausurvorbereitung. Übung 11. Prüfungsvorbereitung Software Engineering WS16/17 Philipp Seltmann
Übung 11 Prüfungsvorbereitung 1/32 0. Organisatorisches http://giphy.com/gifs/exam-gnjnnba5ieoou Klausur: 17.02.2016, 13-15 Uhr, B11, SR15 Keine Hilfsmittel!!! Papier wird bereitgestellt 2/32 01. Funktionale
Mehr3. Dokumentieren und Testen Advanced Programming Techniques Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt
3. Dokumentieren und Testen Advanced Programming Techniques Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt 1 Kontrollfragen zu Schnittstellen Was bedeutet Orthogonalität / Separation of Concerns?
MehrTh. Letschert OOP 2 2. Geheimnisprinzip und Sichtbarkeitsbeziehungen
Th. Letschert OOP 2 2. Geheimnisprinzip und Sichtbarkeitsbeziehungen Th Letschert FH Gießen-Friedberg Th. Letschert OOP 2 Sichtbarkeitsbeziehungen und Geheimnisprinzip Sichtbarkeitsbeziehungen realisieren
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
MehrSoftware EMEA Performance Tour Berlin, Germany June
Software EMEA Performance Tour 2013 Berlin, Germany 17-19 June HP Service Virtualization Virtuelle Services im Software Entwicklungs-Lebenszyklus Udo Blank Bernd Schindelasch 19. Juni, 2013 Presales Consultant
MehrProgrammiermethodik Vorlesung und Praktikum SS 2001
Vorlesung und Praktikum SS 2001 Prof. Dr. W. Effelsberg, G. Kühne, Ch. Kuhmünch Universität Mannheim 1. Einführung 1-1 Inhalt 1. Einführung, Vorstellung der Programmieraufgabe 2. Der Software-Entwicklungszyklus
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:
MehrObjektorientierung. Klassen und Objekte. Dr. Beatrice Amrhein
Objektorientierung Klassen und Objekte Dr. Beatrice Amrhein Überblick Konzepte der Objektorientierten Programmierung Klassen und Objekte o Implementierung von Klassen o Verwendung von Objekten 2 Konzepte
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
MehrWas kennzeichnet qualitativ hochwertige Software Systeme? Wie kann hohe Software Qualität erreicht werden?
Was kennzeichnet qualitativ hochwertige Software Systeme? Wie kann hohe Software Qualität erreicht werden? WS 2016 HTW Dresden FIM Software Engineering I Prof. Dr. Ing. Anna Sabine Hauptmann 1 Funktionserfüllung
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
MehrPraxis der Softwareentwicklung
Praxis der Softwareentwicklung SS 2014 Prof. Dr. Gregor Snelting LEHRSTUHL 0 KIT 22. Universität April 2014 des Landes Baden-Württemberg Praxis der Softwareentwicklung und SS 2014 LEHRSTUHL nationales
MehrSoftwaretechnik Strukturen und Muster
Softwaretechnik Strukturen und Muster Karsten Weicker, Nicole Weicker HTWK Leipzig, FHTW Berlin Psychiatrist: There seems to be a definite pattern emerging. And, of course, this pattern, once isolated,
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
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
MehrSoftwarearchitektur mit dem Quasar- Architekturstil
Softwarearchitektur mit dem Quasar- Architekturstil Prof. Dr. U. Aßmann Technische Universität Dresden Institut für Software- und Multimediatechnik Lehrstuhl Softwaretechnologie http://www-st.inf.tu-dresden.de
MehrGeheimnisprinzip: (information hiding principle, Parnas 1972)
2. Abstrakte Datentypen 2.0 Begriffe Geheimnisprinzip: (information hiding principle, Parnas 1972) Zugriffe auf Teile einer Programmeinheit, die für die reguläre Benutzung nicht erforderlich sind, sollten
MehrModellgetriebene Entwicklung von Pervasive Games
AW1 Vortrag von Hauke Wittern Modellgetriebene Entwicklung von Pervasive Games Entwicklung einer domänenspezifischen Sprache 09.12.2008 Agenda Motivation Pervasive Games Modellgetriebene Softwareentwicklung
MehrKernprozess zur System- und Softwareentwicklung. Logische Systemarchitektur f 1. f 2 f 3. f 4 Funktion. Technische Systemarchitektur SG 1 SG 2 SG 3
Systems Engineering Systems Engineering ist die gezielte Anwendung von wissenschaftlichen und technischen Ressourcen! zur Transformation eines operationellen Bedürfnisses in die Beschreibung einer Systemkonfiguration
MehrAutorisierung. Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente
Autorisierung Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente Dokumentation zum Referat von Matthias Warnicke und Joachim Schröder Modul: Komponenten basierte Softwareentwickelung
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
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
MehrUE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1. Übung 2. Spezifikation Schrittweise Verfeinerung
UE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1 Übung 2 Spezifikation Schrittweise Verfeinerung Institut für Pervasive Computing Johannes Kepler Universität Linz Altenberger Straße 69,
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
MehrObjektorientiertes Programmieren
JL Ute Claussen Objektorientiertes Programmieren Mit Beispielen und Übungen in C++ Zweite, überarbeitete und erweiterte Auflage Mit 24 Abbildungen Springer Inhaltsverzeichnis 1 Einleitung 1 1.1 Was ist
MehrÜberblick. Modellbildung in der Entwicklung mit Schwerpunkt Architekturen Schnittstellen. Schnittstelle. Schnittstelle
Überblick Modellbildung in der Entwicklung mit Schwerpunkt Architekturen Schnittstellen Motivation Syntaktische Schnittstellen Dynamische Schnittstellen Modellbildung in der Entwicklung Prof. Dr. Dr. h.c.
MehrSchichtenarchitekturen und ihre Auswirkungen auf die objektorientierte Modellierung
TKeasy Schichtenarchitekturen und ihre Auswirkungen auf die objektorientierte Modellierung Software Engineering 2007, 27.-30.3.2007, Hamburg Ralf Degner, Frank Griffel Überblick Das Projekt TKeasy Technische
MehrSoftware-Engineering
SWE2 Slide 1 Software-Engineering Sebastian Iwanowski FH Wedel Kapitel 2: Grundbegriffe und Prinzipien SWE2 Slide 2 Grundbegriffe der Software-Entwicklung: Systeme System Ausschnitt aus der realen oder
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
Mehr1. Erläutern Sie am Beispiel einer 3-schichtigen Client-Server-Architektur die Prinzipien einer guten Architektur. Dialogsteuerun
Klausur Komponenten basierte SE WNB 3 SS 05 Name, Vorname Matrikelnummer Punktzahl 1. Erläutern Sie am Beispiel einer 3-schichtigen Client-Server-Architektur die Prinzipien einer guten Architektur. Präsentations
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
MehrUnified Modelling Language
Unified Modelling Language SEP 72 Software-Entwicklung Software-Entwicklung ist Prozess von Anforderung über Modellierungen zu fertigen Programmen Anforderungen oft informell gegeben fertige Programme
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
MehrPraxis der Softwareentwicklung WS 2015/16
Praxis der Softwareentwicklung WS 2015/16 Prof. Dr. Gregor Snelting LEHRSTUHL PROGRAMMIERPARADIGMEN 0 KIT 28. Universität Oktober des 2015- Landes Praxis Baden-Württemberg der Softwareentwicklung und WS
MehrJavakurs FSS Lehrstuhl Stuckenschmidt. Tag 3 - Objektorientierung
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt Tag 3 - Objektorientierung Warum Objektorientierung Daten und Funktionen möglichst eng koppeln und nach außen kapseln Komplexität der Software besser modellieren
MehrProgrammierparadigmen
Programmierparadigmen Paradigma = Denkweise oder Art der Weltanschauung klassische Einteilung: Programmiersprache imperativ deklarativ prozedural objektorientiert funktional logisch Zusammenhänge tatsächlich
MehrWeb Engineering-Seminar Methoden zur Web Modellierung: Object-oriented Hypermedia Method (OO-H)
Web Engineering-Seminar Methoden zur Web Modellierung: Object-oriented Hypermedia Method (OO-H) Dominik Kirsten Daniel Schäferbarthold Trier, 21.01.2008 1 Gliederung 1. Einführung 1.1 Anforderungen an
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
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
MehrModellierung verteilter Systeme Grundlagen der Programm und Systementwicklung
Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung Sommersemester 2012 Prof. Dr. Dr. h.c. Manfred Broy Unter Mitarbeit von Dr. M. Spichkova, J. Mund, P. Neubeck Lehrstuhl Software
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
MehrEntwicklung einer Autorenumgebung zur Erstellung von elearning-kursen aus Wiki-Inhalten
Entwicklung einer Autorenumgebung zur Erstellung von elearning-kursen aus Wiki-Inhalten David Weiß Professur für Graphische Datenverarbeitung Johann Wolfgang Goethe-Universität 26. Juni 2008 Autorenumgebung
MehrVorwort zur zweiten Auflage 1. Vorwort zur ersten Auflage 2
Vorwort zur zweiten Auflage 1 Vorwort zur ersten Auflage 2 1 Über dieses Buch 3 1.1 WarumdiesesBuch?... 3 1.2 Voraussetzungen...... 4 1.3 Systematik... 4 1.4 WieliestmandiesesBuch?... 6 1.5 ZugriffaufdieQuellenzudenBeispielen...
MehrTechniken der Projektentwicklungen
Dynamische Modellierung 8. Termin Rückblick auf statische Modellierung Dynamische Modellierung Basiskonzepte Beispiel Erweiterungen Eigenschaften Syntax Rückblick auf statische Modellierung Dynamische
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...
MehrUniversität Karlsruhe (TH)
Universität Karlsruhe (TH) Forschungsuniversität gegründet 1825 Kapitel 2 Die Definitionsphase Prof. Walter F. Tichy Wo sind wir gerade? Planung Lastenheft (funktionales Modell) Definition (Analyse) Pflichtenheft
MehrVHDL Einleitung. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2010
VHDL Einleitung Dr.-Ing. Volkmar Sieh Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2010 VHDL Einleitung 1/17 2010-04-14 Inhalt Entwurfsebenen und -sichten
MehrAnalyse der logischen Systemarchitektur und Spezifikation der technischen Systemarchitektur. Kernprozess zur System- und Software- Entwicklung
der Benutzeranforderungen & der logischen zur System- und Software- Entwicklung Anwendungsfälle Akzeptanztest & Systemtest der logischen & der technischen Kalibrierung Integrationstest des Systems Integration
MehrPrinzipien der objektorientierten Programmierung (OOP)
Die Ziele der OOP sind: - bessere Warbarkeit - Wiederverwendbarkeit 1.) Datenkapselung Prinzipien der objektorientierten Programmierung (OOP) Komplexe Datenstrukturen (wie zb ein Stack) werden vom Anwendungsprogramm
MehrKapitel 2 - Die Definitionsphase
Kapitel 2 - Die Definitionsphase SWT I Sommersemester 2010 Walter F. Tichy, Andreas Höfer, Korbinian Molitorisz IPD Tichy, Fakultät für Informatik KIT die Kooperation von Forschungszentrum Karlsruhe GmbH
MehrSoftware-Wartung eine Taxonomie
Software-Wartung eine Taxonomie Übersicht Warum wird eine Taxonomie der Software-Wartung benötigt? Definition der Software-Wartung Erläuterung verwandter Begriffe Arten und Aspekte der Software-Wartung
MehrPflichtlektüre hierzu: Kosten und Nutzen von UML in der Wartung. Kontrolliertes Experiment zu UML. Warum UML?
Universität Karlsruhe (TH) Forschungsuniversität gegründet 1825 Kosten und Nutzen von UML in der Wartung Prof. Walter F. Tichy Pflichtlektüre hierzu: Dzidek, Arisholm, Briand, A Realistic Empirical Evaluation
Mehr1 Motivation. 1 Motivation. Standard Middleware für objektorientierte Anwendungen. Motivation. Fragmentierte Objektmodel. Java RMI
1 Motivation Motivation ierte Objektmodel Standard Middleware für objektorientierte Anwendungen CORBA,.NET-Remoting Java Remote Method Invocation (RMI) Java RMI ierte Objekte undjava RMI Zusammenfassung
MehrModellgetriebene Softwareentwicklung: Zusammenfassung und Ausblick. 7. Februar 2013
Modellgetriebene Softwareentwicklung: Zusammenfassung und Ausblick 7. Februar 2013 Überblick Zusammenfassung: Generell: Konzepte der Softwaretechnik im Kontext der modellgetriebenen Entwicklung Diskussion
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:
MehrVOM PROBLEM ZUM PROGRAMM
VOM PROBLEM ZUM PROGRAMM Was ist ein Problem? Ein Problem im Sinne der Programmierung ist durch Computer lösbar. Aspekte: es läßt sich hinreichend genau spezifizieren (z. B. als Funktion Eingabewerte ->
MehrPendenzen Management
, Stoeckackerstrasse 30, CH-4142 Muenchenstein Ph:++41 (0) 61 413 15 00, Fax:++41 (0) 61 413 15 01 http://www.e-serve.ch, email:crm@e-serve.ch e-serve PendenzenManagement Version 7.1: e-serve UPSM Pendenzen
MehrTesten mit Use Cases. Chris Rupp Dr. Stefan Queins
Testen mit Use Cases Chris Rupp Dr. Stefan Queins Das Problem Requirements- Engineering Was kann passieren? Was ist das gewünschte Verhalten? Was soll ich testen? Welche Eingaben benötigt mein Testpfad?
MehrBundling auf Softwaremärkten Eine technische Sicht
Bundling auf Softwaremärkten Eine technische Sicht Michael Goedicke Institute for Computer Science and Business Information Systems University of Duisburg-Essen Campus Essen Technische Softwarenentwickler
MehrSPI - Software Process Improvement mit CMMI, PSP/TSP und ISO 15504
SPI - Software Process Improvement mit CMMI, PSP/TSP und ISO 15504 von Ernest Wallmüller 1. Auflage Hanser München 2007 Verlag C.H. Beck im Internet: www.beck.de ISBN 978 3 446 40492 2 Zu Leseprobe schnell
MehrLanglebige Softwarearchitekturen
Langlebige Softwarearchitekturen Dr. Carola Lilienthal Carola.Lilienthal@wps.de www.wps.de //// Hans-Henny-Jahnn-Weg 29 //// 22085 HAMBURG Die zwei Architekturziele für diesen Vortrag Architekturziel 1:
MehrCOPE COuPled Evolution of metamodels and models
COPE COuPled Evolution of metamodels and models Diplomarbeit in Zusammenarbeit mit der BMW Car IT (Betreuer: Elmar Jürgens, Sebastian Benz) Markus Herrmannsdörfer 7. November 2007 Perlen der Informatik
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...
MehrBehutsame Modernisierung
Software Evolution mit Legacy Systemen Forum Forschungsförderung / ViSEK Trends im Software Engineering Software Evolution mit Legacy Systemen Behutsame Modernisierung Jan Wloka
MehrErläuterungen zu Darstellung des DLQ-Datenportals
Erläuterungen zu Darstellung des DLQ-Datenportals Definition zum Datenportal Das DLQ-Datenportal (DP) definiert fachliche Schnittstellen für den Datenaustausch zwischen verschiedenen Kommunikationspartnern.
Mehr