Objektorientierte Analyse

Ähnliche Dokumente
Teil III der Vorlesung Objektorientierte Analyse (OOA) 30) Überblick über die OOA

Objektorientierte Analyse

Obligatorische Literatur. Teil III der Vorlesung Objektorientierte Analyse (OOA) 30) Überblick über die OOA

Teil III der Vorlesung Objektorientierte Analyse (OOA) 30) Überblick über die OOA

Objektorientierte Analyse

Teil III der Vorlesung Objektorientierte Analyse (OOA) 30) Überblick über die OOA

Requirements Engineering I

Klausur Software Engineering für WI (EuI)

Informationswirtschaft II Rational Unified Process (RUP)

Informationswirtschaft II

Requirements Engineering Übung 8 Systemmodellierung im RE

Was ist EMF? Wie wird EMF eingesetzt? Was ist ecore? Das Generatormodell Fazit

Use Cases. Use Cases

Requirements Engineering für IT Systeme

Use Cases. Die Sicht des Nutzers. Fortgeschrittenenpraktikum SS 2004

OOA.3.1 Funktionsanalyse mit Anwendungsfalldiagrammen (Szenarienanalyse)

Objektorientierte Analyse. Verfeinerung mit Konnektoren (Kollaborationen, Teams, Rollenmodellen) Obligatorische Literatur

Techniken der Projektentwicklungen

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

Kapitelübersicht. Was ist So#waretechnik? Historische Entwicklung der So9waretechnik Prinzipien, Methoden, Werkzeuge. Was bedeutet Objektorien+erung?

Software Engineering

Software-Engineering

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

Obligatorische Literatur. Überblick Teil III: Objektorientierte Analyse (OOA) 35.1 Anwendungsfalldiagramme

4. AuD Tafelübung T-C3

Vorlesung "Software-Engineering"

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

Vorlesung Programmieren

Einführung in die Programmierung für NF

Abschnitt 16: Objektorientiertes Design

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

Objektorientierte Analyse

Vgl. Kapitel 5 aus Systematisches Requirements Engineering, Christoph Ebert

Vortrag von: Ilias Agorakis & Robert Roginer

EPK Ereignisgesteuerte Prozesskette

Erfassung von Umgebungskontext und Kontextmanagement

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 22

Requirements Management mit RequisitePro. Rational in der IBM Software Group. Der Rational Unified Process als Basis für die Projektarbeit

Trotz Agilität nicht ins Abseits geraten Modellierung in einem agilen Umfeld. Susanne Mühlbauer, Philip Stolz, HOOD GmbH MID Insight 2012

Projektmodell Softwareentwicklung: Unified Software Development Process / Unified Process (Teil I)

Objektorientierte Analyse

Es war einmal... "StudyING: Welten bewegen - Welten gestalten"

RUP Analyse und Design: Überblick

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Software Engineering. 3. Anforderungsanalyse. Franz-Josef Elmer, Universität Basel, WS 2006/07

Professionelle Seminare im Bereich MS-Office

VL2: Softwareprojekt - Anforderungsanalyse. Inhalt. 1. Struktur eines Softwareprojektes

Über den Unterschied zwischen Business Analysis und Requirements Engineering & Management

Das Pflichtenheft. Dipl.- Ing. Dipl.-Informatiker Dieter Klapproth Ains A-Systemhaus GmbH Berlin

SMART Newsletter Education Solutions April 2015

3. Objektorientierte Analyse

16 Architekturentwurf Einführung und Überblick

Softwaretechnologie Wintersemester 2009/2010 Dr. Günter Kniesel, Pascal Bihler

Grundlagen Software Engineering

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de

Exkurs: Formatvorlage für Anforderungsanalyse-Dokument

Erfolgreiche Realisierung von grossen Softwareprojekten

Anwendungspraktikum aus JAVA Programmierung im SS 2006 Leitung: Albert Weichselbraun. Java Projekt. Schiffe Versenken mit GUI

Lean Modeling - Datenmodelle und Geschäftsregeln einfach und präzise mit natürlicher Sprache spezifizieren

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

Dr. Hanno Schauer Mons-Tabor-Gymnasium Montabaur. UML-Klassendiagramme als Werkzeug im Unterricht

Business-Analyse Probleme lösen, Chancen nutzen

Grundzüge der Programmierung. Konzepte der objektorientierten Programmierung (oop) OBJEKTE - KLASSEN

Unsere Kunden erzählen keine Geschichten. Ursula Meseberg microtool GmbH Berlin

Softwaretechnik (Allgemeine Informatik) Überblick

Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg.

Java Einführung Packages

Auswahl alter Klausuraufgaben aus einer ähnlichen Vorlesung Maßgeblich für die Prüfung sind die Vorlesungsinhalte!

7. Analyse-Phase: Datenmodellierung Software Engineering

Agiles Design. Dr.-Ing. Uwe Doetzkies Gesellschaft für Informatik mail:

Kurzanleitung OOVS. Reseller Interface. Allgemein

SWT II Projekt. Chat - Anwendung. Pflichtenheft 2000 SWT

Kapitel 2: Der Software-Entwicklungsprozess

Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich. Softwaretechnik I

Übungsblatt 5 - Lösungshilfe

VHDL Einleitung. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2010

Systemdenken und Gestaltungsmethodik System-Modellierung

Fachdidaktik der Informatik Jörg Depner, Kathrin Gaißer

Jürgen Schwab, debis Systemhaus

Step by Step Webserver unter Windows Server von Christian Bartl

Requirements Engineering

Informationssystemanalyse Problemstellung 2 1. Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse:

Grundbegriffe der Informatik

arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek

Produktvorstellung: CMS System / dynamische Webseiten. 1. Vorwort

Praktikum Grundlagen der Programmierung. Diverse Grundlagen. Dr. Karsten Tolle

1 Mathematische Grundlagen

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

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

Kurzanweisung für Google Analytics

Requirements Engineering WS 11/12

Softwareanforderungsanalyse

How-to: Webserver NAT. Securepoint Security System Version 2007nx

Einführung und Motivation

Unified Modeling Language (UML)

Object Web ein Ansatz für Collaborative Engineering

Seamless Model-based Engineering of a Reactive System

Rhapsody in J Modellierung von Echtzeitsystemen

Taking RM Agile. Erfahrungen aus dem Übergang von traditioneller Entwicklung zu Scrum

Bachelor Prüfungsleistung

Transkript:

Objektorientierte Analyse 1) Systemanalyse Einführung Prof. Dr. rer. nat. habil. Uwe Aßmann Institut für Software- und Multimediatechnik Lehrstuhl Softwaretechnologie Fakultät für Informatik TU Dresden Softwaretechnologie, Prof. Uwe Aßmann 1

Obligatorische Literatur Zuser, Kap. 7-9 Störrle, Kap. 5 Prof. Uwe Aßmann, Softwaretechnologie 2

Objektorientierte Analyse und Entwurf Die Arbeitsphase Analyse ermittelt, was der Benutzer vom System benötigt Schnittstellen (Funktionen, Daten, Klassen, Code) Begriffe der Anwendungsdomäne Oft nennt man sie Systemanalyse oder Anforderungsanalyse Die Arbeitsphase Entwurf ermittelt, was der Entwickler zusätzlich zu den Ergebnissen der Analyse ins System aufnehmen muss, was aber der Benutzer nicht sehen muss. Prof. Uwe Aßmann, Softwaretechnologie 3

Von der Analyse zum Entwurf Vertrag mit dem Kunden Analyse Anforderungs- Ermittlung Fachliche Modellierung Anforderungs- Spezifikation Produktdefinition (Anforderungen und fachliches Modell) Architektur- Spezifikation Architektur- Entwurf Klassen- Spezifikationen Entwurf Detail- Entwurf Prof. Uwe Aßmann, Softwaretechnologie 4

Von den Anforderungen zum Feinentwurf Produktdefinition Textuelle Anforderungen Nutzermodell Anforderungsspezifikation Anwendungsfälle (use cases) Top-levelanalysis Architektur Kontextmodell model (context model, system interface) Fachliches Modell Domänenmodell Architektur- Entwurf Feinentwurf Prof. Uwe Aßmann, Softwaretechnologie 5

Von den Anforderungen zum Feinentwurf Problemraum (problem space Produktdefinition Lösungsraum (Systemraum solution space) Textuelle Anforderungen Nutzermodell Anforderungsspezifikation Anwendungsfälle (use cases) Top-levelanalysis Architektur Kontextmodell model (context model, system interface) Fachliches Modell Domänenmodell Architektur- Entwurf Feinentwurf Prof. Uwe Aßmann, Softwaretechnologie 6

Schematischer Ablauf der Analyse (Anforderungen und fachliches Modell) preparatory requirements analysis Domain Model real requirements analysis Anforderungen Funktionale Anforderungen GUI Prototyp Produktdefinition basic system analysis Pflichtenheft Top-level architecture Context Model Vertrag Prof. Uwe Aßmann, Softwaretechnologie 7

Schematischer Ablauf der Analyse (Anforderungen und fachliches Modell) Stakeholder Analysis (Nutzergruppen) preparatory requirements analysis Domain Analysis (Domain concepts) Domain Model real requirements analysis Function Analysis - Use case analysis GUI Analysis Anforderungen Produktdefinition Funktionale Anforderungen Context Model Context Model Analysis GUI Prototyp basic system analysis Pflichtenheft Top-level Architecture Analysis Top-level architecture Vertrag Prof. Uwe Aßmann, Softwaretechnologie 8

Voller Ablauf der Analyse (s. SWT-2) Stakeholder Analysis (Nutzergruppen) Problem Analysis preparatory requirements analysis Domain Analysis (Domain concepts) Domain Model Goal Analysis Function Analysis - Use case analysis Quality Analysis (Non-functional Reqs) real requirements analysis GUI Analysis Anforderungen Funktionale Anforderungen Context Model Analysis GUI Prototyp basic system analysis Produktdefinition Pflichtenheft Context Model Top-level Architecture Analysis Acceptance Criteria Analysis Project Task Planning Acceptance Test Top-level architecture Vertrag Prof. Uwe Aßmann, Softwaretechnologie Acceptance Tests 9

Inhalte eines Vertrags Pflichtenheft Produktdefinition. Anforderungsspezifikation (das WAS) Nutzermodell (stakeholders) Domänenmodell Funktionale Anforderungen In SWT 2: Problemmodell, Zielmodell, Nicht-funktionale Anforderungen. Fachliches Modell (das WIE, das der Kunde wissen muss) Kontextmodell GUI-Prototyp Top-level-Architektur Akzeptanztestfälle:. Messbare Akzeptanzkriterien, die bei der Abnahme vom Kunden abgehakt werden können. Ohne bestandenen Akzeptanztest keine Bezahlung! Preisliche Regelung Achtung: In der Literatur wird der Begriff Analysemodell sowohl für die Produktdefinition als auch nur für das fachliche Modell verwendet! Prof. Uwe Aßmann, Softwaretechnologie 10

Inhalte der Anforderungspezifikation (WAS?) Nutzermodell (stakeholder model): Liste oder UML-Klassendiagramm aller am System Interessierten In SWT-2 verfeinern wir das, in dem wir über die Ziele der stakeholder nachdenken Enthält die Benutzer des Systems (die Aktoren) Domänenmodell (domain model): Termini, Struktur und Grundkonzepte des Aufgabengebiets Schaffung einheitlicher Terminologie für die Anforderungsspezifikation Aus der Sicht des Kunden Zusammenhang mit Anforderungsspezifikation sichern Implementierungsaspekte ausklammern: Annahme perfekter Technologie Problemmodell, Zielmodell (s. SWT-2) Prof. Uwe Aßmann, Softwaretechnologie 11

Inhalte der Anforderungspezifikation Funktionale Anforderungen: Funktionale Essenz des Systems. Was muss das System können? Nicht das Wie, sondern nur das Was möglichst quantitativ (z.b. Tabellenform) eindeutig identifizierbar (Nummern) Notation: Anwendungsfalldiagramme (Nutzfalldiagramme), Funktionsbäume oder textuell. Manchmal auch mathematisch Nicht-funktionale Anforderungen: Qualitätsanforderungen (s. SWT-2) z.b. Antwortzeit, Speicherbedarf, HW/SW-Plattform Entwicklungs- und Produkt-Standards Prof. Uwe Aßmann, Softwaretechnologie 12

Inhalte des Fachlichen Modells (Fachkonzept) (Das WIE, das der Kunde wissen muss) Kontextmodell: äussere Schnittstellen des Systems Ein- und Ausgabekanäle, Masken, Abfragen Daten, die ein und aus fliessen, im Domänenmodell typisiert GUI Prototyp: Prototypische Masken, Formulare, Bildschirme, die den GUI ausmachen: Wie sieht das Programm aus? Top-level Architektur (Initiale Architektur, Facharchitektur): Bestimmt die Hauptkomponenten des Systems und ihre Interaktionen, ohne auf Details einzugehen Verfeinert das Kontextmodell um eine Stufe, d.h. die top-level Architektur Stellt das dar, was der Kunde von der Systemarchitektur wissen muss Prof. Uwe Aßmann, Softwaretechnologie 13

Objektorientierte Analyse (OOA) Grundidee: Modellierung der fachlichen Aufgabe (Produktdefinition mit Fachlichem Modell und Anforderungsspezifikation) durch kooperierende parallele Objekte. Produktdefinition (OOA Modell) Statisches Modell Dynamisches Modell Anforderungsspez. Klassen: Eigenschaften und Aufgaben von Objekten Beziehungen zwischen Klassen (bzw. Objekten) beschreibt Typische Anwendungsfälle (Anforderungen) Zustände und Verhalten von Objekten System als "Gesellschaft" kooperierender Objekte Stakeholders Domänenmodell Funktionale Anforderungen Fachl.Modell GUI-Prototyp Kontext- Diagramm Top-level Architektur Prof. Uwe Aßmann, Softwaretechnologie 14

Von Analysemodellen zu BCE- Entwurfsmodellen (3-Schichtenarchitektur) Stakeholders GUI-Prototyp Domänenmodell Anforderungen (z.b. use cases) Kontext- Diagramm Top-level Architektur OOA- Modell GUI (boundary) GUI-Architektur - Text UI - Web GUI - Java GUI - XML GUI GUI-Schicht Anwendungslogik (control) Architektur Prozesse, Tools, Workflows Feinentwurf Datenhaltung (entity) Entwurf Datenmodell (Entitites, Materialien) Anwendungslogik- Implementierung Datenmodell- Implementierung OOD- Modell OOP Prof. Uwe Aßmann, Softwaretechnologie 15

Zum Praktikum mehr als 95% aller Themen im Praktikum sind BCE-Architekturen Oft mit Web-GUI Unterscheidung zwischen GUI, Anwendungslogik und Datenhaltung ist essentiell Man sollte verstehen, dass aus dem Domänenmodell die Datenhaltung folgt die Typen der Daten folgen, die im Kontextmodell und in der Top-Level- Architektur fliessen der GUI-Prototyp stark bestimmt wird (Kommunikation mit dem Benutzer) Die Entwickler oft nur für B, C, oder E zuständig sind Prof. Uwe Aßmann, Softwaretechnologie 16

Unified Modeling Language UML Ca. 1990: OOD Booch... OOSE Jacobson OMT Rumbaugh et al. 1995: UML ist eine Notation der 2. Generation für objektorientierte Modellierung UML ist Industriestandard der OMG (Object Management Group) http://www.omg.org/uml Booch / Rumbaugh / Jacobson 1997: UML 1.1 1999: UML 1.3 2001: UML 1.4 2002: UML 1.4.1 2004: UML 2.0 Prof. Uwe Aßmann, Softwaretechnologie 17

Überblick Objektorientierte Analyse 1 Überblick Systemanalyse 2 Strukturelle Modellierung mit CRC-Karten 2b Strukturelle datengetriebene Modellierung mit UML 3 Anwendungsfälle 4 Dynamische Modellierung mit UML Prof. Uwe Aßmann, Softwaretechnologie 18

Modeling the Real Solution Prototype of a washing machine Find the right abstractions! Prof. Uwe Aßmann, Softwaretechnologie 19

The Basic Laws of Misunderstanding Spoken is not heard Heard is not listened Listened is not understood Understood is not accepted Accepted is not done Prof. Uwe Aßmann, Softwaretechnologie 20

The End Teile der Folien sind eine überarbeitete Version der Vorlesungsfolien zur Vorlesung Softwaretechnologie von Prof. H. Hussmann, 2002. used by permission. Prof. Uwe Aßmann, Softwaretechnologie 21