Software Engineering I
|
|
|
- Hansl Lichtenberg
- vor 9 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...
Einfü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.
NACHRICHTENTECHNISCHER SYSTEME
Einführung UML COMPUTERSIMULATION NACHRICHTENTECHNISCHER SYSTEME 11. Unified Modeling Language UML 220 Standardsprache d zur Visualisierung, i Spezifikation, Konstruktion und Dokumentation komplexer (Software-)
Vorlesung 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)
Objektorientierte Softwareentwicklung
Objektorientierte Softwareentwicklung Analyse- und Designmethoden Analyse- & Designmethoden Strukturierte, traditionelle Methoden Objektorientierte Methoden Funktionsorientierte Methoden Datenorientierte
Unified 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
INSPIRE - 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
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)
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)
Ü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
TEIL 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
Inhaltsverzeichnis.
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
Rü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
Jason 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,
Analyse 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
Ü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
Analyse 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
Software Engineering I. Architektur
Skript zur Vorlesung Basiskonzepte Statik Dynamik Logik Funktionen Daten Datenstrukturen Kontrollstrukturen Zustände Prozesse Zeitliches Verhalten Abhängigkeiten Entscheidungstabellen Mathematik Regeln
Christoph 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
Klassendiagramm. (class diagram)
: Klassendiagramm http:///topic95.html Klassendiagramm (class diagram) Klassendiagramm Objektdiagramm Komponentendiagramm Kompositionsstrukturdiagramm Verteilungsdiagramm Einstieg Paketdiagramm Aufbau
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
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.............................
Das 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
Entwurfsprinzip. 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
Objektorientierte 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
Software 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
Methoden 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
CARL 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
Christoph 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
Objektorientiertes 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
Unified 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
Ü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
UML -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
Web 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
Datenbankanwendungen 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
Softwaretechnik 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
Objektdiagramm 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
Geoinformation 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
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
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
Objektorientierte 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
Vorlesung "Software-Engineering"
Vorlesung "Software-Engineering" Rainer Marrone, TUHH, Arbeitsbereich STS Vorige Vorlesung Pflichtenheft (requirements specification document) Charakterisierung von Software-Qualität Detaillierte Anforderungsanalyse
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
Datenbanksysteme: 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:
Software 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
Objektorientierte 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
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?
Einfü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
Entwurfsmuster (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
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
UML 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
Kurzeinfü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
EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick [email protected] www.is.informatik.uni-kiel.
EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick [email protected] www.is.informatik.uni-kiel.de/~mtr FRAGEN / ANMERKUNGEN Vorlesung Neue Übungsaufgaben MODELLIERUNG
Einfü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
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:
Datenbankmodelle 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.
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
Teil 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
Ü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):
Grundlagen 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
Design 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?
Die 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
Software Engineering I
Vorlesung Analysephase Modellierung mit SA/SD Analysephase 1 Entwicklungsphasen: Inputs, Outputs Kundenanforderungen, Lastenheft (CRS SAS, MODs, Implementierung, Modultests Pflichtenheft (SRS) Systemspezifikation
Systemanalyse. - 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
3. 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
Software 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
Techniken der Projektentwicklungen
Dynamische Modellierung 8. Termin Rückblick auf statische Modellierung Dynamische Modellierung Basiskonzepte Beispiel Erweiterungen Eigenschaften Syntax Rückblick auf statische Modellierung Dynamische
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
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
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
Requirements 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
Modellarbeit 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
Tutorium 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
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
Inhaltsverzeichnis. 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...
Universitä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
Datenbankentwurf. 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
Einführung in Datenbanken
Einführung in Datenbanken Dipl.-Inf. Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik [email protected] Raum 2.202 Tel. 03943 / 659 338 1 Inhalt 1. Grundlegende Begriffe der Datenbanktechnologie
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:
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
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
Analyse 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:
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
Modellbasierter 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
10. 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
Objektorientierte 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
Softwaretechnologie 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
class 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
Kapitel 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
Lehrstuhl 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
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
Teil 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
