SWT - 9 Objektorientierte Analyse
AI Ba 2. Sem
AI Ba 2. Sem
Set of flashcards Details
Flashcards | 28 |
---|---|
Language | Deutsch |
Category | Computer Science |
Level | Other |
Created / Updated | 04.07.2016 / 08.03.2020 |
Weblink |
https://card2brain.ch/box/swt_8_objektorientierte_analyse
|
Embed |
<iframe src="https://card2brain.ch/box/swt_8_objektorientierte_analyse/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>
|
Create or copy sets of flashcards
With an upgrade you can create or copy an unlimited number of sets and use many more additional features.
Log in to see all the cards.
OOA - Bedeutung
objektorientierte Analyse, object oriented analysis
was zählt zu OOA?
- von OOP (Objekt, Klasse, Attribut, Operation, Vererbung, Botschaft)
- von ER-Modell (Assoziationen, Attribut, Entitätstypen)
- von semantischer Datenmodellierung (Aggregation, Generalisierungs-, Spezialisierungstyp)
- von Geschäftsprozessen (usecase)
- von Zeitdiagrammen (Sequenz-Diagramm)
- von Zustandsautomat (Mealy, Moore, Harel)
Unified Modeling Language (UML)
als Standard-Notation der Objektorientierung in verschiedenen Etappen entwickelt
17.11.1997 UML1.1 als Standard von Object Management Group (OMG) verabschiedet
mittlerweile UML 2.5 (Juni 2015)
-Ziel UML :
fachliche Lösung mit Hilfe von OO-Konzepten zu modellieren
Motivation
Komplexe Systeme können nicht in ihrer Gesamtheit verstanden werden –ein einziges Modell reicht nicht aus!
Verschiedene Sichten benötigen unterschiedliche, relativ unabhängige Modelle
Modelle müssen auf verschiedene Verfeinerungsstufen eingehen können (grobe und detaillierte Sichten)
Gute Modelle sind notwendig
- um Informationen verständlicher darzustellen
- um essentielle Systemaspekte aufzuzeigen
- zur Kommunikation (Projektmitarbeiter und Kunden)
- um komplexe Architekturen darstellen zu können
Was ist UML
- spezifiziertvon der OMG –Object Management Group
- International standardisierte, ausdrucksstarke, grafischeModellierungssprache
- zur Spezifikation, Konstruktion, Visualisierung und Dokumentationder ArtefakteeinesSoftwaresystems
- zur Formulierungunterschiedlicher Typen von Modellen
- zumAustauschvon Modellen
•Fokus liegt auf objektorientierter Modellierung in der SWT
•stellt sofort einsetzbare Basiskonzeptebereit, kann aber bei Bedarf auch angepasst und erweitert werden
•unterstützt fortgeschrittene Entwicklungskonzepte wie Entwurfsmuster und Komponenten
Was ist UML nicht?
➔UML ist keine Vorgehensrichtlinie
➔UML ist kein Modellierungswerkzeug
➔UML ist keine Modellierungsrichtlinie
➔UML ist keine Programmiersprache und schreibt auch nicht den Einsatz einer bestimmten Programmiersprache vor
➔Erklärtes Ziel von UML: Offenheit!
Zieleder UML-Erfinder
- Den Benutzern eine gebrauchsfertige ausdrucksstarke Notation zur Verfügung zu stellen, mit der nutzbare Modelle erstellt und ausgetauscht werden können
- Erweiterbarkeit und Spezialisierbarkeit der Notation, um problemgerechter modellieren zu können
- Unabhängigkeit von bestimmten Programmiersprachen und Entwicklungsmethoden
- Unterstützung von fortschrittlichen Entwicklungskonzepten wie zB. Komponenten, Schnittstellen und Entwurfsmustern
- Förderung des Marktwachstums für Werkzeuge zur objekt-orientierten Erstellung von Software
Einsatzgebiete
- Visualisierung: grafische Darstellung von Modellen und Sachverhalten durch Diagramme
- Spezifikation: Erstellen von präzisen, unzweideutigen und vollständigen Modellen
- Konstruktion: Die UML-Modelle können in Programmiersprachen abgebildet werden und umgekehrt (Forward Engineering und Reverse Engineering).
- Dokumentation: Architekturabbildung, Ausdrücken von Anforderungen, Durchführen von Tests, Projektplanung und Versionsmanagement
Welche Diagramme u.a. wofür?
- Beschreibung der grundlegenden Funktionalität und Umwelt-interaktionen durch Anwendungsfalldiagramme
- Darstellung der Elemente eines Softwaresystems als statische Struktur durch Klassendiagramme
- Modellierung des Verhaltens von Objekten durch Zustands-und Sequenzdiagramme
- Planung und Koordinierung von Aktivitäten und Aufgaben durch Aktiviätsdiagramme
- Verdeutlichung von Implementierungs-und Installationsaspekten durch Komponenten -und Verteilungsdiagramme
Strukturdieagramme
- Klassendiagramm (Klassendarstellung, Schnittstellen, Beziehungen)
- Kompositionsstrukturdiagramm
- Komponentendiagramm Objektdiagramm
- Paketdiagramm
- Verteilungsdiagramm
- Profildiagramm
Verhaltensdiagramme
- Aktivitätsdiagramm
- Anwendungsfalldiagramm (Use-Case)
- Interaktionsübersichtsdiagramm
- Kommunikationsdiagramm
- Sequenzdiagramm
- Zustandsdiagramm
- Zeitverlaufsdiagramm
UML CASE-Tools
FreieSoftware
- ArgoUML: Java-basiertesOpenSource-Projekt, unterstütztden gesamtenOOAD-Entwicklungsprozess, alleUML-DiagrammesowieJava-Code-Generierung
- Poseidon Community Edition: basiertauf ArgoUML, kostenloseVersion der kommerziellenSoftware Poseidon
- Eclipse UML: unterstütztalleUML-DiagrammesowieJava-Code-Generierung
- WeitereTools: Fujaba, Dia, ………..
UML CASE-Tools
KommerzielleTools:
Rational Rose: UrvätersindBooch, Jacobson und Rumbaugh, visuelleModellierung, unterstütztRational Object Process sowieSpiralmodellder Softwareentwicklung(iterativund inkrementell)
Innovator Object Workbench von MID GmbH Nürnberg: IntegrierteWerkzeugfamiliezurGeschäftsprozessmodellierungund Softwareentwicklung
Poseidon: Java-basiertesProjekt, unterstütztden gesamtenOOAD-Entwicklungsprozess, basiertauf ArgoUML
und weitere
OOA -Pattern
- Muster (pattern)= Idee, die sich in der Praxis bewährt hat
- Muster = Gruppe von Klassen mit festen Verantwortlichkeiten und ihren Interaktionen für standardisierte Lösung bestimmter Probleme
- Unterscheidung in allgemeine und anwendungsspezifische Muster
- Beispiel für anwendungsspezifische Muster: Planungssysteme und Warenwirtschaftssysteme
OOA - Pattern: Beispiele für allgemeine Muster:
Liste
-Komposition liegt vor
-ein Ganzes besteht aus gleichen Teilen, d.h. es gibt nur
eine Teil-Klasse
-Teil-Objekte bleiben einem Aggregat-Objekt fest zu geordnet (Löschung bevor das Ganze gelöscht wird)
-Attributwerte des Aggregat-Objekts gelten auch für zugehörige Teil-Objekte
-Aggregat-Objekt enthält mindestens ein Teil-Objekt
Methodische Vorgehensweise I
-Unterscheidung in drei Vorgehensweisen
- Orientierung an den Informationen (Daten) des Systems (statisches Modell)
- Orientierung an der Funktionalität (Verhalten) des Systems (dynamisches Modell)
- Synthese des statischen und dynamischen Modells
In Praxis:
Zusammenwirken des statischen und dynamischen Modells ist unabdingbar
Methodische Vorgehensweise II: (Balzert)
auf hohem Abstraktionsniveau Beschreibung der Reihenfolge der einzelnen Aufgaben zur Erstellung
- Ermitteln der relevanten Geschäftsprozesse
- Ableitung von Klassen aus Geschäftsprozessen
- Erstellung des statischen Modells
- Parallel dazu Erstellung des dynamischen Modells
- Berücksichtigung der Wechselwirkung beider Modelle
Prozess berücksichtigt Gleichgewicht vom statischen
und dynamischen Modell
Methodische Vorgehensweise III
- Analyse im Großen
- Geschäftsprozesse aufstellen (Geschäftsprozessdiagramm)
- Pakete bilden (Paketdiagramm)
- sechs Schritte (+1)zum statischen Modell
- Klassen identifizieren (Klassendiagramm, Kurzbeschreibung der Klassen)
- Assoziationen identifizieren (Klassendiagramm)
- Attribute identifizieren (Klassendiagramm)
- Vererbungsstruktur identifizieren (Klassendiagramm)
- Assoziationen vervollständigen (Klassendiagramm, Objektdiagramm)
- Attribute spezifizieren (Attributspezifikation)
- Muster identifizieren (Klassendiagramm auf Muster und deren Modellierung überprüfen)
- drei Schritte zum dynamischen Modell
- Szenarios erstellen (Sequenzdiagramm, Kollaborationsdiagramm)
- Zustandsautomat erstellen (Zustanddiagramm)
- Operationen beschreiben (Klassendiagramm, fachliche Beschreibung der Operationen, Zustands-und Aktivitätsdiagramme)
Methodische Vorgehensweise IV
Systemanalytiker wenden (mehr oder weniger intuitiv)
hunderte von Regeln an
- Regeln in festgesetzter Reihenfolge
- Regeln in Form von Checklisten z. B.
Welche Klassen lassen sich aus der Beschreibung der Geschäftsprozesse identifizieren (top down)?
-Beschreibung nach Klassen durchsuchen, oft sind Substantive potenzielle Klassen.
-Potenzielle Klassen auf Attribute überprüfen.
-Akteure, über die man sich etwas „merken“ muss, sind potenzielle Klassen.
Zu welchen Kategorien gehören die Klassen?
-konkrete Objekte bzw. Dinge
-Personen und deren Rollen
-Informationen über Aktionen ….
Methodische Vorgehensweise
Stellt einen evolutionären, iterativen Entwicklungsprozess dar
Zuerst Produktkern erstellen,
in weiteren Zyklen erweitern,
Ergebnisse früherer Zyklen werden nicht verworfen
-
- 1 / 28
-