5. Design: Architektur-Grundlagen Softwaretechnik (CNAM) Wintersemester 2011 / 2012 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik
|
|
- Felix Möller
- vor 7 Jahren
- Abrufe
Transkript
1 5. Design: Architektur-Grundlagen Softwaretechnik (CNAM) Wintersemester 2011 / 2012 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik 1 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
2 Einordnung in den gesamten Kurs 1. Einführung 2. Analyse: Anforderungen und Anwendungsfälle 3. Analyse: Datenmodell 4. Analyse: Dialoge 5. Design: Architektur-Grundlagen 6. Design: Referenzarchitektur betriebliche Informationssysteme 7. Design: Querschnittsthemen und Muster 8. Programmierung 9. Test, Einführung, Qualitätsmanagement 10. Projektmanagement 11. Vorgehensmodelle 2 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
3 Agenda Motivation Architektur-Sichten Software-Kategorien Komponenten & Schnittstellen Regeln für den Komponentenschnitt Spezifikation von Schnittstellen Literatur, Kontrollfragen Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
4 Design: Die Königsdisziplin des Software Engineering Analyse WAS? Design WIE? 4 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
5 Architektur: Verteidigen Quelle: 5 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
6 Architektur: Beeindrucken Quelle: 6 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
7 Architektur: Verkehrsfluss Quelle: 7 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
8 Architektur: Erweitern Quelle: 8 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
9 Architektur: Mobilität Quelle: 9 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
10 Architektur: Grundriss 10 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
11 Architektur: Aufriss 11 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
12 Architektur: Elektriker-Sicht 12 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
13 Architektur: Sanitär-Installateur-Sicht 13 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
14 Softwaresysteme gehören zu den komplexesten Dingen, die Menschen je gemacht haben 14 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
15 und brauchen daher eine gute Architektur Wo ist hier die Architektur? Übersicht Quelle: Erich Gamma, "100 OO Frameworks, Pitfalls and Lessons Learned", Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
16 Übersicht Wichtigste Aufgaben der Design-Phase Fachliches (Anwendungs-)Design Zerlegung (Dekomposition) des Systems in Komponenten (z.b. in Vertragsverwaltung, Kundenverwaltung ) Festlegung der Schnittstellen (Operationen) Technisches Design (parallel zur Analysephase durchführbar) Festlegung der technischen Infrastruktur (GUI-Toolkit, Datenbanksystem, App. Server, Frameworks, Hardware, ) Festlegung der Entwicklungsumgebung (SEU) (Programmiersprache, Umgebung, Build-Tool, Bugtracker, ) Festlegung der Grobstruktur des Systems (Schichten, Tiers, Standard-Architektur, ) Festlegung der (Programmier-)richtlinien (Coding Conventions, Verzeichnisstruktur, Nutzungskonzepte für Tools, ) 16 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
17 Agenda Motivation Architektur-Sichten Software-Kategorien Komponenten & Schnittstellen Regeln für den Komponentenschnitt Spezifikation von Schnittstellen Literatur, Kontrollfragen Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
18 Architektur- Sichten A-Architektur (fachliche Anwendungsarchitektur) frei von technischen, produktbezogenen Sachzwängen wird für jedes Projekt neu entwickelt strukturiert die Software aus der Sicht der Anwendung enthält fachliche Klassen wie Mitarbeiter oder Konto. T-Architektur (Technikarchitektur) verbindet A- und TI- Architektur; beschreibt die virtuelle Maschine, auf der die mit der A-Architektur entworfene Software läuft. TI-Architektur (Architektur der technischen Infrastruktur) beschreibt die physischen Geräte (Rechner, Netzleitung, etc.), die darauf installierte Systemsoftware (Betriebssystem, Application-Server, etc.), das Zusammenspiel von Hardware und Systemsoftware sowie die verwendeten Programmiersprachen. 18 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
19 Beispiel-Projekt für Logistik-Dienstleister Kunde: großer Logistik-Dienstleister Projekt: Auftragsmanagement Volumen Stufe 1: > 30 BJ Zeit: April 2003 Januar Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
20 Beispiel für A-Architektur Master Applikation Informationsanforderung Benutzerverwaltung Frontend Internes Informationsservice und Clearing Portal Informationsservice und Clearing Benutzerverwaltung Stammdatenverwaltung Clients ESI-Frontend Benutzerverwaltung Stammdatenverwaltung SA- Frontend SA- Batch- Scanner SA- Online- Scanner NVE- Drucker NVE- Drucker NVE- Drucker Backend Auftragsverwaltung Produktionsauftragsverwaltung Annahme/Importer Auftragsüberwachung ESi-Backend SA-Backend Konvertierung Disposition Auftragsüberwachung T&T-Verwaltung Auftragsverwalter Auftragsabrechnung Disposition Nummerverwaltung Inform.service u. Clearing Auftragsverwalter Stammdatenverwaltung Informationsservice und Clearing Nummernverwaltung Stammdatenverwaltung Auftragsverwaltung Produktion Entgeltsicherung Tracking & Tracing Querschnitt Benutzerverwaltung 20 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
21 Beispiel für T-Architektur Clients nutzen Services zur Kommunikation mit den Applikationen Die publizierten und genutzten Services werden mit Hilfe von Adaptern und Proxies von den Use-Cases entkoppelt Strikte Trennung von fachlichen und technischen Programmteilen Anwendungskern kann wiederverwendet werden (z.b. im Offline-Client) 21 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
22 Beispiel für TI-Architektur PC Web-Browser Java-Applet IDMS Nachbarsysteme z/os USS CICS/TSO http IBM-Webserver Bridge (GWAPI) EXCI Anwendungskern AKS-Shell CICS Nachbarsysteme CICS-DPL CICS/UNIX Nachbarsysteme TCP/IP MQSeries Nachbarsysteme DB2 22 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
23 Entwicklung der Architektur-Sichten im Projekt-Ablauf A-Architektur T-Architektur TI-Architektur Referenzarchitektur A-Architektur grob Anforderungen Teilsysteme Nachbarsysteme Spezifikation Anwendungsfälle Entitätenmodell Dialogspezifikation etc. Schichten Komponenten Klassen/Module Auswahl einer geeigneten Technologie logische Rechner, Netze, Trägersysteme technische Produkte Teilsysteme, Komponenten, Schnittstellen, Klassen/Module Pakete, DLLs, Programmiersprachendateien Pakete, DLLs, Programmiersprachendateien Programmierung von Basiskomponenten (0/T-Software) Zeit Programmierung der Anwendung 23 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
24 Agenda Motivation Architektur-Sichten Software-Kategorien Komponenten & Schnittstellen Regeln für den Komponentenschnitt Spezifikation von Schnittstellen Literatur, Kontrollfragen Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
25 Idee der Softwarekategorien Software, die sich unterschiedlich schnell ändert, wird in unterschiedliche Module aufgeteilt. David Parnas, Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
26 Beispiel Gehaltssoftware IBM AS/400 Fachliche Änderungen Neues Entwicklungspfadeund Entlohnungsmodell technische Änderungen Neue CORBA-Version Neue Beitragssätze zur Sozialvericherung 26 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
27 Softwarekategorien: Trenne Zuständigkeiten Kategorien A-Software T-Software 0-Software AT-Software R-Software C-Software Kombinationen A + 0 = A T + 0 = T A + T = AT Das heißt bestimmt durch die fachliche Anwendung; unabhängig von Technik; Meist der größte Teil des Systems; Beispiel: Mitarbeiter, Buchung unabhängig von der fachlichen Anwendung; wiederverwendbar bei Einsatz derselben technischen Komponente; Beispiel: Zugriffsschicht auf Datenbank unabhängig von Anwendung und Technik; ideal wiederverwendbar; Beispiel: Klassenbibliothek für Strings und Behälter befasst sich mit Technik und Anwendung; schwer zu warten; widersetzt sich Änderungen; Wiederverwendung = 6er im Lotto! reine Transformation; Beispiel: Bildschirmformat in XML Konfiguration: Bringt die verschiedenen Kategorien zusammen (main) Quelle: J. Siedersleben: Moderne Softwarearchitektur 27 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
28 Software-Kategorien als Maß für Softwarequalität Anteil von AT-Software Wiederverwendbarkeit der technischen Komponenten Wartbarkeit Fehlerfreiheit Stabile Komponenten... Der Anteil an AT-Software ist antiproportional zu der Qualität eines Software- Systems! 28 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
29 Agenda Motivation Architektur-Sichten Software-Kategorien Komponenten & & Schnittstellen Regeln für den Komponentenschnitt Spezifikation von Schnittstellen Literatur, Kontrollfragen Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
30 Komponenten-Orientierung am Beispiel Auto Außensicht (Schnittstelle) des Fahrers: möglichst einfach Innensicht: komplex Außensicht (Schnittstelle) der Werkstatt: möglichst einfach 30 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
31 Komponenten-Orientierung in der Software Beispiel: Berechtigungskomponente Außensicht (Nutzungssicht): operative Schnittstelle des Anwendungsprogrammierers (möglichst einfach) operative Schnittstelle B Berechtigungskomponente Berechtigungskern Admin- Schnittstelle A Berechtigung GUI Außensicht (Nutzungssicht): Schnittstelle des Administrators (möglichst einfach) R S RACF- Adapter DB-Zugriff R JDBC RACF Oracle Innensicht: komplex 31 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
32 UML-Notation Schnittstelle ist Stereotyp von Klasse. Enthält nur Operationen, keine Attribute Alternative Darstellung der Schnittstelle als Ball ( Lollypop ) Angebotene Schnittstellen Komponente als Stereotyp von Klasse mit Komponentensymbol cmp Komponenten & Schnittstellen «interface» Interface Interface ProvidedInterface1 ProvidedInterface2 Angeforderte Schnittstelle (Socket- Symbol, neu in UML 2) Class Class Component RequiredInterface 32 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
33 Was ist eine Komponente Definition Komponente: 6 Merkmale Eine Komponente Johannes Siedersleben definiert ihre angebotenen Dienste. Dazu gehört insbesondere die genaue Semantik der Schnittstellen. definiert die Abhängigkeiten von angeforderten Diensten anderer Komponenten. versteckt die Implementierung und kann daher durch eine andere Komponente ersetzt werden, die dieselbe Schnittstelle exportiert. ist geeignet als Einheit der Wiederverwendung. kann andere Komponenten enthalten. ist neben der Schnittstelle die wesentliche Einheit des Entwurfs, der Implementierung und der Planung. Komponente k t1 t2 k exportiert (implementiert) t1 und t2 Austauschbare Implementierung von k K Impl s1 k importiert (benutzt) s1 und s2 s2 33 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
34 Sichten auf eine Komponente Nutzer (Anwendungsentwickler Client oder Nachbarkomponente): operative Außensicht Komponente Entwickler (Anwendungsentwickler Komponente): Innensicht Integrator: Integrationssicht (technische Konfiguration) Administrator: Administrationssicht (fachliche Konfiguration) Betreiber (Rechenzentrum): Außensicht Betrieb 34 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
35 Application components Außensicht (Anwendungsentwickler Client oder Nachbarkomponente) gets reference to OrderingFactory OrderingFactory Ordering Client Komponente: GUI, Nachbar-Komponente, Test-Treiber <<uses>> <<uses>> Ordering interface OrderingFactory { Ordering getorderingusecase(); } interface Ordering { OrderRecord placeorder( String customerid, String articleid); } Außensicht: So einfach und stabil wie möglich 35 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
36 Application components Innensicht (Anwendungsentwickler der Komponente) Innensicht: die Komponente implementieren Ordering OrderManager public interface OrderManager { Order neworder (Customer customer Article article); } OrderingFactory Ordering FactoryImpl Order public interface Order { String getid(); } Ordering OrderingImpl <<creates>> CustomerManager Customer public interface CustomerManager { Customer newcustomer (String name, String address); Customer findcustomerbyid (String id); } public interface Customer { String getname(); } 36 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
37 Application components Integrationssicht OrderingFactory orderingfactory = getorderingfactory(); Ordering orderingusecase = orderingfactory.getorderingusecase(): ClientComponent c = new ClientComponent(orderingUseCase); Entscheidung für eine konkrete Implementierung und Zusammenbringen von Schnittstelle und Implementierung <<creates>> <<creates>> OrderingFactory OrderingFactory Client- Komponente Ordering Komponente SAP Adapter Ordering Ordering 37 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
38 Administrationssicht settaxvalues, configureprices, configurereductions, OrderingFactory Ordering Komponente Administration Ordering 38 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
39 Betriebssicht Komponente hoch- und herunterfahren, Gesundheitszustand abfragen OrderingFactory Ordering Komponente SystemsManagement Systems Management (z.b. Tivoli) Ordering 39 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
40 Rückblick Grundlagen der Programmierung I Schnittstellen (Interfaces) beschreiben Eigenschaften von Komponenten aus Sicht der Benutzer Patient Katze Haustier class Katze implements Patient, Haustier { } Quelle: Roger King 40 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
41 Analogie Mensch Jeder Mensch hat viele Eigenschaften. Aber für bestimmte Personengruppen sind nur bestimmte Eigenschaften wichtig: Verkehrspolizist: Führerschein Arbeitgeber: Lebenslauf, Aufgaben, Einkommen Bibliothek: Leihausweis Familie: jede Menge anderer Eigenschaften Eine Klasse, zum Beispiel Customer, kann viele Eigenschaften haben. Aber für bestimmte Collaborations sind nur bestimmte Eigenschaften wichtig: Kundenverwaltung: fachliche Attribute und Funktionen SortedSet: Comparable Client-Server Kommunikation: Serializable 41 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
42 Definition Schnittstelle und Operation Eine Schnittstelle (Interface) fasst Operationen zusammen. Sie wird spezifiziert durch: (1) Einen eindeutigen Namen, (2) Die Menge der zugehörigen Operationen (3) Ein Schnittstellen-Protokoll im Sinne von Reihenfolgen und Restriktionen beim Aufruf der Operationen. Operationen (Operations) beschreiben das Verhalten von Komponenten. Sie werden spezifiziert durch: (1) Signatur: Name der Operation, Parameter und Rückgabewerte und deren Typen, Ausnahmen (2) Semantik: Verhalten der Operation (3) Nichtfunktionale Eigenschaften: z.b. Performanz, Verfügbarkeit, Kosten etc. 42 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
43 Komponenten und Schnittstellen Verschiedene Sichten / Schnittstellen für unterschiedliche Nutzer Entwickler Admin-Client des Admin-Clients Entwickler Operational interface B Authorization kernel administration interface A Authorization GUI A-GUI Anwendungsprogrammierer (viele) R' S Administrator RACF-Adapter DB Access RACF-Experte R DB-Experte RACF Datenbank 43 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
44 Wer definiert Schnittstellen? Konvention für diese Vorlesung: Verwendung des Socket-Symbols nur für angeforderte Schnittstellen, die von der Komponente selbst definiert und exportiert werden angebotene Schnittstelle Nutzer z.b. Oracle Call Interface S Anbieter Standard-Schnittstelle z.b. JDBC Nutzer S Anbieter Nutzer Call-back SS, z.b. Observer z.b. SAP Adapter angeforderte Schnittstelle S Anbieter angeforderte Schnittstelle angebotene Schnittstelle Nutzer S Adapter S Anbieter 44 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
45 Beispiel: Observer Muster addobserver, deleteobserver, <<uses>> Nutzer (Observer) <<implements>> Observable Anbieter (Observable) Observer Update (call-back) Prinzip Inversion of Control (Umkehr der Abhängigkeit) Der Anbieter (Observable) exportiert sowohl die angebotene als auch das angeforderte Schnittstelle Obwohl Aufrufe in beide Richtungen erfolgen, ist die Abhängigkeit unidirektional und damit zyklenfrei (Observer Observable) 45 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
46 Komponenten und Schnittstellen Angeforderte Schnittstellen: Komponenten entkoppeln Konfiguration t1 k s1 a1 s1 h1 und das h1 t2 s2 a2 s2 h2 Das alles gehört k Komponente k definiert die erwarteten Dienste mit Hilfe von Schnittstellen s1 und s2 Diese Schnittstellen, auch angeforderte Schnittstellen genannt, gehören der importierenden Komponente Die Dienstanbieter-Komponenten h1, h2 exportieren die Schnittstellen s1 bzw. s2, welche i.d.r. nicht identisch zu s1 und s2 sind Adapter a1, a2 bilden die angeforderten Schnittstellen auf die konkreten Schnittstellen von h1, h2 ab. Das Komponenten-Binding erfolgt über die Konfiguration und das h2 46 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
47 Agenda Motivation Architektur-Sichten Software-Kategorien Komponenten & Schnittstellen Regeln Regeln für den für den Komponentenschnitt Spezifikation von Schnittstellen Literatur, Kontrollfragen Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
48 Regel 1: Zusammengehörige Fachlichkeit Komponenten sollen zusammengehörige Fachlichkeit zusammenfassen Kriterien: Geschäftslogik für unterschiedliche (Haupt-)Geschäftsprozesse soll getrennt werden Geschäftslogik für unterschiedliche (Haupt-)Geschäftsobjekte soll getrennt werden, insbesondere sollen Stamm- von Bewegungsdaten getrennt werden ( Partitionierung des Datenmodells) Geschäftslogik, die sich unterschiedlich häufig ändert, soll getrennt werden Beispiele: Hauptbuchhaltung, Nebenbuchhaltung Kundenverwaltung, Auftragsverwaltung Vertrieb, Produktion Gegenbeispiele: Host-Anwendungen, Java-Anwendungen 48 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
49 Regel 2: Kategorienreine Komponenten Komponenten sollen eindeutig einer Software-Kategorie zugeordnet werden können: A-Komponenten: implementieren nur Fachlichkeit T-Komponenten: stellen technische Dienste bereit Möglichst keine AT-Software auf Komponentenebene Beispiele A-Komponenten: Kundenverwaltung Buchhaltung Auftragsverwaltung Beispiele T-Komponenten: Datenbank O/R Mapper Middleware 49 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
50 Regel 3: Datenabstraktion Der Zugriff auf Anwendungsdaten soll ausschließlich über Komponentenschnittstellen erfolgen. Schreibende Zugriffe über create- / modify-methoden Lesende Zugriffe über find-methoden Direktzugriff auf Datenbank nur in Ausnahmefällen (Performance) und nur für lesende Zugriffe erlaubt Auftragsverwaltung Kundenverwaltung Kunden-DB 50 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
51 Regel 4: Enger Zusammenhalt, geringe Kopplung Komponenten sollen so geschnitten sein, dass sie intern einen engen Zusammenhang haben und untereinander gering gekoppelt sind. 51 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
52 Regel 5: Azyklische Abhängigkeiten Komponenten sollen so geschnitten sein, dass sie keine zyklischen Abhängigkeiten haben d.h. Abhängigkeitsgraph = DAG (Directed Acyclic Graph) 52 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
53 Regel 6: Handhabbare Komponentengröße Komponenten sollen eine handhabbare Größe haben Weder 100 Klassen noch 1 Klasse, weder noch 10 Zeilen Code 53 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
54 Zuordnung der Regeln zu Qualitätszielen nach ISO/IEC 9126 R1: zusammengehörige Fachlichkeit R2: kategorienrein R3: Datenabstraktion R4: enger Zusammenhalt, geringe Kopplung Angemessenheit (Funktionalität) Benutzbarkeit Änderbarkeit, Austauschbarkeit R5: zyklenfrei R6: handhabbare Größe 54 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
55 Agenda Motivation Architektur-Sichten Software-Kategorien Komponenten & Schnittstellen Regeln für den Komponentenschnitt Spezifikation von von Schnittstellen Literatur, Kontrollfragen Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
56 Spezifikation von Schnittstellen Schnittstelle Name public interface OrderManager { Schnittstellenname Operationen Signatur Semantik } Rückgabetyp Operationsname Eingabeparameter und -typ Order placeorder (Customer customer, Article article) throws NotAvailableException; Prosa, Vorbedingungen, Nachbedingungen, etc. Ausnahme Nicht-funktionale Eigenschaften Prosa Protokoll Prosa, Sequenzdiagramme etc. 56 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
57 Vorbedingungen und Nachbedingungen Vorbedingungen (pre-conditions) Bedingungen, die vor Ausführung der Operation erfüllt sein müssen, z.b. Eigenschaften der Parameter muss der Nutzer der Operation zusichern der Anbieter darf die Arbeit einstellen, wenn die Vorbedingung verletzt ist (Zusätzliche Prüfung erhöht die Sicherheit: bei Verletzung Abbruch mit Ausnahme) Beispiel: Artikel muss verfügbar sein, wenn er bestellt wird Nachbedingungen (post-conditions) Bedingungen, die nach Ausführung der Operation erfüllt sein müssen, z.b. Eigenschaften des Ergebnisses Muss der Anbieter der Operation zusichern Nutzer der Operation kann davon ausgehen (Zusätzliche Prüfung erhöht die Sicherheit: bei Verletzung Abbruch mit Ausnahme) Beispiel: Nach erfolgreicher Bestellung ist Rechnung erzeugt 57 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
58 Agenda Motivation Architektur-Sichten Software-Kategorien Komponenten & Schnittstellen Regeln für den Komponentenschnitt Spezifikation von Schnittstellen Literatur, Kontrollfragen Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
59 Literatur Johannes Siedersleben: Moderne Softwarearchitektur. dpunkt- Verlag 2004 Johannes Siederlseben (Hrsg.): Quasar: Die sd&m Standardarchitektur (Download von meiner Hompage) Martin Haft, Bernhard Humm, Johannes Siedersleben: The Architect s Dilemma Will Reference Architectures Help? (Download von meiner Hompage) 59 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
60 Kontrollfragen Was sind die wichtigsten Aufgaben der Disziplin Design? Welche Architektursichten unterscheiden wir? Was bedeuten die einzelnen Sichten? Wie werden die einzelnen Sichten im Projektablauf entworfen? Erklären Sie die Software-Kategorien Was sind Komponenten? Nennen Sie Beispiele Welche Sichten auf Komponenten existieren? Nennen Sie wichtige Regeln für den Komponentenschnitt Was sind Schnittstellen? Nennen Sie Beispiele Wie werden Schnittstellen spezifiziert? 60 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2011 / 2012
6. 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. 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
Mehr6. Design: Architektur-Grundlagen Softwaretechnik (CNAM) Wintersemester 2009 / 2010 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik
6. Design: Architektur-Grundlagen Softwaretechnik (CNAM) Wintersemester 2009 / 2010 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik 1 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik:
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.
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
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:
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?
Mehr9. Design-Phase Software Engineering
9. Design-Phase Software Engineering Fachhochschule Darmstadt Haardtring 100 D-64295 Darmstadt Prof. Dr. Bernhard Humm FH Darmstadt, 1. Dezember 2005 Einordnung in den Kontext der Vorlesung 1. Einführung
Mehr3. Analysephase Anforderungen, Anwendungsfälle Softwaretechnik (CNAM)
3. Analysephase Anforderungen, Anwendungsfälle Softwaretechnik (CNAM) Wintersemester 2009 / 2010 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik 1 Prof. Dr. Bernhard Humm, Hochschule Darmstadt,
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
Mehr2. A reference architecture for business information systems Reference Architectures and Patterns
2. A reference architecture for business information systems Reference Architectures and Patterns Winter Semester 2007 / 2008 Prof. Dr. Bernhard Humm Darmstadt University of Applied Sciences Department
Mehr2. A reference architecture for business information systems Reference Architectures and Patterns
2. A reference architecture for business information systems Reference Architectures and Patterns Winter Semester 2008 / 2009 Prof. Dr. Bernhard Humm Darmstadt University of Applied Sciences Department
Mehr7. Design-Phase Querschnittsthemen und Muster Softwaretechnik (CNAM)
7. Design-Phase Querschnittsthemen und Muster Softwaretechnik (CNAM) Wintersemester 2011 / 2012 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik 1 Prof. Dr. Bernhard Humm, Hochschule Darmstadt,
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
MehrQuasar. Seminar "Beiträge zum Software Engineering" Freie Universität t Berlin. von Tichomir Jabarski
Quasar von Tichomir Jabarski Seminar "Beiträge zum Software Engineering" Freie Universität t Berlin 1 Inhaltsverzeichnis Quasar Schnittstellen Komponenten Softwarekategorien Zusammenfassung 2 1.Quasar
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...?
Mehr7. Design-Phase: Referenzarchitektur betriebliche Informationssysteme Softwaretechnik (CNAM)
7. Design-Phase: Referenzarchitektur betriebliche Informationssysteme Softwaretechnik (CNAM) Wintersemester 2009 / 2010 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik 1 Prof. Dr. Bernhard
Mehr1. Einführung Grundlagen der Programmierung II (Java) Prof. Dr. Bernhard Humm Hochschule Darmstadt University of Applied Sciences Sommersemester 2006
1. Einführung Grundlagen der Programmierung II (Java) Prof. Dr. Bernhard Humm Hochschule Darmstadt University of Applied Sciences Sommersemester 2006 Agenda Agenda Organisation Rückblick Grundlagen der
Mehr7. Programmierungs- Phase Software Engineering (FB EIT) Wintersemester 2007 / 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik
7. Programmierungs- 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:
Mehr8. Design-Phase Querschnittsthemen und Muster Softwaretechnik (CNAM)
8. Design-Phase Querschnittsthemen und Muster Softwaretechnik (CNAM) Wintersemester 2009 / 2010 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik 1 Prof. Dr. Bernhard Humm, Hochschule Darmstadt,
Mehr1. Programmieren gegen Schnittstellen Advanced Programming Techniques
1. Programmieren gegen Schnittstellen Advanced Programming Techniques Sommersemester 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik 1 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB
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
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
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
Mehr7. Analyse-Phase: Datenmodellierung Software Engineering
7. Analyse-Phase: Datenmodellierung Software Engineering Hochschule Darmstadt Haardtring 100 D-64295 Darmstadt Prof. Dr. Bernhard Humm Hochschule Darmstadt, 20. November 2006 Einordnung in den Kontext
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
Mehr46 Softwarearchitektur mit dem Quasar-Architekturstil
46 Softwarearchitektur mit dem Quasar-Architekturstil Prof. Dr. U. Aßmann Technische Universität Dresden Institut für Software- und Multimediatechnik Lehrstuhl Softwaretechnologie http://st.inf.tu-dresden.de
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
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
Mehr10. Berechtigungsverwaltung Grundlagen der Programmierung II (Java)
10. Berechtigungsverwaltung Grundlagen der Programmierung II (Java) Prof. Dr. Bernhard Humm Hochschule Darmstadt University of Applied Sciences Sommersemester 2006 Übersicht Grundlagen der Programmierung
Mehr11. Funktionale Programmierung Advanced Programming Techniques Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt
11. Funktionale Programmierung Advanced Programming Techniques Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt 1 Kontrollfragen zu Design Patterns Wozu werden Design Patterns verwendet? Wann
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,
MehrAlternative Architekturkonzepte
Alternative Architekturkonzepte Motivation: Suche nach einer Gesamtstruktur meistens: dominante nichtfunktionale Eigenschaften legen Architektur fest Antrieb: Architekturziel Ziel: globale Betrachtung
Mehr<Insert Picture Here> Einführung in SOA
Einführung in SOA Markus Lohn Senior Principal Consultant SOA? - Ideen Selling Oracle To All SAP On ABAP Increasing Sales Of Applications 3 Agenda Motivation SOA-Definition SOA-Konzepte
Mehr4. Objektrelationales Mapping Grundlagen der Programmierung II (Java)
4. Objektrelationales Mapping Grundlagen der Programmierung II (Java) Prof. Dr. Bernhard Humm Hochschule Darmstadt University of Applied Sciences Sommersemester 2006 Übersicht Grundlagen der Programmierung
MehrSODA. Die Datenbank als Document Store. Rainer Willems. Master Principal Sales Consultant Oracle Deutschland B.V. & Co. KG
SODA Die Datenbank als Document Store Rainer Willems Master Principal Sales Consultant Oracle Deutschland B.V. & Co. KG vs No Anforderungskonflikte Agile Entwicklung Häufige Schema-Änderungen Relationales
MehrDatenbanksysteme. Donald Kossmann TU München
Datenbanksysteme Donald Kossmann TU München Übersicht Wie benutze ich ein Datenbanksystem? Datenmodellierung (ER, UML, Theorie) Datenbankprogrammierung (SQL) Wie baue ich ein Datenbanksystem? Anfrageoptimierung
Mehr10. Modellgetriebene Entwicklung Softwaretechnik (CNAM) Wintersemester 2009 / 2010 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik
10. Modellgetriebene Entwicklung Softwaretechnik (CNAM) Wintersemester 2009 / 2010 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik 1 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik:
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
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,
Mehrsystems landscape engineering - übung -
systems landscape engineering - übung - Wintersemester 2010 /2011 Arbeitsgruppe Wirtschaftsinformatik - Managementinformationssysteme - Dipl. Wirt.-Inform. Sven Gerber Arbeitsgruppe Wirtschaftsinformatik
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Übungsklausur Programmieren / Algorithmen und Datenstrukturen 1
Programmieren / Algorithmen und Datenstrukturen 1 Autor: Prof. Dr. Bernhard Humm, FB Informatik, Hochschule Darmstadt Datum: 28. Juni 2010 Übungsklausur Programmieren / Algorithmen und Datenstrukturen
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
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
MehrSoftware- /Systemarchitektur
Software- /Systemarchitektur Agenda: Definition von Softwarearchitektur Voraussetzungen Was bedeutet Objektorientierung? Wie speichert man Daten persistent? Client-Server-Architektur Schichtenarchitektur
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
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
Mehr7. GUI Grundlagen der Programmierung II (Java) Prof. Dr. Bernhard Humm Hochschule Darmstadt University of Applied Sciences Sommersemester 2006
7. GUI Grundlagen der Programmierung II (Java) Prof. Dr. Bernhard Humm Hochschule Darmstadt University of Applied Sciences Sommersemester 2006 Übersicht Grundlagen der Programmierung II Einordnung in den
MehrMicrosoft.NET Framework & Component Object Model. ein Vortrag von Florian Steuber
Microsoft.NET Framework & Component Object Model ein Vortrag von Florian Steuber Übersicht I..NET Framework 1. Was ist das.net Framework? 2. Das.NET Execution Model 3. Sprachunabhängigkeit, CTS und CLS
MehrArchitekturprinzipien betrieblicher Informationssysteme
Architekturprinzipien betrieblicher Informationssysteme 1 Studium der Wirtschaftsinformatik an der HFU Furtwangen und der Southeastern Louisiana University 2006 2012: bei sd&m als Software-Ingenieur Chefarchitekt
MehrVgl. Oestereich Kap 2.4 Seiten
Vgl. Oestereich Kap 2.4 Seiten 99-110 1 Vgl. Oestereich Kap 2.41 Seiten 99ff 2 Wie das Klassendiagramm ist auch das Objektdiagramm ebenfalls ein Strukturdiagramm. Da die Anzahl der Attribute sehr groß
MehrSotograph im Einsatz bei der FIDUCIA IT AG. Harald Doderer, Technische Architektur
Sotograph im Einsatz bei der FIDUCIA IT AG Harald Doderer, Technische Architektur 30.05.08 Agenda Die FIDUCIA IT AG Statische Code-Analyse Das Sotograph-Umfeld Die Ergebnisse Sotograph im Einsatz bei der
MehrSoftwaretechnik WS 16/17. Übungsblatt 01
Softwaretechnik WS 16/17 Übungsblatt 01 Was ist eine Klasse? Definition der Object Management Group: A class describes a set of objects that share the same specifications of features, constraints, and
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
MehrProjektarbeit Java. 4-Gewinnt. Berner Fachhochschule. 2004, Labor für Technische Informatik
Berner Fachhochschule Hochschule für Technik und Informatik, HTI Fachbereich Elektro- und Informatik Labor für technische Informatik Projektarbeit Java 4-Gewinnt 2004, Labor für Technische Informatik Dateiname:
MehrZiele. Kapitel 15: Systemarchitektur und Packages. Grundprinzipien der Systemarchitektur. Grundprinzipien der Systemarchitektur (2)
Einführung in die Informatik: Programmierung und Softwareentwicklung Wintersemester 2018/19 Ziele Kapitel 15: Systemarchitektur und Packages Prof. Dr. David Sabel Lehr- und Forschungseinheit für Theoretische
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.
MehrProgrammierung im Grossen
1 Letzte Aktualisierung: 16. April 2004 Programmierung im Grossen Bertrand Meyer 2 Vorlesung 4: Abstrakte Daten-Typen Übungen 3 Passe die vorhergehende Spezifikation von Stacks (LIFO, Last-In First-Out
MehrKonzeption und Implementierung von SOA Composed Services in der Praxis
Konzeption und Implementierung von SOA Composed Services in der Praxis Markus Trenkle, Lyubomir Yordanov InterFace AG, Yordanov Consulting Nürnberg Schlüsselworte Systemarchitektur, Composed Services,
MehrZukunft der Oracle Applikationsentwicklung: BC4J & XML
2 Jahre Niederlassung in München Trivadis GmbH Zukunft der Oracle Applikationsentwicklung: BC4J & XML Markus Heinisch 1 Agenda Tägliches Brot BC4J DEMO Applikation BC4J XML DEMO Applikation XML Fazit 2
MehrEclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007
Eclipse Equinox als Basis für Smart Client Anwendungen Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007 Übersicht Definition / Architektur Smart Client Smart Client mit RCP / Equinox Gesamtfazit
MehrVererbung und Polymorphie
Vererbung und Polymorphie Marc Satkowski, Sascha Peukert 29. September 2016 C# Kurs Gliederung 1. Methodenüberladung 2. Vererbung Polymorphie Methoden- & Eigenschaftsüberschreibung Weitere Schlüsselwörter
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
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
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:
Mehr10. Programmierungs-Phase: Objektorientierung Software Engineering
10. Programmierungs-Phase: Objektorientierung Software Engineering Fachhochschule Darmstadt Haardtring 100 D-64295 Darmstadt Prof. Dr. Bernhard Humm FH Darmstadt, 15. Dezember 2005 Einordnung in den Kontext
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
MehrArchitekturleitfaden. Definieren Sie fachliche Komponenten und implementieren Sie Ihre Aufgaben in technischen Schichten
Architekturleitfaden Definieren Sie fachliche und implementieren Sie Ihre Aufgaben in technischen Schichten Illustration: Designed by Freepik.com Zwei Architektursichten prägen den Bau von Software-Systemen
MehrDie Magie von MBeans und JMX. DOAG 2014 Andreas Chatziantoniou - Foxglove-IT BV
Die Magie von MBeans und JMX DOAG 2014 Andreas Chatziantoniou - Foxglove-IT BV Bio Andreas Chatziantoniou Freelance Oracle Fusion Middleware Consultant 16 Jahre Oracle Erfahrung/26 Jahre IT (Unix/C) Oracle
MehrLogo in neuer Logosystematik einfügen: Bewertung der Softwarequalität eines bestehenden Softwaresystems an Hand von
Bewertung der Softwarequalität eines bestehenden Softwaresystems an Hand von Software Engineering Grundsätzen und Identifikation von Maßnahmen zur Verbesserung Axel Sommer Inhalt Motivation und Ziele Software
MehrIndividuelles Auditing von vielen Datenbanken
Individuelles Auditing von vielen Datenbanken Agenda Einführung Audit-Ansätze Sicherheitsvorfälle Spinnennetz Lessons Learned Einführung Im Zuge eines großen Auditing-Projektes stellte sich die Frage:
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
MehrModellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme. Tillmann Schall, anaptecs GmbH
Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme Tillmann Schall, anaptecs GmbH : Agenda Grundlagen modellgetriebener Entwicklungsprozesse Schritte zur Einführung Erfahrungen
MehrIntegration im Enterprise Umfeld
Integration im Enterprise Umfeld Sven Tissot pdv Technische Automation + Systeme GmbH Hamburg DOAG 2007 pdv Technische Automation + Systeme GmbH, 2007 1 Eckdaten Individual-Software Client/Server- und
Mehr1. Einführung Advanced Programming Techniques. Wintersemester 2009/10 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik
1. Einführung Advanced Programming Techniques Wintersemester 2009/10 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik 1 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Advanced
MehrDer sd&m-ansatz für serviceorientierte Architektur Quasar Enterprise
Der sd&m-ansatz für serviceorientierte Architektur Quasar Enterprise A Company of Prof. Dr. Bernhard Humm OOP 2006 sd&m Developer Day München, 18. Januar 2006 sd&m AG, 18.1.2006, Seite 1 Anwendungslandschaften
MehrEnterprise Content Management für Hochschulen
Enterprise Content Management für Hochschulen Eine Infrastuktur zur Implementierung integrierter Archiv-, Dokumentenund Content-Managementservices für die Hochschulen des Landes Nordrhein Westfalen Management
MehrContainer als Immutable Infrastructure. John M. Hutchison
Container als Immutable Infrastructure John M. Hutchison Container als Immutable Infrastructure 1. Context 2. Anwendungsbereiche 3. Demo 4. Erkenntnisse Präsentationstitel 06.03.2017 2 Container Verschiedene
Mehr16. Ausnahmebehandlung Programmieren / Algorithmen und Datenstrukturen 2
16. Ausnahmebehandlung Programmieren / Algorithmen und Datenstrukturen 2 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt Wintersemester 2012 / 2013 1 Agenda Kontrollfragen Motivation Fehlerbehandlung
MehrHerzlich willkommen DevDay 2016 Performance Profiling mit JProfiler
Herzlich willkommen DevDay 2016 Performance Profiling mit JProfiler 1 2 Referent Björn Reber Software-Entwickler und Trainer Java-Technologie OpenSource und SAP 3 Inhalt Motivation Tool-Übersicht Profiling
MehrKostenoptimierte Cloud-Administration mit Solaris Container Technologie
Kostenoptimierte Cloud-Administration mit Solaris Container Technologie Joachim M. Dietsch Principal Sales Consultant Global Elite Accounts Agenda Virtualisierungs-Technologien System
MehrTechnische Open Source Komponenten implementieren die Referenzarchitektur Quasar ISOS 2004
Technische Open Source Komponenten implementieren die Referenzarchitektur Quasar ISOS 2004 A Company of Dr. Bernhard Humm, sd&m Research Bremen, 17. September 2004 Abhängigkeitsgraph im OO-Betriebssystem
MehrIdentity & Access Management in Extranet Portal Projekten
Identity & Access Management in Extranet Portal Projekten November 2007 Kontakt: Udo Hochstein CGI GROUP INC. All rights reserved _experience the commitment TM Agenda Einleitung Referenzszenario Referenzarchitektur
MehrComparing Software Factories and Software Product Lines
Comparing Software Factories and Software Product Lines Martin Kleine kleine.martin@gmx.de Betreuer: Andreas Wuebbeke Agenda Motivation Zentrale Konzepte Software Produktlinien Software Factories Vergleich
MehrS O F T W A R E H Y G I E N E X P D A Y S S T U T T G A R T
SOFTWARE HYGIENE XPDAYS STUTTGART 2017 oder was man von Blutgruppen über die Strukturierung von Software lernen kann sven bange jens himmelreich NEULAND - BÜRO FÜR INFORMATIK AGILE ARCHITEKTUR DER EINSAME
MehrWorkflowsysteme. Anforderungen, Erfahrungen und Referenzarchitektur
Workflowsysteme Anforderungen, Erfahrungen und Referenzarchitektur Kontakt Dr. Markus Trenkle Software Architekt Telefon: +49 (0)89 61049-0 Fax: +49 (0)89 61049-85 E-mail: markus.trenkle@interface-ag.com
Mehr2. Analyse: Anforderungen und Anwendungsfälle Softwaretechnik (CNAM)
2. Analyse: Anforderungen und Anwendungsfälle Softwaretechnik (CNAM) Wintersemester 2011 / 2012 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik 1 Einordnung in den gesamten Kurs 1. Einführung
MehrBekannte Lösungen für bekannte Probleme benutzen. Entwurf auf höherer Abstraktionsebene als bei Programmiersprachen
Michael Saecker Bekannte Lösungen für bekannte Probleme benutzen Entwurf auf höherer Abstraktionsebene als bei Programmiersprachen Gemeinsames Vokabular für Designer 2 http://www.clickpix.de/sommer/architektur.jpg
MehrÜberblick über die Roblet -Technik
Überblick über die Roblet -Technik Hagen Stanek gefördert durch Agenda Teil 1: Motivation, Einführung Teil 2: Beispiel-Vorführung Teil 3: Anwendungen, Zusammenfassung 2 Teil 1 Motivation, Einführung 3
MehrSOFTWARE ENGINEERING 2
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
MehrVAADIN, SPRING BOOT & REST
VAADIN, SPRING BOOT & REST Ein Einstieg für Domino Entwickler Stephan Kopp 1 STEPHAN KOPP Software & Solutions Development Tel.: +49 6182 7869420 Mobil: +49 173 3089806 E-Mail: stephan.kopp@axians.de 2
MehrErfahrungsbericht Eine Architektur für ausfallsichere Systeme in standortübergreifenden Multiserver-Umgebungen
Erfahrungsbericht Eine Architektur für ausfallsichere Systeme in standortübergreifenden Multiserver-Umgebungen Hamburg, 30. März 2007 Andree de Boer 1.0 Agendafolie Überblick Anforderungen Verfügbarkeit
MehrWahlpflichtfach Design Pattern
Wahlpflichtfach Design Pattern Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik miwilhelm@hs-harz.de http://www.miwilhelm.de Raum 2.202 Tel. 03943 / 659 338
MehrObjectBridge Java Edition
ObjectBridge Java Edition Als Bestandteil von SCORE Integration Suite stellt ObjectBridge Java Edition eine Verbindung von einem objektorientierten Java-Client zu einer fast beliebigen Server-Komponente
MehrKapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen
Kapitel 9 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Attribute von Klassen, Methoden und Variablen Interfaces WS 07/08 1/ 18 2/ 18
MehrSoftwaretechnik 3. Klausurnachbesprechung. 09.05.2008, Phillip Ghadir
Softwaretechnik 3 Klausurnachbesprechung 09.05.2008, Phillip Ghadir Benotungsschema Fest vorgegeben Volle Punktzahl und Negativliste Positivliste Bestehen ab 40 Punkte Aufgabenarten Abfrage von auswendig
Mehr