05.08.2013 Aufrufe

Einführung in Software Engineering

Einführung in Software Engineering

Einführung in Software Engineering

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

(5) Abhängigkeit der Anwender von Herstellern reduzieren<br />

(6) Werkzeugherstellern von der Unterstützung verschiedener Ansätze befreien<br />

f) UML Unified Model<strong>in</strong>g Language<br />

• Pros<br />

(1) Metamodell <strong>in</strong> Form von Klassendiagrammen legt rel. präzise die Syntax der<br />

unterstützten Diagrammarten fest<br />

• Pro/Con<br />

(1) Semantik der Diagrammarten wird (noch) weitgehend <strong>in</strong> Prosa erläutert, e<strong>in</strong>ige<br />

Konsistenzregeln werden <strong>in</strong> OCL (Object Constra<strong>in</strong>ed Language) def<strong>in</strong>iert<br />

• Cons<br />

(1) es gibt 10 Diagrammarten die teilweise gegene<strong>in</strong>ander Konkurieren<br />

(2) das Metamodell ist nahezu beliebig erweiterbar, was uns <strong>in</strong> Zukunft e<strong>in</strong>e Fülle von<br />

UML‐Dialekten mit entsprechenden Werkzeugen bescheren wird<br />

g) E<strong>in</strong>satz von UML <strong>in</strong> der Analysephase<br />

• Ausgangspunkt s<strong>in</strong>d Produktanforderungen des Kunden (entweder als Fließtext oder als<br />

strukturiertes Lastenheft<br />

• Ergebnis ist e<strong>in</strong> (erweitertes) Plichtenheft mit semiformalen Def<strong>in</strong>itionen der<br />

Produktfunktion und ‐daten als UML‐Diagramme<br />

• Umfang des UML‐E<strong>in</strong>satzes umstritten<br />

(1) UML‐Protagonisten<br />

(a) UML als visuelle/graphische Programmiersprache<br />

(b) erstelltes Analysemodell ist (als Prototyp) ausführbar (ausführbares<br />

Pflichtenheft)<br />

(2) UML‐Antagonisten<br />

(a) Pflichtenheft nur <strong>in</strong> strukturiertem Englisch/Deutsch geschrieben<br />

(b) graphische Sprachen wie UML erst <strong>in</strong> Designphase e<strong>in</strong>setzen<br />

h) Produktfunktionen und Anwendungsfälle<br />

• konkrete Beschreibung der Funktionen anhand von Fallbeispielen sog. Szenarien<br />

• Zusammenfassung ähnlicher Szenarien zu sog. Anwendungsfällen<br />

• Vorgehensweise:<br />

(1) Skizze konkreter Benutzungsszenarien mit Akteuren<br />

(2) Identifikation der Grenze zwischen <strong>Software</strong> und Reality<br />

(3) Skizze der zugehörigen Benutzeroberfläche<br />

(4) bilden von Anwendungsfällen – Use Cases<br />

(5) Überblick über Use‐Cases durch Use‐Case‐Diagramm<br />

• Bestimmung geeigneter Szenarien/ Anwendungsfälle<br />

(1) unterstreichen relevanter Verben im Lastenheft Szenario <br />

Anwendungsfalldiagramm 1.0<br />

(2) kenntlichmachen der <strong>Software</strong>aufgaben – Abgrenzung<br />

(3) Akteure zuordnen – „benutzt“ Beziehung<br />

(a) wenn zwischen Akteur und Use Case unidirektional Daten ausgetauscht werden<br />

erhält die Verb<strong>in</strong>dungsl<strong>in</strong>ie e<strong>in</strong>e Pfeilspitze<br />

(b) <strong>in</strong>teragieren mehrere Akteure mit e<strong>in</strong>em Anwendungsfall, ist nicht festgelegt<br />

was das bedeutet (meist: jeder Akteur darf ausführen aber auch: alle Akteure<br />

zusammen dürfen nur die Systemfunktion nutzen)<br />

(c) viele Beziehungen machen Diagramm unübersichtlich<br />

i) Weiter UML‐Verb<strong>in</strong>dungsbeziehungen<br />

• Vererbung (Owner erbt Rechte von Clerk) {Pfeil mit leerer Pfeilspitze}<br />

• extend<br />

(1) beschreibung von Sonderfällen e<strong>in</strong>es Anwenungsfalls separat<br />

(2) h<strong>in</strong>zufügen von Funktionalitäten zu Anwendungsfällen<br />

• <strong>in</strong>clude (use)

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!