Software Engineering I
|
|
- Hansl Lichtenberg
- vor 7 Jahren
- Abrufe
Transkript
1 Skript zur Vorlesung
2 Agenda Allgemeine Einführung Funktionsbäume Klassendiagramme Daten Dictionary ERD-Modelle
3 Basiskonzepte Statik Dynamik Logik Funktionen Daten Datenstrukturen Architektur Kontrollstrukturen Zustände Prozesse Zeitliches Verhalten Abhängigkeiten Entscheidungstabellen Mathematik Regeln Beschreiben die feste Struktur des Systems, die sich während der Laufzeit nicht ändert. Beschreiben das Verhalten und die Veränderungen während der Laufzeit. Beschreiben die Programmfunktion logisch und mathematisch
4 UML 2.0 (separate VL) 7 Strukturdiagramme: das Klassendiagramm das Kompositionsstrukturdiagramm (auch: Montagediagramm) das Komponentendiagramm das Verteilungsdiagramm das Objektdiagramm das Paketdiagramm und das Profildiagramm 7 Verhaltensdiagramme: das Aktivitätsdiagramm das Anwendungsfalldiagramm (auch: Use-Case o. Nutzfalldiagramm genannt) das Interaktionsübersichtsdiagramm das Kommunikationsdiagramm das Sequenzdiagramm das Zeitverlaufsdiagramm und das Zustandsdiagramm Grenzen und Übergänge zwischen den Diagrammtypen sind fließend.
5 Methoden und Darstellung textuell grafisch Text informal semiformal formal Nummerierte Anforderungen Struktogramm Funktionsbaum Kollaborationsdiagramm Sequenzdiagramm Entscheidungstabellen Pseudocode Regeln DFDs Klassendiagramm Data Dictionary ERD Zustandsautomat Petri- Netze Entscheidungsbäume Petri-Netz (textuell)
6 Kopplung von Daten und Funktionen Funktion 1 Funktion 2 Daten Funktion 3 Funktion n Klasse 2 Klasse 1 Funktion n Funktion 2 Funktion n Funktion 1 Funktion 2 Funktion 1 Daten Daten Funktionsorientierung Objektorientierung
7 Funktionen und Bäume Funktionsbaum Ein Funktionsbaum ist die Darstellung einer funktionalen Hierarchie durch Gliederung nach Teilfunktionen. Funktionsbäume werden in Analyse und Design als Hilfsmittel eingesetzt. Funktion Sie beschreibt eine Tätigkeit oder eine klar umrissene Aufgabe innerhalb eines größeren Zusammenhangs. Funktionale Bindung Sie liegt vor, wenn alle Elemente an der Verwirklichung einer einzigen abgeschlossenen Funktion beteiligt sind. Funktionale Dekomposition
8 Funktionsbaum: Schema Besteht-aus-Hierarchie (Analysephase): A besteht aus B und C Ruft-auf-Hierarchie (Entwurfsphase): A ruft B und C auf. B A C Erstellungsregeln: Unter einer gemeinsamen Vaterfunktion sollen nur Funktionen angeordnet sein, die fachlich eng zusammengehörende Tätigkeiten beschreiben. Auf einer Hierarchieebene sollen Funktionen angeordnet sein, die sich auf gleichem Abstraktionsniveau befinden.
9 Funktionale Dekomposition Funktionale Dekompositionist ein Modellierungsansatz, um Probleme, die unüberschaubar groß sind, in kleinere Teilprobleme (Funktionen) zu zerlegen. Sind die Teilprobleme gelöst, so ist das Gesamtproblem ebenfalls gelöst. divide et impera = teile und herrsche = divide and conquer Top-Down-Strategie (im Gegensatz zur Bottom-Up-Strategie)
10 Funktionsbaum: Methoden bottom-up top-down
11 Funktionsbaum: Beispiel
12 Funktionale Modellierung Bei der Funktionsmodellierung (auch geläufig unter dem Begriff Funktionale Dekomposition) werden die Ein-und Ausgabevorgänge eines Software-Systems untersucht und dargestellt. Die Funktionsmodellierung liefert einen Überblick über die Struktur des Systems. Die Darstellung dieser Struktur erfolgt über ein Baumdiagramm. In dem Baumdiagramm werden die einzelnen Funktionen Schritt für Schritt aufgeschlüsselt und verfeinert. Untersucht die externen Schnittstellen eines Systems liefert Überblick über die Struktur des Systems Funktionen werden in einem Baumdiagramm nach dem Top-Down-Prinzip dargestellt und zerlegt. In der Designphase ist auch das Bottom-Up-Prinzip anwendbar. Nachteil: Datenflüsse werden nur wenig berücksichtigt
13 Übung Funktionsbaum Funktionsbaum Eine Seminarverwaltung verfügt unter anderem über folgende Funktionen: /F10/ Informieren: Von Anfrage bis Auskunft /F20/ Buchen: Von Anmeldung bis Buchung /F21/ Abmelden: Von Abmeldung bis Gutschrift /F22/ Stornieren: Von Absage bis Stornomitteilung /F23/ Firmenbuchung: Von Anmeldung bis Buchung einer firmeninternen Veranstaltung /F30/ Veranstaltung durchführen: Von Teilnahme bis Beurteilung /F40/ Seminarentwicklung: Von Idee zu neuem Seminar /F50/ Dozentenakquirierung: Von Auswahl bis Verpflichtung /F60/ Veranstaltungsplanung: Von Terminierung bis Reservierung /F70/ Teilnehmerliste pro Veranstaltung /F80/ Teilnehmerurkunde für jeden Veranstaltungsteilnehmer Gliedern Sie die Funktionen der Seminarverwaltung hierarchisch in Form eines Funktionsbaumes.
14 Klassen (Java Vorlesung) Klassen Klassen Menge von Objekten (Dingen) mit denselben Eigenschaften (Attributen) demselben Verhalten (Methoden, Operationen) Bestehen aus Name, Attributen und Methoden Konzepte Vererbung, Mehrfachvererbung Polymorphie Klassen, Interfaces, Pakete, Komponenten Assoziation, Komposition, Aggregation Kapselung und Geheimnisprinzip, Generalisierung Objektorientierter Ansatz (C++, Java )
15 OO wichtige Begriffe Objekt: Ein Objekt fasst Daten und Funktionen zusammen. Dargestellt wird ein Objekt in einem UML-Diagramm durch ein Rechteck. Zu beachten ist, dass Objekte immer eine eigene Identität haben, auch wenn sie sich beispielsweise in ihrer Funktion und in ihrer Struktur ähneln. Attribut: Ein Attribut (Beschreibungsmerkmal) findet auch unter dem Begriff Eigenschaft Einsatz in der objektorientierten Programmierung. Unter anderem werden auch Attribute auf Klassen vererbt. Ein Mensch hat verschiedene Attribute (Eigenschaften) wie z.b. Größe, Gewicht, Haarfarbe, Augenfarbe usw. Operation/ Methode: Die einer Klasse von Objekten zugeordneten Algorithmen bezeichnet man auch als Methoden. Polymorphie: Durch Polymorphie (griechisch = Vielgestaltigkeit) können einem Wert oder einem Namen (z.b. Variable) mehrere Datentypen zugeordnet werden. Object Constraint Language: ObjectConstraintLanguage ist ein Bestandteil des UML-Standards. OCL begreift sich als eine Erweiterung zu UML. Es dient zur Darstellung von zusätzlichen Bedingungen, die mit UML nur schwer darzustellen wären.
16 OO wichtige Begriffe Aggregation Die Aggregation ist eine besondere Assoziation zwischen Objekten. So könnte man sagen, dass eine Aggregation eine schwache Beziehung zwischen den Objekten beschreibt. Ein Objekt kann auch ohne das andere Objekt bestehen, obwohl es ein Teil davon ist. Beispiel: Man hat ein Haus und ein Garten. Verkauft man nun den Garten hat man immer noch das Haus. Das Gesamtobjekt Grundstück ist aber immer noch existent Darstellung: Leere Raute. Komposition: Wie auch die Aggregation ist die Komposition eine spezielle Assoziation. Im Gegensatz zur Aggregation darf bei der Komposition das Teilobjekt nicht ohne das Ganzobjekt auskommen. Beispiel: Dreieck besteht aus 3 Punkten und 3 Kanten nimmt man ein Objekt weg ist auch das Dreieck nicht mehr existent. Darstellung: Ausgefüllte Raute. Kohäsion: Kohäsion beschreibt die Anzahl der Aufgaben, für die einzelne Einheiten zuständig sind. So strebt man meist in der objektorientierten Programmierung eine hohe Kohäsion an, d.h. die Einheit übernimmt genau eine Aufgabe. Daraus ergibt sich, dass es bei einer hohen Kohäsion z.b. viel einfacher ist, eine Klasse bzw. Methode zu verstehen.
17 Data Dictionary (DD) Das Data Dictionary(DD, Datenlexikon) ist ein Verzeichnis, das Informationen über die Struktur von Daten, ihre Eigenschaften und ihre Verwendung enthält. Es beschreibt alle persistenten Daten eines Systems. Aufgrund der Data Dictionary-Daten können Bildschirmmasken automatisch generiert werden. Datenaustausch: Die Struktur einer Datenbanktabelle kann von einem Programm ausgelesen werden. Entkopplung von Datendefinition und -modellierung von der Programmentwicklung. Formal kommt die BNF (Backus-Naur-Form) zum Einsatz.
18 Anwendungsbeispiele Auswahl A= [ B C D ] A = B Wiederholung A= { B } A = *nichts* Option A= B + (C) A = B A = C A = B A = B + C A = D A = BB A = BBB.
19 Anwendungsbeispiele Wiederholung von M bis N A = 1{B}10 A= 5{B}5 A= 2{B} A = {B}3 A = B A = BBBBB A = BB A = *nichts* A = B... A = BBB A = B A = BBBBBBBBBB A = BBBB. A = BB A = BBB
20 DD Symbole Symbol Bedeutung Beispiel = Ist äquivalent zu A=B + Sequenz(ungeordnet) A=B+C [ ] Auswahl (entweder oder) A= [B C] {} Wiederholung A={B} M{}N Wiederholung von M bis N A=1{B}10 () Option A=B+(D) D ist optional ** Kommentar * Ich bin ein Kommentar *
21 Erstellungsregeln DD Definitionrichtung der Daten: top-down Ende der Verfeinerung: Wenn Datenelemente sinnvoll beschrieben Wiederholungs-und Optionsklammern möglichst weit oben in der Hierarchie Beispiel: A = B + (C) ist besser als A = B + C C = (D) + (E) ist besser als C = (D + E) Zirkuläre Definitionen sind nicht erlaubt Beispiel: A = B + C C = D + A Substituiert ergibt sich: A = B + D + A A ist zirkulär (rekursiv) definiert
22 Erstellungsregeln DD Alias-Namen sind erlaubt (für Sonderfälle) Beispiel: Auftrag = Artikel-Nr. + Menge + Datum = Bestellung Bestellung = Auftrag. Problembezogene Namen wählen Beispiel: Kundenname anstelle von Name Bereits definierte Datenstrukturen wiederverwenden Beispiel: Kundenname = Name, wenn Name bereits definiert ist Auswahl besteht aus mind. 2 Alternativen Beispiel: A = [ B C ]. Kontinuierliche Datenelemente Beispiel: Kunden-Nr. = Diskrete Datenelemente Beispiel: Familienstand = [ ledig verheiratet geschieden verwitwet]
23 DD: Beispiele Artikeldaten = Artikel_id + Erstellungsdatum + Titel + Text Benachrichtigungsschreiben = [Account angelegt Account gelöscht Nachricht von anderem Nutzer] Artikelanfrage = User_id + 1{ Artikel_id}20 Kunde = Kunden_id+ Name + Adresse Buch = Buch_id+ Autor + Titel + Preis Buchliste = {Buch} Einkauf = {Bestellung + Gesamtbetrag} Kundenstatus = [ reich arm ] Zimmerart = [ Einzelzimmer Doppelzimmer ] * Ein Kommentar ist immer wichtig. *
24 Bewertung DD Vorteile Aufbau und Verfeinerung von Datenstrukturen lassen sich formal und kompakt beschreiben Ähnlich wie in modernen Programmiersprachen Nachteile Kein graphische Darstellung Lesbarkeit eingeschränkt
25 Übung DD Was bedeuten: A = (B) A = 0 {B}1 A = [B] AB = [A B A+B] A=({B}) A={B} A=1{B} A={B}1 Welche der folgenden Ausdrücke sind in der Definition A = B + [C D+E F] enthalten? A=B A=B+C+F A=B+D+E A=B+C A=B+F
26 Übung DD Auszug aus einem DD -leider fehlt die letzte Seite. Spezifizieren Sie die Elemente möglichst genau. Kundendatei = {Kundeneintrag} Kundeneintrag = Personal-Nr. + Name + Adresse + (Geburtsdatum) + (Funktion) + Umsatz Name = Anrede + (Titel) + Vorname + Nachname Adresse = [Strasse + Haus-Nr. Postfachnummer] + (Länderkennzeichen) + PLZ + Ort + (Telefon) + (Fax)
27 Entity-Relationship Modellierung (ERD) Ziel ist die Beschreibung von Gegenständen (Entities, Objekte) Beziehungen (Relationships) Eigenschaften (Attribute) ER-Modell wird aufgebaut, um Anwendungsdaten zu strukturieren und zu analysieren Oft werden daraus Datenbanktabellen aufgebaut Modellierung erfolgt über ER-Diagramme Entität Beziehung Attribut
28 Grundlegende Begriffe Entität Element der Realität Franz Mayer Entitätstyp Gruppe gleich-artiger Mitarbeiter Entitäten Attribut Entitätseigenschaft Personalnummer, Name, Anschrift... Schlüsselkandidat Wertebereich Identifikationsattribut #PersNr (minimal) Zulässige Attributwerte #PersNr String(10) Kardinalität/ Komplexität Mandatorische / Optionale Bez. Quantifizierung von Beziehungen Muss-/Kann Beziehungen Jede Abteilung hat mehrere Mitarbeiter Ein Mitarbeiter kann einen Chef haben
29 Entity-Relationship Diagramm (ERD) A (0,n) R (1,1) B 0 bis n Jedes A hat 0 bis n Genau 1 Beziehungen zu einem B! (n,m) legt das Minimum und Maximum der Anzahl Beziehungen des angegebenen Typs fest, die ein Objekt haben kann. Möglich und üblich sind: (0,1) höchstens 1 (1,1) genau eins (n,m) zwischen n und m mit n,m >= 0 (* für unbekannte Obergrenze)
30 ERD: Beispiel Kunden (0,*) (1,1) bekommt Rechnung Name (0,*) (1,*) Adresse #KdNr interessiert an enthält Preis Artikel (0,*) (0,*) kommt vor in (1,1) (1,1) Rechnungspositionen Menge #PosNr Größe Farbe #ArtNr
31 Bewertung ERD Vorteile Graphisch schnell erfassbar, Beziehungen sofort sichtbar Autogenerierung von Tabellen Nachteile Wird sehr großflächig (unübersichtlich) Meist keine exakte Beschreibung der Daten
32 Zusammenfassung Statik ist die feste Struktur eines Systems aus Funktions- und Datensicht Wichtige Stichworte: Funktionen, Klassen, Datenlexikon Darstellung erfolgt mit Hilfe von Diagrammen und Beschreibungen.
33 Architekturmuster und -patterns Allgemeine Definitionen Muster (Patterns) beschreiben häufig auftretende Entwurfsprobleme und dazu universell verwendbare generische Lösungsschemen. Architekturmuster beziehen sich auf die Architektur von Softwaresystemen. Entwurfsmuster(Design Patterns) sind weniger stark abstrahiert und beziehen sich eher auf die Softwarekodierung. Die bekanntesten Design Patterns sind von GoFbeschrieben (Gang offour: Gamma, Helm, Johnson und Vlissides). Arten von Architekturmustern Struktur (Layer, Pipes and Filters, Blackboard) Verteilte Systeme (Broker, P2P, Client-Server) Interaktive Systeme (MVC / Model-View-Controller, Presentation-Abstraction-Control) Adaptierbare Systeme (Microkernel, Reflection) Ereignisverarbeitung (Proactor, Reactor) Synchronisation (Object Synchronizer) Arten von Entwurfsmustern (Design Patterns) Erzeuger-Muster (Prozess der Objekterzeugung: Abstract Factory, Builder, Factory Method, Prototype, Singleton) Struktur-Muster (Zusammenbau von Klassen und Objekten: Adapter, Bridge, Composite, Decorator, Facade, Flyweight, Proxy) Verhaltens-Muster (Algorithmen sowie Aufgabenteilung zwischen Klassen: Iterator, Mediator, Observer, State, Strategy, Template Method, Visitor)
UML (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...
MehrEinführung in die objektorientierte Programmierung
Einführung in die objektorientierte Programmierung Seminarunterlage Version: 4.04 Copyright Version 4.04 vom 17. Juni 2016 Dieses Dokument wird durch die veröffentlicht. Copyright. Alle Rechte vorbehalten.
MehrNACHRICHTENTECHNISCHER SYSTEME
Einführung UML COMPUTERSIMULATION NACHRICHTENTECHNISCHER SYSTEME 11. Unified Modeling Language UML 220 Standardsprache d zur Visualisierung, i Spezifikation, Konstruktion und Dokumentation komplexer (Software-)
MehrVorlesung Programmieren
Vorlesung Programmieren Unified Modeling Language (UML) Dr. Dennis Pfisterer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/pfisterer Unified Modeling Language (UML)
MehrObjektorientierte Softwareentwicklung
Objektorientierte Softwareentwicklung Analyse- und Designmethoden Analyse- & Designmethoden Strukturierte, traditionelle Methoden Objektorientierte Methoden Funktionsorientierte Methoden Datenorientierte
MehrUnified Modeling Language 2
Unified Modeling Language 2 Marvin Frommhold 17.11.2008 Gliederung Einleitung Geschichte Strukturierung der Spezifikation Diagrammtypen Strukturdiagramme Verhaltensdiagramme CASE-Werkzeuge Quellen Was
MehrINSPIRE - Modellierung
INSPIRE - Modellierung Inhalt Motivation Modellierung UML Diagramme INSPIRE-Schulung LKROS 2 Motivation Was ist ein Modell, und warum wollen wir modellieren? Warum brauchen wir eine Modellierungssprache
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)
MehrÜberblick FBC SNW Zusammenfassung. Entwurfsmuster. Eine Einführung. Botond Draskoczy. Marcus Vitruvius Pollio
Entwurfsmuster Eine Einführung Botond Draskoczy Marcus Vitruvius Pollio Überblick Historie, Literatur Das Flugapparat-Bildschirmschoner-Projekt (FBP) Das internetbasierte Solar-Netzwerk (SNW) Zusammenfassung
MehrTEIL I Strukturdiagramme 1 Einführung Klassendiagramm Objektdiagramm Kompositionsstrukturdiagramm...
Auf einen Blick TEIL I Strukturdiagramme 1 Einführung... 13 2 Klassendiagramm... 29 3 Objektdiagramm... 111 4 Kompositionsstrukturdiagramm... 125 5 Komponentendiagramm... 145 6 Verteilungsdiagramm... 161
MehrInhaltsverzeichnis.
Wegweiser durch das Buch 1 1 Problembereich und Lösungsbereich 10 1.1.Unterschiede zwischen Problembereich und Lösungsbereich 10 1.2 Paradigmen der Softwareentwicklung 12 1.3 Methoden für die verschiedenen
MehrRückblick: Entity-Relationship-Modell
Rückblick: Entity-Relationship-Modell Entity-Relationship-Modell für konzeptuellen Entwurf Entitytypen (entity types) (z.b. Studenten) Beziehungstypen (relationships) (z.b. hören) Attribute beschreiben
MehrJason T. Roff UML. IT Tutorial. Übersetzung aus dem Amerikanischen von Reinhard Engel
Jason T. Roff UML IT Tutorial Übersetzung aus dem Amerikanischen von Reinhard Engel Inhaltsverzeichnis Inhaltsverzeichnis Einführung 11 Grundlagen der UML 15 Warum wir Software modellieren 16 Analyse,
MehrAnalyse und Design mit U ML 2.3
Analyse und Design mit U ML 2.3 Objektorientierte Softwareentwicklung von Bernd Oestereich unter Mitarbeit von Stefan Bremer 9., aktualisierte und erweiterte Auflage Ofdenbourg Verlag München Inhaltsverzeichnis
MehrÜbungen Softwaretechnik I
Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Übungen Softwaretechnik I Übung 5: Objektorientierte Analyse Einführung Objektorientierung in der
MehrAnalyse und Modellierung von Informationssystemen
Analyse und Modellierung von Informationssystemen Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2013 1 / 18 UML Einführung Klassendiagramme in der UML Relationen zwischen Klassen 2 / 18 UML: Grundsätzliches
MehrSoftware Engineering I. Architektur
Skript zur Vorlesung Basiskonzepte Statik Dynamik Logik Funktionen Daten Datenstrukturen Kontrollstrukturen Zustände Prozesse Zeitliches Verhalten Abhängigkeiten Entscheidungstabellen Mathematik Regeln
MehrChristoph Kecher, Alexander Salvanos UML 2.5. Das umfassende Handbuch. Rheinwerk. Computing
Christoph Kecher, Alexander Salvanos UML 2.5 Das umfassende Handbuch Rheinwerk Computing Inhalt Vorwort 13 1 Einführung 17 1.1 Weshalb muss Software modelliert werden? 17 1.2 Die Phasen bei der Softwareentwicklung
MehrKlassendiagramm. (class diagram)
: Klassendiagramm http:///topic95.html Klassendiagramm (class diagram) Klassendiagramm Objektdiagramm Komponentendiagramm Kompositionsstrukturdiagramm Verteilungsdiagramm Einstieg Paketdiagramm Aufbau
MehrUML 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
MehrUML 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.............................
MehrDas umfassende Handbuch
Christoph Kecher UML 2.0 Das umfassende Handbuch. Jfjf- Ali' ' w v^i* >" '-«(."', Galileo Press Inhalt Vorwort 11 1 Einführung 1.1 Weshalb muss Software modelliert werden? 13 1.2 Was ist die UML? 15 1.3
MehrEntwurfsprinzip. Entwurfsprinzip
Die Komposition (hat ein Beziehung) ist der Vererbung (ist ein Beziehung) vorzuziehen. Es können Familien von Algorithmen in eigenen Klassensätzen gekapselt werden. Das Verhalten lässt sich zu Laufzeit
MehrObjektorientierte Analyse und Design mit der Unified Modelling Language (UML) Sandra Meißl
Objektorientierte Analyse und Design mit der Unified Modelling Language (UML) Sandra Meißl 26.07.21 Themenübersicht Objektorientierte Software-Entwicklung Objektorientierte Analyse und Design OOA OOD Objektorientierte
MehrSoftware Engineering in der Praxis
Software Engineering in der Praxis Praktische Übungen Pinte, Spisländer FAU Erlangen-Nürnberg Objektorientiertes Design 1 / 17 Objektorientiertes Design Florin Pinte Marc Spisländer Lehrstuhl für Software
MehrMethoden des Software Engineering
Methoden des Software Engineering Funktions-, daten-, objekt- und aspektorientiert entwickeln Bearbeitet von Joachim Goll 1. Auflage 2012. Buch. xxxviii, 794 S. Hardcover ISBN 978 3 8348 2433 2 Format
MehrCARL HANSER VERLAG. Mario Jeckle, Chris Rupp, Jürgen Hahn, Barbara Zengler, Stefan Queins. UML 2 glasklar
CARL HANSER VERLAG Mario Jeckle, Chris Rupp, Jürgen Hahn, Barbara Zengler, Stefan Queins UML 2 glasklar 3-446-22575-7 www.hanser.de Einleitung... 1 Liebe Leserin, lieber Leser... 1 Ihre Meinung ist uns
MehrChristoph Kecher UML2. Das umfassende Handbuch. Galileo Press
Christoph Kecher UML2 Das umfassende Handbuch Galileo Press Vorwort 11 TEIL I Strukturdiagramme i '...,....,...,.;..,,,...,, 1.1 Weshalb muss Software modelliert werden? 13 1.2 Was ist die UML? 15 1.3
MehrObjektorientiertes Design
Objektorientiertes Design Yi Zhao Marc Spisländer Lehrstuhl für Software Engineering Friedrich-Alexander-Universität Erlangen-Nürnberg Zhao, Spisländer FAU Erlangen-Nürnberg Objektorientiertes Design 1
MehrUnified Modeling Language
Unified Modeling Language Thomas Röfer Motivation Entwicklung Spracheinheiten Diagramme (Struktur-/Verhaltensdiagramme) Rückblick Textsuche Naive Suche abrakadabra Boyer-Moore abrakadabra a Knuth-Morris-Pratt
MehrÜbung Einführung in die Softwaretechnik
Lehrstuhl für Informatik 3 RWTH Aachen Übung Einführung in die Softwaretechnik Lösungshinweise zum Übungsblatt 12 Aufgabe 28 Sichtbarkeits-Symbol UML Java + public # protected private (default) Sichtbar
MehrUML -Klassendiagramme
UML -Klassendiagramme UML - offline: ArgoUML http://argouml.stage.tigris.org/ UML online: Links genmymodel.com umlet.com/umletino/umletino.html Arten von UML-Diagrammen Diagramm Strukturdiagramm Verhaltensdiagramm
MehrWeb Engineering-Seminar Methoden zur Web Modellierung: Object-oriented Hypermedia Method (OO-H)
Web Engineering-Seminar Methoden zur Web Modellierung: Object-oriented Hypermedia Method (OO-H) Dominik Kirsten Daniel Schäferbarthold Trier, 21.01.2008 1 Gliederung 1. Einführung 1.1 Anforderungen an
MehrDatenbankanwendungen werden oft über einen sehr langen Zeitraum (z.b. Jahrzehnte) eingesetzt
2. Datenbankentwurf Motivation Datenbankanwendungen werden oft über einen sehr langen Zeitraum (z.b. Jahrzehnte) eingesetzt Fehler sind umso teurer zu beheben, je weiter die Entwicklung bzw. der Einsatz
MehrSoftwaretechnik 2015/2016
Softwaretechnik 2015/2016 PST Lehrstuhl Prof. Dr. Matthias Hölzl HAUPT-/ BACHELOR- SEMINAR ADAPTIVE SYSTEME PST Joschka PROF. DR. Rinke WIRSING 14. JUNI 2009 VORNAME NAME AGENDA Übung 11: 14.01.2016 Schon
MehrObjektdiagramm Komponentendiagramm Paketdiagramm. 6. Weitere Strukturdiagramme
6. Weitere Strukturdiagramme Objektdiagramm Komponentendiagramm Paketdiagramm 1 6.1 Objekte Ausprägungsspezifikation von Klassen und Assoziationen 2 Definition Das Objektdiagramm zeigt eine bestimmte Sicht
MehrGeoinformation I Datenmodellierung
Seite 1 von 61 Geoinformation I Datenmodellierung Seite 2 von 61 Datenmodellierung Übersicht Datenverwaltung und Datenbanken objektorientierte Abbildung der Realität Grundlagen der Objektorientierung Darstellung
MehrUnified 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
MehrInhaltsverzeichnis. 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
MehrObjektorientierte Systementwicklung
Karl-Heinz Rau Objektorientierte Systementwicklung Vom Geschäftsprozess zum Java-Programm Mit 162 Abbildungen vieweg Überblick und Vorbemerkungen 1 1 Objektorientierte Software-Entwicklung 5 1.1 Überblick
MehrVgl. Oestereich Kap 2.4 Seiten
Vgl. Oestereich Kap 2.4 Seiten 99-110 1 Vgl. Oestereich Kap 2.41 Seiten 99ff 2 Wie das Klassendiagramm ist auch das Objektdiagramm ebenfalls ein Strukturdiagramm. Da die Anzahl der Attribute sehr groß
MehrVorlesung "Software-Engineering"
Vorlesung "Software-Engineering" Rainer Marrone, TUHH, Arbeitsbereich STS Vorige Vorlesung Pflichtenheft (requirements specification document) Charakterisierung von Software-Qualität Detaillierte Anforderungsanalyse
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
MehrAnalyse und Modellierung von Informationssystemen
Analyse und Modellierung von Informationssystemen Dr. Klaus Höppner Hochschule Darmstadt Wintersemester 2014/2015 1 / 29 UML Einführung Klassendiagramme in der UML Relationen zwischen Klassen Einführung:
MehrDatenbanksysteme: Entwurf
Wichtigste Themen hier: Datenbanksysteme: Entwurf DB Entwurf ist in der Regel eingebettet in ein größeres Projekt: siehe Informationssysteme Die Daten dienen einem Zweck und sind dennoch universell nutzbar:
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
MehrObjektorientierte Analyse (OOA) OOA-Pattern
OOA-Muster (Architektur Pattern) Ein Pattern (Entwurfsmuster) ist ein Problem mit seiner Lösung in einem Kontext. Der Kontext enthält in der Regel Zielkonflikte, die der Designer lösen muss, z.b. Performance
MehrUML-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?
MehrEinführung in die Programmierung
Skript zur Vorlesung: Einführung in die Programmierung WiSe 2009 / 2010 Skript 2009 Christian Böhm, Peer Kröger, Arthur Zimek Prof. Dr. Christian Böhm Annahita Oswald Bianca Wackersreuther Ludwig-Maximilians-Universität
MehrEntwurfsmuster (Design Patterns)
Entwurfsmuster (Design Patterns) SEP 303 Entwurfsmuster (Design Patterns) In der alltäglichen Programmierarbeit tauchen viele Probleme auf, die man schon einmal gelöst hat und die man in der Zukunft wieder
MehrObjektorientierte 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
MehrUML 2 glasklar Praxiswissen für die UML-Modellierung
Chris Rupp, Stefan Queins, Barbara Zengler UML 2 glasklar Praxiswissen für die UML-Modellierung ISBN-10: 3-446-41118-6 ISBN-13: 978-3-446-41118-0 Inhaltsverzeichnis Weitere Informationen oder Bestellungen
MehrKurzeinführung in UML
Kurzeinführung in UML Die Unified Modeling Language (UML) ist eine Sprache zur Beschreibung von Softwaresystemen. Der Grundgedanke bei UML bestand darin, eine einheitliche Notation für viele Einsatzgebiete
MehrEINFÜ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
MehrEinführung in die Datenorganisation. Informationssysteme
Einführung in die Datenorganisation Informationssysteme Informationen Sind Kenntnisse über Sachverhalte Daten sind abgelegte Informationen Nachrichten sind Informationen zur Weitergabe Drei Betrachtungsebenen
MehrInhalt. 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:
MehrDatenbankmodelle 1. Das Entity-Relationship-Modell. Prof. Dr. Bernhard Schiefer 2-1
Datenbankmodelle 1 Das Entity-Relationship-Modell Prof. Dr. Bernhard Schiefer 2-1 Datenbankmodelle ER-Modell hierarchisches Modell Netzwerkmodell relationales Modell objektorientierte Modelle Prof. Dr.
MehrVon 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
MehrTeil II: OOP und JAVA (Vorlesung 9)
Teil II: OOP und JAVA (Vorlesung 9) Modul: Programmierung B-PRG Grundlagen der Programmierung II Prof. Dot.-Ing. Roberto Zicari Professur für Datenbanken und Informationssysteme (FB 12) 14.06.06 1 Teil
MehrÜbungen Softwaretechnik I
Universität Stuttgart Institut für utomatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Übungen Softwaretechnik I Übung 3: asechniken Funktionsbaum esteht-aus-hierarchie (Definitionsphase):
MehrSo#waretechnologie für Fortgeschri4ene Teil Eide. Stunde IV: UML. Köln 26. Januar 2017
So#waretechnologie für Fortgeschri4ene Teil Eide Stunde IV: UML Köln 26. Januar 2017 Model of vs. model for TheoreKcal model model for comparison calibra9on verifica9on Empirical model model of deduc9on
MehrGrundlagen der Programmentwurfstechnik Fundamentals of Software Engineering 1
Fundamentals of Software Engineering 1 Inhaltsverzeichnis 1. Einführung 2. Allgemeine Modellbildung - Klassische Konzepte des Software Engineering- 2.1 Das Kontextmodell 2.2 Entscheidungstabellen 2.3 Zustandsmodelle
MehrDesign Patterns. 3. Juni 2015
Design Patterns 3. Juni 2015 Überblick Was sind Design Patterns? Welche Design Patterns gibt es? Wann sollte man Design Patterns einsetzen? Taentzer Softwarequalität 2015 138 Was sind Design Patterns?
MehrDie Unified Modeling Language UML
Informatik II: Modellierung Prof. Dr. Martin Glinz Kapitel 4 Die Unified Modeling Language UML Universität Zürich Institut für Informatik Inhalt 4.1 Hintergrund 4.2 Grundkonzepte der UML 4.3 Die Rolle
MehrSoftware Engineering I
Vorlesung Analysephase Modellierung mit SA/SD Analysephase 1 Entwicklungsphasen: Inputs, Outputs Kundenanforderungen, Lastenheft (CRS SAS, MODs, Implementierung, Modultests Pflichtenheft (SRS) Systemspezifikation
MehrSystemanalyse. - Folien zur Vorlesung für AI3 im Sommersemester Teil 5 -
Systemanalyse - Folien zur Vorlesung für AI3 im Sommersemester 2010 - -Teil 5 - Hans-Jürgen Steffens (by courtesy of Prof. Dr. Thomas Allweyer) Fachbereich Informatik und Mikrosystemtechnik Fachhochschule
Mehr3. Entwurfsmuster zur Entkopplung von Modulen
3. Entwurfsmuster zur Entkopplung von Modulen OOP-3.1 Entwurfsmuster (Design Patterns): Software-Entwicklungsaufgaben, die in vielen Ausprägungen häufig auftreten. Objektorientierte Schemata, die als Lösungen
MehrSoftware Engineering, SoSe 07, WSI, D. Huson, May 7,
Software Engineering, SoSe 07, WSI, D. Huson, May 7, 2007 17 4 Modellierung in UML Nach einer Vorlesung von Prof. Andreas Zeller, Lehrstuhl Softwaretechnik Universität des Saarlandes, Saarbrücken. 4.1
MehrTechniken der Projektentwicklungen
Dynamische Modellierung 8. Termin Rückblick auf statische Modellierung Dynamische Modellierung Basiskonzepte Beispiel Erweiterungen Eigenschaften Syntax Rückblick auf statische Modellierung Dynamische
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
MehrJava 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
MehrBabeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Design Richtlinien
Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005 Design Richtlinien UML GRASP Drei-Schichten-Architektur Entwurfsziel: die Trennung von
MehrOracle 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
MehrRequirements Engineering I
Martin Glinz Requirements Engineering I Kapitel 9 UML Unified Modeling Language Universität Zürich Institut für Informatik 2006, 2008 Martin Glinz. Alle Rechte vorbehalten. Speicherung und Wiedergabe sind
MehrModellarbeit I: Entwurfsgerechte Klassenmodellierung
Modellarbeit I: Entwurfsgerechte Klassenmodellierung Vom Analysemodell zum Entwurfsmodell Nach der Etablierung der Techologien: Überarbeitung des Fachlichen Modells zu einem geeigneten Entwurfsmodell Navigationen
MehrTutorium Softwaretechnik I
Tutorium Softwaretechnik I Moritz Klammler 11. Juli 2017 Fakultät für Informatik, IPD Tichy Titelfoto: Copyright (C) 2010 Multimotyl CC BY-SA 3.0 1 11. Juli 2017 Moritz Klammler - Tutorium Softwaretechnik
MehrComelio GmbH - Goethestr Berlin. Course Catalog
Comelio GmbH - Goethestr. 34-13086 Berlin Course Catalog 2 Table Of Contents a. Locations... 3 1. UML... 4 i. Design und Analyse... 4 ii. Notation und Konzepte...6 iii. OCUP Zertifizierung (Advanced)...8
MehrObjektorientierte 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
MehrInhaltsverzeichnis. Kurseinheit 1. Kurseinheit 2
iii Inhaltsverzeichnis Kurseinheit 1 1 Von der Aufgabenstellung zum Programm... 1 1.1 Motivation... 1 1.2 Softwareentwicklung... 2 1.3 EXKURS: Unified Modeling Language (UML)... 4 2 Anforderungsanalyse...
MehrUniversität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich
Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich WS 02/03 Warum muss ein Objekt wissen, zu welcher Klasse es gehört? Damit die Klassenzugehörigkeit
MehrDatenbankentwurf. Kapitel 3. Datenbankentwurf 76 / 508
Kapitel 3 Datenbankentwurf 76 / 508 Phasen des Datenbankentwurfs Phasen des Datenbankentwurfs Anforderungsanalyse Spezifikation Konzeptueller Entwurf Konzeptuelles Schema Logischer Entwurf Logisches Schema
MehrSWE4 Slide 1. Software-Engineering. Vorlesung 4 vom Sebastian Iwanowski FH Wedel
SWE4 Slide Software-Engineering Vorlesung 4 vom 08..2004 Sebastian Iwanowski FH Wedel SWE4 Slide 2 Software-Engineering Vorlesungsthemen:. Überblick über das Thema und die Vorlesung 2. Grundlegende Prinzipien
MehrEinführung in Datenbanken
Einführung in Datenbanken Dipl.-Inf. Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de Raum 2.202 Tel. 03943 / 659 338 1 Inhalt 1. Grundlegende Begriffe der Datenbanktechnologie
Mehr8. 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:
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
MehrSoftware- und Systementwicklung
Software- und Systementwicklung Seminar: Designing for Privacy 11.11.2009 Moritz Vossenberg Inhalt Vorgehensmodelle Wasserfallmodell V-Modell Phasen (Pflichtenheft) UML Klassendiagramm Sequenzdiagramm
MehrAnalyse und Modellierung von Informationssystemen
Analyse und Modellierung von Informationssystemen Dr. Klaus Höppner Hochschule Darmstadt Wintersemester 2014/2015 1 / 29 UML Einführung Klassendiagramme in der UML Relationen zwischen Klassen Einführung:
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
MehrModellbasierter Test mit der UML. Vortragender: Lars Westmeier Seminar: Spezifikationsbasierter Softwaretest
Modellbasierter Test mit der UML Vortragender: Lars Westmeier Seminar: Spezifikationsbasierter Softwaretest Inhalt Einleitung und Motivation UML Testgenerierung Fazit Inhalt Einleitung und Motivation UML
Mehr10. Programmierungs-Phase: Objektorientierung Software Engineering
10. Programmierungs-Phase: Objektorientierung Software Engineering Fachhochschule Darmstadt Haardtring 100 D-64295 Darmstadt Prof. Dr. Bernhard Humm FH Darmstadt, 15. Dezember 2005 Einordnung in den Kontext
MehrObjektorientierte Softwareentwicklung
Objektorientierte Softwareentwicklung Grundkonzepte der UML Die Inhalte der Vorlesung wurden primär auf Basis der angegebenen Literatur erstellt. Darüber hinaus sind viele Teile direkt aus der Vorlesung
MehrSoftwaretechnologie Wintersemester 2009/2010 Dr. Günter Kniesel, Pascal Bihler
Übungen zur Vorlesung Softwaretechnologie Wintersemester 2009/2010 Dr. Günter Kniesel, Pascal Bihler Übungsblatt 7 Lösungshilfe Aufgabe 1. Analysephase (12 Punkte) Eine Firma hat den Auftrag erhalten eine
Mehrclass Mitarbeiter {...} class AussendienstMitarbeiter extends Mitarbeiter {...} class InnendienstMitarbeiter extends Mitarbeiter {...
Kapitel 12 Design Patterns 12.1 Das Role-Pattern Faustregel: Klassenhierarchien nicht zu tief, denn 1. Nachbildungen natürlicher tiefer Hierarchien sind meist nicht verhaltenskonformant; 2. Änderung des
MehrKapitel 2 - Die Definitionsphase
Kapitel 2 - Die Definitionsphase SWT I Sommersemester 2010 Walter F. Tichy, Andreas Höfer, Korbinian Molitorisz IPD Tichy, Fakultät für Informatik KIT die Kooperation von Forschungszentrum Karlsruhe GmbH
MehrLehrstuhl für Datenverarbeitung. Technische Universität München. Grundkurs C++ Objektmodellierung. Grundkurs C++
Grundkurs C++ Objektmodellierung Grundkurs C++ Objektmodellierung welche Objekte bzw. Klassen werden benötigt? welche Information wird benötigt, um ein Objekt zu beschreiben? welche Beziehungen bestehen
MehrObjektorientierte 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
MehrInhaltsverzeichnis. Teil I UML als Entwurfssprache
Inhaltsverzeichnis Teil I UML als Entwurfssprache 1 Modellierung von Software-Systemen... 1 1.1 EntstehungderUML... 2 1.2 ZumAufbaudesBuches... 4 1.3 Modelle,Sichtenund Diagramme... 6 1.4 DasstatischeModell...
MehrTeil VIII. Objektorientierte Programmierung
Teil VIII Objektorientierte Programmierung IN8008, Wintersemester 2010/2011 128 Was ist ein Objekt? Ein Auto Eine Katze Ein Stuhl... Ein Molekül Ein Stern Eine Galaxie... Alles, das ein reales Objekt repräsentiert
Mehr