Kapitel 2 - Die Definitionsphase

Ähnliche Dokumente
Universität Karlsruhe (TH)

Oracle JDeveloper 10 g

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

Einführung in die Programmierung

Grundlagen der UML-Modellierung. Modellierung. Elena Paslaru Seminar Praktische Modellierung SS

Orientierte Modellierung mit der Unified Modeling Language

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

Java Einführung Objektorientierte Grundkonzepte

Unified Modeling Language (UML )

Einführung in die Informationsverarbeitung Teil Thaller. Stunde VII: Planen und Realisieren

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

Rückblick: Entity-Relationship-Modell

Softwaretechnik Unified Modeling Language (UML)

J.2 Objektorientiertes Modellieren mit UML

Analyse und Modellierung von Informationssystemen

Objektorientiertes Software-Engineering

Objektorientierter Software-Entwurf Die Unified Modeling Language 4 1

Requirements Engineering I

Lehrbuch der Softwaretechnik: Basiskonzepte und Requirements Engineering

Objektorientierte Analyse

Objektorientierte Programmierung Einführung

UML fürs Pflichtenheft

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

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

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

Vorlesung Programmieren

Kapitel MK:III. III. Begriffe der Modellierung

Grundlagen der Programmierung! Kapitel 1: Einführung! Ziel der Vorlesung Grundlagen der Programmierung! Überblick über das Einführungs-Kapitel!

Unified Modeling Language (UML)

Objektorientierte Modellierung (1)

Einführung in die Wirtschaftsinformatik

Modellierung mit UML. Thomas Kistel. 24. November Thema - Untertitel Datum/Semester Ihr Name Seite 1

Klausur zur Vorlesung Softwaretechnik

Modellierungstechniken im Softwaredesign. Praxisprojekt [ai] Control WS 2011/2012 Lara Baschour und Anne Heiting

Kapitel 2: Der Software-Entwicklungsprozess

RUP Analyse und Design: Überblick

Model-based Requirements Engineering

Empirische Softwaretechnik Kosten und Nutzen von UML in der Wartung Dr. Victor Pankratius Andreas Höfer Wintersemester 2009/2010

6. Modellierung von Informationssystemen. 6.1 Einleitung 6.2 Konzeptuelles Modell 6.3 OASIS Spezifikation 6.4 Execution Model 6.

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

UML mit Enterprise Architect

Motivation. Motivation

Software- und Systementwicklung

Visual Studio 2010 Neues für Architekten

Modellierung Zusammenfassung WS2000

Notationen zur Prozessmodellierung

UML 2.0 als Architekturbeschreibungssprache? Seminar: Architekturbeschreibungssprachen Manuel Wickert

Objektorientierte Softwareentwicklung

Vorlesung Software-Engineering I

Funktions- versus Objektorientierter Entwurf

V2 Anforderungsanalyse und Spezfikation

COPE COuPled Evolution of metamodels and models

Wirtschaftsinformatik 2 Modellierung betrieblicher Informationssysteme - MobIS

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

DGQ Regionalkreis Hamburg Anforderungsmanagement ins SW-Projekten. 08. Juni 2011

Software Engineering

Praxis der Softwareentwicklung WS 2016/17

Software-Engineering Grundlagen des Software-Engineering 7 Implementierungsphase (Programming Phase)

Objektorientierte Analyse & Design

1.3 Entwicklungsmethoden: Systematischer Überblick

UML. Weiteres Vorgehen im Projekt

Objektorientierte Systementwicklung mit der Unified Modeling Language (UML) Vorgehensmodelle für die objektorientierte Systementwicklung

Mit Legacy-Systemen in die Zukunft. adviion. in die Zukunft. Dr. Roland Schätzle

Modellieren mit der Unified Modeling Language: Klassen- und Objektdiagramme. 11. November 2014

Dr. Beatrice Amrhein. April 13

Universität Stuttgart Institut für Automatisierungs- und Softwaretechnik Prof. Dr.-Ing. Dr. h. c. P. Göhner. Softwaretechnik II. Sommersemester 2015

2. Automatische Codegenerierung mittels dynamischer Spezialisierung

Das Softwaresystem BASEMENT

MDRE die nächste Generation des Requirements Engineerings

Informationsmanagement in Organisationen Überblick

CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik)

Arbeitsblätter zu Teil I des Praktikums

MOF Meta Object Facility. Veranstaltungsvortrag im Rahmen der Projektgruppe ComponentTools

IT-Projekt-Management

80/1RWDWLRQXQG6HPDQWLN. Dr. Eckhardt Holz Humboldt-Universität zu Berlin Institut für Informatik

4. Übung zu Software Engineering

Qualität von Software und Softwaremodellen Seminar der AG Softwaretechnik im Sommer-Semester 2013

Softwaretechnik (Allgemeine Informatik) Überblick

Inhaltsverzeichnis. Literatur. 4 Rational Unified Process [JBR98, Kru03] und UML [BRJ02, FS00, Bal01]

Grundlagen Software Engineering

Softwarearchitekturen I Softwareentwicklung mit Komponenten

Software-Design. Definition Der Prozess Prinzipien Strategien und Methoden Notationen. Aufgabe. HS Mannheim

Model Driven Architecture

Modellbasierte Softwareentwicklung

Vorlesung "Praktische Softwaretechnik" Teil 8: Einführung in die Systemanalyse

Software-Engineering Objektorientierte Konzepte des Software-Engineering 5.2 UML Unified Modeling Language

Abschnitt 15: Unified Modeling Language (UML)

Software Engineering

Softwareentwicklung mit UML

Software Engineering und Projektmanagement

Transkript:

Kapitel 2 - Die Definitionsphase SWT I Sommersemester 2010 Walter F. Tichy, Andreas Höfer, Korbinian Molitorisz IPD Tichy, Fakultät für Informatik KIT die Kooperation von Forschungszentrum Karlsruhe GmbH und Universität Karlsruhe (TH)

Wo sind wir gerade? Planung Lastenheft (funktionales Modell) Definition (Analyse) Pflichtenheft (Objektmodell, dynamisches Modell, Konzept Benutzungsoberfläche) Entwurf Implementierung Testen Abnahme, Einsatz & Wartung 2 21.07.2010 Die Definitionsphase - Einführung

Lernziele Die Definitionsphase erklären und ihre Rolle im Entwicklungsprozess definieren Objektmodelle und dynamische Modelle erstellen können (UML) Für vorgegebene Aufgabenstellungen ein Pflichtenheft entsprechend dem beschriebenen Pflichtenheft-Schema erstellen können. 3 21.07.2010 Die Definitionsphase - Einführung

Definitions- oder Analysephase In der Definitionsphase entsteht das Pflichtenheft Das Pflichtenheft definiert ( modelliert ) das zu erstellende System (oder die Änderungen an einem existierenden System) so vollständig und exakt, dass Entwickler das System implementieren können, ohne nachfragen oder raten zu müssen, was zu implementieren ist. Das Pflichtenheft beschreibt nicht, wie, sondern nur was zu implementieren ist. (z.b. werden Algorithmen und Datenstrukturen nicht beschrieben). Das Pflichtenheft ist eine Verfeinerung des Lastenheftes. 4 21.07.2010 Die Definitionsphase - Einführung

Modellierung Das Pflichtenheft liefert ein Modell des zu implementierenden Systems. Modellarten: Funktionales Modell (aus dem Lastenheft) Szenarien und Anwendungsfall-Diagramm (scenarios, use case diagram) Objektmodell Klassen- und Objektdiagramm (class and object diagram) Dynamisches Modell Sequenzdiagramm (Sequence diagram) Zustandsdiagramm (State chart diagram) Aktivitätsdiagramm (Activity diagram) 5 21.07.2010 Die Definitionsphase - Einführung

Einordnung Wirklichkeit Abbildung Modell Abbildung (objektorientierter) Code 6 21.07.2010 Die Definitionsphase - Einführung

Modell und Realität Realität R Reale Dinge, Personen, Konzepte, etc., Abläufe, die eine gewisse Zeit brauchen, Beziehungen zwischen Dingen, Personen, Konzepten Modell M: Abstraktion von existierenden oder imaginären Dingen, Personen, Konzepte, etc., Abläufen, Beziehungen dazwischen 7 21.07.2010 Die Definitionsphase - Einführung

Wozu Modelle? Wir benutzen Modelle Um von Details der Realität zu abstrahieren, dadurch können wir über die komplexe Realität schlussfolgern, indem wir einfache, definierte Deduktionsschritte auf dem Modell vornehmen. Um Erkenntnisse über Vergangenheit oder Gegenwart zu erhalten. Um Vorhersagen über die Zukunft zu treffen. Speziell Softwaremodelle Wir verwenden Modelle (der Software) um ein Verständnis für die mögliche zukünftige Realität (die Software) zu entwickeln. In anderen Worten: Wir verwenden Modelle um zu sehen was wir bekommen würden, wenn wir es bauen würden. 8 21.07.2010 Die Definitionsphase - Einführung

Was ist ein gutes Modell? Beziehungen, die in der Realität R gültig sind, sind auch im Modell M gültig. π : Abbildung der Realität R auf ein Modell M (Abstraktion) f M : Beziehungen zwischen Abstraktionen in M f R : equivalente Beziehungen zwischen echten Dingen in R In einem guten Modell ist das folgende Diagramm kommutativ: M f M M π R f R R π 9 21.07.2010 Die Definitionsphase - Einführung

Metamodellierung: Modelle von Modellen von Modellen... Modellierung ist relativ Wir können uns ein Modell als Realität vorstellen und dafür ein neues Modell (mit weiteren Abstraktionen) definieren Softwareentwicklung heißt Modelltransformation M 2 f M2 M 2 Analyse f M1 π 2 M 1 M 1 Anforderungsermittlung π 1 R f R R 10 21.07.2010 Die Definitionsphase - Einführung

Realitäten des Softwareingenieurs Softwareingenieure können verschiedene Realitäten modellieren und realisieren: Ein existierendes System (physikalisch, technisch, sozial oder Softwaresystem) modellieren und eine Realisierung bauen Das Softwaresystem stellt einen wichtigen Spezialfall dar: Wir sprechen von Altlasten (engl. Legacy-System ) Eine Idee ohne entsprechendes Gegenstück in der Realität modellieren und realisieren Ein visionäres Szenario oder eine Kundenanforderung In solchen Fällen wird häufig nur ein Teil des Originalmodells gebaut, weil der Rest z.b. zu kompliziert, zu teuer oder unnütz ist 11 21.07.2010 Die Definitionsphase - Einführung

Wie modellieren wir komplexe Systeme? Knowledge Knowledge about Causality (Dynamic Model) Knowledge about Relationships (Object model) Knowledge about Functionality (Functional model) State Diagrams (Harel) Petri Nets (Petri) Sequence Diagrams Activity (Lamport) Diagrams ("Flow-charts") Uncertain Knowledge Fuzzy Sets (Zadeh) Inheritance Frames, SemanticNetworks (Minsky) Formal Specifications (Liskov) Data Relationship (E/R Modeling, Chen) Neural Networks DataFlow Diagrams (SA/SD) Scenarios/Use Cases (Jacobson) Object Constraint Language (OCL) Fuzzy Frames (Graham) Class Diagrams ("E/R + Inheritance", Rumbaugh) Hierarchical Database Model (IMS) Network Database Model (CODASYL) Relational Database Model (Codd) 12 21.07.2010 Die Definitionsphase - Einführung