SOFTWARETECHNIK. Kapitel 2 Modellierungskonzepte
|
|
- Hildegard Meissner
- vor 8 Jahren
- Abrufe
Transkript
1 SOFTWARETECHNIK Kapitel 2 Modellierungskonzepte Vorlesung im Wintersemester 2012/13 FG System- und Software-Engineering Prof. Dr.-Ing. Armin Zimmermann
2 Inhalt Einführung Klassische Modelle Objektorientierung Unified Modeling Language Modellierung 2
3 Einführung Wie beschreibt man Software und Systeme? Zweck: Dokumentation, Kommunikation, Spezifikation, Vertragsabschluss, Ausschreibung, Was wird beschrieben? Struktur Schnittstellen Funktionen Anforderungen Abläufe Begriffsbedeutungen Arbeitsschritte Modellierung 3
4 Einführung Wie beschreibt man Software und Systeme? Arten der Beschreibung Gespräch, Interview Text, Prosa Strukturierter Text Tabelle Semi-formales Modell Formales Modell Modellierung 4
5 Einführung Modell ist eine Abstraktion eines Systems mit der Zielsetzung, das Nachdenken über ein System zu vereinfachen, indem irrelevante Details ausgelassen werden [Brügge] Beschreibung eines Ausschnitts der Realität Abstrahiert von Unwichtigen inneren Details Unwichtigen äußeren Einflüssen Verfolgt einen Zweck für eine Anwendung Diese bestimmen, was und wie im Modell beschrieben wird Gutes Modell daher nur für einen Zweck bestimmbar Fragestellung am Anfang genau bestimmen Modellierung 5
6 Einführung Modelle Modellierung 6
7 Einführung Modellieren Abbilden signifikanter Eigenschaften So genau wie nötig Abstraktionsniveau, Modellart Deskriptiv / Präskriptiv Sichtweisen auf ein System Struktur, Verhalten, Zustand, Interaktion, Test, Rolle, heißt Weglassen setzt Verstehen voraus ist nicht automatisierbar Modellierung 7
8 Einführung Einsatz von Modellen in der SW-Entwicklung Analysemodell Entwurfsmodell wesentliche Entwurfsentscheidungen, Softwarestruktur,.. Implementierung (-smodell) Vorgehensmodell Produktmodell Beschreibung der im Projekt entstehenden Artefakte und ihrer Zusammenhänge nach Rumpe Modellierung 8
9 Einführung Modelle für Funktionen: Funktionsbaum, Datenflussdiagramm Daten: Entity Relationship Diagram Algorithmen: Pseudocode, Programmablaufplan, Struktogramm, Entscheidungstabelle, Regeln Systemumgebung: Datenflussdiagramm Dynamisches Verhalten: Zustandsautomat, Sequenzdiagramm, Petri-Netz (ggf. mit Zeitmodell) Objektorientierte Modelle (später) Modellierung 9
10 Einführung Entwicklung Quelle: Rumpe Modellierung 10
11 Inhalt Einführung Klassische Modelle Objektorientierung Unified Modeling Language Modellierung 11
12 Klassische Modelle Funktionale Sicht Funktionsbaum: Hierarchische Dekomposition der Fkt. Beispiel: Abonnement-Verwaltung Quelle: Jackisch Modellierung 12
13 Klassische Modelle Data Dictionary Verzeichnis von Daten mit Strukturinformation Backus-Naur-Form, kontextfreie Grammatik Modellierung 13
14 Klassische Modelle Datenmodellierung System als statische Datenstruktur, Datenbanken-Sicht Zerlegung in Komponenten Quelle: Uni Trier Modellierung 14
15 Klassische Modelle Entity-Relationship-Model Daten und ihre Beziehungen Quelle: Rumpe Modellierung 15
16 Klassische Modelle Datenflussdiagramm data flow diagram DFD [De Marco 1979] Fluss und Transformation von Daten zwischen Funktionen, Speichern und Schnittstellen kein Kontrollfluss Quelle: Riedling Modellierung 16
17 Klassische Modelle Flussdiagramm flow chart Hier: Geschäftsprozess mit Vorgängen und Dokumenten Quelle: orghandbuch.de, BMI Modellierung 17
18 Klassische Modelle Blockschaltbild Eingebettetes System, HW/SW Modellierung 18
19 Klassische Modelle Entscheidungstabellen Regelbasierte Beschreibung Bedingungen Aktionen Reduktionsregeln Quelle: orghandbuch.de, BMI Modellierung 19
20 Klassische Modelle Pseudocode Von Programmiersprache abstrahierende, detaillierte Beschreibung eines Algorithmus Modellierung 20
21 Klassische Modelle Programmablaufplan (PAP) Grafische Beschreibung des Kontrollflusses Unstrukturiert, GOTO Modellierung 21
22 Klassische Modelle Struktogramm Nassi- Shneiderman- Diagram Keine Sprünge daten, teiler+1, rechts) Quelle: Wikipedia Modellierung 22
23 Klassische Modelle Modellierung dynamischen Verhaltens Diskrete Zustände und atomare Zustandsübergänge Modellierung 23
24 Klassische Modelle Zustandsautomat Verhalten mit Zuständen und -übergängen Automatenmodelle und -theorie Ggf. Zerlegung oder kommunizierende Automaten Quelle: Rumpe Modellierung 24
25 Klassische Modelle Ereignisgesteuerte Prozesskette (EPK) Geschäftsprozesse BPM Quelle: Krallmann Modellierung 25
26 Klassische Modelle Petri-Netz Grafische Beschreibung von Nebenläufigkeit und Synchronisation Prozess1 erzeugen ablegen FreiePufferplätze N PufferplätzeMitDaten verarbeiten Prozess2 abholen Modellierung 26
27 Inhalt Einführung Klassische Modelle Objektorientierung Unified Modeling Language Modellierung 27
28 Objektorientierung Grundprinzipien der Programmierung Imperative Programmierung von-neumann-modell Prozedural, strukturiert (C, Pascal) Modular (Modula2, Ada83) Objektorientiert (C++, Ada95, Java) Deklarative Programmierung Funktional (Lisp) Logisch (Prolog) Datenfluss (Linda) Modellierung 28
29 Objektorientierung Entwicklungsrichtung Bessere Strukturierung für komplexe Zusammenhänge Abstraktere Sichtweise Grundprinzip: Zerlegung Horizontal: Teilsysteme, Module Vertikal: Schichten Voraussetzung: Schnittstellen, Kapselung Nutze fertige Teillösungen (Wiederverwendung, patterns) Behandle konzeptionell gleiche Dinge gleich Teile und herrsche! Modellierung 29
30 Objektorientierung Objekte Analyse: als Modell realer Gegenstände Entwurf: als Beschreibungsmittel für die Software-Lösung Identität: IK-U5 Zustand: 5km/h Verhalten: Anhalten Eigenschaft: Geschwindigkeit Modellierung 30
31 Objektorientierung Objekte Ein System besteht aus vielen Objekten Ein Objekt hat ein definiertes Verhalten Menge genau definierter Operationen Operation wird beim Empfang einer Nachricht ausgeführt Ein Objekt hat einen inneren Zustand Zustand des Objekts ist Privatsache Resultat einer Operation hängt vom aktuellen Zustand ab Ein Objekt hat eine eindeutige Identität Identität ist unabhängig von anderen Eigenschaften Es können mehrere verschiedene Objekte mit identischem Verhalten und identischem inneren Zustand im gleichen System existieren Quelle: Rumpe Modellierung 31
32 Objektorientierung Klasse Gleichartige Objekte mit ggf. verschiedenen Zuständen Auto Klasse Objekte Modellierung 32
33 Objektorientierung Klasse Verhaltensschema Operationen Innere Struktur Attribute Klasse Auto Auto Farbe Geschwindigkeit Anhalten() Losfahren() Objekt IK-U5 IK-U5: Auto << instanceof >> Farbe = orange Geschwindigkeit = 5 Modellierung 33
34 Objektorientierung Klasse und Objekt Auto Farbe Geschwindigkeit Anhalten() Losfahren() class Auto { private String Farbe; private float Geschwindigkeit; public void Anhalten() { Geschwindigkeit = 0; } } << instanceof >> IK-U5: Auto Farbe = orange Geschwindigkeit = 5 Auto ik_u5; ik_u5 = new Auto(); ik_u5.anhalten(); Modellierung 34
35 Objektorientierung Beziehungen zwischen Klassen Vererbung (Generalisierung, Spezialisierung) Polymorphie Fahrzeug Auto Fahrrad Rennwagen PKW Modellierung 35
36 Objektorientierung Beziehungen zwischen Klassen Assoziationen, Multiplizität, Rollen Navigation (Entwurf) Bilder: Brügge/Dutoit Modellierung 36
37 Objektorientierung Beziehungen zwischen Klassen Aggregation Quelle: Brügge/Dutoit Komposition: Teile existieren nicht unabhängig Modellierung 37
38 Objektorientierung Vorteile der Objektorientierung Zuständigkeitsbereiche Daten, Operationen und Zustand: lokal und gekapselt Klare Schnittstellen Definiertes Objektverhalten, Nachrichten Hierarchie Vererbung und Polymorphie (Spezialisierung), Klassenschachtelung Baukastenprinzip Benutzung vorgefertigter Klassenbibliotheken, Anpassung durch Spezialisierung (mittels Vererbung) nach Rumpe Modellierung 38
39 Inhalt Einführung Klassische Modelle Objektorientierung Unified Modeling Language Modellierung 39
40 Unified Modeling Language UML Grafisches Beschreibungsmittel für Aspekte des Softwareentwurfs diskreter Systeme Spezifikation, Entwurf, Visualisierung, Konstruktion, Dokumentation von Software Für OO-Softwareentwicklung und -prozess geeignet UML ist weder Methode noch Prozess Sammlung industriell erfolgreicher Modelle Einheitliche Notation: Booch, OMT, use cases, state charts Nicht alle Elemente müssen verwendet werden Modellierung 40
41 Unified Modeling Language Warum UML? Objektorientierung ist zur Zeit das optimale Modellierungs-Paradigma, Industrie-Standard Kombination von Struktur-, Verhaltens-, Interaktions-, und Verteilungsmodellen Für Analyse, Entwurf, Implementierung und Test einsetzbar Gute Werkzeugunterstützung für Editieren, Versionierung, Codegenerierung Erweiterbarkeit der UML mit Stereotypen und Tags Semi-formale Modelle, z.t. verschiedene Interpretationen Offenheit: Erweiterung mit stereotypes, tags, constraints Nach Rumpe, Nierstrasz Modellierung 41
42 Unified Modeling Language Nachteile UML UML ist in vielen Facetten nicht präzise festgelegt Werkzeuge für Transformation, Analyse etc. fehlen noch UML ist keine kleine Sprache : Lernaufwand notwendig Komponenten sind nicht adäquat darstellbar Sprachen wie die UML werden erlernt durch Übung! Aber: LV SWT ist kein kompletter UML-Kurs Quelle: Rumpe Modellierung 42
43 Unified Modeling Language Quelle: Störrle Modellierung 43
44 Unified Modeling Language Entwicklung der Unified Modeling Language Grady Booch, Ivar Jacobson, James Rumbaugh (seit 86) 90er Jahre: Objektmodellierungstechnik OMT Zahlreiche Bücher verfügbar SE und Geschäftsprozessmodellierung ab [Jacobson92] Ab 95 bei Rational: OMT+Booch+ClassDiagrams UML UML Consortium: DEC, I-Logix, Intellicorp, IBM, ICON Computing, MCI Systemhouse, Microsoft, 97: Standardisierung bei der OMG 99: UML 1.3, 03: UML 1.5 UML 2.0 Superstructure Spec: Okt. 04 Modellierung 44
45 Unified Modeling Language Neuerungen in UML 2 Einbettung (embodiment) Verhalten und Funktionalität ist immer Teil eines Objektmodells Neue Notationen Architekturdiagramme, Interaktionsdiagramme, Aktivitätsdiagramme, Zeitverlaufsdiagramme Metamodell Konsolidiert Neu erstellt: Interaktionen, Aktivitäten Formale Semantik erleichtert Neue Konzepte CompositePart, Port und Connector, Collaboration, Modellierung 45
46 Unified Modeling Language Überblick über Modelle Details ggf. in späteren Kapiteln Structure Diagrams Class, Object, Component, Composite Structure, Package und Deployment Diagrams Behavior Diagrams Use Case, Activity und State Machine Diagrams Interaction Diagrams Sequence, Communication, Timing und Interaction Overview Diagrams Modellierung 46
47 Unified Modeling Language Modellierung 47
48 Unified Modeling Language Use Case Diagram Beschreiben Systemfunktion aus Benutzersicht Was, nicht Wie Scenario: Beispiel für Interaktion A patient calls the clinic to make an appointment for a yearly checkup. The receptionist finds the nearest empty time slot in the appointment book and schedules the appointment. Elemente Actor: löst Ereignisse aus (role) Communication association: Kommunikationsverbindung Quelle der folgenden Bilder: Practical UML Modellierung 48
49 Unified Modeling Language Use Case Diagram Use Case ist eine Sammlung von Scenarios Verwendung Erste Anforderungsspezifikation (requirements) Kommunikation mit Kunden Erstellen von Testfällen (test case generation) Modellierung 49
50 Unified Modeling Language Class Diagram Statischer Überblick über Systemaufbau aus Objekten Klassen und ihre Beziehungen Beispiel: Kundenbestellung aus Versandkatalog Modellierung 51
51 Unified Modeling Language Class Diagram Klassen: Name, Attribute, Methoden Relationen Association: Objekte beider Klassen stehen in Zusammenhang und wissen voneinander. Pfeil schränkt Zugriffsrichtung ein Aggregation: Klasse gehört zu einer Sammlung Generalization: Vererbungsbeziehung (subclass / superclass) Relationen können am Ende benannt werden (role name) Multiplicity am Ende der Relation: Anzahl möglicher Objekte (Instanzen), die mit einem Objekt am anderen Ende verbunden sein können Modellierung 52
52 Unified Modeling Language Class Diagram Details Composition Spezialfall einer aggregation, in der die abhängigen Objekte nicht alleine existieren können Modellierung 53
53 Unified Modeling Language Packages Gruppierung komplexer Klassendiagramme Modellierung 57
54 Unified Modeling Language Object Diagram Zeigen Objekte anstelle von Klassen (class diagram) Für kompliziertere Abhängigkeiten benutzt (z.b. Rekursion) Modellierung 58
55 Unified Modeling Language Sequence Diagram Beschreibung dynamischer Zusammenarbeit zwischen Objekten über Zeitachse Objekte Existierend: gestrichelt (lifeline) Aktiv: Rechteck (activation bar) Nachrichten, Aufrufe als Pfeile Synchron: Asynchron: Unspezifiziert: Bedingungen in eckigen Klammern Modellierung 59
56 Unified Modeling Language Sequence Diagram Beispiel: Hotelreservierung Modellierung 60
57 Unified Modeling Language Collaboration Diagram Beschreiben wie sequence diagrams Zusammenarbeit von Objekten, aber aus Sicht der Rollen (nicht Zeiten) Modellierung 62
58 Unified Modeling Language Statechart Diagram Verhalten von Objekten: Zustände und Zustandsübergänge (state, state transition) Beispiel: Online-Banking Modellierung 63
59 Unified Modeling Language Statechart Diagram Zustände können andere enthalten: Nebenläufigkeit Zustandsraum Kreuzprodukt der Unterzustandsmengen Modellierung 64
60 Unified Modeling Language Activity Diagram Entspricht Flussdiagramm Fokus: Statechart Objekt und Zeit, Activity Diagram Prozess und Reihenfolge Aktivitäten: benannte Kästchen, danach jeweils eine Transition (Pfeil) Transitionen können abhängig von Bedingungen unterschiedliche Ziele haben Transitionen können aufspalten (fork) und vereinigen (join) Modellierung 65
61 Unified Modeling Language Activity Diagram Beispiel Geldautomat Modellierung 66
62 Unified Modeling Language Vergleich von Ablaufmodellen Modellierung 67
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
MehrOrientierte 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?
Mehr09.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)
MehrVorlesung 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)
MehrObjektorientierter 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.
MehrJava Einführung Umsetzung von Beziehungen zwischen Klassen. Kapitel 7
Java Einführung Umsetzung von Beziehungen zwischen Klassen Kapitel 7 Inhalt Wiederholung: Klassendiagramm in UML Java-Umsetzung von Generalisierung Komposition Assoziationen 2 Das Klassendiagramm Zweck
MehrRequirements Engineering I
Norbert Seyff Requirements Engineering I UML Unified Modeling Language! 2006-2012 Martin Glinz und Norbert Seyff. Alle Rechte vorbehalten. Speicherung und Wiedergabe für den persönlichen, nicht kommerziellen
MehrUnified 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
MehrGuido 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
MehrRUP Analyse und Design: Überblick
Inhaltsverzeichnis Übersicht [, 2, 8] 3. Vorgehensweise............................... 5 2 Planungsmethoden 37 2. Definitionsphase.............................. 6 3 Rational Unified Process [5, 6] und
MehrUML (Unified Modelling Language) von Christian Bartl
UML (Unified Modelling Language) von Inhaltsverzeichnis Inhaltsverzeichnis... 2 1 UML Unified Modelling Language... 3 2 Diagrammtypen... 3 2.1 Aktivitätsdiagramm... 3 2.1.1 Notation... 4 2.1.2 Beispieldiagramm...
MehrSoftware-Engineering
FH Wedel Prof. Dr. Sebastian Iwanowski SWE2 Folie 1 Software-Engineering Sebastian Iwanowski FH Wedel Kapitel 2: Grundbegriffe und Prinzipien FH Wedel Prof. Dr. Sebastian Iwanowski SWE2 Folie 2 Grundbegriffe
MehrGrundzüge der Programmierung. Konzepte der objektorientierten Programmierung (oop) OBJEKTE - KLASSEN
Grundzüge der Programmierung Konzepte der objektorientierten Programmierung (oop) OBJEKTE - KLASSEN Inhalt dieser Einheit JAVA ist objektorientiert! Grundbegriffe der objektorientierten Programmierung:
MehrEinfÅ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
MehrSoftware Engineering in der Praxis
Software Engineering in der Praxis Praktische Übungen Meitner, Spisländer FAU Erlangen-Nürnberg Objektorientiertes Design 1 / 16 Objektorientiertes Design Matthias Meitner Marc Spisländer Lehrstuhl für
MehrUse Cases. Use Cases
Use Cases Eigenschaften: Ein Use Case beschreibt einen Teil des Verhaltens eines Systems aus externer Sicht (Formuliert in der der Fachsprache der Anwendung) Dies geschieht, indem ein Systemdialog beschrieben
MehrEinfü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Übungsklausur vom 7. Dez. 2007
Übungsklausur vom 7. Dez. 2007 Ein Lösungsmuster Teilbereiche der Softwaretechnik Software Anforderungen Software Entwurf Software Konstruktion Software Test Software Wartung Software Konfigurationsmanagement
MehrÜ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 9 17. Dezember 2002 www4.in.tum.de/~rumpe/se
MehrSoftwaretechnik (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
MehrSEQUENZDIAGRAMM. Christoph Süsens
SEQUENZDIAGRAMM Christoph Süsens DEFINITION Das Sequenzdiagramm gibt Auskunft darüber: Welche Methoden für die Kommunikation zwischen ausgewählten Objekten zuständig sind. Wie der zeitliche Ablauf von
MehrKlassendiagramm. (class diagram)
: Klassendiagramm http:///topic95.html Klassendiagramm (class diagram) Klassendiagramm Objektdiagramm Komponentendiagramm Kompositionsstrukturdiagramm Verteilungsdiagramm Einstieg Paketdiagramm Aufbau
MehrFachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer
Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Klassendiagramme Ein Klassendiagramm dient in der objektorientierten Softwareentwicklung zur Darstellung von Klassen und den Beziehungen,
MehrMotivation. Motivation
Vorlesung Modellierung nebenläufiger Systeme Sommersemester 2012 Universität Duisburg-Essen Was sind nebenläufige Systeme? Ganz allgemein: Systeme, bei denen mehrere Komponenten/Prozesse nebenläufig arbeiten
MehrKapitel 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
MehrDr. Hanno Schauer Mons-Tabor-Gymnasium Montabaur. UML-Klassendiagramme als Werkzeug im Unterricht
Dr. Hanno Schauer Mons-Tabor-Gymnasium Montabaur UML-Klassendiagramme als Werkzeug im Unterricht Blitzlicht? In welcher Programmiersprache(n) unterrichten Sie?? In welchem Umfang unterrichten Sie Objektorientierung??
MehrObjektorientierte Programmierung OOP
Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Ronja Düffel WS2012/13 08. Oktober 2013 Objektorientierte Programmierung OOP Objektorientierte Programmierung Objektorientierte
MehrBPMN. Suzana Milovanovic
BPMN Suzana Milovanovic 2 Übersicht Klärung von Begriffen, Abkürzungen Was ist BPMN? Business Process Diagram (BPD) Beispielprozess Entwicklung von BPMN BPMN in der Literatur 3 Grundlegende Begriffe Business
MehrWirtschaftsinformatik 2 Modellierung betrieblicher Informationssysteme - MobIS
Wirtschaftsinformatik 2 Modellierung betrieblicher Informationssysteme - MobIS (theoretische Aspekte der Informationsmodellierung) 3. Vorlesung 23.04.2007 Informationsmodelle Phasen der Softwareentwicklung:
MehrKapitelü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
MehrSoftware 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
MehrKlassendiagramm. 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
MehrVorlesung "Software-Engineering"
Vorlesung "Software-Engineering" Rainer Marrone, TUHH, Arbeitsbereich STS Vorige Vorlesung Pflichtenheft (requirements specification document) Charakterisierung von Software-Qualität Detaillierte Anforderungsanalyse
MehrKlausur Software-Engineering SS 2005 Iwanowski 23.08.2005
Klausur Software-Engineering SS 2005 Iwanowski 23.08.2005 Hinweise: Bearbeitungszeit: 90 Minuten Erlaubte Hilfsmittel: im Anhang, sonst keine Bitte notieren Sie Ihre Antworten ausschließlich auf dem Aufgabenblatt!
MehrGemeinsamkeiten und Unterschiede bei der Anwendung für die Analyse von Geschäftsprozessen
Gemeinsamkeiten und Unterschiede bei der Anwendung für die Analyse von Geschäftsprozessen Gliederung Geschäftsprozess Einführung der Modellierungskonzepte PetriNetz und EPK Transformation von EPK in PN
Mehr4. AuD Tafelübung T-C3
4. AuD Tafelübung T-C3 Simon Ruderich 17. November 2010 Arrays Unregelmäßige Arrays i n t [ ] [ ] x = new i n t [ 3 ] [ 4 ] ; x [ 2 ] = new i n t [ 2 ] ; for ( i n t i = 0; i < x. l e n g t h ; i ++) {
MehrProgrammieren Formulierung eines Algorithmus in einer Programmiersprache
Zum Titel der Vorlesung: Programmieren Formulierung eines in einer Programmiersprache Beschreibung einer Vorgehensweise, wie man zu jedem aus einer Klasse gleichartiger Probleme eine Lösung findet Beispiel:
MehrDatenbankmodelle 1. Das Entity-Relationship-Modell
Datenbankmodelle 1 Das Entity-Relationship-Modell Datenbankmodelle ER-Modell hierarchisches Modell Netzwerkmodell relationales Modell objektorientierte Modelle ER Modell - 2 Was kann modelliert werden?
MehrBABOK Knowledge Area Requirements Analysis Modeling Techniques - Process Models - - State Diagrams - Holger Dexel, 26.02.2011
BABOK Knowledge Area Requirements Analysis Modeling Techniques - Process Models - - State Diagrams - Holger Dexel, 26.02.2011 This presentation is build upon material of the Business Analysis Body of Knowledge
MehrGliederung 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
MehrWintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 22
Kapitel 19 Vererbung, UML Seite 1 von 22 Vererbung - Neben der Datenabstraktion und der Datenkapselung ist die Vererbung ein weiteres Merkmal der OOP. - Durch Vererbung werden die Methoden und die Eigenschaften
MehrSWE5 Slide 1. Software-Engineering. Vorlesung 5 vom 15.11.2004 Sebastian Iwanowski FH Wedel
SWE5 Slide 1 Software-Engineering Vorlesung 5 vom 15.11.2004 Sebastian Iwanowski FH Wedel SWE5 Slide 2 Software-Engineering Vorlesungsthemen: 1. Überblick über das Thema und die Vorlesung 2. Grundlegende
MehrSDD System Design Document
SDD Software Konstruktion WS01/02 Gruppe 4 1. Einleitung Das vorliegende Dokument richtet sich vor allem an die Entwickler, aber auch an den Kunden, der das enstehende System verwenden wird. Es soll einen
MehrSoftware Engineering I
Vorlesung Software Engineering I Dynamische Basiskonzepte 2 Kontrollstrukturen Aktivitätsdiagramme Sequenzdiagramme 1 Basiskonzepte Beschreiben die feste Struktur des Systems, die sich während der Laufzeit
MehrDaniel Warneke warneke@upb.de 08.05.2006. Ein Vortrag im Rahmen des Proseminars Software Pioneers
Design Patterns Daniel Warneke warneke@upb.de 08.05.2006 Ein Vortrag im Rahmen des Proseminars Software Pioneers Design Patterns 1/23 Übersicht Einleitung / Motivation Design Patterns Beispiele Rolle des
MehrModellbasierte Softwareentwicklung
CD OCL OD Statechart SD Modellbasierte Softwareentwicklung 7. Evolutionäre Methodik 7.1. Vorgehensmodell Vorlesungsnavigator: Prof. Dr. Bernhard Rumpe Sprache Codegen. http://www.se-rwth.de/ Testen Evolution
MehrAnwendungspraktikum aus JAVA Programmierung im SS 2006 Leitung: Albert Weichselbraun. Java Projekt. Schiffe Versenken mit GUI
Anwendungspraktikum aus JAVA Programmierung im SS 2006 Leitung: Albert Weichselbraun Java Projekt Schiffe Versenken mit GUI 1. Über den Autor: Name: Marija Matejic Matrikelnummer: 9352571 E-mail: marijamatejic@yahoo.com
MehrSoftware-Engineering
SWE5 Slide 1 Software-Engineering Sebastian Iwanowski FH Wedel Kapitel 5: Systementwurf SWE5 Slide 2 Systemanalyse vs. Softwareentwurf Systemanalyse beschreibt das System der Anwendung, für das eine Aufgabe
MehrGeschäftsprozesse: Modellierung und Analyse
Geschäftsprozesse: Modellierung und Analyse 1. Ausgangssituation 2. Begriffe 3. Modellierungsmethoden 4. Modellarten 5. Vorgehensprinzipien 6. Analyse 7. Werkzeuge Modellierung Modellierung: Modell: Prozess
MehrObjektorientierte Programmierung
Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum
MehrOO Softwareentwicklung
OO Softwareentwicklung Objektorientierung Prof. Dr. Bernhard Schiefer 1 OO als Ansatz zur Verbesserung der Software-Qualität Modellierung der Welt als selbständig agierende Objekte. Gemeinsame Beschreibung
MehrProgrammieren 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
MehrVgl. 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
MehrJ.2 Objektorientiertes Modellieren mit UML
Modellieren mit UML Objektorientiertes Modellieren mit UML 2002 Prof. Dr. Rainer Manthey Informatik II 1 UML: Übersicht in den 1980er Jahren: Entstehen einer Vielzahl objektorientierter Entwurfsmethoden
MehrSoftware 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,
MehrUML Klassendiagramm. Igor Karlinskiy, Mikhail Gavrish
UML Klassendiagramm Igor Karlinskiy, Mikhail Gavrish Agenda Wichtigste Eigenschaften Syntaktische Elemente mit entsprechendem C++ Code Analysemodell Designmodell Quellen 2 Klassendiagramm gibt die Möglichkeit,
Mehr3D Visualisierung von UML Umgebungsmodellen
3D Visualisierung von UML Umgebungsmodellen Vortragender: Helmer Krämer Betreuer: Dr. Holger Giese 3D Visualisierung von UML Umgebungsmodellen Krämer Seite 1 Motivation und Anforderungen Das Umgebungsmodell
MehrModellierung 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.
MehrModellierungstechniken im Softwaredesign. Praxisprojekt [ai] Control WS 2011/2012 Lara Baschour und Anne Heiting
Modellierungstechniken im Softwaredesign Praxisprojekt [ai] Control WS 2011/2012 Lara Baschour und Anne Heiting Was ist Modellierung? Modell = Ein Modell ist eine Repräsentation eines Systems von Objekten,
MehrRhapsody 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
MehrFOSD-Treffen 2012 Struktur- und Constraintbasierte Konfiguration
FOSD-Treffen 2012 Struktur- und Constraintbasierte Konfiguration Uwe Lesta 22. März 2012 Übersicht Produktkonfiguration Konfigurationsarten Produkt- und Konfigurationswissen Aufbau des Produktkonfigurators
MehrVisuelle DSLs Trends in der Softwaretechnik: Domänenspezifische Sprachen (Seminar WS 2010/11) Thorsten Arendt
Visuelle DSLs Trends in der Softwaretechnik: Domänenspezifische Sprachen (Seminar WS 2010/11) Thorsten Arendt Problemlösung = Abstrahierung Entwicklung der Programmiersprachen Maschinencode/Binärcode:
Mehr16 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
Mehr6. 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
MehrJ.6 Programmierung eingebetteter Systeme
Vorteile von C in eingebetteten Systemen: leichter Zugriff auf die Hardware gute Kontrolle über die verwendeten Ressourcen (Speicher, CPU) Probleme mit C: stark eingeschränkte Laufzeitüberprüfungen ISO
MehrObjektorientierte Programmierung für Anfänger am Beispiel PHP
Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten
MehrSome Software Engineering Principles
David L. Parnas: Some Software Engineering Principles Marco Oppel 30.06.2004 Seminar Software-Architektur Institut für Informatik Humboldt Universität zu Berlin 1 Problemstellung Software Engineering Multi-Personen
MehrSoftwaretechnik Unified Modeling Language (UML)
Softwaretechnik Unified Modeling Language () Karsten Weicker, Nicole Weicker HTWK Leipzig, FHTW Berlin David Shayne: She s so charismatic, and she s brilliant and beautiful. I mean, a real artist, and,
MehrActiveCharts. 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
MehrTechniken der Projektentwicklung
diagramme Termin 6 Denken in Schnittstellen Was nun? Einführung Bisher kennengelernt: Modellierung auf Konzeptlevel Usecase-Diagramme Domänenmodelle Jetzt: Übergang zu Spezifikation und Implementierung!
MehrInformationswirtschaft 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
MehrEinführung in Eclipse und Java
Universität Bayreuth Lehrstuhl für Angewandte Informatik IV Datenbanken und Informationssysteme Prof. Dr.-Ing. Jablonski Einführung in Eclipse und Java Dipl.Inf. Manuel Götz Lehrstuhl für Angewandte Informatik
MehrInformationswirtschaft 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
MehrFragenkatalog Geschäftsmodellierung Grundlagen
Fragenkatalog Geschäftsmodellierung Grundlagen 1. Erläutern Sie den Begriff der Geschäftsmodellierung - Erfassung und Spezifikation von Geschäftsprozessen für die Analyse und Gestaltung betrieblicher Systeme
MehrEPK Ereignisgesteuerte Prozesskette
Ausarbeitung zum Fachseminar Wintersemester 2008/09 EPK Ereignisgesteuerte Prozesskette Referent: Prof. Dr. Linn Ausarbeitung: Zlatko Tadic e-mail: ztadic@hotmail.com Fachhochschule Wiesbaden Fachbereich
MehrVBA-Programmierung: Zusammenfassung
VBA-Programmierung: Zusammenfassung Programmiersprachen (Definition, Einordnung VBA) Softwareentwicklung-Phasen: 1. Spezifikation 2. Entwurf 3. Implementierung Datentypen (einfach, zusammengesetzt) Programmablaufsteuerung
MehrProjektmodell 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:
MehrProgrammierparadigmen. Programmierparadigmen. Imperatives vs. objektorientiertes Programmieren. Programmierparadigmen. Agenda für heute, 4.
Agenda für heute, 4. Mai, 2006 Programmierparadigmen Imperative Programmiersprachen In Prozeduren zusammengefasste, sequentiell ausgeführte Anweisungen Die Prozeduren werden ausgeführt, wenn sie als Teil
MehrAgile Vorgehensmodelle in der Softwareentwicklung: Scrum
C A R L V O N O S S I E T Z K Y Agile Vorgehensmodelle in der Softwareentwicklung: Scrum Johannes Diemke Vortrag im Rahmen der Projektgruppe Oldenburger Robot Soccer Team im Wintersemester 2009/2010 Was
MehrEinführung in die Programmierung für NF
Einführung in die Programmierung für NF UML Valerie Holmeyer Michael Kirsch Direct Feedback Eure Mitarbeit ist mir wichbg Quiz nach den jeweiligen AbschniGen Jeder kann mitmachen App socra&ve auf Smartphone
MehrÜbung 4. Musterlösungen
Informatik für Ökonomen II HS 2010 Übung 4 Ausgabe: 18.11.2010 Abgabe: 25.11.2010 Musterlösungen Schreiben Sie Ihre Namen und Ihre Matrikelnummern in die vorgesehenen Felder auf dem Deckblatt. Formen Sie
MehrMusterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9
Prof. Dr. Wilhelm Schäfer Paderborn, 15. Dezember 2014 Christian Brenner Tristan Wittgen Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Aufgabe 1 Codegenerierung
MehrObjektorientierter Software-Entwurf Grundlagen 1 1. Analyse Design Implementierung. Frühe Phasen durch Informationssystemanalyse abgedeckt
Objektorientierter Software-Entwurf Grundlagen 1 1 Einordnung der Veranstaltung Analyse Design Implementierung Slide 1 Informationssystemanalyse Objektorientierter Software-Entwurf Frühe Phasen durch Informationssystemanalyse
MehrFassade. Objektbasiertes Strukturmuster. C. Restorff & M. Rohlfing
Fassade Objektbasiertes Strukturmuster C. Restorff & M. Rohlfing Übersicht Motivation Anwendbarkeit Struktur Teilnehmer Interaktion Konsequenz Implementierung Beispiel Bekannte Verwendung Verwandte Muster
MehrGrundbegriffe der Informatik
Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen
MehrEs war einmal... "StudyING: Welten bewegen - Welten gestalten"
Computer, generiere! Christian Schröder Fachbereich Elektrotechnik und Informationstechnik Fachhochschule Bielefeld christian.schroeder@fh-bielefeld.de Es war einmal... Es war einmal... ein Bauvorhaben!
MehrSoftwarepraktikum: Enigma
Softwarepraktikum: Enigma Martin Steffen Sommersemester 2003 Abschnitt I Softwareentwurf Bereiche der Softwareentwicklung 1 Softwareentwurf eigentliche Softwareentwicklung Projektmanagement Konfigurationsmanagement
Mehr3. Konzepte der objektorientierten Programmierung
3. Konzepte der objektorientierten Programmierung 3.1 Basiskonzepte 3.2 Generalisierung / Spezialisierung 3.3 Aggregation 3.4 Assoziation 3.5 Nachrichten 3.6 Polymorphismus 3. Konzepte der Objektorientierung
MehrEinführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005
Einführung in die objektorientierte Programmierung mit Java Klausur am 19. Oktober 2005 Matrikelnummer: Nachname: Vorname: Semesteranzahl: Die Klausur besteht aus drei Frageblöcken zu den Inhalten der
MehrEvaluation 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
MehrAssoziation und Aggregation
Assoziation und Aggregation Martin Wirsing in Zusammenarbeit mit Matthias Hölzl, Nora Koch 05/03 2 Ziele Verstehen der Begriffe Assoziation und Aggregation Implementierung von Assoziationen in Java schreiben
MehrSoftware Engineering. Bibliographisches Institut & F. A. Brockhaus AG, Mannheim; Spektrum Akademischer Verlag GmbH, Heidelberg, 2003
Software Engineering Softwaretechnik Softwaretechnologie, Software Engineering (engl.) das, -, Teilgebiet der Informatik, das sich mit Methoden und Werkzeugen für das ingenieurmäßige Entwerfen, Herstellen
MehrDas Metamodell der UML und in FUJABA. Vortrag von Alexander Geburzi
Das Metamodell der UML und in FUJABA Vortrag von Alexander Geburzi Gliederung Metamodellierung Metamodell der UML Metamodell in FUJABA Metamodellierung - Metamodell der UML - Metamodell in FUJABA 2/20
MehrRequirements Engineering für IT Systeme
Requirements Engineering für IT Systeme Warum Systemanforderungen mit Unternehmenszielen anfangen Holger Dexel Webinar, 24.06.2013 Agenda Anforderungsdefinitionen Von der Herausforderung zur Lösung - ein
MehrÜbung 6: Feinentwurf. Prof. Dr. Dr. h.c. Manfred Broy Dr. Herbert Ehler, Martin Feilkas 6. Juli 2006 Bernd Spanfelner, Sebastian Winter
Prof. Dr. Dr. h.c. Manfred Broy Sommersemester Dr. Herbert Ehler, Martin Feilkas 6. Juli 2006 Bernd Spanfelner, Sebastian Winter Einführung in die Softwaretechnik Übung 6: Feinentwurf Aufgabe 17: Entwurfsmuster
MehrDrei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI
Universität Osnabrück Drei-Schichten-Architektur 3 - Objektorientierte Programmierung in Java Vorlesung 6: 3-Schichten-Architektur Fachkonzept - GUI SS 2005 Prof. Dr. F.M. Thiesing, FH Dortmund Ein großer
MehrLehrbuch 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
Mehr7. Analyse-Phase: Datenmodellierung Software Engineering
7. Analyse-Phase: Datenmodellierung Software Engineering Hochschule Darmstadt Haardtring 100 D-64295 Darmstadt Prof. Dr. Bernhard Humm Hochschule Darmstadt, 20. November 2006 Einordnung in den Kontext
Mehr1 Mathematische Grundlagen
Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.
MehrProgrammiersprache 2 (C++) Prof. Dr. Stefan Enderle NTA Isny
Programmiersprache 2 (C++) Prof. Dr. Stefan Enderle NTA Isny 3. UML Klassendiagramm Nachtrag 3.1 Einführung UML UML ist eine standardisierte Sprache zur Modellierung von Systemen. In UML werden graphische
Mehr