OOAD. Objektorientierte Software Analyse und Design mit UML. Dr. Beatrice Amrhein

Größe: px
Ab Seite anzeigen:

Download "OOAD. Objektorientierte Software Analyse und Design mit UML. Dr. Beatrice Amrhein"

Transkript

1 OOAD Objektorientierte Software Analyse und Design mit UML Dr. Beatrice Amrhein

2 1. Grundprinzipien des OOAD Viele der Ideen und Aufgabenbeispiele stammen aus dem Skript von André-Claude Godet, welches er mir freundlicherweise als Ausgangspunkt für dieses Skript zur Verfügung gestellt hat. Vielen Dank! 2

3 Kurs Überblick Use Cases 3. Aktivitäten 4. Zustände 5. Klassenstruktur 6. Beziehungen 7. Weitere Strukturdiagramme 8. Interaktion, Kommunikation 9. Analyse Muster 10. GUI Prototyp 11. Datenbank Design 3

4 Lernziele Vorgehensweise in objektorientierter Software Analyse und Design Software Analyse Design (Entwurf) Modellierung Dokumentation Ein Bild sagt mehr als 1000 Worte Eine saubere Analyse und ein gutes Design sind Grundvoraussetzung für eine erfolgreiche Projekt-Realisierung. Diese Entwicklungsschritte werden anhand von UML (Unified Modeling Language) vermittelt und geübt. UML ist für den objektorientierten Entwurf konzipiert. Viele Elemente daraus können aber auch für die nicht-objektorientierte System-Entwicklung genutzt werden. UML ist heute zum de facto Standard für die Software Analyse- und Design-Phase geworden. Die Studierenden sollen in diesem Kurs gute Kenntnisse des Software-Design- Vorgehens erlangen und in der Lage sein, kleinere Projekte selbständig zu analysieren, zu entwerfen und mit UML zu modellieren und zu dokumentieren; in mittleren und grösseren Projekten sollen sie als kompetente und sachkundige Partner mitwirken können. 4

5 Lerninhalte Konzepte der Modularisierung Grobanalyse Modell Mind Map, Produkt-Karton Use Cases Szenarien Subsysteme, Komponenten Objekt Orientierte Synthese Aktivitäts-, Zustands-Diagramm, Klassen, Sequenz-Diagramm Objekt Orientiertes Design Analyse Pattern, Architektur, Um diese Ziele zu erreichen behandelt dieser Kurs die OO-Analyse und den OO- Design zusammen mit den entsprechenden Werkzeugen der UML wie: Use-Case Model und Beschreibung, Szenarien, Fachklassen-Diagramm, Objekt-Diagramm, Sequenz-Diagramm, Kommunikations-Diagramm, Aktivitäts-Diagramm, Zustands-Diagramm, Paket-Diagramm, Komponenten- Diagramm Weiter werden wir einfache Analyse-Pattern und Design-Heuristiken betrachten, sowie ein erstes GUI-Design und ein einfaches Datenbank-Design (Prototyp) entwerfen. 5

6 SW Entwicklung beginnt im Kopf Planen ist besser als nachbessern Jedes Problem muss einmal durchdacht werden besser vorher als nachher Am Anfang sind Änderungen noch einfach machbar Eine falsche Design- oder Architektur- Entscheidung kann sehr viel Geld kosten Ein früher Codier-Beginn erzeugt unnötige Sachzwänge und schlecht wartbaren Code Realisierung 100% Designer Codierer 0 % Implementations- Beginn Zeit Die Komplexität der zu realisierenden Informatik Projekte hat in den letzten Jahren laufend zugenommen. Bei aufwändigen Projekten ist es enorm wichtig, die Software-Entwicklung mit Design Methoden und einer sauberen Dokumentation anzufangen. Andernfalls besteht die Gefahr, dass das Projekt scheitert oder sich extrem verteuert, und dass die Software später schlecht wartbar ist. 6

7 Fehlerkosten Projekt Idee Lasten-/Pflichtenheft Analyse Modell Grob Design In jedem Schritt etwa mal 10 Design Phase Detail Design Programmierung Missverständnis, Redesign, Fehlerfall, System Test Beim Top-Down Modell hat man grob die obigen Phasen. Oft ist es allerdings so, dass wir Fehler im Programm, im Detail-Design, im Grob-Design, finden, was dazu führt, dass wir (in Teilen des Projekts) im Ablauf zurückgeworfen werden. Je nachdem, wie viele Schritte wir zurück gehen müssen, entstehen höhere Kosten: Einen Schritt zurück (Codier Fehler) -> wenig Aufwand Zwei Schritte zurück (Fehler im Detail-Design) -> schon aufwändiger zu beheben da oft mehrere Klassen oder Pakete betroffen sind. Drei Schritte zurück (Fehler in der Analyse/Grob-Design) -> teuer zu beheben Vier Schritte zurück (Fehler in der Spezifikation) -> riesiger Aufwand! 7

8 Top-Down Entwurf Beginn auf oberster (abstrakter) Ebene Gesamt Aufgabenstellung, Anforderungen, Schrittweise Verfeinerung Problem aufteilen -> Subsysteme Subsystem aufteilen -> Komponenten... Vereins-Verwaltung Mitglieder Anlässe Finanzen Adressverwaltung Terminverwaltung Buchhaltung Vorteil: in sich geschlossene Lösung, sauberer Design, klare Struktur, Design Fehler werden früh erkannt Nachteil: Grosser Initialaufwand, grosse Gefahr am Kunden vorbei zu planen oder Probleme zu lösen, die bereits durch bestehende Software gelöst sind. 8

9 Bottom-Up Entwurf Beginn auf unterster Ebene Lösen der Teilprobleme Schrittweise Einbindung bereits erstellter Teillösungen Nach und nach Zusammensetzen zu einer Gesamtlösung Vereins-Verwaltung Adresse ändern Termine verwalten Buchhaltung Mitglieder erfassen Mitglieder Beiträge Vorteil: schnelle Lösung von einzelnen Problemen, sofort einsetzbar Nachteil: Kein Gesamtkonzept, Teillösungen passen eventuell nicht richtig zusammen, schwierig planbar, ev. schlecht wartbar, Fehler beheben kann teuer werden (viele unterschiedliche Schnittstellen). 9

10 Beide Methoden mischen Alle Requirements erfassen Analyse Phase Klare Abgrenzung (aller Teile) System-Grenzen Schnittstellen Ausgewählte Prototypen entwickeln Kunden Feedback Detail-Design Design Variante entscheiden Realisierung Abhängig von der Komplexität und der Grösse des Projekts muss eine geeignete Mischung der beiden Ansätze gepflegt werden. Der Prototyp darf auf keinen Fall als Code-Grundlage für die Realisierung benutzt werden. Er dient bloss dazu, vom Kunden die exakten funktionalen (und nichtfunktionalen) Anforderungen zu erhalten. 10

11 Analyse Phase Anforderungen an das Zielsystem ermitteln beschreiben und validieren Objekte/Komponenten bestimmen Hauptaufgaben der Komponenten bestimmen Erstellen eines konsistenten und vollständigen Daten-Modells (Struktur und Semantik) GUI Prototyp (Papier oder Mockup) erstellen Aber: Implementierungs-Aspekte oder Entscheide nur falls gefordert. In der Analysephase geht es vor allem um das was: Welche Aufgaben hat das System genau zu lösen? Was sind die Systemgrenzen? Welche Informationen, Daten, Objekte, sind relevant? Was haben die Objekte/Komponenten für Eigenschaften? In welchen Beziehungen stehen diese Objekte/Komponenten zueinander? Was haben die Objekte für Aufgaben? 11

12 Ablauf der Analyse Systemidee, Zielsetzung Fact Sheet Produkt-Karton Stakeholder bestimmen Umfeld, Abgrenzung System-Kontext Anwendungsfälle Abläufe Use Case Diagramme Aktivitätsdiagramme Szenarien,... Nichtfunktionale Anforderungen Sicherheit Performance Wartbarkeit... Glossar Datenobjekte, Komponenten Komponenten-Diagramm Fachklassen-Diagramm Analyse Modell Die Analyse beginnt mit der Systemidee: Was soll das Endprodukt anbieten? Die Systemidee sollte grob (zum Beispiel mit einem Fact Sheet oder einem Produkt- Karton) skizziert werden. Als nächstes werden die Stakeholder bestimmt. Alle Personen oder Personengruppen, die am Projekt direkt beteiligt, am Projektablauf interessiert oder von den Auswirkungen der Projektziele oder Projektergebnisse betroffen sind, definiert man als Stakeholder (Kunden, Projektleiter, Mitarbeiter, Geldgeber, ). Dann muss das Umfeld abgegrenzt werden: Was wird gebaut? Welche bereits vorhandenen Systeme werden vorausgesetzt (Betriebssystem, Druckerei, Kundenverwaltung, Datenbank, )? Im Analyse Teil werden die Ideen und Abläufe erfasst, aber noch keine technischen Lösungen beschrieben (ausser sie gehören zu den Anforderungen). 12

13 Produkte der Analyse Phase Lastenheft (System-Anforderungen) Fachkonzept (Grobdesign) Dynamisches Modell Funktionsabläufe durch Use Cases, Szenarien, Aktivitätsund Zustands-Diagramme, Statisches Modell Datenaspekte, Komponenten, Assoziationen, Modell-Beschreibungen / Dokumentation GUI Prototyp Das Fachkonzept sollte so viel Informationen enthalten, dass daraus ein erster Prototyp der Benutzeroberfläche erstellt werden kann. Damit lässt sich das zukünftige System mit dem zukünftigen Benutzer evaluieren. Zusätzlich benötigen wir ein Konzept für die Navigation, die Zugriffsrechte, die Hilfestellungen für den Benutzer, 13

14 Design Phase In der Design-Phase werden normalerweise die technischen Details bestimmt: Design Pattern, Schnittstellen ->Klassen, Interfaces, Packages, Gesamt-Architektur Anforderungen an die Benutzeroberfläche Datenhaltung -> DB Design Performance, Verteilung, Wartbarkeit, -> Ziel-Plattform Programmier-Sprache, -Umgebung In der Analysephase geht man oft von einer idealen Umgebung aus, das heisst, wir kümmern uns noch nicht um Probleme bei der Umsetzung, um Speicherplatz, um Kosten, Aufwände oder Effizienz. In der Design-Phase geht es dann um das wie. Sie spezifiziert, auf welcher Plattform die Anwendung mit den geforderten technischen Randbedingungen zu realisieren ist. Allerdings sind wir dabei immer noch in der Konzept-Phase, das heisst wir beginnen noch nicht mit der Implementation. In der Design Phase wird die Architektur bestimmt. Die Software Architektur definiert die verschiedenen Komponenten, deren (innere) Schnittstellen, die Aufgaben und Verhaltensweisen. Es werden die Details wie Programmiersprache und- Programmierumgebung, Plattform, Architektur, Speicherbedarf, nötige Algorithmen, zu benutzende Datenstrukturen und viele andere technische Details festgelegt. 14

15 Produkte der Design Phase Software Architektur Beschreibung Komponenten Schnittstellen Klassendiagramme... GUI Design, DB Design Prioritätenliste Implementations und Zeit-Plan Test Plan, Deployment Üblicherweise beginnt man mit einem Grobdesign und verschiedenen Lösungsvarianten. Die verschiedenen Lösungen werden gegeneinander verglichen und bewertet (Prioritäten). Die bevorzugten Varianten werden verfeinert, mit dem Variantenentscheid wird festgelegt, welches Detail Design ausgearbeitet wird. Das gesamte Projekt muss oft in verschiedene, sinnvolle Teilprojekte (Spezialisten für GUI/Ergonomie, DB-Design, Testing, ) aufgeteilt werden. 15

16 Vorteile des OO SW-Engineering Ganzheitliche Beschreibung Daten/Informationen Funktionen/Aktionen Objekte Durchgängige Konzepte durch alle Phasen Akteur, Rolle, Aufgabe -> Klassen-Name Aktion -> Operations-Name Die objektorientierte Programmierung ist ein auf dem Konzept der Objektorientierung basierendes Programmierparadigma. Die Grundidee dabei ist, Daten und Funktionen, die auf diese Daten angewandt werden können, in einem Objekt (bzw. einer Klasse) zusammenzufassen und nach aussen hin zu kapseln, so dass Operationen fremder Objekte diese Daten nicht versehentlich manipulieren können. Die Namen der Klassen und Operationen sollten dabei möglichst den bereits in den vorherigen Phasen verwendeten Namen entsprechen. 16

17 Vorteile des OO SW-Engineering Einfaches Abbilden von Objekten der realen Welt Modularisierung in handliche Einzelteile Einfache Schnittstellen zwischen den Komponenten Wiederverwendbarkeit Erweiterbarkeit Austauschbarkeit Ein wichtiger Vorteil der objektorientierten Programmierung ist, dass sich die Objekte der realen Welt (relativ) einfach in Klassen abbilden lassen. Ihre Aufgaben/Rollen sind in natürlicher Weise fassbar und dokumentierbar. Ausserdem erlaubt sie die Aufspaltung von komplexen Software-Systemen in kleine, einfache, in sich geschlossene Einzelteile (Modularisierung): -> einfache und klar verständliche Schnittstellen zwischen den einzelnen Komponenten, -> geringerer Programmieraufwand durch die Wiederverwendung von Elementen (z.b. auch durch Vererbung). Je klarer und einfacher die Objekte (Klassen) und deren Schnittstellen gewählt werden, desto besser werden diese Ziele erreicht. 17

18 OO Design Prinzipien Abstraktion, Geheimnisprinzip Datenkapselung Polymorphie gleiche Operation kann unterschiedliche Ausprägung haben. Vererbung/Erweiterung/Einschränkung Persistenz/Lebenszeit Objekte leben so lange wie sie gebraucht werden Modularisierung Komponenten zu einem Ganzen zusammensetzen Abstraktion, Geheimnisprinzip: Jedes Objekt im System ist ein abstraktes Modell eines Akteurs. Es kann Aufträge erledigen, seinen Zustand berichten und ändern und mit den anderen Objekten im System kommunizieren. Es gibt aber nicht bekannt, wie diese Fähigkeiten implementiert sind. Datenkapselung: Auf die interne Datenstruktur kann nicht direkt zugegriffen werden, sondern nur über definierte Schnittstellen. Objekte können den internen Zustand anderer Objekte nicht in unerwarteter Weise lesen oder ändern. Ein Objekt hat eine Schnittstelle, die darüber bestimmt, auf welche Weise mit dem Objekt interagiert werden kann. Dies verhindert das Umgehen von Invarianten des Programms. Polymorphie: Verschiedene Objekte können auf die gleiche Nachricht unterschiedlich reagieren. Vererbung: Eine abgeleitete Klasse besitzt die Methoden und Attribute der Basisklasse ebenfalls. Neue Arten von Objekten können auf der Basis bereits vorhandener Objektdefinitionen festgelegt werden. Es können neue Bestandteile hinzugenommen werden oder vorhandene überlagert (überschrieben) werden. Persistenz: Objektvariablen existieren, solange die Objekte vorhanden sind. Sie verfallen nicht nach Abarbeitung einer Methode. Modularisierung: Einzelne Komponenten lassen sich unterschiedlich zu einem Ganzen kombinieren, wenn sie klare Schnittstellen definieren (und einhalten) Kompatibilität. 18

19 OO Design Prinzipien Single Responsibility Prinzip Klare Verantwortlichkeit Self-Documentation Prinzip Sprechende Namen, dokumentierter Code Uniform Access Prinzip getter / setter Methoden Open-Closed Prinzip Fixe Schnittstellen, Unterschiedliche Ausführungen Substitution Prinzip Konsistente Vererbung Single Responsibility: Jede Klasse hat nur eine Verantwortung -> besser dokumentierbar, besser wartbar. Self-Documentation: Die Namen der Klassen, Operationen, sind selbsterklärend. Die Dokumentation befindet sich im Programmcode -> Javadoc, Doxygen Uniform Access: Durchgängige Notation der Zugriffsmethoden -> setter/getter Open-Closed: Erweiterungen von Komponenten, Klasse, Operationen müssen möglich sein, ohne dass die Schnittstelle verändert werden muss -> Wartbarkeit. Substitution: Statt der Basisklasse kann jederzeit ein Objekt der abgeleiteten Klasse verwendet werden -> konsistente Vererbung auch bei Polymorphie. 19

20 OO Design Prinzipien Interface Segregation Prinzip Abhängigkeiten so klein wie möglich halten Persistence Closure Prinzip Speichern des ganzen Objekt Zustands Acyclic Dependencies Prinzip Möglichst keine zyklischen Abhängigkeiten Gesetz von Demeter Objekte kommunizieren vor allem mit ihren Nachbarn Design by Contract Klare, verifizierbare Schnittstellen, Vorbedingungen, Nachbedingungen, Invarianten. Interface Segregation: Interfaces sollten so aufgeteilt werden, dass sie den Bedürfnissen der Clients (der Anwendung) entsprechen -> keine unnötigen Abhängigkeiten Persistence Closure: Objekte werden mit all ihren Attribut-Werten (in der Datenbank) gespeichert-> späteres Wiedereinlesen stellt den gleichen Zustand wieder her. Acyclic Dependencies: Keine Zyklen in der Abhängigkeits-Kette von Klassen, Packages, Komponenten. Gesetz von Demeter: Objekte kommunizieren in erster Linie mit Objekten in ihrer Umgebung -> Entkoppelung, bessere Wartbarkeit, starke Bindung im Nahbereich, schwache Bindung über Komponenten-/Pakete-/Schichten-Grenzen hinweg. Design by Contract: Klare, verifizierbare Schnittstellen, die eingehalten werden müssen. Komponenten und Operationen erfüllen exakt die Spezifikation (Vorbedingungen, Nachbedingungen, Invarianten). 20

21 UML Überblick Die wichtigsten Diagramme Vgl. Oestereich Klappentexte 21

22 Use Case Diagramm (Kap. 2) Grobe Beschreibung der zentralen Aufgaben Erfassen der wichtigsten User Bedürfnisse -> Wer will was? Beschreibt kein Verhalten, keinen Ablauf Sehr früh im Prozess -> Analyse-Phase Mit Hilfe einer Use Case Beschreibung können die verschiedenen Use Cases genauer spezifiziert werden. Den Ablauf eines einzelnen Use Case kann dann textuell oder (bei komplexen Prozessen) mit Hilfe eines Aktivitäten-Diagramms spezifiziert werden. Die Zustände eines Objekts (z.b. Meal: ordered, cooked, eaten, payed), werden separat mit Hilfe eines Zustandsdiagramms definiert. 22

23 Use Case Beschreibungen Textuelle Beschreibung der Use Cases Grundlage für Systemtests und Abnahme -> Analyse-Phase Use Case Beschreibungen können benutzt werden, um die einzelnen Use Cases genauer zu spezifizieren. Die daraus abgeleiteten Szenarien lassen sich später sehr einfach in Test Szenarien umformulieren. Jedes Szenario ergibt einen separaten Test. 23

24 Use Case Szenarien Textuelle Beschreibung der Szenarien Test Szenarien ableiten Beispiele: Der bestehende Kunde A möchte auf der Grande San Paolo im November eine Doppel-Kabine von Rio de Janeiro nach Tilbury buchen. Der neue Kunde B fragt nach den nächstmöglichen Terminen für zwei freie Plätze für die Rundreise von Salerno via Ismir und Alexandria zurück nach Salermo. Use Case Szenarien sind (fast) das selbe wie User Stories (Scrum). User Stories werden leicht anders formuliert, nämlich in der Art: - Als Kundenberater möchte ich mit Cargo-Cruise für einen bestehenden Kunden auf dem Frachter Grande San Paolo für den November eine Doppelkabine von Rio de Janeiro nach Tilbury reservieren können. - Als Kundenberater möchte ich mit Cargo-Cruise den nächstmöglichen Termin für zwei freie Plätze für eine Rundreise Salermo-Ismir-Alexandria-Salermo auf einem beliebigen Frachter herausfinden können. In Scrum werden dann die User Stories in die einzelnen Tasks aufgeteilt, also einzelne Aufgabenteile von ca. 1-4 Wochen. 24

25 Aktivitäts-Diagramm (Kap. 3) Erfassen der komplexen Abläufe (was passiert wann -> Reihenfolge?) Konkretisieren der Use Cases Erster Entwurf schon früh im Prozess (Analyse) Verfeinerung/Konkretisierung im Verlauf der Analyse oder Design Phase. Komplexe Use Cases können mit Hilfe eines Aktivitätsdiagramms genauer erklärt werden. Aktivitäts-Diagramme sind für den Leser (Stakeholder/Prüfer/Entwickler) im Allgemeinen schneller und einfacher zu verstehen und überprüfen als lange, verschlungene WENN, FALLS, SONST Texte. Im Verlauf der Design Phase werden diese Abläufe weiter verfeinert und konkretisiert (Ausnahme-, Fehlerfälle), was zu einer Verfeinerung/Verbesserung der Diagramme führt. 25

26 Zustands-Diagramm (Kap. 4) Beschreiben der verschiedenen Zustände eines Objekts in zeitlicher Reihenfolge Beschreibung der GUI Navigation Erster Entwurf schon früh im Prozess (Analyse) Verfeinerung/Konkretisierung im Verlauf der Analyse oder Design Phase. Objekte welche sich im Verlauf der Applikation in verschiedenen Zuständen befinden können, werden mit Hilfe eines Zustands-Diagramms genauer erklärt. Zustands-Diagramme sind für den Leser (Stakeholder/Prüfer/Entwickler) im Allgemeinen schneller und einfacher zu verstehen und überprüfen als lange, verschlungene WENN, FALLS, SONST Texte. Oft wird erst während der Design Phase festgestellt, dass weitere Zustände nötig sind. Eine Korrektur/Verbesserung des Diagramms wird dann nötig. Ein erstes grobes GUI (Navigations-Schritte) wird ebenfalls mit Hilfe eines Zustands- Diagramms gefunden. Analog sind auch Zeitdiagramme, welche die verschiedenen Zustände eines Objekts/Systems in der zeitlichen Abfolge beschreibt. 26

27 Klassendiagramm (Kap. 5) Festlegen der konkreten Schnittstellen -> Interfaces Aufteilen der verschiedenen Aufgaben (Zuständigkeiten) auf die verschiedene Klassen -> Attribute -> Operationen -> Assoziationen Design Phase Klassendiagramme definieren dann die konkret zu implementierenden Interfaces und Klassen, deren Attribute und Operationen. Üblicherweise werden in einem Klassendiagramm entweder nur die wichtigsten Klassen, oder nur die Klassen eines Paketes, oder nur die Klassennamen gezeichnet. Andernfalls werden die Klassendiagramme zu komplex und damit unlesbar. Jede Klasse hat eine Rolle/Aufgabe/Zuständigkeit. Die dazu nötigen Attribute und Operationen werden hier spezifiziert. 27

28 Komponenten-Diagramm (Kap. 6) Festlegen einer logischen Grob- Struktur Aufteilen der Aufgabenbereiche zu verschiedenen Komponenten Analyse oder Design Phase Sobald die wichtigsten Aufgaben eines Systems bekannt sind, können diese in verschiedene Aufgaben-Bereiche zerlegt und entsprechend verschiedenen Komponenten zugeordnet werden. Jede der Komponenten ist dann für eine Reihe von verwandten Aufgaben zuständig. Jede Komponente wird dann später in Pakete (Packages) aufgeteilt, die Pakete bestehen dann wiederum aus Interfaces und Klassen. 28

29 Sequenz-Diagramm (Kap. 7) Aufzeichnen eines konkreten Ablaufs auf den Objekten der Klassen (mit konkreten Operationen, Parametern, Rückgabewerten) Überprüfen der Konsistenz/Vollständigkeit des Modells (Operationen, Assoziationen) Design- oder Implementations-Phase Zum Überprüfen der Vollständigkeit eines Modells können zentrale oder komplexe Abläufe mit Hilfe eines Sequenzdiagramms modelliert werden. Dadurch kann festgestellt werden, ob alle nötigen Klassen und Operationen vorhanden sind und ob die nötigen Referenzen existieren. Dieses Sequenzdiagramm gibt zum Beispiel einen Hinweis darauf, dass das Klassendiagramm auf der vorderen Seite nicht vollständig ist. 29

Dr. Beatrice Amrhein. April 13

Dr. Beatrice Amrhein. April 13 Dr. Beatrice Amrhein April 13 Viele der Ideen und Aufgabenbeispiele stammen aus dem Skript von André- Claude Godet, welches er mir freundlicherweise als Ausgangspunkt für dieses Skript zur Verfügung gestellt

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

Objektorientierte Analyse (OOA) Inhaltsübersicht

Objektorientierte Analyse (OOA) Inhaltsübersicht Inhaltsübersicht Einführung Anforderungen an die UML-Diagramme Verhalten: Use-Case-Diagramm Verhalten: Aktivitätsdiagramm Verhalten: Zustandsautomat Struktur: Klassendiagramm Seite 1 Einführung In der

Mehr

UML-Basics: Einführung in Objekt- Orientierte Modellierung mit der Unified Modeling Language

UML-Basics: Einführung in Objekt- Orientierte Modellierung mit der Unified Modeling Language UML-Basics: Einführung in Objekt- Orientierte Modellierung mit der Unified Modeling Language ADV-Seminar Leiter: Ziel dieses Seminars Verständnis von Objekt-Orientierung Was sind Klassen? Was ist Vererbung?

Mehr

DGQ Regionalkreis Hamburg Anforderungsmanagement ins SW-Projekten. 08. Juni 2011

DGQ Regionalkreis Hamburg Anforderungsmanagement ins SW-Projekten. 08. Juni 2011 DGQ Regionalkreis Hamburg Anforderungsmanagement ins SW-Projekten 08. Juni 2011 1 Heinrich Dreier hd@3er-consult.de +49 (0)176 62635052 DGQ- Mitglied Q-Manager Navigationsentwicklung freiberuflicher technischer

Mehr

Vgl. Kapitel 5 aus Systematisches Requirements Engineering, Christoph Ebert https://www.sws.bfh.ch/studium/cas/swe-fs13/protected/re/re_buch.

Vgl. Kapitel 5 aus Systematisches Requirements Engineering, Christoph Ebert https://www.sws.bfh.ch/studium/cas/swe-fs13/protected/re/re_buch. Vgl. Kapitel 5 aus Systematisches Requirements Engineering, Christoph Ebert https://www.sws.bfh.ch/studium/cas/swe-fs13/protected/re/re_buch.pdf 2 Nach derbefragung aller Stakeholder und der Dokumentation

Mehr

4. Übung zu Software Engineering

4. Übung zu Software Engineering 4. Übung zu Software Engineering WS 2007/2008 Aufgabe 8 Erstellen Sie für den aus Aufgabe 1 bekannten Function-Point-Kalkulator ein Pflichtenheft. Bitte begrenzen Sie dessen Umfang auf maximal 2 DIN A4

Mehr

Objektorientierte Modellierung (1)

Objektorientierte Modellierung (1) Objektorientierte Modellierung (1) Die objektorientierte Modellierung verwendet: Klassen und deren Objekte Beziehungen zwischen Objekten bzw. Klassen Klassen und Objekte Definition Klasse Eine Klasse ist

Mehr

Ziele und Tätigkeiten von Architekten

Ziele und Tätigkeiten von Architekten Ziele und Tätigkeiten von Architekten Definition Software Architektur o A software architecture provides a model of a whole software system that is composed of internal behavioral units (i.e. components)

Mehr

Java Einführung Objektorientierte Grundkonzepte

Java Einführung Objektorientierte Grundkonzepte Java Einführung Objektorientierte Grundkonzepte Inhalt Verständnis der grundlegenden Konzepte der Objektorientierung: Objekte Nachrichten Kapselung Klassen und Instanzen Vererbung Polymorphismus Darstellung

Mehr

Orientierte Modellierung mit der Unified Modeling Language

Orientierte Modellierung mit der Unified Modeling Language UML-Basics: Einführung in Objekt- Orientierte Modellierung mit der Unified Modeling Language Michael Hahsler Ziel dieses Seminars Verständnis von Objekt-Orientierung Was sind Klassen? Was ist Vererbung?

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

UML. Weiteres Vorgehen im Projekt

UML. Weiteres Vorgehen im Projekt UML Download objectif Personal Edition (kostenlos): http://www.microtool.de/objectif/de/download.asp Weiteres Vorgehen im Projekt Komponenten, Klassen, Objekte Prozesse Nichtfunktionale Anforderungen Skizzen,

Mehr

Objektorientierte Analyse & Design

Objektorientierte Analyse & Design Objektorientierte Analyse & Design Analyse-Phase Teil 1 Einordnung im SW-Lebenszyklus Software- Entwicklung Einsatz Wartung Problemdefinition Spezifikation Implementation Auslieferung Analyse Entwurf Erprobung

Mehr

Objektorientierte und Funktionale Programmierung SS 2014

Objektorientierte und Funktionale Programmierung SS 2014 Objektorientierte und Funktionale Programmierung SS 2014 6 Objektorientierte Entwurfsmuster 1 6 Objektorientierte Entwurfsmuster Lernziele Einige wichtige Entwurfsmuster kennen und verstehen Einsatzmöglichkeiten

Mehr

Requirements Engineering (Anforderungstechnik)

Requirements Engineering (Anforderungstechnik) 5 Requirements Engineering Einführung 5.1 Was ist Requirements Engineering? Erste Näherung: Requirements Engineering (Anforderungstechnik) ist das systematische, disziplinierte und quantitativ erfassbare

Mehr

8. Objektorientierte Programmierung. Informatik II für Verkehrsingenieure

8. Objektorientierte Programmierung. Informatik II für Verkehrsingenieure 8. Objektorientierte Programmierung Informatik II für Verkehrsingenieure Grundbegriffe ALAN KAY, ERFINDER DER SPRACHE SMALLTALK, HAT DIE GRUNDBEGRIFFE DER OBJEKTORIENTIERTEN PROGRAMMIERUNG WIE FOLGT ZUSAMMENGEFASST:

Mehr

Oracle JDeveloper 10 g

Oracle JDeveloper 10 g Oracle JDeveloper 10 g Modellierung Evgenia Rosa Business Unit Application Server ORACLE Deutschland GmbH Agenda Warum Modellierung? UML Modellierung Anwendungsfall (Use Case)-Modellierung Aktivitätenmodellierung

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

UML Crashkurs v0.1. UML für Fachinformatiker. von Hanjo Müller

UML Crashkurs v0.1. UML für Fachinformatiker. von Hanjo Müller UML Crashkurs v0.1 UML für Fachinformatiker von Hanjo Müller 3. Mai 2005 Inhaltsverzeichnis Inhaltsverzeichnis 1 UML - Unified Modeling Language 3 2 UML im Software Entwurf 4 2.1 Ablauf der Softwareentwicklung.............................

Mehr

Softwaretechnik (Allgemeine Informatik) Überblick

Softwaretechnik (Allgemeine Informatik) Überblick Softwaretechnik (Allgemeine Informatik) Überblick 1 Einführung und Überblick 2 Abstraktion 3 Objektorientiertes Vorgehensmodell 4 Methoden der Anforderungs- und Problembereichsanalyse 5 UML-Diagramme 6

Mehr

Software Engineering. 3. Anforderungsanalyse. Franz-Josef Elmer, Universität Basel, WS 2006/07

Software Engineering. 3. Anforderungsanalyse. Franz-Josef Elmer, Universität Basel, WS 2006/07 Software Engineering 3. Anforderungsanalyse Franz-Josef Elmer, Universität Basel, WS 2006/07 Software Engineering: 3. Anforderungsanalyse 2 Definitionen Anforderungen (Requirements): Beschreibung aller

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

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

Das Softwaresystem BASEMENT

Das Softwaresystem BASEMENT Numerische Modellierung von Naturgefahren mit dem Softwaresystem BASEMENT Workshop vom 6. Oktober 2006 an der VAW ETH Zürich Das Softwaresystem BASEMENT David Vetsch Inhalt 1. Motivation und Entstehungsgeschichte

Mehr

Unified Modeling Language (UML)

Unified Modeling Language (UML) Kirsten Berkenkötter Was ist ein Modell? Warum Modellieren? Warum UML? Viele, viele Diagramme UML am Beispiel Was ist ein Modell? Ein Modell: ist eine abstrakte Repräsentation eines Systems, bzw. ist eine

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

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

Lehrbuch der Softwaretechnik: Basiskonzepte und Requirements Engineering

Lehrbuch der Softwaretechnik: Basiskonzepte und Requirements Engineering Helmut Balzert Lehrbuch der Softwaretechnik: Basiskonzepte und Requirements Engineering 3. Auflage Unter Mitwirkung von Heide Balzert Rainer Koschke Uwe Lämmel Peter Liggesmeyer Jochen Quante Spektrum

Mehr

09.01.14. Vorlesung Programmieren. Unified Modeling Language (UML) Unified Modeling Language (UML) Unified Modeling Language (UML)

09.01.14. Vorlesung Programmieren. Unified Modeling Language (UML) Unified Modeling Language (UML) Unified Modeling Language (UML) Vorlesung Programmieren Unified Modeling Language (UML) Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Unified Modeling Language (UML)

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren Unified Modeling Language (UML) Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Unified Modeling Language (UML)

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

Inhaltsverzeichnis. Teil I Einführung 13. Teil II Struktur 41. Vorwort 11

Inhaltsverzeichnis. Teil I Einführung 13. Teil II Struktur 41. Vorwort 11 UML 2 für Studenten Inhaltsverzeichnis Vorwort 11 Teil I Einführung 13 Kapitel 1 UML (nicht nur) für Studenten 15 1.1 Zielgruppen 16 1.2 Konventionen 17 1.3 Abgrenzung 18 1.4 Aufbau dieses Buches 18 Kapitel

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

Von UML 1.x nach UML 2.0

Von UML 1.x nach UML 2.0 Zürich Soft Summer 2005 Fortgeschrittene Aspekte der Software Technologie Von UML 1.x nach UML 2.0 Prof. Dr. Martin Glinz www.ifi.unizh.ch/req Ergänzendes Material zur Vorlesung Spezifikation und Entwurf

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

Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme. Tillmann Schall, anaptecs GmbH

Modellgetriebene 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

Mehr

Abschnitt 15: Unified Modeling Language (UML)

Abschnitt 15: Unified Modeling Language (UML) Abschnitt 15: Unified Modeling Language (UML) 15. Unified Modeling Language (UML) 15.1 Grundlagen 15.2 Klassen und Objekte 15.3 Vererbung 15.4 Schnittstellen 15.5 Generische Typen 15.6 Pakete 15.7 UML

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

3. Analysephase Anforderungen, Anwendungsfälle Softwaretechnik (CNAM)

3. 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,

Mehr

Einführung in die Informationsverarbeitung Teil Thaller. Stunde VII: Planen und Realisieren

Einführung in die Informationsverarbeitung Teil Thaller. Stunde VII: Planen und Realisieren Einführung in die Informationsverarbeitung Teil Thaller Stunde VII: Planen und Realisieren Manfred Thaller, Universität zu Köln Köln 18. Dezember 2014 Rekapitulation Der Gang der Argumentation 1. Der Rohstoff:

Mehr

Rhapsody in C ein System zur aspektorientierten Embedded- Entwicklung? Dr.- Ing. Alexander Steinkogler B. Braun Melsungen AG

Rhapsody in C ein System zur aspektorientierten Embedded- Entwicklung? Dr.- Ing. Alexander Steinkogler B. Braun Melsungen AG Rhapsody in C ein System zur aspektorientierten Embedded- Entwicklung? Dr.- Ing. Alexander Steinkogler B. Braun Melsungen AG Einführung Was sind Aspekte? Anforderungen: Thema / Aspekt Berühren viele andere

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

PRÜFUNG. Grundlagen der Softwaretechnik

PRÜFUNG. Grundlagen der Softwaretechnik Universität Stuttgart Institut für Automatisierungs- und Softwaretechnik Prof. Dr.-Ing. Dr. h. c. P. Göhner PRÜFUNG Grundlagen der Softwaretechnik Name: Matrikelnummer: Note: Prüfungstag: 21.09.2012 Prüfungsdauer:

Mehr

Software Engineering. 3. Analyse und Anforderungsmanagement

Software Engineering. 3. Analyse und Anforderungsmanagement Software Engineering 3. Analyse und Anforderungsmanagement Gliederung Vorlesung Einführung V-Modell XT Analyse und Anforderungsmanagement Benutzungsoberflächen Architektur Entwurf Entwurfsmuster Persistenz

Mehr

Kapitelübersicht. Was ist So#waretechnik? Historische Entwicklung der So9waretechnik Prinzipien, Methoden, Werkzeuge. Was bedeutet Objektorien+erung?

Kapitelübersicht. Was ist So#waretechnik? Historische Entwicklung der So9waretechnik Prinzipien, Methoden, Werkzeuge. Was bedeutet Objektorien+erung? Kapitelübersicht Was ist So#waretechnik? Historische Entwicklung der So9waretechnik Prinzipien, Methoden, Werkzeuge Was bedeutet Objektorien+erung? ObjektorienCerte Analyse und Design die Objektmodellierung

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

OOA-Dynamische Konzepte

OOA-Dynamische Konzepte Proseminar UML im SS 2005 OOA-Dynamische Konzepte Teil 2 von Benjamin Daeumlich 1 Übersicht Szenario Definition Interaktionsdiagramme Sequenzdiagramm Kommunikationsdiagramm Sequenz- vs. Kommunikationsdiagramm

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

Notationen zur Prozessmodellierung

Notationen zur Prozessmodellierung Notationen zur Prozessmodellierung August 2014 Inhalt (erweiterte) ereignisgesteuerte Prozesskette (eepk) 3 Wertschöpfungskettendiagramm (WKD) 5 Business Process Model and Notation (BPMN) 7 Unified Modeling

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

Klassendiagramm. Kurzer Überblick über UML - Stand 2006. BlaBla

Klassendiagramm. Kurzer Überblick über UML - Stand 2006. BlaBla BlaBla Diese Kennzeichnungen sind nur Erläuterungen und nicht Bestandteil des Diagramms Quelle: P.Grässle, H.Baumann, P.Baumann, UML projektorientiert, Galileo Verlag, 2003 21 Primäre Begriffe Kapselung

Mehr

wenige Konzepte, keine Adressen, Anlehnung an C++ -Syntax Vererbung, Polymorphie/dynamisches Binden, umfangreiche Klassenbibliotheken

wenige Konzepte, keine Adressen, Anlehnung an C++ -Syntax Vererbung, Polymorphie/dynamisches Binden, umfangreiche Klassenbibliotheken 1 Java ist... gut erlernbar wenige Konzepte, keine Adressen, Anlehnung an C++ -Syntax objektorientiert Vererbung, Polymorphie/dynamisches Binden, umfangreiche Klassenbibliotheken robust keine Adressen,

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

Schrittweise vorgestellt

Schrittweise vorgestellt 3 MBSE Lehrstuhl für Raumfahrttechnik Schrittweise vorgestellt Was erwartet mich in diesem Kapitel? Erläuterung der MBSE-Methodologie anhand der durchgängigen Beispielmission MOVE Modellierung von Anwendungsfällen

Mehr

Modelle und Anforderungen integrieren mit Innovator und Microsoft Word

Modelle und Anforderungen integrieren mit Innovator und Microsoft Word mit Innovator und Microsoft Word MID Insight 09, Nürnberg, 10 November 2009 Vortrag auf der Innovator-Anwenderkonferenz MID Insight 09 Track: Technologie & Integration Modelle und Anforderungen integrieren

Mehr

Pflichtenheft 1 Allgemeines 1.1 Nutzen

Pflichtenheft 1 Allgemeines 1.1 Nutzen Pflichtenheft 1 Allgemeines Oft wird im Bereich der Softwareentwicklung auf die Erstellung eines Pflichtenheftes verzichtet. Die Gründe sind dafür die Befürchtungen, dass sich dadurch die Entwicklung verzögert

Mehr

Kapitel 4: Dynamische Analyse mit FUSION. SoPra 2008 Kap. 4: Dynamische Analyse mit FUSION (1/30)

Kapitel 4: Dynamische Analyse mit FUSION. SoPra 2008 Kap. 4: Dynamische Analyse mit FUSION (1/30) Kapitel 4: Dynamische Analyse mit FUSION SoPra 2008 Kap. 4: Dynamische Analyse mit FUSION (1/30) Dokumente der dynamischen Analyse Analyse des Systemverhaltens (dynamischer Aspekt). Zu entwickeln sind:

Mehr

Vgl. Kapitel 4 aus Systematisches Requirements Engineering, Christoph Ebert https://www.sws.bfh.ch/studium/cas/swe-fs13/protected/re/re_buch.

Vgl. Kapitel 4 aus Systematisches Requirements Engineering, Christoph Ebert https://www.sws.bfh.ch/studium/cas/swe-fs13/protected/re/re_buch. Vgl. Kapitel 4 aus Systematisches Requirements Engineering, Christoph Ebert https://www.sws.bfh.ch/studium/cas/swe-fs13/protected/re/re_buch.pdf Nachdem die Projekt-Vision und die Stakeholder bekannt sind,

Mehr

Evaluation of Database Design and Reverse Engineering Tools for a Large Software System

Evaluation of Database Design and Reverse Engineering Tools for a Large Software System Evaluation of Database Design and Reverse Engineering Tools for a Large Software System Anne Thomas TU Dresden Dr. B. Demuth Pre Press GmbH (Dresden) T. Reuter Gliederung Einleitung Vorgehensweise Kontext

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

IT-Projekt-Management

IT-Projekt-Management IT-Projekt-Management email: vuongtheanh@netscape.net http: www.dr-vuong.de 2005 by, Bielefeld Seite 1 Vorgehensmodell 2005 by, Bielefeld Seite 2 Was ist ein Vorgehensmodell? Strukturbeschreibung über

Mehr

Inhalt. Einleitung Liebe Leserin, lieber Leser, Wer dieses Buch aus welchem Grund lesen sollte Ihre Meinung ist uns sehr wichtig.

Inhalt. Einleitung Liebe Leserin, lieber Leser, Wer dieses Buch aus welchem Grund lesen sollte Ihre Meinung ist uns sehr wichtig. Inhalt Vorwort Einleitung Liebe Leserin, lieber Leser, Wer dieses Buch aus welchem Grund lesen sollte Ihre Meinung ist uns sehr wichtig Danksagungen Die Autoren XIII XV XV XVII XVIII XVIII XIX Teil I:

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

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

Projektmodell Softwareentwicklung: Unified Software Development Process / Unified Process (Teil I)

Projektmodell Softwareentwicklung: Unified Software Development Process / Unified Process (Teil I) Projektmodell Softwareentwicklung: Unified Software Development Process / Unified Process (Teil I) Historisch Kulturelle Informationsverarbeitung Hauptseminar: KLIPS 2.0 Dozent: Prof. Dr. Thaller Referent:

Mehr

Interaktionsdiagramme in UML

Interaktionsdiagramme in UML Interaktionsdiagramme in UML Interaktionsdiagramm ist ein Oberbegriff für eine Reihe von Diagrammen, die das Verhalten eines objektorientierten Systems durch Objektinteraktionen beschreiben Ein Sequenzdiagramm

Mehr

Software Engineering Analyse und Analysemuster

Software Engineering Analyse und Analysemuster Software Engineering Analyse und Analysemuster Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Klassendiagramme in der Analyse Im Rahmen der Anforderungsanalyse

Mehr

Rhapsody in J Modellierung von Echtzeitsystemen

Rhapsody in J Modellierung von Echtzeitsystemen Rhapsody in J Modellierung von Echtzeitsystemen Tobias Schumacher tobe@uni-paderborn.de Rhapsody in J - Modellierung von Echtzeitsystemen p.1/17 Anspruch des Tools Einsatzbereiche/Features Modellierung

Mehr

Softwaretechnik. Fomuso Ekellem WS 2011/12

Softwaretechnik. Fomuso Ekellem WS 2011/12 WS 2011/12 Inhalt Wiederholung Weitere Begriffe Programmierung im Großem (Programmierung von Software als Ganzes) Prozess-Modelle 2 Wiederholung: Prozesse Prozesse sind hierarchische Gruppierungen von

Mehr

Ministerium für Kultus, Jugend und Sport Baden-Württemberg

Ministerium für Kultus, Jugend und Sport Baden-Württemberg Anlage zu 45-6512-2420/31 Ministerium für Kultus, Jugend und Sport Baden-Württemberg Schulversuch 51-6624.20/100 (früher: /84) vom 26. August 2003 Lehrpläne für das berufliche Gymnasium der sechs- und

Mehr

Guido de Melo 5.2.2007 Fachvortrag, Uni Ulm UML 2.0. Für den Einsatz in der Praxis

Guido de Melo 5.2.2007 Fachvortrag, Uni Ulm UML 2.0. Für den Einsatz in der Praxis Guido de Melo 5.2.2007 Fachvortrag, Uni Ulm UML 2.0 Für den Einsatz in der Praxis Seite 2 Überblick 1. Ziele 2. Warum das alles? 3. Was ist UML 4. Diagrammarten 5. Umfeld Seite 3 1. Ziele 1. Ziele dieses

Mehr

Der Unified Process ist ein generischer Prozeß zur objektorientierten Software- Erstellung

Der Unified Process ist ein generischer Prozeß zur objektorientierten Software- Erstellung Unified Process Eine Einführung von Hannes Fischer Fischer Software Elfenstr. 64 70567 Stuttgart Deutschland Copyright 2000 Hannes Fischer Unified Process Wie wird heute gearbeitet? Der Unified Process

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

Empirische Softwaretechnik Kosten und Nutzen von UML in der Wartung Dr. Victor Pankratius Andreas Höfer Wintersemester 2009/2010

Empirische Softwaretechnik Kosten und Nutzen von UML in der Wartung Dr. Victor Pankratius Andreas Höfer Wintersemester 2009/2010 Empirische Softwaretechnik Dr. Victor Pankratius Andreas Höfer Wintersemester 2009/2010 IPD Tichy, Fakultät für Informatik Pflichtlektüre hierzu: Dzidek, Arisholm, Briand, A Realistic Empirical Evaluation

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

YAKINDU Requirements. Requirements Engineering, Management and Traceability with Eclipse. Lars Martin, itemis AG. itemis AG

YAKINDU Requirements. Requirements Engineering, Management and Traceability with Eclipse. Lars Martin, itemis AG. itemis AG YAKINDU Requirements Requirements Engineering, Management and Traceability with Eclipse Lars Martin, itemis AG Agenda YAKINDU Requirements Motivation: Warum Requirements Engineering? Grundlagen: Requirements

Mehr

Vgl. Oestereich Kap 2.7 Seiten 134-147

Vgl. Oestereich Kap 2.7 Seiten 134-147 Vgl. Oestereich Kap 2.7 Seiten 134-147 1 Sequenzdiagramme beschreiben die Kommunikation/Interaktion zwischen den Objekten (bzw. verschiedenen Rollen) eines Szenarios. Es wird beschrieben, welche Objekte

Mehr

Probeklausur. Lenz Belzner. January 26, 2015. Lenz Belzner Probeklausur January 26, 2015 1 / 16

Probeklausur. Lenz Belzner. January 26, 2015. Lenz Belzner Probeklausur January 26, 2015 1 / 16 Probeklausur Lenz Belzner January 26, 2015 Lenz Belzner Probeklausur January 26, 2015 1 / 16 Definieren Sie Software Engineering in Abgrenzung zu Individual Programming. Ingenieursdisziplin professionelle

Mehr

Unified Modeling Language (UML )

Unified Modeling Language (UML ) Unified Modeling Language (UML ) Seminar: Programmiersprachenkonzepte Inhalt Einleitung UML 2.0 Diagrammtypen 2 Einleitung Objektorientierte Modellierungssprache Definiert vollständige Semantik Dient der

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

Architekturdokumentation leicht gemacht

Architekturdokumentation leicht gemacht Architekturdokumentation leicht gemacht Andreas Richter ar@anrichter.net @anrichter www.anrichter.net Architekturdokumentation Warum überhaupt Dokumentieren? Das arc42 Template Wie mach ich das nu? Ausblick

Mehr

Grundlagen des Software Engineering

Grundlagen des Software Engineering Gustav Pomberger und Günther Blaschek Grundlagen des Software Engineering Prototyping und objektorientierte Software-Entwicklung Mit 101 Abbildungen Technische Universität Darmstadt FACHBEREICH INFORMATIK

Mehr

Workflows: Anforderungserhebung und analyse

Workflows: Anforderungserhebung und analyse Workflows: Anforderungserhebung und analyse Tutorium 4 9. März 2009 Svetlana Matiouk, Uni Bonn Ferientutorien zur Vorlesung Softwaretechnologie WS 2008 4. Treffen, Aktivitäten bei der Softwareentwicklung

Mehr

Kapitel 2: Der Software-Entwicklungsprozess

Kapitel 2: Der Software-Entwicklungsprozess Wie konstruiert man Software? Kapitel 2: Der Software-Entwicklungsprozess SoPra 2008 Kap. 2: Der Software-Entwicklungsprozess (1/10) Der Software-Entwicklungs-Prozess Historisches 1960JJ adhoc Techniken

Mehr

Software Engineering. 2. Requirements Engineering. Franz-Josef Elmer, Universität Basel, HS 2012

Software Engineering. 2. Requirements Engineering. Franz-Josef Elmer, Universität Basel, HS 2012 Software Engineering 2. Requirements Engineering Franz-Josef Elmer, Universität Basel, HS 2012 Software Engineering: 2. Requirements Engineering 2 Definitionen Anforderungen (Requirements) legen fest,

Mehr

ActiveCharts. Verknüpfung von Modellen und Code bei der modellgetriebenen Softwareentwicklung mit UML 2.0

ActiveCharts. Verknüpfung von Modellen und Code bei der modellgetriebenen Softwareentwicklung mit UML 2.0 Jens Kohlmeyer 05. März 2007 Institut für Programmiermethodik und Compilerbau ActiveCharts Verknüpfung von Modellen und Code bei der modellgetriebenen Softwareentwicklung mit UML 2.0 Seite 2 Übersicht

Mehr

PRÜFUNG. Grundlagen der Softwaretechnik

PRÜFUNG. Grundlagen der Softwaretechnik Universität Stuttgart Institut für Automatisierungs- und Softwaretechnik Prof. Dr.-Ing. Dr. h. c. P. Göhner PRÜFUNG Grundlagen der Softwaretechnik Musterlösung Name: Matrikelnummer: Note: Prüfungstag:

Mehr

Software Engineering. 3. Anforderungsanalyse. Franz-Josef Elmer, Universität Basel, HS 2010

Software Engineering. 3. Anforderungsanalyse. Franz-Josef Elmer, Universität Basel, HS 2010 Software Engineering 3. Anforderungsanalyse Franz-Josef Elmer, Universität Basel, HS 2010 Software Engineering: 3. Anforderungsanalyse 2 Definitionen Anforderungen (Requirements): Beschreibung aller Leistungen,

Mehr

Pflichtlektüre hierzu: Kosten und Nutzen von UML in der Wartung. Kontrolliertes Experiment zu UML. Warum UML?

Pflichtlektüre hierzu: Kosten und Nutzen von UML in der Wartung. Kontrolliertes Experiment zu UML. Warum UML? Universität Karlsruhe (TH) Forschungsuniversität gegründet 1825 Kosten und Nutzen von UML in der Wartung Prof. Walter F. Tichy Pflichtlektüre hierzu: Dzidek, Arisholm, Briand, A Realistic Empirical Evaluation

Mehr

Erstellung eines Pflichtenhefts (I)

Erstellung eines Pflichtenhefts (I) 2. Anforderungsanalyse Erstellung eines Pflichtenhefts (I) Annahme: Es liegt ein "gutes" Lastenheft vor Was fehlt noch? Details... gemeinsame Sprache Glossar gemeinsames Verständnis der Funktion Funkt.

Mehr

Kapitel 3: Statische Analyse mit FUSION

Kapitel 3: Statische Analyse mit FUSION Die erste Phase Kapitel 3: Statische Analyse mit FUSION SoPra 2008 Kap. 3: Statische Analyse mit FUSION (1/44) Kapitel 3.1: Anforderungsdokument Vorgabe: Informelle Anforderungen (Requirements): Lastenheft

Mehr

Software Engineering in der Praxis

Software Engineering in der Praxis Inhalt Nachlese Aufgaben Literatur Software Engineering in der Praxis Praktische Übungen Inhalt Nachlese Aufgaben Literatur Marc Spisländer Dirk Wischermann Lehrstuhl für Software Engineering Friedrich-Alexander-Universität

Mehr

6. Modellierung von Informationssystemen. 6.1 Einleitung 6.2 Konzeptuelles Modell 6.3 OASIS Spezifikation 6.4 Execution Model 6.

6. Modellierung von Informationssystemen. 6.1 Einleitung 6.2 Konzeptuelles Modell 6.3 OASIS Spezifikation 6.4 Execution Model 6. 6. Modellierung von Informationssystemen Spezialseminar Matr. FS 2000 1/10 Volker Dobrowolny FIN- ITI Quellen: Oscar Pastor, Jaime Gomez, Emilio Insfran, Vicente Pelechano The OO-Method approach for information

Mehr

Objektorientierte Programmierung OOP

Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Ronja Düffel WS2012/13 08. Oktober 2013 Objektorientierte Programmierung OOP Objektorientierte Programmierung Objektorientierte

Mehr

Einführung in die Informatik

Einführung in die Informatik Einführung in die Informatik Jochen Hoenicke Software Engineering Albert-Ludwigs-University Freiburg Sommersemester 2014 Jochen Hoenicke (Software Engineering) Einführung in die Informatik Sommersemester

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

UML 2.0 Das umfassende Handbuch

UML 2.0 Das umfassende Handbuch Christoph Kecher V.-M \MM UML 2.0 Das umfassende Handbuch Galileo Computing Inhalt Vorwort 11 1 Einführung 13 1.1 Weshalb muss Software modelliert werden? 13 1.2 Was ist die UML? 15 1.3 Die Geschichte

Mehr

EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0. EDV Kurs 13/2

EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0. EDV Kurs 13/2 EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0 EDV Kurs 13/2 Inhaltsverzeichnis 1 Objekte... 1 2 Klassen... 3 2.1 Beziehungen zwischen Klassen... 4 2.1.1 Vererbung... 4 2.1.2

Mehr