Software-Engineering

Ähnliche Dokumente
Software-Engineering

Software-Engineering

SWE5 Slide 1. Software-Engineering. Vorlesung 5 vom Sebastian Iwanowski FH Wedel

SWE4 Slide 1. Software-Engineering. Vorlesung 4 vom Sebastian Iwanowski FH Wedel

Objektorientierte Softwareentwicklung

Requirements Engineering I

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

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

Software-Engineering

Notationen zur Prozessmodellierung

Requirements Engineering I

Die Unified Modeling Language UML

Objektorientiertes Software-Engineering

Software-Engineering

Grundlagen der Programmentwurfstechnik Fundamentals of Software Engineering 1

Informationswirtschaft II Rational Unified Process (RUP)

Informationswirtschaft II

Software-Engineering

Requirements Engineering I

Inhaltsverzeichnis VII

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

Lehrstuhl für Datenverarbeitung. Technische Universität München. Grundkurs C++ Objektmodellierung. Grundkurs C++

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

1.3 Entwicklungsmethoden: Systematischer Überblick

Objektorientierte Programmierung (OOP)

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

Inhaltsverzeichnis.

Software Engineering

Tamagotchi-Spezifikation in UML

10. Programmierungs-Phase: Objektorientierung Software Engineering

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

Kapitel 2 - Die Definitionsphase

Software-Engineering

Software-Engineering

Softwaretechnik (Medieninformatik) Überblick

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

Datenbankanwendungen werden oft über einen sehr langen Zeitraum (z.b. Jahrzehnte) eingesetzt

Praxis der Softwareentwicklung

Universität Karlsruhe (TH)

Einführung in die Modellierung

Unit 8: ARIS and IS Modeling

Kapitel 2: Der Software-Entwicklungsprozess

Objektorientierte Modellierung (1)

7. Programmierungs- Phase Software Engineering (FB EIT) Wintersemester 2007 / 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik

Prof. Dr. rer. nat. Andreas Häuslein. Systemanalyse. Grundlagen, Techniken, Notierungen. VDE VERLAG GMBH Berlin Offenbach

Kapitel MK:III. III. Begriffe der Modellierung

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

Wirtschaftsinformatik 2 Modellierung betrieblicher Informationssysteme - MobIS

Software Engineering

Softwaretechnik (Allgemeine Informatik) Überblick

Methoden des Software Engineering

(BABOK-v3-Technik 10.41)

Praxis der Softwareentwicklung WS 2015/16

1.3 Entwicklungsmethoden: Systematischer Überblick

Grundlagen Software Engineering

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

1.4! Einführung. Systemmodellierung. Methoden und Werkzeuge

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

Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung

Softwareprozessmodelle

Übung Einführung in die Softwaretechnik

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

SOFTWAREPROJEKT (WI) Anforderungsanalyse. Projektveranstaltung im Wintersemester 2012/13 FG System- und Softwareengineering Dr.-Ing.

Software Engineering und Projektmanagement

Einführung in die Wirtschaftsinformatik

Software- und Systementwicklung

Objektorientierte Programmierung OOP

Lehrstuhl für Datenverarbeitung. Technische Universität München. Grundkurs C++ Objektmodellierung

Grundlagen der Programm- und Systementwicklung

Praxisbuch Objektorientierung

Objektorientierter Software-Entwurf Ergebnisse der funktionalen Zerlegung 3 1. Die Zerlegungsmethoden sollen in zwei Dimensionen betrachtet werden:

Modellierung von Geschäftsprozessen (MGP / GPM) Thematische Einführung

UML (Unified Modelling Language) von Christian Bartl

Einführung in die SWE

Lehrstuhl für Datenverarbeitung. Technische Universität München. Grundkurs C++ Objektmodellierung

Einführung. Rechnerarchitekturen Entwicklung und Ausführung von Programmen Betriebssysteme

3. GI-Workshop EPK 2004 Geschäftsprozessmanagement mit Ereignisgesteuerten Prozessketten Luxemburg. ARIS meets RUP

Introduction to Data and Knowledge Engineering Übung 1: Entity Relationship Model

Software-Engineering

Themen. Unified Modelling Language (UML) Assoziation. Aggregation. Komposition

Funktions- versus Objektorientierter Entwurf

Objektorientierte Analyse

Informationssystemanalyse Lebenszyklusmodelle 3 1. Lebenszyklusmodelle sollen hauptsächlich drei Aufgaben erfüllen:

Übung 4. Werkzeuge zur ER-Modellierung. Prof. Dr. Andreas Schmietendorf 1. Übung 4

Methoden und Architekturen der Softwaretechnik

Das Softwaresystem BASEMENT

Software Engineering in der Praxis

Praxis der Softwareentwicklung WS 2016/17

Einführung in die objektorientierte Programmierung

Analyse und Modellierung von Informationssystemen

Konzept und Umsetzung

Referent: Alessandro Arrigo AAM1. Professor: Prof. Dr. Heindl. Furtwangen,

Modellierung Zusammenfassung WS2000

Methodik. zur prozessübergreifenden Integration. der Digitalen Fabrik. der Rechts- und Wirtschaftswissenschaftlichen Fakultät

Knasmüller.book Seite vii Mittwoch, 28. März : vii. Inhaltsverzeichnis

IT-Projekte strukturiert realisieren

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

Praxis der Softwareentwicklung

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

Objektorientierte Programmierung

Transkript:

SWE2 Slide 1 Software-Engineering Sebastian Iwanowski FH Wedel Kapitel 2: Grundbegriffe und Prinzipien

SWE2 Slide 2 Grundbegriffe der Software-Entwicklung: Systeme System Ausschnitt aus der realen oder gedanklichen Welt besteht aus konkreten oder abstrakten Komponenten und deren Beziehungen untereinander Systemgrenze Festlegung, was zum System gehört und was nicht Interessierender Ausschnitt der (realen) Welt Systemstruktur Stellung der Systemelemente zueinander, die sich durch die Beziehungen ergibt Systemhierarchie Elemente des Systems sind entweder atomar oder wiederum Systeme (Subsysteme)

Grundbegriffe der Software-Entwicklung: Systeme SWE2 Slide 3

SWE2 Slide 4 Grundbegriffe der Software-Entwicklung: Systeme Systeminteraktion Austausch des Systems mit der Systemumgebung über die Schnittstelle durch Inputs und Outputs Komplexität von Systemen Strukturelles Merkmal, das von der Anzahl der Komponenten und der Verbindungen abhängt Systemzustand Belegung von Komponenten(teilen) mit Werten Dynamik von Systemen Veränderung des Systemzustands in Abhängigkeit von der Zeit (unabhängig von Eingriffen von außen) Statische Systeme Systemzustand ändert sich nur bei Eingriffen von außen, und auch das nur unmittelbar

SWE2 Slide 5 Grundbegriffe der Software-Entwicklung: Modelle Modelle sind Beschreibungen von Systemen dienen der Reduzierung der Systemkomplexität treten bei der Bearbeitung an die Stelle von Systemen dienen einem bestimmten Zweck können dasselbe System auf unterschiedliche Weise beschreiben Modelle sind die Voraussetzung für die Entwicklung von Software für die Systembearbeitung Die Fähigkeit zur Bildung und kompetenten Handhabung von Modellen ist eine Schlüsselanforderung an Informatiker

SWE2 Slide 6 Prinzipien des Software-Engineering Die folgenden Prinzipien sind bei jeder Phase des Software-Engineering relevant Die drei Grundprinzipien: Abstraktion Zerlegung Perspektivenbildung Weitere wichtige Prinzipien für die Softwareentwicklung Integrierte Dokumentation Mehrfachverwendbarkeit Standardisierung

SWE2 Slide 7 Das Prinzip der Abstraktion Vorgehen der Abstraktion Abstraktion verallgemeinert durch Vernachlässigen von Eigenschaften Abstraktion trennt Wesentliches vom Unwesentlichen Was "unwichtig" ist, ist im Einzelfall schwer zu entscheiden und hängt von der Problemstellung ab Abstraktion ist insbesondere in den frühen Phasen der Software-Entwicklung von Bedeutung

SWE2 Slide 8 Vorteile der Abstraktion Das Prinzip der Abstraktion Durch Weglassen "unwichtiger" Eigenschaften kann die Systemkomplexität reduziert werden. Abstraktion erreicht in der Regel eine größere Allgemeingültigkeit. Nachteile der Abstraktion Manchmal werden leider doch wichtige Dinge weggelassen. Modellbildung und Modellverständnis setzt Übung voraus.

SWE2 Slide 9 Vorgehen der Zerlegung Das Prinzip der Zerlegung Zerlegung grenzt Bestandteile vom Ganzen ab. Zerlegung betrachtet und bearbeitet die Bestandteile getrennt. Zerlegung strukturiert das System. Verschiedene Zerlegungstypen: Hierarchisierung, Modularisierung. Vorteile Komplexität der Bestandteile geringer als die des Ganzen: besseres Verständnis, weniger Fehler Arbeitsteilige, parallele Bearbeitung der Bestandteile möglich Bessere Änderungsfähigkeit, Wiederverwendbarkeit

Das Prinzip der Zerlegung Die Zerlegungstypen: Hierarchisierung und Modularisierung Modularisierung Schaffung von funktional abgeschlossenen Bausteinen auf einer Hierarchiestufe Festlegung der Schnittstellen zwischen den Modulen Bsp. einer Systemstruktur: a = 2 b = 3 c = 2 d = 3 e = 2 f = 3 M 1 M 2 M 3 z x y a 11 a 12 A 1 A 2 a 13 g h SWE2 Slide 10

SWE2 Slide 11 Das Prinzip der Zerlegung Die Zerlegungstypen: Hierarchisierung und Modularisierung Hierarchisierung Anordnung von Elementen nach einer Rangordnung Elemente gleicher Rangordnung bilden eine Hierarchiestufe a 11 a 12...... A 1 a 13

SWE2 Slide 12 Das Prinzip der Perspektivenbildung Vorgehen Separate Analyse desselben Sachverhaltes unter verschiedenen Sichten Einnehmen unterschiedlicher Perspektiven stellt große Anforderung an Systementwickler Vorteile Berücksichtigung aller relevanten Aspekte einer Problemstellung Weniger Fehler in frühen Phasen der Software-Entwicklung (Analyse)

SWE2 Slide 13 Das Prinzip der Perspektivenbildung Die verschiedenen Sichten der Perspektivenbildung: Funktionsorientierte Sicht (datenflußorientiert) z.b. HIPO (Hierarchy of Input-Process-Output) der IBM (1965-) z.b. SA (Structured Analysis) von DeMarco (1979-) Datenorientierte Sicht z.b. ERM (Entity-Relationship-Model) von Chen (1976-) Objektorientierte Sicht z.b. UML (Unified Modeling Language) von Booch, Rumbaugh, Jacobson (91-) Geschäftsprozessorientierte Sicht z.b. EPK (Ereignisorientierte Prozessketten)

SWE2 Slide 14 Bsp.: Diagnose aus datenflussorientierter Sicht Betrachtung der Steuerung für die Diagnoseberechnung Systemmodell Simulation unter Fehlerannahme konsistent? nein ja revidiere Fehlerannahme Messung Fehlerannahme ist die Diagnose

SWE2 Slide 15 Bsp.: Diagnose aus geschäftsprozessorientierter Sicht Betrachtung der Prozesskette für die Diagnoseanforderungen Requirement Analysis Concept Design Detailed Design Test diagnosis where to get the diagnostic knowledge? Manufacturing Service Sale

SWE2 Slide 16 Zusammenfassung Grundbegriffe und Prinzipien System Modell Abstraktion Zerlegung Perspektivenbildung (Einnehmen verschiedener Sichten)