Software- und Systementwicklung: Organisation, Vorgehensmodelle

Software- und Systementwicklung: Organisation, Vorgehensmodelle
Software- und
Systementwicklung
Seminar: Designing for Privacy
11.11.2009
Moritz Vossenberg
Inhalt
• Vorgehensmodelle
– Wasserfallmodell
– V-Modell
– Phasen (Pflichtenheft)
• UML
–
–
–
–
Klassendiagramm
Sequenzdiagramm
Use Case (Anwendungsfalldiagramm)
UML Erweitern
• Quellen
2
VORGEHENSMODELLE
3
Vorgehensmodelle (1)
• Definition:
– „Festlegung, welche Aktivitäten in welcher
Reihenfolge von welchen Personen in welchen
Rollen erledigt und welche Ergebnisse dabei
entstehen und wie diese überprüft werden.“
4
Vorgehensmodelle (2)
• Wesentlich für …
– Projektorganisation
• Systematische Herangehensweise, …
– Analyse von Projekten
• Schwachstellen, …
– Zeit- und Aufwandsplanung
• Aufwandsabschätzung, …
– Qualitative Bewertung von Software(-firmen)
• ISO 9000, …
5
Wasserfallmodell
Erste Version: DoD, 1970
• Verbindlich zum Standard erklärt
Analyse und
Definition
Entwurf
Implementation
Test
Einsatz und
Wartung
Inkrementelles Wasserfallmodell
6
Wasserfallmodell
• Probleme
– Strenge Reihenfolge
– Nur zurück zur letzten Stufe
– Keine Parallelarbeit
– Keine inkrementelle Arbeit
• Grundlage der meisten anderen Modelle
7
V-Model
• Erweitertes Wasserfallmodell
– Qualitätssicherung / Tests in allen Phasen
• Standard für gesamten öffentlichen Bereich
Anforderungdefinition
Anwendungsszenarien
Grobentwurf
Feinentwurf
Modulimplementation
Testfälle
Testfälle
Testfälle
Abnahmetest
Systemtest
Integrationstest
Modultest
8
Die Phasen (Wasserfall)
• Analyse und Definition
– Analyse des Problems und Definition der
Anforderungen
• Entwurf (Design)
– Struktur, UML
• Implementation
– Programmierung
• Test
– Komponenten-, System-, Integrationstest, …
9
Dokumente der Phasen
• Analyse und Definition
– Durchführbarkeitsstudie
• Glossar, Lastenheft, Aufwandsabschätzung, Projektplan
– Produktdefinition
• Pflichtenheft, Produktmodell, Benutzeroberfläche,
Benutzerhandbuch
Analyse und
Definition
10
Das Pflichtenheft
• Funktionale Anforderungen
– Funktionalität, Daten (logische Sicht), Benutzeroberfläche
• Anforderungen an die Einsatzumgebung
– Einsatzsituation, Anwenderprofil
• Technische Anforderungen
– Programmiersprache, Betriebssystem, Hardware
• Leistungsanforderungen
– Effizienz, Datenumfang
• Validitätsanforderungen
– Vorbereitung von Tests, Spezifikation von Testfällen
• Qualitätsanforderungen
– Benutzerfreundlichkeit, Zuverlässigkeit
• Realisierungsanforderungen
– Vorgehensmodell, Dokumentation, Vorschriften, Termine, Kosten, Entwickler
11
UML
12
UML - Einführung
• UML entstand in den 1990ern aus dem Bedürfnis nach
Standardisierung in der Methodik des Softwareentwurfs
• 1994 wird UML als Standard vorgeschlagen
• UML ist keine Methode, sondern Modellierungssprache
• Beitrag/Ziel der UML
– Integration
• Gemeinsame Infrastruktur der Teilsprachen (UML-Metamodell)
– Kanonisierung
• Palette von bewährten, aufeinander abgestimmten Konzepten
– Standardisierung
• Modelle und Wissen über Modelle können ausgetauscht werden
• Kann in allen Phasen des Softwareentwurfs benutzt werden
13
Klassendiagramm
• Darstellung von Strukturen (im Ggs. zu Verhalten)
• Wichtige fachliche Konzepte werden als Klasse
dargestellt
• Phasen im Software-Lebenszyklus
– Analyse
• Klassen als Konzepte der fachlichen Anwendungsdomäne
– Entwurf
• Klassen noch fachlich motiviert, mit technischen Aspekten
– Implementation
• Klassen als Äquivalente zu Klassen-Konstrukten der
Implementierungssprache
14
Klassendiagramm: Beispiel
• Domäne: Ausschnitt der Realen Welt, welcher
von der Anwendung betrachtet wird
15
Klassendiagramm:
Assoziation
• Zeiger auf ein zweites Objekt
A
Mehrstellige
Assoziation
A
0..1
*
C
Multiplizität
B
B
Assoziations
klasse
C
A
B
16
Klassendiagramm:
Komposition
• Teil-Ganzes-Beziehung
– Teil-Objekt T ist vollständig in Besitz des GanzenObjektes G
– Andere Objekte können T nicht mehr besitzen
– Wird G gelöscht, kann auch T nicht mehr
existieren
Kreditkarte (T)
Passagier (G)
17
Klassendiagramm:
Attribute & Operationen
Person
Vorname: String
Nachname: String
Geburtstag: Date
Attribute
(Name: Typ)
zur_uni_gehen()
essen()
Methoden
18
Klassendiagramm: Beispiel 2
19
Sequenzdiagramm
• Darstellung von Verhalten (im Gegensatz zur
Struktur)
• Beschreibt die Zeitliche Abfolge von
Interaktionen zwischen Objekten
• Basiskonzept der Szenario orientierten Sicht
• Reihenfolge (Zeitachse)
• Lebensdauer von Objekten
20
Sequenzdiagramm: Syntax (1)
A
C
init()
B
Relative Dauer
der Aktivität
Operation1()
Operation2()
Objektlinie:
Zeitliche Existenz
des Objektes
Zeit
21
Sequenzdiagramm: Syntax (2)
B
A
Akteur
Operation1()
Operation2()
Zeit
Objekt wird
gelöscht
22
Use Cases (1)
• Stellt Außenverhalten eines Systems dar
– nur nach außen hin sichtbares Verhalten
• Beschreibt Aktionen, welche es Akteuren
ermöglicht, ein fachlich motiviertes Ziel zu
erreichen
• Kann/soll in UML das Verhalten beliebiger
Modellelemente beschreiben
– Klasse, Komponente, …
23
Use Cases (2)
• Akteure stoßen Verhalten an und/oder sind
vom Resultat abhängig
24
UML Erweiterbarkeit
• UML erweitern bedeutet: Erweiterung des
Metamodells
– Neue Klassen
– Neue Attribute
• Bestehendes kann nicht entfernt werden
• Z.B. verwendet für nichtfunktionale
Anforderungen
• Drei Möglichkeiten der Erweiterung…
25
Das UML-Metamodell
26
UML erweitern (1)
• Stereotyp
– Kennzeichnung spezifischer Elemente eines
Modells („Etikett“)
<<laptop>>
Name des
Stereotyps
<<artifact>>
Name
<<pc>>
Zu
stereotypisierendes
Element
Visuelle
Stereotypen
27
UML erweitern (2)
• Tagged Values
<<artifact>>
Name
name1: value1
name2: value2
Value
Tag (Attribut)
28
UML erweitern (3)
• Profile
– Zusammenfassung von Stereotypen und Tagged
Values zu Profilen
29
FRAGEN?
30
Quellen
• Vorlesung „Software Engineering“,
Sommersemester 2009, Prof. Bothe.
• Störrle, Harald: UML 2 für Studenten. Pearson
Studium, 2005.
• Wikipedia: Anwendungsfall. URL:
http://de.wikipedia.org/wiki/Anwendungsfall,
abgerufen am: 11.11.2009
• Wikipedia: Unified Modeling Language. URL:
http://de.wikipedia.org/wiki/Unified_Modeling_L
anguage, abgerufen am: 11.11.2009
31
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertisement