Software Engineering



Ähnliche Dokumente
IT-Projekt-Management

Software-Engineering und Optimierungsanwendungen in der Thermodynamik

Abschnitt 16: Objektorientiertes Design

Kapitel 2: Der Software-Entwicklungsprozess

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

Einführung in die Informatik

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

1. Grundbegriffe des Software-Engineering

Informationswirtschaft II Rational Unified Process (RUP)

Informationswirtschaft II

16 Architekturentwurf Einführung und Überblick

Die Softwareentwicklungsphasen!

Programmierung, Algorithmen und Techniken. von Thomas Ohlhauser

Prozess-Modelle für die Softwareentwicklung

17 Architekturentwurf Vorgehen und Dokumentation

FACHHOCHSCHULE MANNHEIM

Softwareentwicklungsprozess im Praktikum. 23. April 2015

Grundlagen Software Engineering

Requirements Engineering I

Übungen Softwaretechnik I

Software Engineering

Softwaretechnik. Fomuso Ekellem WS 2011/12

Software-Engineering

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

Qualität bei evolutionärer Entwicklung

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

Daniel Warneke Ein Vortrag im Rahmen des Proseminars Software Pioneers

Software Systems Engineering

T3 Testen im Software- Lebenszyklus

Software Engineering. 3. Analyse und Anforderungsmanagement

Softwareentwicklung und Projektmanagement Teil 2: Objektorientierte Softwareentwicklung WS 05/06

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

Einführung in die SWE

,$ -. "+0 *+*+ ! / -#$%$. #$%'' $ () 1 2$ #$%$! 1 2$3 )!

Hochschule Darmstadt Fachbereich Informatik. Softwaretechnik II. 4.1 Darstellung der Architektur

Qualitätsmanagement. Andreas Bäuml SWT-Projekt WS 07/08

Generatives Programmieren

Softwaretechnik. Wesentliche Inhalte der Vorlesung

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

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

Unterschiede zur Klassischen Software-Entwicklung. SPL versus klassische SE Tim Serowski 1

Schulcurriculum Informationstechnische Grundkenntnisse und Informatik Stand:

Einführung Spezifikation von Software-Systemen

Grundlagen der Programm- und Systementwicklung

Generative Prozessmodelle Patrick Otto MDD Konferenz

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

Einführung in Generatives Programmieren. Bastian Molkenthin

Software-Engineering

Wirtschaftsinformatik 2 Modellierung betrieblicher Informationssysteme - MobIS

Wahlpflichtfach Software Engineering

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

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

Objektorientierte Software-Entwicklung

Programmieren I. Überblick. Institut für Angewandte Informatik

Lehrbuch der Softwaretechnik: Basiskonzepte und Requirements Engineering

2. Tutorium zu Softwaretechnik I

Softwareentwicklungspraktikum Sommersemester Grobentwurf

Algorithmik II. SS 2003 Prof. Dr. H. Stoyan Lehrstuhl für Informatik 8 ( Künstliche Intelligenz) stoyan@informatik.uni-erlangen.

Wirtschaftsingenieurwesen (Informationstechnik) Modulname. Programmierung II / Software Engineering II Modulnummer

Der Rational Unified Process

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

Semester: -- Worload: 150 h ECTS Punkte: 5

Software-Architektur. Spektrum k_/takademischht VERLAG

Software-Entwicklung

Softwaretechnik (Allgemeine Informatik) Überblick

3.2,,Eichung von Function Points (Berichtigte Angabe)

Testen Prinzipien und Methoden

Reference Migration Process ReMiP

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

Einführung in die Modellierung

Eignungsverfahren zum Master of Science Human-Computer Interaction

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

Eberhard Lehmann: Projekte im Informatik-Unterricht Software Engineering, Ferd. Dümmlers Verlag, Bonn Inhaltsverzeichnis.

IT-Basics 2. DI Gerhard Fließ. Vorgehensmodelle

Usability Engineering in agilen Projekten

Liste Programmieren - Java

Software Engineering mit Übungen. Franz-Josef Elmer, Universität Basel, HS 2015

Software- Entwicklungsaktivitäten und Vorgehensmodelle. Lebenszyklusmodell

Software Engineering. Organisation von Softwareentwicklungsprojekten

8. Softwareentwicklung

Softwareentwicklungsprozesse. 18. Oktober 2012

Ein Blick voraus. des Autors von C++: Bjarne Stroustrup Conrad Kobsch

Software-Praktikum. Gabriele Taentzer Philipps-Universität Marburg Sommersemester 2013

Angepasste Software Standards für DLR- Eigenentwicklungen - Die DLR Software Basisstandards -

T2 Fundamentaler Testprozess

Kapitel 10: Dokumentation

Anforderungsanalyse. Basis: Grundlage für Erfolg / Misserfolg. Gute Qualität, moderne Techniken... Reicht nicht!

Ergänzung zum Modulhandbuch

Einführung in die Programmierung der Schnittgrößenermittlung am Einfeldträger J. Lange

WSR Softwarewartung und Prozessmodelle in Theorie und Praxis. Urs Kuhlmann Andreas Winter

Software- und Systementwicklung

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

Allgemeines zu Datenbanken

Fachhochschule Wiesbaden, FB Design Informatik Medien Studiengang Allgemeine Informatik Vorlesung im SS 2007

Implementation of a Framework Component for Processing Tasks within Threads on the Application Level

Agile Softwareentwicklung in der Versicherungs-IT Fehlschlag oder Heilsbringer?

Digitale Gremienarbeit

Softwaretechnik (Medieninformatik) Überblick

Software Engineering. Dokumentation! Kapitel 21

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

Transkript:

Literatur Gliederung Software Engineering Herbert Kuchen Universität Münster Di+Fr 14:15-15:45, M2 Wintersemester 2009/2010 1

Literatur Gliederung Basis-Literatur H. Balzert: Lehrbuch der Software-Technik, Bd. 1+2+3, Spektrum Akademischer Verlag, 2009/2010?/2008. 2

Literatur Gliederung Ergänzende Literatur B. Poensgen, B. Bock: Function-Point-Analyse, dpunkt, 2005. G. Booch, J. Rumbaugh, I. Jacobson: The Unified Modeling Language User Guide, Addison Wesley, 2005. H. Störrle: UML 2 erfolgreich einsetzen, Addison-Wesley, 2005. E. Gamma et al.: Entwurfsmuster: Elemente wiederverwendbarer objektorientierter Software, Addison-Wesley, 2009. P. Liggesmeyer: Software-Qualität, Spektrum Akad. Verlag, 2009. I. Jacobson, G. Booch, J. Rumbaugh: The Unified Software Development Process, Addison Wesley, 1999. H. Wolf, St. Roock, M. Lippert: extreme Programming: Eine Einführung..., dpunkt, 2005. 3

Literatur Gliederung 1. Einführung Gliederung 2. Planung 3. Basiskonzepte 4. Definition 5. Entwurf 6. Implementierung 7. Qualitätssicherung 8. Prozessmodelle für die Software-Entwicklung?. Model-Driven Architecture, Wiederverwendung,... Übungen: alle 14 Tage 4

Teil I Einführung 5

Software-Engineering Reaktion auf Software-Krise ab Ende 60er Jahre ingenieurmäßiges Vorgehen statt ad-hoc-programmierung und Tricks Prinzipien, Modelle, Techniken und Verfahren zur Erstellung und Wartung großer Software-Systeme Ziel: Reduktion der Entwicklungs- und Wartungskosten (oft 80 %) Einhaltung von Terminen hohe Zuverlässigkeit und Qualität ausreichende Effizienz 6

Software-Krise kaum änderbare Programme keine oder veraltete Dokumentation Überschreitung von Kosten und Terminen 7

Rahmenbedingungen heute durch bessere Hardware: Entwicklungs- und Wartungskosten oft wichtiger als Effizienz der Programme; Softwarekosten, Hardwarekosten komplexere Systeme möglich Teamarbeit ( Teilaufgaben, Schnittstellen) 8

Programm vs. Softwaresystem Programm: löst isolierte Aufgabe von Einzelperson erstellbar Softwaresystem: besteht aus mehreren Komponenten von Team erstellt 9

Programmieren im Kleinen Entwicklung eines Programms bzw. einer Komponente oft hoher algorithmischer Anteil Vorgehen: Schrittweise Verfeinerung, strukturierte Programmierung nur strukturierte Kontrollstrukturen (if-then-else, for,... ; kein goto) prozedurale Zerlegung, top-down kein Geheimnis-Prinzip (auch globale Variablen) 10

Programmieren im Großen Entwicklung eines Softwaresystems mit: langer Lebensdauer (daher) hoher Änderungswahrscheinlichkeit (wegen Alterung durch sich ändernde Einsatzbedingungen) Anforderungen zunächst unklar Kommunikationsprobleme Anwender Entwickler Zerlegung in Komponenten (für Programmieren im Kleinen) Geheimnisprinzip rein funktionale Zerlegung führt zu schlechter Wartbarkeit daher besser Objektorientierung 11

Das klassische Wasserfallmodell der Software-Entwicklung Planung Definition Entwurf Implementierung Testen Einsatz und Wartung moderne Prozessmodelle (Kap. 8) durchlaufen Entwicklungsschritte iterativ 12

Planung Durchführbarkeitsstudie Kosten/Nutzen-Analyse Ergebnis: Entscheidung über Projektfortsetzung erstellte Dokumente: Lastenheft Projektkalkulation Projektplan 13

Definition Ausgangspunkt: vage, unvollständige, widersprüchliche Anforderungen Ergebnis: vollständige, konsistente, eindeutige, erfüllbare Anforderungen erstellte Dokumente: Pflichtenheft Produkt-Modell (z.b. OOA, notwendig zur Ermittlung der Anforderungen) GUI-Modell 14

Gegenstand und Gestaltung der Produktdefinition betrifft nur Außenverhalten des Systems Anforderungsanalyse umfasst: Ermittlung von Produktanforderungen Anforderungsspezifikation (Pflichtenheft) fixiert Leistungsumfang Vertragsbasis zwischen Auftraggeber und -nehmer Grundlage für Endabnahme 15

Pflichtenheft fixiert Funktionsumfang Benutzerschnittstelle Schnittstellen zu anderen Systemen (z.b. DBMS) Leistungsverhalten (Antwortzeit, Platzbedarf) vorgeschriebene Hard- und Software Dokumentationsrichtlinien Terminplanung 16

Entwurf Ergebnis: Softwarearchitektur, d.h. System von Komponenten und deren Beziehungen ausgehend von Pflichtenheft / Produktmodell fixiert Außenverhalten jeder Einzelkomponente 17

Implementierung und Test Umsetzung der Komponentenspezifikationen in Programmiersprache Übersetzung in Maschinensprache Modul-, Integrations- und Systemtest Ergebnis: lauffähiges Programmsystem, Testfälle und Testprotokolle 18

Software-Qualität Äußere Qualität: Korrektheit Zuverlässigkeit Robustheit Effizienz Benutzerfreundlichkeit Innere Qualität: Wartbarkeit Wiederverwendbarkeit 19

Softwarequalität aus Sicht verschiedener Rollen Benutzer: äußere Qualität Wartungspersonal: innere Qualität Auftraggeber: geringe Kosten durch innere und äußere Qualität 20