Introduction to Wireless Product Acceptance Optimization Solution-V0.3-20091111.ppt
Software- und...
Transcript of Software- und...
![Page 1: Software- und Systementwicklungwaste.informatik.hu-berlin.de/Lehre/ws0910/pet/entwicklung-20091111.pdfNov 11, 2009 · Klassendiagramm •Darstellung von Strukturen (im Ggs. zu Verhalten)](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f962d4b4e5976d069e356/html5/thumbnails/1.jpg)
Software- und Systementwicklung
Seminar: Designing for Privacy11.11.2009
Moritz Vossenberg
![Page 2: Software- und Systementwicklungwaste.informatik.hu-berlin.de/Lehre/ws0910/pet/entwicklung-20091111.pdfNov 11, 2009 · Klassendiagramm •Darstellung von Strukturen (im Ggs. zu Verhalten)](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f962d4b4e5976d069e356/html5/thumbnails/2.jpg)
Inhalt
• Vorgehensmodelle– Wasserfallmodell– V-Modell– Phasen (Pflichtenheft)
• UML– Klassendiagramm– Sequenzdiagramm– Use Case (Anwendungsfalldiagramm)– UML Erweitern
• Quellen
2
![Page 3: Software- und Systementwicklungwaste.informatik.hu-berlin.de/Lehre/ws0910/pet/entwicklung-20091111.pdfNov 11, 2009 · Klassendiagramm •Darstellung von Strukturen (im Ggs. zu Verhalten)](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f962d4b4e5976d069e356/html5/thumbnails/3.jpg)
VORGEHENSMODELLE
3
![Page 4: Software- und Systementwicklungwaste.informatik.hu-berlin.de/Lehre/ws0910/pet/entwicklung-20091111.pdfNov 11, 2009 · Klassendiagramm •Darstellung von Strukturen (im Ggs. zu Verhalten)](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f962d4b4e5976d069e356/html5/thumbnails/4.jpg)
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
![Page 5: Software- und Systementwicklungwaste.informatik.hu-berlin.de/Lehre/ws0910/pet/entwicklung-20091111.pdfNov 11, 2009 · Klassendiagramm •Darstellung von Strukturen (im Ggs. zu Verhalten)](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f962d4b4e5976d069e356/html5/thumbnails/5.jpg)
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
![Page 6: Software- und Systementwicklungwaste.informatik.hu-berlin.de/Lehre/ws0910/pet/entwicklung-20091111.pdfNov 11, 2009 · Klassendiagramm •Darstellung von Strukturen (im Ggs. zu Verhalten)](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f962d4b4e5976d069e356/html5/thumbnails/6.jpg)
Wasserfallmodell
Analyse und Definition
Entwurf
Implementation
Test
Einsatz und Wartung
Inkrementelles Wasserfallmodell
Erste Version: DoD, 1970• Verbindlich zum Standard erklärt
6
![Page 7: Software- und Systementwicklungwaste.informatik.hu-berlin.de/Lehre/ws0910/pet/entwicklung-20091111.pdfNov 11, 2009 · Klassendiagramm •Darstellung von Strukturen (im Ggs. zu Verhalten)](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f962d4b4e5976d069e356/html5/thumbnails/7.jpg)
Wasserfallmodell
• Probleme
– Strenge Reihenfolge
– Nur zurück zur letzten Stufe
– Keine Parallelarbeit
– Keine inkrementelle Arbeit
• Grundlage der meisten anderen Modelle
7
![Page 8: Software- und Systementwicklungwaste.informatik.hu-berlin.de/Lehre/ws0910/pet/entwicklung-20091111.pdfNov 11, 2009 · Klassendiagramm •Darstellung von Strukturen (im Ggs. zu Verhalten)](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f962d4b4e5976d069e356/html5/thumbnails/8.jpg)
V-Model
• Erweitertes Wasserfallmodell– Qualitätssicherung / Tests in allen Phasen
• Standard für gesamten öffentlichen Bereich
Anforderung-definition
Grobentwurf
Feinentwurf
Modul-implementation
Abnahmetest
Systemtest
Integrationstest
Modultest
Anwendungsszenarien
Testfälle
Testfälle
Testfälle
8
![Page 9: Software- und Systementwicklungwaste.informatik.hu-berlin.de/Lehre/ws0910/pet/entwicklung-20091111.pdfNov 11, 2009 · Klassendiagramm •Darstellung von Strukturen (im Ggs. zu Verhalten)](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f962d4b4e5976d069e356/html5/thumbnails/9.jpg)
Die Phasen (Wasserfall)
• Analyse und Definition– Analyse des Problems und Definition der
Anforderungen
• Entwurf (Design)– Struktur, UML
• Implementation– Programmierung
• Test– Komponenten-, System-, Integrationstest, …
9
![Page 10: Software- und Systementwicklungwaste.informatik.hu-berlin.de/Lehre/ws0910/pet/entwicklung-20091111.pdfNov 11, 2009 · Klassendiagramm •Darstellung von Strukturen (im Ggs. zu Verhalten)](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f962d4b4e5976d069e356/html5/thumbnails/10.jpg)
Dokumente der Phasen
• Analyse und Definition
– Durchführbarkeitsstudie
• Glossar, Lastenheft, Aufwandsabschätzung, Projektplan
– Produktdefinition
• Pflichtenheft, Produktmodell, Benutzeroberfläche, Benutzerhandbuch
Analyse und Definition
10
![Page 11: Software- und Systementwicklungwaste.informatik.hu-berlin.de/Lehre/ws0910/pet/entwicklung-20091111.pdfNov 11, 2009 · Klassendiagramm •Darstellung von Strukturen (im Ggs. zu Verhalten)](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f962d4b4e5976d069e356/html5/thumbnails/11.jpg)
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
![Page 12: Software- und Systementwicklungwaste.informatik.hu-berlin.de/Lehre/ws0910/pet/entwicklung-20091111.pdfNov 11, 2009 · Klassendiagramm •Darstellung von Strukturen (im Ggs. zu Verhalten)](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f962d4b4e5976d069e356/html5/thumbnails/12.jpg)
UML
12
![Page 13: Software- und Systementwicklungwaste.informatik.hu-berlin.de/Lehre/ws0910/pet/entwicklung-20091111.pdfNov 11, 2009 · Klassendiagramm •Darstellung von Strukturen (im Ggs. zu Verhalten)](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f962d4b4e5976d069e356/html5/thumbnails/13.jpg)
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
![Page 14: Software- und Systementwicklungwaste.informatik.hu-berlin.de/Lehre/ws0910/pet/entwicklung-20091111.pdfNov 11, 2009 · Klassendiagramm •Darstellung von Strukturen (im Ggs. zu Verhalten)](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f962d4b4e5976d069e356/html5/thumbnails/14.jpg)
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
![Page 15: Software- und Systementwicklungwaste.informatik.hu-berlin.de/Lehre/ws0910/pet/entwicklung-20091111.pdfNov 11, 2009 · Klassendiagramm •Darstellung von Strukturen (im Ggs. zu Verhalten)](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f962d4b4e5976d069e356/html5/thumbnails/15.jpg)
Klassendiagramm: Beispiel
• Domäne: Ausschnitt der Realen Welt, welcher von der Anwendung betrachtet wird
15
![Page 16: Software- und Systementwicklungwaste.informatik.hu-berlin.de/Lehre/ws0910/pet/entwicklung-20091111.pdfNov 11, 2009 · Klassendiagramm •Darstellung von Strukturen (im Ggs. zu Verhalten)](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f962d4b4e5976d069e356/html5/thumbnails/16.jpg)
Klassendiagramm:Assoziation
• Zeiger auf ein zweites Objekt
A
B
0..1
*
C
A B
Multiplizität
Mehrstellige Assoziation
Assoziationsklasse
A
C
B
16
![Page 17: Software- und Systementwicklungwaste.informatik.hu-berlin.de/Lehre/ws0910/pet/entwicklung-20091111.pdfNov 11, 2009 · Klassendiagramm •Darstellung von Strukturen (im Ggs. zu Verhalten)](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f962d4b4e5976d069e356/html5/thumbnails/17.jpg)
Klassendiagramm:Komposition
• Teil-Ganzes-Beziehung
– Teil-Objekt T ist vollständig in Besitz des Ganzen-Objektes G
– Andere Objekte können T nicht mehr besitzen
– Wird G gelöscht, kann auch T nicht mehr existieren
Kreditkarte (T) Passagier (G)
17
![Page 18: Software- und Systementwicklungwaste.informatik.hu-berlin.de/Lehre/ws0910/pet/entwicklung-20091111.pdfNov 11, 2009 · Klassendiagramm •Darstellung von Strukturen (im Ggs. zu Verhalten)](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f962d4b4e5976d069e356/html5/thumbnails/18.jpg)
Klassendiagramm:Attribute & Operationen
Person
Vorname: StringNachname: StringGeburtstag: Date
zur_uni_gehen()essen()
Methoden
Attribute(Name: Typ)
18
![Page 19: Software- und Systementwicklungwaste.informatik.hu-berlin.de/Lehre/ws0910/pet/entwicklung-20091111.pdfNov 11, 2009 · Klassendiagramm •Darstellung von Strukturen (im Ggs. zu Verhalten)](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f962d4b4e5976d069e356/html5/thumbnails/19.jpg)
Klassendiagramm: Beispiel 2
19
![Page 20: Software- und Systementwicklungwaste.informatik.hu-berlin.de/Lehre/ws0910/pet/entwicklung-20091111.pdfNov 11, 2009 · Klassendiagramm •Darstellung von Strukturen (im Ggs. zu Verhalten)](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f962d4b4e5976d069e356/html5/thumbnails/20.jpg)
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
![Page 21: Software- und Systementwicklungwaste.informatik.hu-berlin.de/Lehre/ws0910/pet/entwicklung-20091111.pdfNov 11, 2009 · Klassendiagramm •Darstellung von Strukturen (im Ggs. zu Verhalten)](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f962d4b4e5976d069e356/html5/thumbnails/21.jpg)
Sequenzdiagramm: Syntax (1)
init()
Operation1()
B
A
Zeit
C
Operation2()
Objektlinie:Zeitliche Existenz
des Objektes
Relative Dauer der Aktivität
21
![Page 22: Software- und Systementwicklungwaste.informatik.hu-berlin.de/Lehre/ws0910/pet/entwicklung-20091111.pdfNov 11, 2009 · Klassendiagramm •Darstellung von Strukturen (im Ggs. zu Verhalten)](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f962d4b4e5976d069e356/html5/thumbnails/22.jpg)
Sequenzdiagramm: Syntax (2)
Operation2()
BA
Zeit
Operation1()
Objekt wird gelöscht
Akteur
22
![Page 23: Software- und Systementwicklungwaste.informatik.hu-berlin.de/Lehre/ws0910/pet/entwicklung-20091111.pdfNov 11, 2009 · Klassendiagramm •Darstellung von Strukturen (im Ggs. zu Verhalten)](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f962d4b4e5976d069e356/html5/thumbnails/23.jpg)
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
![Page 24: Software- und Systementwicklungwaste.informatik.hu-berlin.de/Lehre/ws0910/pet/entwicklung-20091111.pdfNov 11, 2009 · Klassendiagramm •Darstellung von Strukturen (im Ggs. zu Verhalten)](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f962d4b4e5976d069e356/html5/thumbnails/24.jpg)
Use Cases (2)
• Akteure stoßen Verhalten an und/oder sind vom Resultat abhängig
24
![Page 25: Software- und Systementwicklungwaste.informatik.hu-berlin.de/Lehre/ws0910/pet/entwicklung-20091111.pdfNov 11, 2009 · Klassendiagramm •Darstellung von Strukturen (im Ggs. zu Verhalten)](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f962d4b4e5976d069e356/html5/thumbnails/25.jpg)
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
![Page 26: Software- und Systementwicklungwaste.informatik.hu-berlin.de/Lehre/ws0910/pet/entwicklung-20091111.pdfNov 11, 2009 · Klassendiagramm •Darstellung von Strukturen (im Ggs. zu Verhalten)](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f962d4b4e5976d069e356/html5/thumbnails/26.jpg)
Das UML-Metamodell
26
![Page 27: Software- und Systementwicklungwaste.informatik.hu-berlin.de/Lehre/ws0910/pet/entwicklung-20091111.pdfNov 11, 2009 · Klassendiagramm •Darstellung von Strukturen (im Ggs. zu Verhalten)](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f962d4b4e5976d069e356/html5/thumbnails/27.jpg)
UML erweitern (1)
• Stereotyp
– Kennzeichnung spezifischer Elemente eines Modells („Etikett“)
<<artifact>>
Name
Zu stereotypisierendes
Element
Name des Stereotyps
<<laptop>>
<<pc>>
Visuelle Stereotypen
27
![Page 28: Software- und Systementwicklungwaste.informatik.hu-berlin.de/Lehre/ws0910/pet/entwicklung-20091111.pdfNov 11, 2009 · Klassendiagramm •Darstellung von Strukturen (im Ggs. zu Verhalten)](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f962d4b4e5976d069e356/html5/thumbnails/28.jpg)
UML erweitern (2)
• Tagged Values
<<artifact>>
Name
name1: value1name2: value2
Tag (Attribut)
Value
28
![Page 29: Software- und Systementwicklungwaste.informatik.hu-berlin.de/Lehre/ws0910/pet/entwicklung-20091111.pdfNov 11, 2009 · Klassendiagramm •Darstellung von Strukturen (im Ggs. zu Verhalten)](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f962d4b4e5976d069e356/html5/thumbnails/29.jpg)
UML erweitern (3)
• Profile
– Zusammenfassung von Stereotypen und Tagged Values zu Profilen
29
![Page 30: Software- und Systementwicklungwaste.informatik.hu-berlin.de/Lehre/ws0910/pet/entwicklung-20091111.pdfNov 11, 2009 · Klassendiagramm •Darstellung von Strukturen (im Ggs. zu Verhalten)](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f962d4b4e5976d069e356/html5/thumbnails/30.jpg)
FRAGEN?
30
![Page 31: Software- und Systementwicklungwaste.informatik.hu-berlin.de/Lehre/ws0910/pet/entwicklung-20091111.pdfNov 11, 2009 · Klassendiagramm •Darstellung von Strukturen (im Ggs. zu Verhalten)](https://reader033.fdocuments.net/reader033/viewer/2022052017/602f962d4b4e5976d069e356/html5/thumbnails/31.jpg)
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_Language, abgerufen am: 11.11.2009
31