Block R (Rahmen): SE Aktivitäten 21.10.04 2. Vorlesung Methoden des Software Engineering. Block R Rahmen Aktivitäten der Software-Entwicklung



Ähnliche Dokumente
Kapitel 2: Der Software-Entwicklungsprozess

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

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

Softwaretechnik. Fomuso Ekellem WS 2011/12

Das chronische Problem der Anforderungsanalyse und die Frage: Fehler vermeiden oder früh entdecken? Oral Avcı ZU KÖLN

Some Software Engineering Principles

Abschnitt 16: Objektorientiertes Design

Copyright 2014 Delta Software Technology GmbH. All Rights reserved.

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

Software Engineering. Dokumentation. Wintersemester 2005/06. Kapitel 21. Universität Zürich Institut für Informatik

Projektmanagement. Dokument V 1.1. Oliver Lietz - Projektmanagement. Wie kommt es zu einem Projektauftrag? Ausführung

Fragebogen zur Anforderungsanalyse

Wirtschaftsinformatik I Teil 2. Sommersemester Übung

Softwareentwicklungsprozess im Praktikum. 23. April 2015

16 Architekturentwurf Einführung und Überblick

Software Engineering. Dokumentation! Kapitel 21

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

Softwaretechnik. Fomuso Ekellem WS 2011/12

Klassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java


SWE12 Übungen Software-Engineering

REQUIREMENTS ENGINEERING KONSTRUKTIVE QS REQUIREMENTS ENGINEERING 1

Software Systems Engineering

Probeklausur. Lenz Belzner. January 26, Lenz Belzner Probeklausur January 26, / 16

Agile Software-Entwicklung im Kontext der EN50128 Wege zum Erfolg

Erfolgreiche Realisierung von grossen Softwareprojekten

Requirements Engineering für IT Systeme

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

PRÜFUNG FÜR ELEKTROINGENIEURE. Softwaretechnik I. Musterlösung SS Ohne Gewähr -

Evaluation of Database Design and Reverse Engineering Tools for a Large Software System

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

Grundlagen Software Engineering

Software Engineering. Sommersemester 2012, Dr. Andreas Metzger

Softwareanforderungsanalyse

Klausur Software Engineering für WI (EuI)

Die Softwareentwicklungsphasen!

BIF/SWE - Übungsbeispiel

Agiles Testen. Gedankensammlung. 17. November Patrick Koglin

Informationswirtschaft II Rational Unified Process (RUP)

Informationswirtschaft II

Validierung und Verifikation!

Programmieren Lernen mit BYOB. Gerald Futschek 5. November 2012

Vgl. Kapitel 4 aus Systematisches Requirements Engineering, Christoph Ebert

ecambria experts IT-Projekte in der Krise Ursachen und Vermeidungsstrategien aus Sicht eines Gerichtssachverständigen

Software-Entwicklung

VBA-Programmierung: Zusammenfassung

Einführung und Motivation

Vgl. Kapitel 5 aus Systematisches Requirements Engineering, Christoph Ebert

Requirements-Traceability in der industriellen Praxis Ziele und Einsatz

Test-Driven Design: Ein einfaches Beispiel

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

3. Stored Procedures und PL/SQL

Software Engineering. Bibliographisches Institut & F. A. Brockhaus AG, Mannheim; Spektrum Akademischer Verlag GmbH, Heidelberg, 2003

7. Analyse-Phase: Datenmodellierung Software Engineering

Wirtschaftsinformatik 2 Modellierung betrieblicher Informationssysteme - MobIS

Objektorientierter Software-Entwurf Grundlagen 1 1. Analyse Design Implementierung. Frühe Phasen durch Informationssystemanalyse abgedeckt

ERP-Evaluation systematisch und sicher zum optimalen ERP-System

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

SDD System Design Document

Comparing Software Factories and Software Product Lines

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

Übungsaufgaben zum Software Engineering: Management

Praktikum Grundlagen der Programmierung. Dokumentation. Dr. Karsten Tolle

Lohnt sich Requirements Engineering?

Dr. Klaus Körmeier BlueBridge Technologies AG

Wir erledigen alles sofort. Warum Qualität, Risikomanagement, Gebrauchstauglichkeit und Dokumentation nach jeder Iteration fertig sind.

Wir beraten Sie. Wir unterstützen Sie. Wir schaffen Lösungen. Wir bringen Qualität. Wir beraten Sie. Wir unterstützen Sie. Wir schaffen Lösungen

Klausur Software-Engineering SS 2005 Iwanowski

Validierung und Verifikation

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am

Übungsklausur vom 7. Dez. 2007

Softwaretechnologie -Wintersemester 2013/ Dr. Günter Kniesel

StuPro-Seminar Dokumentation in der Software-Wartung. StuPro-Seminar Probleme und Schwierigkeiten in der Software-Wartung.

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

Requirements Engineering I. Der Spezifikationsprozess!

Allgemeines zu Datenbanken

SEP 114. Design by Contract

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

Software-Entwicklungsprozesse zertifizieren

Die Welt der SW-Qualität Ein Streifzug in 30 Minuten! Johannes Bergsmann Eigentümer

FACHHOCHSCHULE MANNHEIM

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

32 Bachelorstudiengang Allgemeine Informatik

Agile Softwareprozess-Modelle

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008

Softwarequalität: Zusammenfassung und Ausblick. 17. Juli 2013

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers

T1 - Fundamentaler Testprozess

BSV Ludwigsburg Erstellung einer neuen Internetseite

Kompetenz. rund um. Ihren. Entwicklungsprozess. Über uns. Technische Software. Modellbasierter Test. Prüfplätze. Automatisierung.

White Paper. Konfiguration und Verwendung des Auditlogs Winter Release

Semantik von Formeln und Sequenzen

Übung 6: Feinentwurf. Prof. Dr. Dr. h.c. Manfred Broy Dr. Herbert Ehler, Martin Feilkas 6. Juli 2006 Bernd Spanfelner, Sebastian Winter

Das System sollte den Benutzer immer auf dem Laufenden halten, indem es angemessenes Feedback in einer angemessenen Zeit liefert.

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

Prozess-Modelle für die Softwareentwicklung

Requirements Engineering

SERVICE SUCHE ZUR UNTERSTÜTZUNG

Kapitel 10: Dokumentation

Transkript:

Block R (Rahmen): SE Aktivitäten 21.10.04 1 Vorlesung Methoden des Software Engineering Block R Rahmen Aktivitäten der Software-Entwicklung Martin Wirsing Einheit R.2, 21.10.2004 Block R (Rahmen): SE Aktivitäten 21.10.04 2 Ziel heute Historische Entwicklung des Software Engineering Software-Entwicklungsaktivitäten 1

Block R (Rahmen): SE Aktivitäten 21.10.04 3 Anfänge des Software Engineering Sehr häufiges Scheitern von Softwareprojekten führt zum Schlagwort Softwarekrise Und zur Konferenz über Software Engineering NATO Konferenz, Garmisch-Partenkirchen 1968 F.L. Bauer E.W. Dijkstra Block R (Rahmen): SE Aktivitäten 21.10.04 4 Software Engineering (Wiederholung)! Software Engineering bedeutet die Anwendung von systematischen, disziplinierten und quantifizierbaren Ansätzen zur Entwicklung, Betrieb und Wartung von Software. IEEE Std. 610.12 (1990) 2

Block R (Rahmen): SE Aktivitäten 21.10.04 5 Gebiete des Software Engineering Allgemeine Einteilung: Projektmanagement Vorgehensmodellierung SW-Entwicklung Requirements Engineering SW Architektur & -Entwurf Wartung Qualitätssicherung (incl. Testverfahren) Werkzeugunterstützung (CASE) Spezielle Methoden hängen ab von Systemart: z.b. reaktiv, parallel, eingebettet, web-basiert,... Anwendungsgebiet Block R (Rahmen): SE Aktivitäten 21.10.04 6 Jede Software-Entwicklungsmethode! umfasst Vorgehensmodellierung legt fest Schritte, Reihenfolge, erwartete Ergebnisse Notation Syntax von Dokumenten, Diagrammtypen, (Semantik)! basiert auf Werkzeugunterstützung Verfahren zur Konstruktion, Analyse, Transformation Grundprinzipien 3

Block R (Rahmen): SE Aktivitäten 21.10.04 7 Historische Entwicklung: Programmierkonstrukte und SE-Methoden Agile Methoden 2000 Compilertechniken Strukturierte SE Methoden 1970 Objekt-Orientierte SE-Methoden 75 85 1990 1980 Objekt-orientierte Programmierung Struktur. Programmierung 1950 Algor. & Datenstrukturen 1960 Höhere Prog.sprachen Prozeduren Makros Block R (Rahmen): SE Aktivitäten 21.10.04 8 Historische Entwicklung: Programmierung und SW Engineering Fragestellungen Spezifikation 1960 + 5 irgendwie Präziser Gebrauch natürlicher Sprache 1970 + 5 im Kleinen Einfache Ein/Ausgabe Spez. 1980 + 5 im Großen Systeme mit Komplexen Spez. 1990 + 5 Verteilter Systeme Spez. Verteilter Systeme 2000 + 5 in der Welt Spez. globaler, eingebetter Systeme Entwurf Daten Kleine Programme Symbolische Daten Algorithmen Datenstrukturen & Typen Systemstrukturierung Lang-lebende Datenbanken Subsysteminteraktionen Komponenten Subsysteminteraktionen Agenten Kontrolle Einfache Kontrolle (Goto) Progr. 1-mal ausführen & terminieren Nichttermin. Progr. Kommunizierende Programme Mobile, pervasive Programme 4

Block R (Rahmen): SE Aktivitäten 21.10.04 9 Software-Entwicklungsaktivitäten Anforderungserwerb Anforderungsanalyse Architektur & Entwurf Implementierung Test Wartung Sammlung der Nutzeranforderungen Modellierung und Spezifikation der Systemanforderungen ( Was ) Modellierung und Spezifikation einer Lösung ( Wie ) Konstruktion einer Software-Lösung Validierung der Lösung bzgl. der Anforderungen Reparatur von Fehlern und Anpassung an neue Anforderungen Bemerkung: Dies sind keine sequenziellen Phasen! Block R (Rahmen): SE Aktivitäten 21.10.04 10 Anforderungserwerb Benutzeranforderungen werden häufig informell beschrieben durch Features und Nutzungsszenarios Obwohl Anforderungen schriftlich dokumentiert sind, können sie sein: unvollständig, mehrdeutig oder sogar inkorrekt. Anforderungen ändern sich! Weil sie zunächst nicht angemessen ermittelt oder ausgedrückt wurden Nutzer- und Geschäftsbedürfnisse sich während des Projekts ändern können Validierung wird überall im SW-Lebenszyklus benötigt, nicht nur wenn das endgültige System ausgeliefert wird Wichtig: Feedback und mögliche Änderungen im Projektplan vorsehen Frühe Prototyperstellung (z.b. eines UI) kann zur Klärung der Anforderungen beitragen 5

Block R (Rahmen): SE Aktivitäten 21.10.04 11 Anforderungsanalyse Mit Analyse bezeichnet man den Prozess des Spezifizierens, was das geplante System erfüllen soll Das Resultat der Analyse ist das (Anforderungs-) Spezifikationsdokument. Erfüllt die Anforderungsspezifikation die aktuellen Wünsche des Benutzers? Objekt-Orientierte Analyse Zielorientierte Analyse Block R (Rahmen): SE Aktivitäten 21.10.04 12 Entwurf Entwurf ist der Prozess des Spezifizierens, wie das geforderte Systemverhalten (durch Softwarekomponenten) realisiert wird. Resultat sind Architektur- und detaillierte Entwurfskomponenten. Objekt-orientierter Entwurf konstruiert Lösungen, die beschreiben: wie Systemoperationen durch interagierende Objekte implementiert werden welche Beziehungen und Vererbungsstrukturen Klassen untereinander besitzen welche Attribute und Operationen zu den Klassen gehören Entwurf ist ein iterativer Prozess Conway s Law Organizations that design systems are constrained to produce designs that are copies of the communication structures of these organizations 6

Block R (Rahmen): SE Aktivitäten 21.10.04 13 Implementierung und Test Implementierung ist die Aktivität der Konstruktion einer Software- Lösung für die Benutzeranforderungen Testen ist der Prozess der Validierung der Lösung gegenüber den Anforderungen. Das Resultat von Implementierung und Test ist eine vollständig dokumentierte und validierte Lösung Entwurf, Implementierung and Test sind iterative Aktivitäten Testen und Implementierung gehen Hand in Hand: Idealerweise werden die Testfälle vor Entwurf und Implementierung geschrieben (Test-first programming, XP) Block R (Rahmen): SE Aktivitäten 21.10.04 14 Wartung Mit Wartung bezeichnet man den Prozess der Änderung des Systems, nachdem es ausgeliefert wurde. Korrigierende Wartung: Fehler identifizieren und beheben Adaptive Wartung: Die existierende Lösung an neue Plattformen anpassen Perfektionierende Wartung: Optimierung, Implementierung neuer Anforderungen Wartung erfordert: Konfigurations- und Versionsmanagement Re-engineering: Redesign und Restrukturierung (Refactoring) Anpassung aller Analyse-, Entwurfs- und Benutzerdokumentation Wiederholbare, automatisierte Test ermöglichen Evolution und Restrukturierung 7

Block R (Rahmen): SE Aktivitäten 21.10.04 15 Zusammenfassung Software Engineering umfasst folgende Gebiete: Projektmanagement Vorgehensmodelle Software-Entwicklung Software-Qualitätsmanagement Werkzeugunterstützung (CASE) Software-Entwicklung umfasst folgende Aktivitäten: Anforderungserwerb Anforderungsanalyse Architektur & Entwurf Implementierung Test Wartung 8