Software- und Systementwicklung



Ähnliche Dokumente
NACHRICHTENTECHNISCHER SYSTEME

IT-Projekt-Management

Vorlesung Programmieren

Software Engineering

Methodische objektorientierte Softwareentwicklung

Inhalt. 1 Einführung 17. Strukturdiagramme. 2 Klassendiagramm 37

Unified Modeling Language 2

Prozess-Modelle für die Softwareentwicklung

OOAD in UML. Seminar Software-Entwurf B. Sc. Sascha Tönnies

Christoph Kecher, Alexander Salvanos UML 2.5. Das umfassende Handbuch. Rheinwerk. Computing

SWE6 Slide 1. Software-Engineering. Vorlesung 6 vom Sebastian Iwanowski FH Wedel

Das UML Benutzerhandbuch

UML (Unified Modelling Language) von Christian Bartl

UML. Weiteres Vorgehen im Projekt

Harald Störrle UML 2 für Studenten

Unified Modeling Language (UML )

Objektorientierte Analyse und Design mit der Unified Modelling Language (UML) Sandra Meißl

EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick

4. Übung zu Software Engineering

Unified Modeling Language

Software Engineering. Fakultät Elektrotechnik Bachelor-Studiengänge, 4. Semester Prof. Dr.-Ing. Dagmar Meyer

Unified Modelling Language

Einführung in die objektorientierte Programmierung

Software Engineering Zielorientierte Bereitstellung und systematische Verwendung von Prinzipien, Methoden und Werkzeugen

Methodische objektorientierte Softwareentwicklung

Inhaltsverzeichnis. Teil I Einführung 13. Teil II Struktur 41. Vorwort 11

Übungen Softwaretechnik I

Wirtschaftsinformatik 6a: Modellierung. Hochschule für Wirtschaft und Recht SS 16 Dozent: R. Witte

Objektorientierte Systementwicklung

Analyse und Entwurf von Softwaresystemen mit der UML

Inhalt. 1 Einführungsveranstaltung. 2 Pflichtenheft ANFORDERUNGSSPEZIFIKATION - GROBPLANUNG ANFORDERUNGSSPEZIFIKATION - SOLLKONZEPT

Gliederung des Vortrages

Objektorientierter Entwurf. Grundlagen des Software Engineerings

10. Programmierungs-Phase: Objektorientierung Software Engineering

Übungen zur Softwaretechnik

Mario Jeckle, Chris Rupp, Jürgen Hahn, Barbara Zengler, Stefan Queins. UML2 glasklar. UNIFIED MODELING LANGUAGE l HANSER

Software Engineering Projekt. Pflichtenheft

Requirements Engineering I

Wahlpflichtfach Software Engineering

TEIL I Strukturdiagramme 1 Einführung Klassendiagramm Objektdiagramm Kompositionsstrukturdiagramm...

Vorlesung Programmieren. Unified Modeling Language (UML) Unified Modeling Language (UML) Unified Modeling Language (UML)

Vorlesung Programmieren

2. Der Software-Entwicklungszyklus

Guido de Melo Fachvortrag, Uni Ulm UML 2.0. Für den Einsatz in der Praxis

Rückblick: Entity-Relationship-Modell

INSPIRE - Modellierung

Objektorientierte Softwareentwicklung

Klausur. Softwareentwurf. 14. Februar 2011 Bearbeitungszeit: 120 Minuten

Software Engineering. 3. Analyse und Anforderungsmanagement

Einführung in die Programmierung

Software-Lebenszyklus

Oracle JDeveloper 10 g

Testen mit Use Cases. Chris Rupp Dr. Stefan Queins

Requirements Engineering I

Unified. Copyright Adriano Gesué UML 2.0 UML 1.4 UML 1.3 UML 1.2 UML 1.1 UML 1.0 UML 0.9. Method 0.8

Werkzeugunterstützung für UML Profiles. Verteidigung des Großen Belegs Andreas Pleuß

4. Mentorium. UML-Modellierung (Lösungshinweise)

Die Unified Modeling Language UML

Technologiepark Paderborn Telefon: / XX XX XX Mobil: 01XX / XX XX XX XX XXXXXXX@mail.upb.de

UML-Basics: Einführung in Objekt- Orientierte Modellierung mit der Unified Modeling Language

Modellbasierter Test mit der UML. Vortragender: Lars Westmeier Seminar: Spezifikationsbasierter Softwaretest

Systemmodellierung mit SysML - Stereotypen und Profile

Objektorientierte Analyse (OOA) Inhaltsübersicht

Klausur Software Engineering für WI (EuI)

Vorlesung Softwaretechnik - Vorgehensmodelle, V-Modell XT -

Systems Engineering mit SysML/UML

Analyse und Design mituml2.1

Analyse und Design mituml2

3.4 Unified Process Ivar Jacobson, Grady Booch, James Rumbaugh: The Unified Software Development Process.

Objektorientierte Analyse & Design

Techniken der Projektentwicklungen

Christoph Kecher UML2. Das umfassende Handbuch. Galileo Press

Grundlagen Software Engineering

Software-Engineering

Analyse und Design mit U ML 2.3

MDA-Praktikum, Einführung

UML -Klassendiagramme

Notationen zur Prozessmodellierung

Kernprozess zur System- und Softwareentwicklung. Logische Systemarchitektur f 1. f 2 f 3. f 4 Funktion. Technische Systemarchitektur SG 1 SG 2 SG 3

Software-Praktikum. Überblick und Zeitplan

Objektorientierte Analyse

UML Crashkurs v0.1. UML für Fachinformatiker. von Hanjo Müller

Jason T. Roff UML. IT Tutorial. Übersetzung aus dem Amerikanischen von Reinhard Engel

Javakurs für Anfänger

Requirements Engineering I

Softwaretechnik 2015/2016

UML 2 glasklar Praxiswissen für die UML-Modellierung

Algorithmen und Datenstrukturen 06

Software Engineering in der Praxis

Software-Engineering im Sommersemester 2014

Vorlesung Informationssysteme

Das UML Benutzerhandbuch

Softwareentwicklung und Projektmanagement

Transkript:

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 Analyse und Definition Erste Version: DoD, 1970 Verbindlich zum Standard erklärt 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 Anwendungsszenarien Abnahmetest Grobentwurf Testfälle Systemtest Feinentwurf Testfälle Integrationstest Anforderungdefinition Modulimplementation Testfälle 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 B 0..1 * Multiplizität A B Mehrstellige Assoziation C C Assoziations klasse A B 16

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

Klassendiagramm: Attribute & Operationen Person Vorname: String Nachname: String Geburtstag: Date zur_uni_gehen() essen() Attribute (Name: Typ) 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 Operation1() Operation2() Relative Dauer der Aktivität Objektlinie: Zeitliche Existenz des Objektes Zeit 21

Sequenzdiagramm: Syntax (2) Akteur Operation1() A B 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 ) Name des Stereotyps <<laptop>> <<artifact>> Name <<pc>> Zu stereotypisierendes Element Visuelle Stereotypen 27

UML erweitern (2) Tagged Values <<artifact>> Name name1: value1 name2: value2 Tag (Attribut) Value 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