• Keine Ergebnisse gefunden

Softwaretechnik 2015/2016

N/A
N/A
Protected

Academic year: 2021

Aktie "Softwaretechnik 2015/2016"

Copied!
24
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Softwaretechnik 2015/2016

HAUPT-/ BACHELOR- SEMINAR ADAPTIVE SYSTEME

PST | PROF. DR. WIRSING 14. JUNI 2009

VORNAME NAME

PST Lehrstuhl

Prof. Dr. Matthias Hölzl Joschka Rinke

(2)

Übung 11:

14.01.2016

Schon zur Klausur angemeldet?

Fragen

Reflection in LISP

Besprechung Blatt10

AGENDA

(3)

OOA und OOD sind mögliche Bestandteile des SW-Entwicklungsprozesses

Objektorientierte Analyse (Anforderungen erfassen und beschreiben):

Anforderungsfall-Analyse (Use Case-Analyse) und Entwicklung eines 1) statischen Teilmodells

2) dynamischen Teilmodells iterativer Prozess

Objektorientiertes Design (Systementwurf erstellen):

Modell der konkreten Systemimplementierung (Systementwurf)

Aufgabe 1 – Objektorientierte Analyse

(4)

Objektorientierte Analyse (Vorgehensweise):

Use Cases statisches Modell dynamisches Modell Diagramme erstellen

Aufgabe 1 – Objektorientierte Analyse

(5)

Was für ein Diagrammtyp liegt hier vor?

Sequenzdiagramm

Klassendiagramm

Kommunikationsdiagramm

Aktivitätsdiagramm

Zustandsdiagramm

Aufgabe 1 – Objektorientierte Analyse

(6)

Statisches Teilmodell:

Beziehungen zwischen Klassen Klassendiagramme

Dynamisches Teilmodell:

Operationen und Kommunikation zwischen Klassen

Interaktionsdiagramme (Sequenz-/ Kommunikationsdiagramme) daraus werden dann Aktivitäts- und Zustandsdiagramme erstellt

Aufgabe 1 – Objektorientierte Analyse

(7)

OOA:

Entwickler analysieren die Problemstellung;

Ziel ist es Anforderungen zu erfassen und Systemeigenschaften zu modellieren, dazu:

Anwendungsfälle dokumentieren statisches Teilmodell entwerfen dynamisches Teilmodell entwerfen

Zustands-/ Aktivitätsdiagramme herleiten (wenn notwendig) evtl. Pflichtenheft erstellen

Ergebnis der OOA sollte vollständige Beschreibung d. Systemverhaltens sein

Agile SW:

Beteiligte Rollen erarbeiten gemeinsam User Stories Tasks extrahieren

Product Backlog erstellen

User Stories können immer wieder hinzugefügt werden

Aufgabe 1 – Objektorientierte Analyse

(8)

Anwendungsfälle (Use Cases) dokumentieren, indem ein Use Case-Modell entworfen wird, dazu:

Aktoren bestimmen

Anwendungsfälle bestimmen

Anwendungsfall-Diagramme erstellen

Anwendungsfälle beschreiben

Aufgabe 1 – Objektorientierte Analyse

(9)

Rollen: Content Manager, User

Use Case-Diagramm (Aktoren & Use Cases):

Aufgabe 1 – Objektorientierte Analyse

(10)

Rollen: Content Manager, User

Use Case-Diagramm (Aktoren & Use Cases):

Aufgabe 1 – Objektorientierte Analyse

(11)

Anwendungsfall beschreibt:

Anforderungen an System

Interaktion zwischen Aktoren und System

Anwendungsfall-Beschreibung enthält:

1) Name

2) Kurzbeschreibung 3) Vorbedingung 4) Nachbedingung 5) Primärszenario

6) Mögliche Sekundärszenarien 7) Optional: Aktivitätsdiagramm

Aufgabe 1 – Objektorientierte Analyse

(12)

Name: Content entfernen

Kurzbeschreibung: Ein Content Manager (CM) entfernt Content aus der Mediathek, so dass alle externen Nutzer keinen Zugriff mehr auf den Content haben.

Vorbedingung: Die Mediathek enthält Content der entfernt werden kann.

Nachbedingung: Der entfernte Content ist für externe Nutzer nicht mehr in der Mediathek sichtbar/ abrufbar.

Primärszenario:

1. CM gibt ContentID in Content Management System (CMS) ein 2. Content ist vorhanden und kann markiert werden

3. CM entfernt Content, so dass er in der Mediathek nicht mehr abrufbar ist Sekundärszenario:

3a CM soll weiteren Content entfernen 3a1 weiter mit Schritt 1

Aufgabe 1 – Objektorientierte Analyse

(13)

Erstellung eines statischen Teilmodells:

1) Klassen identifizieren

2) Assoziationen bestimmen 3) Attribute identifizieren 4) Vererbung einführen 5) Modell überarbeiten iterativer Prozess

Klassendiagramme

Aufgabe 1 – Objektorientierte Analyse

(14)

Entwurf von Interaktionsdiagrammen:

Identifiziere Nachrichten, die verschickt werden und Objekte, die Nachrichten verschicken

Konstruiere Diagramme für jeden Anwendungsfälle

Objekt: WebServer, CMS, DBServer

Nachrichten z.B.: requestPage(), renderPage(), removeSelectedItem(), …

Aufgabe 1 – Objektorientierte Analyse

(15)

Aufgabe 1 – Objektorientierte Analyse

(16)

Aktivitätsdiagramm:

Erstellen aus SDs

Aufgabe 1 – Objektorientierte Analyse

(17)

Am Ende der OOA steht…

…ein lauffähiger Prototyp.

…ein Systemmodell, das durch Diagramme beschrieben wird.

…ein dynamisches Teilmodell, das Klassendiagramme enthält.

…ein dynamisches und ein statisches Teilmodell, auf deren Basis ein Systementwurf erstellt wird.

Aufgabe 1 – Objektorientierte Analyse

(18)

Ausgangspunkt:

Ergebnisse der OOA (statisches/ dynamisches Teilmodell)

Ziel:

Modell der Systemimplementierung durch

Verfeinerung des Analysemodells

Einbindung in die Systemumgebung durch Entwurf von Schnittstellen

Konstruktion der Systemarchitektur

Aufgabe 2 – Objektorientiertes Design

(19)

Den Klassen werden die im Sequenzdiagramm verwendeten

Methoden hinzugefügt, d.h. dass sie direkt in den Code eingefügt werden und den Klassen im Klassendiagramm hinzugefügt werden:

Aufgabe 2 – Objektorientiertes Design

(20)

Möglichst geringe Kopplung durch:

Facade Design Pattern (Fassaden Pattern)

Zusammenfassen verschiedener Dienste in einer Fassadenklasse

Vorteil: lose Kopplung, geringere Komplexität nach außen

Nachteil: zusätzliche Indirektionsstufe

Aufgabe 2 – Objektorientiertes Design

(21)

Aufgabe 2 – Objektorientiertes Design

(22)

Aus der Vorlesung mit Fassadenklasse im gleichen Package:

Aufgabe 2 – Objektorientiertes Design

(23)

Aufgabe 2 – Objektorientiertes Design

(24)

Am Ende des OOD steht…

…ein lauffähiger Prototyp.

…die SW-Architektur als Vorlage für die Implementierung.

…das fertige Produkt.

…ein dynamisches Teilmodell, das Sequenzdiagramme enthält.

Aufgabe 2 – Objektorientierte Analyse

Referenzen

ÄHNLICHE DOKUMENTE

Table S4e Risk of bias assessment for conventional bitewing radiography of in vitro validation studies on proximal surfaces ..... Table S4f Risk of bias assessment for

Si votre produit n’a pas fait l’objet du traitement de verre CareTec ® Pro de DUSCHOLUX, après chaque prise de douche, nous vous recommandons d’essuyer l’eau avec une raclette

In our monthly newsletter we inform you about ICES news, dates and events and about the latest calls for research funding which are particularly relevant for the field of

If humid, atmos- pheric air is compressed at constant temperature, the partial pressure of the water vapour also increases corresponding to the increase in overall pressure.. If

Anne Belting, Durdica Marosevic, Martin Heyn und

z The samples taken on the first day had higher pH-values and lower lactic acid contents in comparison to the samples taken after 7 or 14 days. z After the taking out the

Epson Projector Content Manager Ver.1.10 veya daha eski bir sürümle oluşturulan projeyi seçerseniz, dönüştürme penceresi görüntülenir ve proje biçimi projenin

Instruction: PROGRAM STOP (PS--) I Operation Code: 57 Function: Stop computer operation and provide suitable