Software- und Systementwurf - Softwarearchitektur -

Größe: px
Ab Seite anzeigen:

Download "Software- und Systementwurf - Softwarearchitektur -"

Transkript

1 Software- und Systementwurf - Softwarearchitektur - Software Engineering 1 WS 2011/2012 Dr. Ina Schaefer Software Systems Engineering Technische Universität Braunschweig (mit Folien von Prof. B. Rumpe)

2 Überblick Softwareentwurf Ziele Entwurfsprinzipien Architekturentwurf Architekturmuster Service-orientierte Architekturen Dr. Ina Schaefer Software Engineering 1 Seite 2

3 Software-Entwurf Ausgangspunkt: Systemspezifikation (Pflichtenheft) Ziel: Vom WAS" zum WIE": Vorgabe für Implementierung Zentrale Begriffe: Subsystem in sich geschlossen eigenständig funktionsfähig mit definierten Schnittstellen besteht aus Komponenten Komponente Baustein für ein Softwaresystem (z.b. Modul, Klasse, Paket) benutzt andere Komponenten wird von anderen Komponenten benutzt kann auch aus Unterkomponenten bestehen Dr. Ina Schaefer Software Engineering 1 Seite 3

4 Von der Analyse zum Entwurf Analyse! Anforderungs-" Ermittlung" Anforderungs-" Spezifikation" (Lastenheft)" System-" Spezifikation" (Pflichtenheft)" System-" Modellierung" Entwurf! Dr. Ina Schaefer Software Engineering 1 Seite 4

5 Gliederung des Entwurfsprozesses Architekturentwurf Subsystem-Spezifikation Schnittstellen-Spezifikation Gesamtstruktur des Systems (Grobentwurf) Komponentenentwurf Datenstrukturentwurf Algorithmenentwurf Detailstruktur des Systems (Feinentwurf) Grobentwurf: weitgehend unabhängig von Implementierungssprache Feinentwurf angepasst an die Implementierungssprache und Plattform Dr. Ina Schaefer Software Engineering 1 Seite 5

6 Arbeitsteilung beim Entwurf Architekturentwurf Entwurf Subsystem 1 Entwurf Schnittstelle 1 2 Entwurf Subsystem 2 Entwurf Schnittstelle 2... Entwurf Subsystem... Entwurf der Komponenten Dr. Ina Schaefer Software Engineering 1 Seite 6

7 Kriterien für "guten" Entwurf Korrektheit Erfüllung der Anforderungen Wiedergabe aller Funktionen des Systemmodells Sicherstellung der nichtfunktionalen Anforderungen Verständlichkeit & Präzision Gute Dokumentation Anpassbarkeit Hohe Kohäsion innerhalb der Komponenten Schwache Kopplung zwischen den Komponenten Wiederverwendung Diese Kriterien gelten auf allen Ebenen des Entwurfs (Architektur, Subsysteme, Komponenten). Dr. Ina Schaefer Software Engineering 1 Seite 7

8 Kohäsion Kohäsion ist ein Maß für die Zusammengehörigkeit der Bestandteile einer Komponente. Hohe Kohäsion einer Komponente erleichtert Verständnis, Wartung und Anpassung. Frühere Ansätze zur Kohäsion wie: ähnliche Funktionalitäten zusammenfassen führten nicht unbedingt zu stabiler Systemstruktur Bessere Kohäsion wird erreicht durch: Prinzipien der Objektorientierung (Datenkapselung) Einhaltung von Regeln zur Paketbildung Verwendung geeigneter Muster zu Kopplung und Entkopplung "Kohärente" Klasse: Es gibt keine Partitionierung in Untergruppen von zusammengehörigen Operationen und Attributen Dr. Ina Schaefer Software Engineering 1 Seite 8

9 Kopplung Kopplung ist ein Maß für die Abhängigkeiten zwischen Komponenten. Geringe Kopplung erleichtert die Wartbarkeit und macht Systeme stabiler. Arten der Kopplung: Datenkopplung (gemeinsame Daten) Schnittstellenkopplung (gegenseitiger Aufruf) Strukturkopplung (gemeinsame Strukturelemente) Reduktion der Kopplung: Kopplung kann nie auf Null reduziert werden! Schnittstellenkopplung ist akzeptabel, da höhere Flexibilität Datenkopplung vermeiden! aber durch Objektorientierung meist gegeben Strukturkopplung vermeiden! z.b. keine Vererbung über Paketgrenzen hinweg Entkopplungsbeispiel: getter/setter-methoden statt direkter Attributzugriff Dr. Ina Schaefer Software Engineering 1 Seite 9

10 Interne Wiederverwendung Interne Wiederverwendung (reuse) ist ein Maß für die Ausnutzung von Gemeinsamkeiten zwischen Komponenten Reduktion der Redundanz Erhöhung der Stabilität und Ergonomie Hilfsmittel für Wiederverwendung: im objektorientierten Entwurf: Vererbung, Parametrisierung im modularen und objektorientierten Entwurf: Module/Objekte mit allgemeinen Schnittstellen (Interfaces) Aber: Wiederverwendung kann die Kopplung erhöhen: Schnittstellenkopplung und Strukturkopplung Dr. Ina Schaefer Software Engineering 1 Seite 10

11 Entwurfsschritte Analyse! Anforderungs-" Ermittlung" Anforderungs-" Spezifikation" (Lastenheft)" System-" Spezifikation" (Pflichtenheft)" System-" Modellierung" Architektur-" Spezifikation" Architektur-" Entwurf" Klassen- bzw. Modul-" Spezifikationen" Entwurf! Detail-" Entwurf" Dr. Ina Schaefer Software Engineering 1 Seite 11

12 Architekturentwurf im Kontext der SW-Entwicklung Anforderungsanalyse, Domänenanalyse" Entwurf der Softwarearchitektur" Entwurf der Systemarchitektur, Auswahl der Hardware" Feindesign, Programmierung, Integration, Testen, Auslieferung" Dr. Ina Schaefer Software Engineering 1 Seite 12

13 Softwarearchitektur in der Praxis Architekturspezifikation wird zu oft nicht als separates Dokument gefordert. Häufig wird funktionale Spezifikation und Architekturspezifikation in einem Dokument realisiert. denn WAS zu spezifizieren, ohne auf grobe Strukturen des WIE einzugehen ist oft nicht möglich. Dennoch: die grobe Systemarchitektur wird der Entwurfs-Aktivität zugeordnet Ist Hardware involviert (Steuergeräte im Auto, Telekommunikations- Anlagen etc.), so wird oft bereits dadurch eine physische Architektur vorgegeben. (Sinnvoll: Architekturskizzen bereits in der Anforderungsbeschreibung.) Logische Systemarchitektur und physische Architektur sind nicht notwendig identisch. Dr. Ina Schaefer Software Engineering 1 Seite 13

14 Beispielarchitektur Dr. Ina Schaefer Software Engineering 1 Seite 14

15 4+1 Sichten -Modell der Softwarearchitektur Logische Sicht Entwurfssicht Szenarien Ablaufsicht Physikalische Sicht Philippe Kruchten, The 4+1 view model of architecture, IEEE Software, November 1995, 12(6), pp (Verwendung im Rational Unified Process - RUP) Dr. Ina Schaefer Software Engineering 1 Seite 15

16 Bestandteile der 4+1 Sichten Logische Sicht Klassenmodell Verfeinerung des Analysemodells Ablaufsicht Prozesse Koordination Szenarien Use-Cases Entwurfssicht Subsysteme Schnittstellen Grobentwurf Physikalische Sicht Komponenten Hardwaresysteme Netze Feinentwurf Dr. Ina Schaefer Software Engineering 1 Seite 16

17 Primäre Zielgruppe und Aufgabe der Sichten Logische Sicht Endanwender Entwurfssicht Programmierung Wartung Grobentwurf Ablaufsicht System-Integratoren (Performanz, Durchsatz...) Physikalische Sicht Kommunikation Verteilung Auslieferung, Installation Feinentwurf Dr. Ina Schaefer Software Engineering 1 Seite 17

18 Blockdiagramme Blockdiagramme sind kein Bestandteil von UML! (Gleichwertige Notation in UML: Implementierungsdiagramm) Blockdiagramme sind ein verbreitetes Hilfsmittel zur Skizzierung der logischen Struktur einer Systemarchitektur. Schnittstelle Subsystem umfasst Objekte bestimmter Klassen." Schnittstelle ist klar definiert. (z.b. Aufrufschnittstelle, Kommunikationsprotokoll)" Subsystem Umfassendes Subsystem Dr. Ina Schaefer Software Engineering 1 Seite 18

19 UML Komponentendiagramme Das Komponenten-Diagramm stellt die (logischen) Komponenten des Systems und deren Schnittstellen (Ports) dar. Architektur: Anwendung UI Bank UI = User Interface = Benutzerschni7stelle/ Benutzeroberfläche GUI = Graphical User Interface = grafische Benutzerschni7stelle Dr. Ina Schaefer Software Engineering 1 Seite 19

20 Komponenten Name der Komponente HTTP Webservice «component» WebInterface optionaler grafischer Stereotyp Database bereitgestellte Schnittstelle benötigte Schnittstelle Dr. Ina Schaefer Software Engineering 1 Seite 20

21 Komposition von Komponenten Port! benötigte! Schnittstelle! Zusammengesetzte! Komponente! Komponente! A" bereitgestellte! Schnittstelle! D" B" C" D" A" analoges Blockdiagramm B" C" Dr. Ina Schaefer Software Engineering 1 Seite 21

22 Konfigurationsdiagramme Konfigurationsdiagramme sind (noch) nicht Bestandteil von UML! Konfigurationsdiagramme sind das meistverbreitete Hilfsmittel zur Beschreibung der physikalischen Verteilung von System- Komponenten. Rechner, Knoten Lokales Kommunikationsnetz Speicherndes System Datenkommunikations- Netz Dr. Ina Schaefer Software Engineering 1 Seite 22

23 UML: Verteilungsdiagramm engl.: deployment diagram zeigt die physische Verteilung von Systemen Node (Knoten) <<processor>>" Client" Stereotypen kennzeichnen die Arten von Knoten <<network>> local network" <<processor>>" Server 1" <<processor>>" Server 2" A" B" Komponenten können zugeordnet werden Dr. Ina Schaefer Software Engineering 1 Seite 23

24 Beispiel Terminverwaltung PC1"..." PCn" PDA1" PDAm" Physikalische! Konfiguration" Termin-" Server" Anzeigetafel-" Steuerung" PC Client" PDA Client" Blockdiagramm" PDA Sync" Termin-Manager" Daten-" Export" Termin-Datenbank" Dr. Ina Schaefer Software Engineering 1 Seite 24

25 Kriterien für guten Entwurf Wie bereits diskutiert ist auf Kohäsion und Kopplung zu achten: Hohe Kohäsion: Kohäsion = "Zusammenhalt" Die Dinge sollen in Struktureinheiten zusammengefasst werden, die inhaltlich zusammengehören. Niedrige Kopplung: Kopplung = Abhängigkeiten Einzelne Struktureinheiten sollen möglichst unabhängig voneinander sein. Daneben allgemeine Eigenschaften, z.b.: Korrektheit, Anpassbarkeit, Verständlichkeit, Ressourcenschonung Dr. Ina Schaefer Software Engineering 1 Seite 25

26 Hohe Kohäsion und Niedrige Kopplung Subsystem A! " (z.b. Benutzungs-" oberfläche)" Hohe Kohäsion: Subsystem B darf keine Information und Funktionalität enthalten, die zum Zuständigkeitsbereich von A gehört und umgekehrt. Subsystem B!! (z.b. fachlicher Kern)" Niedrige Kopplung: Es muss möglich sein, Subsystem A weitgehend auszutauschen oder zu verändern, ohne Subsystem B zu verändern. Änderungen von Subsystem B sollten nur möglichst einfache Änderungen in Subsystem A nach sich ziehen. Dr. Ina Schaefer Software Engineering 1 Seite 26

27 Qualitätssicherung mittels Szenarien Szenarien (für Anwendungsfälle) sind von zentraler Bedeutung: Integration der verschiedenen Sichten Kriterium für Architekturbewertung (Auswahl alternativer Muster) Qualitätssicherung (Review) Bewertung für Softwarearchitekturen: Architektur(en) festlegen Im Architekturentwurf: Alternativen Bei der abschließenden Qualitätssicherung: gewählte Architektur Szenarien durchspielen Direkte Szenarien : Auf der Architektur gut realisierbar Indirekte Szenarien : Nur nach Architekturerweiterung realisierbar Architekturen bewerten nach: Anzahl der direkten Szenarien Aufwand zur Modifikation für indirekte Szenarien Abschätzung der Effizienz Dr. Ina Schaefer Software Engineering 1 Seite 27

28 Architekturmuster für die Entwurfssicht Struktursicht der Architektur: Zerlegung in Subsysteme eigenständiger Funktionalität Keine Aussage über physikalische Verteilung Darstellung meist durch Blockdiagramme: Subsystem Datenfluss-Schnittstelle Aufrufschnittstelle Muster (Architekturmuster, Architekturstile): Kette (Chain) Schichten Interpreter Model-View-Controller (MVC) Dr. Ina Schaefer Software Engineering 1 Seite 28

29 Architekturmuster Pipes & Filters Phase 2.1 Phase 1 Phase 3 Phase 2.2 Zwischenprodukt 1.1 Zwischenprodukt 1.2 Zwischenprodukt 2.1 Zwischenprodukt 2.2 Deutsch auch Kette Inkrementelle oder phasenweise Verarbeitung Beispiele: UNIX pipes Batch-sequentielle Systeme Compiler-Grundstruktur Dr. Ina Schaefer Software Engineering 1 Seite 29

30 Beispiel: Compiler-Architektur Instanz von Pipes & Filters : Kombination von Ketten Quell- Programm Tokens Syntaxbaum Ziel- Programm Scanner Parser Code- Generator Symboltabelle Fehlermeldungen Fehler- Ausgabe Fehlermeldungen Dr. Ina Schaefer Software Engineering 1 Seite 30

31 Architekturmuster "Schichten" Benutzer Schicht 2 Schicht 1 Systemkern Jede Schicht bietet Dienste (nach oben) und nutzt Dienste (von unten) Beispiele: Kommunikationsprotokolle Datenbanksysteme, Betriebssysteme Dr. Ina Schaefer Software Engineering 1 Seite 31

32 Beispiel: 3-Schichten-Referenzarchitektur Benutzungsschnittstelle Fachlicher Kern Persistenzschicht Entwurfsregeln: Benutzungsschnittstelle greift nie direkt auf Datenhaltung zu. Persistenzschicht verkapselt Zugriff auf Datenhaltung, ist aber nicht identisch mit dem Mechanismus der Datenhaltung (z.b. Datenbank). Fachlicher Kern basiert auf dem Analyse-Modell Erlaubt das Aufsetzen von interaktiven, batch, etc. Benutzerschnittstellen und den Austausch von Datenbanken Dr. Ina Schaefer Software Engineering 1 Seite 32

33 Variante: 3-Schichten-Referenzarchitektur Benutzungsschnittstelle Fachlicher Kern Systemfunktionen Persistenzschicht Beispiele für Systemfunktionen: Verkapselung von plattformspezifischen Funktionen Schnittstellen zu Fremdsystemen Dr. Ina Schaefer Software Engineering 1 Seite 33

34 Architekturmuster "Interpreter" Benutzer Programm Abstrakte Maschine Basissystem Schichtenarchitektur mit Parametrisierung Beispiele: Portable Sprachimplementierung (z.b. Java Virtual Machine) Emulation von Systemarchitekturen (z.b. Soft Windows) Dr. Ina Schaefer Software Engineering 1 Seite 34

35 Model-View-Controller Controller (Programmsteuerung) Wählt View aus Bildet Nutzereingaben auf Modelupdates ab View (Darstellung der Daten) Fordert Update des Models an Sendet Nutzereingaben an Controller Model (Datenhaltung) Benachrichtigt über Änderungen Dr. Ina Schaefer Software Engineering 1 Seite 35

36 Architekturmuster für die physikalische Sicht Physikalische Sicht der Architektur: Aufteilung der Funktionalität auf Knoten (Rechner) eines Netzes Darstellung meist durch Konfigurationsdiagramme: Knoten Kommunikation Muster (Verteilungsmuster): Zentrales System Client/Server: Two-Tier (Thin-Client, Fat-Client) Three-Tier (GUI; Applikationskern, Datenhaltung) Föderation Cloud Computing Dr. Ina Schaefer Software Engineering 1 Seite 36

37 Verteilungsmuster "Zentrales System" "Unintelligentes" Terminal Zentrales System Beispiele: Klassische Großrechner-("Mainframe"-)Anwendungen Noch einfachere Variante: Lokale PC-Anwendungen (identifizieren Zentrale und Terminal) Dr. Ina Schaefer Software Engineering 1 Seite 37

38 Verteilungsmuster "Client/Server" "Intelligenter" Client Server Sogenannte "Two-Tier" Client/server-Architektur Andere Namen: "Front-end" für "Client", "Back-end" für "Server" Client: Benutzungsschnittstelle Einbindung in Geschäftsprozesse Entkoppelt von Netztechnologie und Datenhaltung Server: Datenhaltung, evtl. Fachlogik Dr. Ina Schaefer Software Engineering 1 Seite 38

39 "Thin-Client" und "Fat-Client" Thin-Client: Nur die Benutzungsschnittstelle auf dem Client-System Ähnlich zu Zentralem System, aber oft Download- Mechanismen Anwendungen: "Screen-Scraping" (Umsetzung traditioneller Benutzungsschnittstellen in moderne Technologie) Fat-Client: Teile der Fachlogik (oder gesamte Fachlogik) auf dem Client- System Hauptfunktion des Servers: Datenhaltung Entlastung des Servers Zusätzliche Anforderungen an Clients (z.b. Installation von Software) Dr. Ina Schaefer Software Engineering 1 Seite 39

40 Verteilungsmuster "Three-Tier Client/Server" "Intelligenter" Client Anwendungs- Server Server Client: Benutzungsschnittstelle evtl. Fachlogik Anwendungsserver: evtl. Fachlogik Verteilung von Anfragen auf verschiedene Server Server: Datenhaltung, Rechenleistung etc. Kommunikation unter Servern meist breitbandig. Dr. Ina Schaefer Software Engineering 1 Seite 40

41 Verteilungsmuster "Föderation" Knoten 1 Knoten 2 Knoten 5 Knoten 3 Knoten 4 Gleichberechtigte Partner (peer-to-peer) Unabhängigkeit von der Lokation und Plattform von Funktionen Verteilte kommunizierende Objekte Dr. Ina Schaefer Software Engineering 1 Seite 41

42 Cloud Computing Abstraktion von konkreten IT-Resourcen (z. B. Rechenkapazität, Datenspeicher, Netzwerkkapazitäten oder auch fertige Software) Resourcen werden dynamisch nach Bedarf zur Verfügung gestellt. Client Client Dienst Dienst Dienst Client Client Dr. Ina Schaefer Software Engineering 1 Seite 42

43 Cloud Computing (2) Üblicherweise Unterscheidung von 3 Ebenen der Cloud-Dienste: Infrastructure as a Service (IaaS): Zugang zu virtualisierten Hardware-Ressourcen, wie Rechnern, Netzwerken und Speicher. Platform as a Service (PaaS): Zugang zu Programmierungs- oder Laufzeitumgebungen mit flexiblen, dynamisch anpassbaren Rechen- und Datenkapazitäten. Entwicklung eigener Software-Anwendungen innerhalb einer Softwareumgebung, die vom Dienstanbieter (Service Provider) bereitgestellt und unterhalten wird. Software as a Service (SaaS) oder Software on demand: Zugang zu Software-Bibliotheken und Anwendungsprogrammen. Dr. Ina Schaefer Software Engineering 1 Seite 43

44 Architekturmuster der Ablaufsicht Ablaufsicht der Architektur: Definition nebenläufiger Systemeinheiten (z.b. Prozesse) Steuerung der Abfolge von Einzelfunktionen Synchronisation und Koordination Reaktion auf externe Ereignisse Darstellung z.b. durch Sequenzdiagramme Muster (Steuerungsmuster): Zentrale Steuerung Call-Return Master-Slave Ereignis-Steuerung Selective Broadcast Interrupt Dr. Ina Schaefer Software Engineering 1 Seite 44

45 Steuerungsmuster "Call-Return" Hauptprogramm Unterprogramm 1 Unterprogramm 1.1 Unterprogramm 1.2 Dr. Ina Schaefer Software Engineering 1 Seite 45

46 Steuerungsmuster "Master-Slave" Manager Benutz.- oberfläche Sensor Aktuator Dr. Ina Schaefer Software Engineering 1 Seite 46

47 Steuerungsmuster "Selective Broadcast" Event Handler Subsystem 1 Subsystem 2 Subsystem 3 Ereignis e e Ereignis e' e' e e' e e' Dr. Ina Schaefer Software Engineering 1 Seite 47

48 Steuerungsmuster "Interrupt" Interrupt Dispatcher Handler 1 Handler 2 e Prozess 2 e Prozess 1 Verwendet Interrupt-Vektor Dr. Ina Schaefer Software Engineering 1 Seite 48

49 Zusammenfassung Architekturmuster Architekturmuster beschreiben erprobte Strukturierungsformen für die Architektur eines Systems Architekturmuster beschreiben: Entwurfsstruktur physikalische Verteilung Kommunikationsformen und protokolle Schichtenbildung ist ein mächtiges Strukturierungsmittel Dr. Ina Schaefer Software Engineering 1 Seite 49

50 Service-orientierte Architektur Die Service-orientierte Architektur (SOA) ist ein Architekturparadigma mit folgenden Zielen: Erleichterung der Entwicklung von großen Unternehmenssystemen Orientierung an Geschäftsprozessen Integration von heterogenen Anwendungen Bessere Anpassbarkeit, Erweiterbarkeit und Skalierbarkeit Bessere Weiterentwickelbarkeit und Wartbarkeit Dr. Ina Schaefer Software Engineering 1 Seite 50

51 Begriffsklärung A service oriented architecture is a form of distributed system architecture. It consists of a set of components (services) which can be invoked, and whose interface descriptions can be published and discovered. A service is an abstract resource that represents a capability of performing tasks that form a coherent functionality from the point of view of provider and requester entities. [nach W3C, 2004] Dr. Ina Schaefer Software Engineering 1 Seite 51

52 Services Ein Service kapselt Zugriff auf die Funktionen und Daten einer oder mehrerer Applikationen und erbringt bestimmte Leistung gemäß der Service-Spezifikation. Service-Spezifikation: Servicename und Operationsnamen Ein- und Ausgabedaten mit Typen Beschreibung der Funktionalität (meist textuell) Randbedingungen (Vor- und Nachbedingungen, Invarianten) Nicht-funktionale Eigenschaften (z.b. Performance) ggf. weitere Informationen (z.b. Release, Herkunft,...) Dr. Ina Schaefer Software Engineering 1 Seite 52

53 Verwendung von Services Service Provider (Anbieter): Bietet die Möglichkeit, Funktionen gemäß Spezifikation zu nutzen Implementierung des Services unter Einhaltung der Spezifikation austauschbar Service User (Nutzer): Dem Service Provider ggf. unbekannt Kann Service auch anders nutzen, als vom Provider vorgesehen Kann Funktion auch im Auftrag weiterer Nutzer ausführen Dr. Ina Schaefer Software Engineering 1 Seite 53

54 Service Directory Aufgaben des Service Directory (Verzeichnis): Zentrale Verwaltung von Services Publikation von Service-Spezifikationen Kategorisierung von Services Schnittstellen für Suche nach Services Dr. Ina Schaefer Software Engineering 1 Seite 54

55 Referenzarchitektur Service User ➍ Spezifikation abfragen ➎ Service nutzen ➎ Service Provider ➋ Service suchen ➌ Spezifikation liefern ➊ Spezifikation publizieren Service Directory SOA-Dreieck Dr. Ina Schaefer Software Engineering 1 Seite 55

56 Dr. Ina Schaefer Software Engineering 1 Seite 56 5 Web Services Service User SOAP (über HTTP/SMTP) Service Provider (WDSL) Service Directory (UDDI) SOAP = Simple Object Access Protocol WDSL = Web Service Description Language UDDI = Universal Description Discovery and Integration

57 Designprinzipien Schnittstellenorientierung: Spezifikation abstrahiert von Implementierung. Interoperabilität: Einheitliche Kommunikationsstandards Modularität: Hohe Kohäsion im Service Niedrige Kopplung zwischen Services Bedarfsorientierung: Leistungsumfang entspricht Prozessaktivitäten. Dr. Ina Schaefer Software Engineering 1 Seite 57 5

58 Zusammenfassung Softwareentwurf Ziele und Tätigkeiten Architekturentwurf Prinzipien und Ziele 4-Sichten-Modell der Softwarearchitektur Architekturmuster für Entwurfssicht Verteilungssicht Ablaufsicht Grundbegriffe der Service-orientierten Architekturen Dr. Ina Schaefer Software Engineering 1 Seite 58

Software- und Systementwurf - Softwarearchitektur -

Software- und Systementwurf - Softwarearchitektur - Software- und Systementwurf - Softwarearchitektur - Software Engineering 1 WS 2011/2011 Dr. Ina Schaefer Software Systems Engineering Technische Universität Braunschweig (Folien von Prof. B. Rumpe) Überblick

Mehr

Seite 2. Arbeitsteilung beim Entwurf. Kriterien für "guten" Entwurf. Kohäsion. Architekturentwurf. Schnittstelle Schnittstelle. Entwurf Subsystem 2

Seite 2. Arbeitsteilung beim Entwurf. Kriterien für guten Entwurf. Kohäsion. Architekturentwurf. Schnittstelle Schnittstelle. Entwurf Subsystem 2 4. Softwarearchitektur und Softwareentwurf 4.1 Entwurfsprinzipien Analyse Entwurf Implementierung Test, Integration Wartung Grobentwurf Feinentwurf.KVGTCVWTÂ 5QOOGTXKNNGÂÂ,CNQVGÂÂ $CN\GTVÂ$CPFÂ+Â.'Â $CN\GTVÂ$CPFÂ++Â.'Â

Mehr

Übungen zur Softwaretechnik

Übungen zur Softwaretechnik Technische Universität München Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Markus Pister, Dr. Bernhard Rumpe WS 2002/2003 Lösungsblatt 8 10. Dezember 2002 www4.in.tum.de/~rumpe/se

Mehr

Softwaretechnik Vorlesung. 5. Software- und Systementwurf. Farbe!

Softwaretechnik Vorlesung. 5. Software- und Systementwurf. Farbe! Farbe! Softwaretechnik Vorlesung 5. Software- und Systementwurf Prof. Dr. Bernhard Rumpe Technische Universität Braunschweig http://www.sse-tubs.de/ 5. Software- & Systementwurf 5.1. Entwurfsprinzipien

Mehr

Einflussfaktoren auf eine Softwarearchitektur und ihre Wechselwirkungen Entwurfsentscheidungen systematisieren

Einflussfaktoren auf eine Softwarearchitektur und ihre Wechselwirkungen Entwurfsentscheidungen systematisieren 1 Einflussfaktoren auf eine Softwarearchitektur und ihre Wechselwirkungen Entwurfsentscheidungen systematisieren W3L AG info@w3l.de 2011 2 Agenda Softwarearchitektur und Architekturentwurf Definition Überblick

Mehr

Softwaretechnik. Fomuso Ekellem

Softwaretechnik. Fomuso Ekellem WS 2011/12 Inhalt Entwurfsphase Systementwurf Software Architektur Entwurf Software Komponenten Entwurf Struktur Verhalten OO Entwurf (OOD) 2 Entwurfsphase 3 Entwurfsphase Lernziele Aufgaben der Entwurfsphase

Mehr

Inhalt. 3 Architektureller Entwurf... 39 3.1 Modellgeleitete Entwicklung... 39 3.2 Was ist Software-Architektur?... 43

Inhalt. 3 Architektureller Entwurf... 39 3.1 Modellgeleitete Entwicklung... 39 3.2 Was ist Software-Architektur?... 43 1 Was ist Software-Architektur?... 1 1.1 Software-Architektur als Abstraktion... 2 1.2 Software-Architektur als Bauplan... 3 1.3 Software-Architektur-Terminologie... 5 1.4 Was ist Software-Architektur?...

Mehr

Struktur und Architektur

Struktur und Architektur Struktur und Architektur Grundlagen der Software-Architektur: Vorarbeit für die Komponentenentwicklung (c)schmiedecke 07 SE1-10 - Struktur und Architektur 1 Vom Analysemodell zur Anwendungssoftware Analysemodell

Mehr

Zusammenfassung. Software Engineering 1 WS 2010/11. Dr.-Ing. Ina Schaefer. Software Systems Engineering TU Braunschweig

Zusammenfassung. Software Engineering 1 WS 2010/11. Dr.-Ing. Ina Schaefer. Software Systems Engineering TU Braunschweig Zusammenfassung Software Engineering 1 WS 2010/11 Dr.-Ing. Ina Schaefer Software Systems Engineering TU Braunschweig Ina Schaefer SE 1 - WS 2010/11 1 Inhalte Vorgehensmodelle Anforderungsanalyse Objektorientierte

Mehr

Methodische objektorientierte Softwareentwicklung

Methodische objektorientierte Softwareentwicklung Methodische objektorientierte Softwareentwicklung Eine Integration klassischer und moderner Entwicklungskonzepte von Mario Winter 1. Auflage Methodische objektorientierte Softwareentwicklung Winter schnell

Mehr

Software Engineering und Projektmanagement

Software Engineering und Projektmanagement Software Engineering und Projektmanagement Motivation! Fachliche Sicht trifft auf technische Realisierung Entwurf 2009W - 5. November 2009 Andreas Mauczka Email: andreas.mauczka@inso.tuwien.ac.at Web:

Mehr

Client/Server-Systeme

Client/Server-Systeme Fachbereich Informatik Projektgruppe KOSI Kooperative Spiele im Internet Client/Server-Systeme Vortragender Jan-Ole Janssen 26. November 2000 Übersicht Teil 1 Das Client/Server-Konzept Teil 2 Client/Server-Architekturen

Mehr

Architektur und Qualität. Tjard Köbberling

Architektur und Qualität. Tjard Köbberling Architektur und Qualität Tjard Köbberling Gliederung Überblick Architektur und Qualität? Architekturentwurf Anforderungsanalyse Strukturierung Architekturbeschreibungen - Sichten Fallbeispiel 2 Architektur

Mehr

Systemanalyse I Software-Entwicklung. Die Phase Design.? Prof. Dr. Susann Kowalski

Systemanalyse I Software-Entwicklung. Die Phase Design.? Prof. Dr. Susann Kowalski Die Phase Design Design Entwerfen der Benutzeroberfläche, des Bedienablaufs und der Softwarearchitektur Umsetzen des fachlichen Modells auf technische Möglichkeiten; Spezifikation der Systemkomponenten

Mehr

Übungen zur Softwaretechnik

Übungen zur Softwaretechnik Technische Universität München Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Markus Pister, Dr. Bernhard Rumpe WS 2002/2003 Lösungsblatt 1 17. Oktober 2002 www4.in.tum.de/~rumpe/se

Mehr

Softwarearchitekturen I Softwareentwicklung mit Komponenten

Softwarearchitekturen I Softwareentwicklung mit Komponenten Softwarearchitekturen I Softwareentwicklung mit Komponenten Detlef Streitferdt Technische Universität Ilmenau TU-Ilmenau, Softwaresysteme / Prozessinformatik, KBSE Softwarearchitekturen I 1 Beispiel: Bibliothekssystem

Mehr

Inhaltsverzeichnis. Gernot Starke. Effektive Softwarearchitekturen. Ein praktischer Leitfaden ISBN: 978-3-446-42728-0

Inhaltsverzeichnis. Gernot Starke. Effektive Softwarearchitekturen. Ein praktischer Leitfaden ISBN: 978-3-446-42728-0 sverzeichnis 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

Mehr

Java und XML 2. Java und XML

Java und XML 2. Java und XML Technische Universität Ilmenau Fakultät für Informatik und Automatisierung Institut für Praktische Informatik und Medieninformatik Fachgebiet Telematik Java und XML Hauptseminar Telematik WS 2002/2003

Mehr

Webservices. 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung. Hauptseminar Internet Dienste

Webservices. 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung. Hauptseminar Internet Dienste Hauptseminar Internet Dienste Sommersemester 2004 Boto Bako Webservices 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung Was sind Web Services? Web Services sind angebotene

Mehr

Architekturmuster. Übung MSE, 04.11.2014

Architekturmuster. Übung MSE, 04.11.2014 Architekturmuster Übung MSE, 04.11.2014 Architekturmuster Schichtenarchitektur Kontext Dekomposition großer Systeme Probleme Abhängigkeit zwischen High- und Low-Level-Funktionalität Austauschbare Komponenten

Mehr

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

Mehr

Zusammenfassung. Software Engineering 1 WS 2011/12. Dr.-Ing. Ina Schaefer. Software Systems Engineering TU Braunschweig

Zusammenfassung. Software Engineering 1 WS 2011/12. Dr.-Ing. Ina Schaefer. Software Systems Engineering TU Braunschweig Zusammenfassung Software Engineering 1 WS 2011/12 Dr.-Ing. Ina Schaefer Software Systems Engineering TU Braunschweig Ina Schaefer SE 1 - WS 2011/12 1 Inhalte Vorgehensmodelle Anforderungsanalyse Objektorientierte

Mehr

Gliederung. 1. Einleitung (1) 1. Einleitung (3) 1. Einleitung (2)

Gliederung. 1. Einleitung (1) 1. Einleitung (3) 1. Einleitung (2) Referat im Rahmen des Proseminars Internettechnologie WS 2007/2008 Thema: Web Services und serviceorientierte Architekturen (SOA) vorgelegt von: Intelligente Web Services sind für das Informationszeitalter,

Mehr

Ein Beispiel. Ein Unternehmen will Internettechnologien im Rahmen des E- Business nutzen Welche Geschäftsprozesse?

Ein Beispiel. Ein Unternehmen will Internettechnologien im Rahmen des E- Business nutzen Welche Geschäftsprozesse? Ein Beispiel Ein Unternehmen will Internettechnologien im Rahmen des E- Business nutzen Welche Geschäftsprozesse? Dipl.-Kfm. Claus Häberle WS 2015 /16 # 42 XML (vereinfacht) visa

Mehr

Grundlagen Software Engineering

Grundlagen Software Engineering Grundlagen Software Engineering Rational Unified Process () GSE: Prof. Dr. Liggesmeyer, 1 Rational Unified Process () Software Entwicklungsprozess Anpassbares und erweiterbares Grundgerüst Sprache der

Mehr

Software Engineering

Software Engineering Literatur Gliederung Software Engineering Herbert Kuchen Universität Münster Di+Fr 14:15-15:45, M2 Wintersemester 2009/2010 1 Literatur Gliederung Basis-Literatur H. Balzert: Lehrbuch der Software-Technik,

Mehr

Einführung in die Softwaretechnik

Einführung in die Softwaretechnik oftware ngineering Farbe! Einführung in die technik Vorlesung, Teil 2 Kapitel 6. - und Systementwurf Prof. Dr. Bernhard Rumpe Lehrstuhl Informatik 3 ( ) Rheinisch-Westfälische Technische Hochschule Aachen

Mehr

8.4 Überblick und Vergleich weiterer ERP-Systeme. G Oracle Applications 11 G PeopleSoft 7 G J.D. Edwards One World G BaanERP

8.4 Überblick und Vergleich weiterer ERP-Systeme. G Oracle Applications 11 G PeopleSoft 7 G J.D. Edwards One World G BaanERP 8.4 Überblick und Vergleich weiterer ERP-Systeme G Oracle Applications 11 G PeopleSoft 7 G J.D. Edwards One World G BaanERP Kapitel 8: ERP-Einführung 32 Architektur von Oracle Applications 11 G Logische

Mehr

Semtation GmbH SemTalk

Semtation GmbH SemTalk Semtation GmbH SemTalk Christian Fillies Was ist SemTalk? Prozessmodellierung mit Visio2003 Viele Methoden (EPK, PROMET, FlowChart, KSA ), einfach an Kundenbedürfnisse anzupassen und zu erweitern HTML

Mehr

Eine technische Plattform für Smart-Client-Systeme. Alexander Ziegler

Eine technische Plattform für Smart-Client-Systeme. Alexander Ziegler Eine technische Plattform für Smart-Client-Systeme Alexander Ziegler Agenda Ausgangssituation Smart Client Ansatz Technische Kernthemen Erfahrungen 1 Agenda Ausgangssituation Smart Client Ansatz Erfahrungen

Mehr

Service-Orientierte Architekturen

Service-Orientierte Architekturen Hochschule Bonn-Rhein-Sieg Service-Orientierte Architekturen Kapitel 2: Einführung in Service-Orientierte Architekturen Vorlesung im Masterstudiengang Informatik Sommersemester 2010 Prof. Dr. Sascha Alda

Mehr

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

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

Mehr

Die Inhalte der Vorlesung wurden primär auf Basis der Vorlesung Software Engineering von Prof. Dr. Faustmann (FHW Berlin Fachbereich II) erstellt.

Die Inhalte der Vorlesung wurden primär auf Basis der Vorlesung Software Engineering von Prof. Dr. Faustmann (FHW Berlin Fachbereich II) erstellt. Software Engineering Dokumentation von Softwarearchitekturen Die Inhalte der Vorlesung wurden primär auf Basis der Vorlesung Software Engineering von Prof. Dr. Faustmann (FHW Berlin Fachbereich II) erstellt.

Mehr

Kapitel 5: Das Design

Kapitel 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

Bekannte Lösungen für bekannte Probleme benutzen. Entwurf auf höherer Abstraktionsebene als bei Programmiersprachen

Bekannte 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

1. Grundbegriffe des Software-Engineering

1. Grundbegriffe des Software-Engineering 1. Grundbegriffe Software Engineering 1 1. Grundbegriffe des Software-Engineering Was ist Software-Engineering? (deutsch: Software-Technik) Teilgebiet der Informatik, das sich mit Methoden und Werkzeugen

Mehr

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

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

Mehr

Cloud Computing Chancen für KMU

Cloud Computing Chancen für KMU Cloud Computing Chancen für KMU Sascha A. Peters Cluster Manager IT FOR WORK 31. Oktober 2012 Cloud Computing Worüber reden alle? Fragen zum Thema Cloud Was ist Cloud Computing und wofür wird es genutzt?

Mehr

Java 2, Enterprise Edition Einführung und Überblick

Java 2, Enterprise Edition Einführung und Überblick Universität aiserslautern AG Datenbanken und Informationssysteme Seminar Datenbank-Aspekte des E-Commerce Java 2, Enterprise Edition Einführung und Überblick m_husema@informatik.uni-kl.de Vortragsinhalte

Mehr

Software Engineering I. Architektur

Software Engineering I. Architektur Skript zur Vorlesung Basiskonzepte Statik Dynamik Logik Funktionen Daten Datenstrukturen Kontrollstrukturen Zustände Prozesse Zeitliches Verhalten Abhängigkeiten Entscheidungstabellen Mathematik Regeln

Mehr

Effektive Software- Architekturen

Effektive Software- Architekturen Gemot Starke Effektive Software- Architekturen Ein praktischer Leitfaden 4., aktualisierte und erweiterte Auflage HANSER Inhalt Vorwort Vorwort zur vierten Auflage XIII XIV 1 Einleitung 1 1.1 Software-Architekten

Mehr

Softwareentwicklungspraktikum Sommersemester 2007. Grobentwurf

Softwareentwicklungspraktikum Sommersemester 2007. Grobentwurf Softwareentwicklungspraktikum Sommersemester 2007 Grobentwurf Auftraggeber Technische Universität Braunschweig

Mehr

Objektorientierter Software-Entwurf Die Unified Modeling Language 4 1

Objektorientierter Software-Entwurf Die Unified Modeling Language 4 1 Objektorientierter Software-Entwurf Die Unified Modeling Language 4 1 Die Unified Modeling Language Die UML (hier in der Version 0.9) ist ein Satz von Notationen zur Beschreibung objektorientierter Softwaresysteme.

Mehr

Objektorientierte Analyse

Objektorientierte Analyse Objektorientierte Analyse 1) Systemanalyse Einführung Prof. Dr. rer. nat. habil. Uwe Aßmann Institut für Software- und Multimediatechnik Lehrstuhl Softwaretechnologie Fakultät für Informatik TU Dresden

Mehr

Software-Architektur. Spektrum k_/takademischht VERLAG

Software-Architektur. Spektrum k_/takademischht VERLAG Oliver Vogel / Ingo Arnold /Arif Chughtai / Edmund Ihler/Uwe Mehlig/Thomas Neumann/ Markus Völter/Uwe Zdun Software-Architektur Grundlagen - Konzepte - Praxis ELSEVIER SPEKTRUM AKADEMISCHER VERLAG Spektrum

Mehr

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

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

Mehr

Agenda. Einführung und Motivation. Verteilte Objekte und Komponenten. Verteilte Softwarearchitekturen. J2EE-Plattform

Agenda. Einführung und Motivation. Verteilte Objekte und Komponenten. Verteilte Softwarearchitekturen. J2EE-Plattform Agenda Einführung und Motivation Verteilte Objekte und Komponenten Verteilte Softwarearchitekturen J2EE-Plattform J2EE-basierte Softwarearchitektur Aspekte der Verteilung von J2EE-Anwendungen 21 Ziele

Mehr

Langlebige Softwarearchitekturen

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

Mehr

Softwarearchitekturen für das Internet der Energie

Softwarearchitekturen für das Internet der Energie Softwarearchitekturen für das Internet der Energie Herausforderungen und Anforderungen an die Architektur aus Sicht der Informatik Manfred Broy Lehrstuhl für Software & Systems Engineering Technische Universität

Mehr

Konzept / Architektur Diagramme

Konzept / Architektur Diagramme Architektur-Modell Konzept / Architektur Diagramme Im Übergang Analyse Design wird das System konzipiert und seine Architektur entworfen: Subsystem-Modell (execution view) UML 1.x Package Diagram «subsystem»

Mehr

Autor: Peter Seemann Seminar: Softwarearchitekturen Betreuer: Benedikt Meurer

Autor: Peter Seemann Seminar: Softwarearchitekturen Betreuer: Benedikt Meurer Autor: Peter Seemann Seminar: Softwarearchitekturen Betreuer: Benedikt Meurer *Was sind Web Services? *Beispiele für Web Services *Web Service Architektur *Web Services Technologien *Fazit 2 *Übertragungsstandard

Mehr

Verteilte Systemarchitekturen

Verteilte Systemarchitekturen Verteilte Systemarchitekturen Proseminar im WS 09/10 Prof. Sergei Gorlatch, Philipp Kegel, Alexander Ploß Parallele und verteilte Systeme, Westfälische Wilhelms-Universität Münster 17. Juli 2009 Inhalte

Mehr

Software Engineering II (IB) Serviceorientierte Architektur

Software Engineering II (IB) Serviceorientierte Architektur Serviceorientierte Architektur Prof. Dr. Oliver Braun Fakultät für Informatik und Mathematik Hochschule München SS 2015 Webservices Ziel: flexible programmatische Zusammenarbeit zwischen Servern Bereitstellung

Mehr

HOMEPLANE. Home Media Platform and Networks

HOMEPLANE. Home Media Platform and Networks HOMEPLANE Home Media Platform and Networks Middleware und Systemarchitektur René Hülswitt European Microsoft Innovation Center, Aachen Home Media Platform and Networks Systemstruktur Aufteilung in zwei

Mehr

Tier-Konzepte. Vertiefungsarbeit von Karin Schäuble

Tier-Konzepte. Vertiefungsarbeit von Karin Schäuble Vertiefungsarbeit von Karin Schäuble Gliederung 1. Einführung 3. Rahmenbedingungen in der heutigen Marktwirtschaft 3.1 Situation für Unternehmen 3.2 Situation für Applikationsentwickler 4. Lösungskonzepte

Mehr

Inhaltsverzeichnis. xiii

Inhaltsverzeichnis. xiii Inhaltsverzeichnis 1 Einleitung... 1 1.1 Ausgangslage und Zielsetzung des Buches...2 1.2 Was ist Software-Architektur?...8 1.3 Leser-Leitfaden... 11 1.3.1 Buchaufbau... 11 1.3.2 Zielpublikum... 15 1.3.3

Mehr

Model View Controller Pattern

Model View Controller Pattern Christian Vogt HAW Hamburg 19. Dezember 2011 Inhaltsverzeichnis 1 Prolog Einleitung Entwurfsmuster andere Muster 2 Model-View-Controller Hintergrund Konzept Umsetzung 3 Beispiele Überblick Beispiel in

Mehr

Was ist Software-Architektur?

Was ist Software-Architektur? Was ist Software-Architektur? Stephan Schulze Martin Knobloch 28.04.2004 Seminar: Software-Architektur Humboldt Universität zu Berlin sschulze knobloch@informatik.hu-berlin.de Gliederung Begriffsbestimmung

Mehr

Standards und Standardisierungsgremien

Standards und Standardisierungsgremien Standards und Standardisierungsgremien Begriffe Norm und Standard synonym Organisationen z.b. ISO: International Standards Organization DIN: Deutsches Institut für Normung e.v. ANSI: American National

Mehr

Design im Softwareentwicklungsprozess. Stand der Dinge & Designziel. fachliche & technische Architektur. generelles Vorgehen bei Grob-Design

Design im Softwareentwicklungsprozess. Stand der Dinge & Designziel. fachliche & technische Architektur. generelles Vorgehen bei Grob-Design Design im Softwareentwicklungsprozess traditionell Geschäftsprozessmodellierung Requirements Engineering Analyse Design Implementierung Tests Design 1 test-getrieben: nur 1. Design top-down hier testgetrieben

Mehr

Übungen zu Softwaretechnik

Übungen zu Softwaretechnik Prof. Dr. Dr. h.c. M. Broy Lösungsblatt 9 Dr. H. Ehler, S. Wagner 11. Januar 2007 Übungen zu Softwaretechnik Aufgabe 15 Systemerstellung / Systemarchitektur nach dem V- Modell XT Machen Sie sich mit den

Mehr

Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung

Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung Wintersemester 2009/10 Prof. Dr. Dr. h.c. Manfred Broy Unter Mitarbeit von Dr. K. Spies, Dr. M. Spichkova, L. Heinemann, P.

Mehr

17 Komponentenbasiertes Software-Engineering

17 Komponentenbasiertes Software-Engineering 17 Komponentenbasiertes Software-Engineering 17.0 Einführung Lernziele Grundlagen, Prinzipien und Probleme des CBSE 17.1 Komponenten und Komponentenmodelle Komponenten und ihre Eigenschaften Komponentenmodelle

Mehr

RUP Analyse und Design: Überblick

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

Mehr

arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek

arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek Speaker Andreas Holubek VP Engineering andreas.holubek@arlanis.com arlanis Software AG, D-14467 Potsdam 2009, arlanis

Mehr

Oliver Zeigermann, Stefan Toth embarc GmbH. Flux Facebooks Beitrag zur UI- Architektur der Zukunft

Oliver Zeigermann, Stefan Toth embarc GmbH. Flux Facebooks Beitrag zur UI- Architektur der Zukunft Oliver Zeigermann, Stefan Toth embarc GmbH Flux Facebooks Beitrag zur UI- Architektur der Zukunft UI-Architektur Warum? User Experience wird wichtiger Rich Client Optionen werden rar Es gibt mehrere Philosophien

Mehr

Informationswirtschaft II Rational Unified Process (RUP)

Informationswirtschaft II Rational Unified Process (RUP) Informationswirtschaft II Rational Unified Process (RUP) Wolfgang H. Janko, Michael Hahsler und Stefan Koch Inhalt Historische Entwicklung Kennzeichen von RUP Lebenszyklus und Phasen Arbeitsabläufe Das

Mehr

Informationswirtschaft II

Informationswirtschaft II Rational Unified Process (RUP) Informationswirtschaft II Wolfgang H. Janko, Michael Hahsler und Stefan Koch Seite 1 Inhalt Historische Entwicklung Kennzeichen von RUP Lebenszyklus und Phasen Arbeitsabläufe

Mehr

Software- und Systementwicklung

Software- und Systementwicklung Software- und Systementwicklung Seminar: Designing for Privacy 11.11.2009 Moritz Vossenberg Inhalt Vorgehensmodelle Wasserfallmodell V-Modell Phasen (Pflichtenheft) UML Klassendiagramm Sequenzdiagramm

Mehr

Informationssystemanalyse Use Cases 11 1

Informationssystemanalyse Use Cases 11 1 Informationssystemanalyse Use Cases 11 1 Use Cases Slide 1 Als ein populäres Mittel um Anforderungen zu erfassen und Systeme zu beschreiben, werden Use Cases benutzt. Sie bilden die Basis für eine umfassendere

Mehr

16 Architekturentwurf Einführung und Überblick

16 Architekturentwurf Einführung und Überblick Teil III: Software-Architekturentwurf 16 Architekturentwurf Einführung und Überblick 16.1 Software entwerfen Warum? Beim Arbeiten im Kleinen nicht oder nur ansatzweise (Detailentwurf) Größere Software

Mehr

PL/SQL Web-Services mit Oracle 11g

PL/SQL Web-Services mit Oracle 11g DOAG 2008 Konferenz 01. - 03.12.2008 Nürnberg Markus Fiegler ORDIX AG, Paderborn mf@ordix.de www.ordix.de Agenda SOA und Web-Services im Überblick Datenbank als Web-Services Provider - Alternative mit

Mehr

Programmieren in Java

Programmieren in Java FG TECHNISCHE INFORMATIK V JV A00 00 TH 0 Programmieren in Java Anhang A A. Modellierung von OOP-Programmen A.. Klassenkategorien A.2. Klassembeziehungen A.3. Klassendiagramm und Sequenzdiagramm der UML

Mehr

E-Services mit der Web-Service-Architektur

E-Services mit der Web-Service-Architektur E-Services mit der Web-Service-Architektur im Seminar Neue Konzepte anwendungsorientierter Middleware - Stefan Kürten - Literatur A. Tsalgatidou and T. Pilioura, An Overview of Standards and Related Rechnology

Mehr

Design Pattern - Strukturmuster. CAS SWE - OOAD Marco Hunziker Klaus Imfeld Frédéric Bächler Marcel Lüthi

Design Pattern - Strukturmuster. CAS SWE - OOAD Marco Hunziker Klaus Imfeld Frédéric Bächler Marcel Lüthi Design Pattern - Strukturmuster CAS SWE - OOAD Marco Hunziker Klaus Imfeld Frédéric Bächler Marcel Lüthi Agenda Einleitung Strukturmuster Fassade Model View Controller Vergleich 2 Einleitung Strukturmuster

Mehr

Vorlesung Software-Engineering I

Vorlesung Software-Engineering I Vorlesung Software-Engineering I im 3. und 4. Semester 05. Basiskonzepte Sichten auf das Produkt PD-TES/Hoyer, Frank-Michael SWE1: 05. Basiskonzepte - Sichten 16. Juli 2010 geändert: 4. Oktober 2013 SW-Architektur

Mehr

Mobile Backend in der

Mobile Backend in der Mobile Backend in der Cloud Azure Mobile Services / Websites / Active Directory / Kontext Auth Back-Office Mobile Users Push Data Website DevOps Social Networks Logic Others TFS online Windows Azure Mobile

Mehr

Integrating Architecture Apps for the Enterprise

Integrating Architecture Apps for the Enterprise Integrating Architecture Apps for the Enterprise Ein einheitliches Modulsystem für verteilte Unternehmensanwendungen Motivation und Grundkonzept Inhalt Problem Ursache Herausforderung Grundgedanke Architektur

Mehr

Softwaretechnik. Fomuso Ekellem WS 2011/12

Softwaretechnik. Fomuso Ekellem WS 2011/12 WS 2011/12 Inhalt Projektvorstellung Übung 1 Wiederholung zusammengefasst Planungsphase Lernziele Ziele und Inhalt der Planungsphase Anlass und Aufgabestellung(Was ist dabei erförderlich) Requirement Engineering

Mehr

Die Softwareentwicklungsphasen!

Die Softwareentwicklungsphasen! Softwareentwicklung Die Softwareentwicklungsphasen! Die Bezeichnungen der Phasen sind keine speziellen Begriffe der Informatik, sondern den allgemeinen Prinzipien zur Produktion integrierter Systeme entliehen.

Mehr

Thomas Freitag achelos GmbH SmartCard-Workshop. 1 2012 achelos GmbH

Thomas Freitag achelos GmbH SmartCard-Workshop. 1 2012 achelos GmbH Thomas Freitag achelos GmbH SmartCard-Workshop 2012 1 2012 achelos GmbH Übersicht 1. 2. 3. 4. 5. 6. 7. Einführung / Motivation Historie des Testens Schnittstellen im Testbereich Eclipse Plugins Automatisierung,

Mehr

Enterprise Applikation Integration und Service-orientierte Architekturen. 08 Einführung Service-Orientierte Architekturen

Enterprise Applikation Integration und Service-orientierte Architekturen. 08 Einführung Service-Orientierte Architekturen Enterprise Applikation Integration und Service-orientierte Architekturen 08 Einführung Service-Orientierte Architekturen Ist SOA immer noch aktuell? Prof. Dr. Holger Wache http://bhc3.files.wordpress.com/2009/07/gartner-emerging-technologies-hype-cycle-2009.png?w=552&h=451

Mehr

Praktikum aus Softwareentwicklung 2. Web Services. Java Praktikum SS 2010 Gerald.Ehmayer@borland.com

Praktikum aus Softwareentwicklung 2. Web Services. Java Praktikum SS 2010 Gerald.Ehmayer@borland.com Web Services Java Praktikum SS 2010 Gerald.Ehmayer@borland.com 1 Web Services Einführung Definition, Eigenschaften, Anwendungen... JAX-RPC Überblick, Architektur... JAX Übersicht, Architektur Java Praktikum

Mehr

The Rational Unified Process. Eine Einführung von T. Langer und A. Nitert

The Rational Unified Process. Eine Einführung von T. Langer und A. Nitert The Rational Unified Process Eine Einführung von T. Langer und A. Nitert Übersicht Einleitung Probleme der SW-Entwicklung, Best Practices, Aufgaben Was ist der Rational Unified Process? Struktur des Prozesses

Mehr

2.Strukturdiagramme. 2.5 Das Komponentendiagramm 2.6 Das Verteilungsdiagramm. Prof. Mario Jeckle

2.Strukturdiagramme. 2.5 Das Komponentendiagramm 2.6 Das Verteilungsdiagramm. Prof. Mario Jeckle 2.5 Das Komponentendiagramm 2.6 Das Verteilungsdiagramm Prof. Mario Jeckle Fachhochschule Furtwangen mario@ http://www. Fachhochschule Furtwangen, Sommersemester 2004 Das Komponentendiagramm Dient Darstellung

Mehr

Wiederholung: Beginn

Wiederholung: Beginn B) Webserivces W3C Web Services Architecture Group: "Ein Web Service ist eine durch einen URI eindeutige identifizierte Softwareanwendung, deren Schnittstellen als XML Artefakte definiert, beschrieben

Mehr

Dr. Uwe Jasnoch Intergraph SG&I Deutschland GmbH

Dr. Uwe Jasnoch Intergraph SG&I Deutschland GmbH Dr. Uwe Jasnoch Intergraph SG&I Deutschland GmbH Definition Cloud Computing Was ist cloud computing? on demand Computer Center mit pay as you go Konzepten Direkte Verfügbarkeit von Rechenkapazitäten, die

Mehr

Qualitätsaspekte des Software Designs am Beispiel Traffic Tower

Qualitätsaspekte des Software Designs am Beispiel Traffic Tower Qualitätsaspekte des Software Designs am Beispiel Traffic Tower Matthias Wagner, Anita Herrmann Deutsches Zentrum für Luft- und Raumfahrt e.v. (DLR) Simulations-

Mehr

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

Mehr

Gliederung. Was ist Cloud Computing Charakteristiken Virtualisierung Cloud Service Modelle Sicherheit Amazon EC2 OnLive Vorteile und Kritik

Gliederung. Was ist Cloud Computing Charakteristiken Virtualisierung Cloud Service Modelle Sicherheit Amazon EC2 OnLive Vorteile und Kritik Cloud Computing Gliederung Was ist Cloud Computing Charakteristiken Virtualisierung Cloud Service Modelle Sicherheit Amazon EC2 OnLive Vorteile und Kritik 2 Bisher Programme und Daten sind lokal beim Anwender

Mehr

Teil III der Vorlesung Objektorientierte Analyse (OOA) 30) Überblick über die OOA

Teil III der Vorlesung Objektorientierte Analyse (OOA) 30) Überblick über die OOA Teil III der Vorlesung Objektorientierte Analyse (OOA) 30) Überblick über die OOA Prof. Dr. rer. nat. habil. Uwe Aßmann Institut für Software- und Multimediatechnik Lehrstuhl Softwaretechnologie Fakultät

Mehr

Fachlicher Prototyp. Fachlicher Prototyp Implementierung der Architektur Das Framework-Konzept Konstruktor-Verkettung

Fachlicher Prototyp. Fachlicher Prototyp Implementierung der Architektur Das Framework-Konzept Konstruktor-Verkettung Fachlicher Prototyp Fachlicher Prototyp Implementierung der Architektur Das Framework-Konzept Konstruktor-Verkettung Wie geht es weiter? Analysemodell Fachliche Architektur Fachlicher Prototyp aufgrund

Mehr

Vortrag von: Ilias Agorakis & Robert Roginer

Vortrag von: Ilias Agorakis & Robert Roginer MDA Model Driven Architecture Vortrag von: Ilias Agorakis & Robert Roginer Anwendungen der SWT - WS 08/09 Inhalt Was ist MDA? Object Management Group (OMG) Ziele Konzepte der MDA Werkzeuge Vor- und Nachteile

Mehr

Software Engineering mit Übungen. Franz-Josef Elmer, Universität Basel, HS 2015

Software Engineering mit Übungen. Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering mit Übungen Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering 2 Organisation Ort: Seminarraum 05.002, Spiegelgasse 5 Ablauf: 15:15 Vorlesung Prüfung: Schriftlich,

Mehr

Seminar Business Process Management und Workflow-Technologie: Grundlagen, Produkte, Forschung

Seminar Business Process Management und Workflow-Technologie: Grundlagen, Produkte, Forschung IBM WebSphere Process Server Seminar Business Process Management und Workflow-Technologie: Grundlagen, Produkte, Forschung AGENDA 1. Überblick 2. WebSphere Process Server 3. Komponenten 4. Präsentation

Mehr

Scala & Lift. Ferenc Lajko 04.02.2010

Scala & Lift. Ferenc Lajko 04.02.2010 Scala & Lift Ferenc Lajko 04.02.2010 Gliederung 1. Scala 1.1. Allgemein 1.2. Merkmale 1.3. Unterschiede zu Java 1.4. Code-Beispiel 1.5. Vorteile zu anderen Sprachen 2. Lift 2.1. Allgemein 2.2. Idee 2.3.

Mehr

CORBA-Konzept. Ziele. Common Object Request Broker Architecture CORBA. Plattformunabhängige Kommunikation Transparente Verteilung von Objekten

CORBA-Konzept. Ziele. Common Object Request Broker Architecture CORBA. Plattformunabhängige Kommunikation Transparente Verteilung von Objekten CORBA-Konzept Ziele Common Object Request Broker Architecture CORBA Plattformunabhängige Kommunikation Transparente Verteilung von Objekten CORBA-Konzept Object Management Group Spezifiziert den CORBA-Standard

Mehr

Gliederung des Vortrages

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

Mehr

17 Architekturentwurf Vorgehen und Dokumentation

17 Architekturentwurf Vorgehen und Dokumentation 17 Architekturentwurf Vorgehen und Dokumentation 17.1 Einbettung Aber Erster Schritt der Lösung Wenn Anforderungsspezifikation vorliegt Vorgabe für Codierung Hierarchische Verzahnung von Anforderungen

Mehr

Systeme 1. Kapitel 10. Virtualisierung

Systeme 1. Kapitel 10. Virtualisierung Systeme 1 Kapitel 10 Virtualisierung Virtualisierung Virtualisierung: Definition: Der Begriff Virtualisierung beschreibt eine Abstraktion von Computerhardware hin zu einer virtuellen Maschine. Tatsächlich

Mehr