Übung Einführung in die Softwaretechnik

Ähnliche Dokumente
Inhaltsverzeichnis. Teil I Grundlagen 1

1. Grundbegriffe der Softwaretechnik. 1.1 Herausforderungen

Grundlagen des Software Engineering

Vorlesung Softwaretechnik - Vorgehensmodelle, V-Modell XT -

Der Projektmanager (nach GPM / IPMA) Fragen zur Selbsteinschätzung und für die Prüfungsvorbereitung. Kapitel B Vorgehensmodelle

Software Engineering

2. Der Software-Entwicklungszyklus

Was versteht man unter einem Softwareentwicklungsmodell?

Unit 8: ARIS and IS Modeling

Software-Entwicklung

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

Softwaretechnik. Fomuso Ekellem WS 2011/12

Vortrag Iterative Prozessmodelle/SCRUM

Übungen Softwaretechnik I

Klassische Softwareentwicklung - Software Engineering -

Software Engineering. 7) SW Wartung. Prof. Dr. Anja Metzner Hochschule Augsburg, Fakultät für Informatik. Studiengang WiBac 4 (Stand:

Projektmanagement und Softwareentwicklung

Grundlagen Software Engineering

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

2 Softwarearchitektur in der Organisationsstruktur 25

Modellgetriebene Softwareentwicklung. Gabriele Taentzer WS 2012/2013 Philipps-Universität Marburg

Styleguides als Werkzeug für bessere Software-Usability im Gesundheitswesen

Pools und Schwimmbahnen - Freistil im Prozessmanagement

Einleitung und Begriffliches. Einleitung. Programmiersprachen. Software-Komplexität ist inhärent und hat vor allem folgende Ursachen

IT-Projekt-Management

IT-Basics 2. DI Gerhard Fließ. Vorgehensmodelle

Übung Einführung in die Softwaretechnik

Software Engineering

4. SAP Anwenderforum. Vorgehensmodell zur Geschäftsprozessoptimierung bei der Einführung branchenorientierter Standardsoftware. Lukas W. H.

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

6. Programmentwicklung

FPGA Systementwurf. Rosbeh Etemadi. Paderborn University. 29. Mai 2007

StuPro Visualisierung der Ergebnisse von Programmanalysen

Softwaretechnik. Fomuso Ekellem WS 2011/12

Kapitel 2: Der Software-Entwicklungsprozess

Kapitel 5: Das Design

Software Engineering

EIDI 1 Einführung in die Informatik 1. PGdP Praktikum Grundlagen der Programmierung. Harald Räcke 2/217

n 1. Der Begriff Informatik n 2. Syntax und Semantik von Programmiersprachen - 1 -

Compiler. Einführung. Prof. Dr. Oliver Braun. Fakultät für Informatik und Mathematik Hochschule München. Letzte Änderung:

Das Wasserfallmodell - Überblick

Einführung in die Informatik I (autip)

MDRE die nächste Generation des Requirements Engineerings

Praktikum Datenbanken und verteilte Systeme SS Einführung August 2008

Software Engineering. Prof. Dr. Stefan Enderle NTA Isny

Einführung in die Informatik

Software Engineering

Modellgetriebene Softwareentwicklung: Zusammenfassung und Ausblick. 7. Februar 2013

Einführung in die Programmierung Wintersemester 2016/17

Olaf Seng Thomas Genßler Benedikt Schulz. Forschungszentrum Informatik, Karlsruhe

Informationswirtschaft II Rational Unified Process (RUP)

Informationswirtschaft II

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -

1.4! Einführung. Systemmodellierung. Methoden und Werkzeuge

Einführung in die Programmierung

Software-Praktikum. Ein praxisorientiertes Vorgehen zur Software-Erstellung

Compiler: Einführung

Softwareprozessmodelle

ERSTELLUNG EINES KONZEPTS ZUM TESTEN DER PERFORMANCE VON JAVA CODE MIT HILFE DER FRAMEWORKS JUNIT UND TESTNG

Softwareentwicklungsprozesse. 18. Oktober 2012

Geschäftsprozesse mit BPMN erfolgreich in 6 Schritten implementieren. OPITZ CONSULTING GmbH 2013 Seite 1

Regelbasierte Entwicklung betrieblicher Informationssysteme

FRAUNHOFER-INSTITUT FÜR PRODUKTIONSTECHNOLOGIE IPT INTEGRIERTE MECHATRONISCHE SYSTEME

1. Grundbegriffe des Software-Engineering

Modell zur Einflussanalyse Ein Modell zur Einflussanalyse von Methodenänderungen in Entwicklungsprozessen

ISim Standardisierung von Flugkörpersimulationen. Vortragender: Florian Peter DGLR, Braunschweig Datum: 30.

Das V-Modell: Produkte 1/5

Modellgetriebene Softwareentwicklung

1 Phase «Initialisierung»

IT-Projekt-Management

Sicher ein gutes Gefühl Safety-Services

TORA - Three Level Ordered Requirements Analysis. Vorlesung SE Requirements SoSe 2008 Prof. Dr. Henhapl - Dr. Kaminski Freidun Alam TORA

Modellgetriebene Softwareentwicklung: Zusammenfassung und Ausblick. 11. Februar 2015

So funktioniert Erfolg. Unsere Services zur Funktionalen Sicherheit. TÜV SÜD Product Service GmbH

Verbundtests von Mobilgeräten und Backend-Systemen. Andreas Bartsch, exept Software AG

17 Architekturentwurf Vorgehen und Dokumentation

Modellprüfung von UML-Zustandsmaschinen und UML-Kollaborationen in SAL

Management dynamischer Prozesse

Software-Wartung eine Taxonomie

Phasenplanung Lehrveranstaltung Projektmanagement

Vorgehensweise zur Einführung der ISO/IEC 27001: Sven Schulte

Methoden der agilen Softwareentwicklung für eingebettete Systeme

Werkzeuggestützte Softwareprüfung

Kapitel 2 - Die Definitionsphase

Fachforum 5: Systems Engineering Modellgetriebene Entwicklung von Schrittketten G. KRAFT Maschinenbau GmbH 06. Dezember 2017 Paderborn

Softwaretechnik II ST II. 6 Reengineering

IT-Projekt-Management

Transkript:

Lehrstuhl für Informatik 3 RWTH Aachen Übung Einführung in die Softwaretechnik Lösungshinweise zur Sonderübung

Aufgabe S1 Gegenläufige Entwicklungen: - Entwicklungsinfrastruktur: Werkzeugunterstützung auf - Produktseite durch integrierte Software-Entwicklungsumgebungen - Prozessseite durch Managementwerkzeuge zur Kostenschätzung, Projektplanung und -dokumentation - Prozessverständnis/Methodik (Phasenmodelle, Sprachen, OO, Entwurfsmuster, formale Analysemethoden, Testverfahren,...) - Spezialisierung auf einzelne Anwendungsbereiche (Wirtschaftsinformatik, medizinische Informatik, Compterlinguistik,...) - Informatiker-Ausbildung - Standardsoftware - Rahmenwerke, Bibliotheken (z.b für GUI) Übung Einführung in die Softwaretechnik 2/ 16

Neue Herausforderungen: Aufgabe S1 - Integration - Verteilung - Multimedia - Interdisziplinäre Zusammenarbeit - Wartung von Legacy-Systemen - Neue Hardware-Plattformen - Sicherheit - Usability Übung Einführung in die Softwaretechnik 3/ 16

Aufgabe S2 Phasenmodell legt fest Reihenfolge des Arbeitsablaufs Jeweils durchzuführende Aktivitäten Definition der Teilprodukte Fertigstellungskriterien (nicht Zeitpunkt) Mitarbeiter-Qualifikationen (nicht Auswahl) Verantwortlichkeiten Methoden und Werkzeuge Richtlinien und Standards Programmiersprache Übung Einführung in die Softwaretechnik 4/ 16

Aufgabe S3 Nach Problemanalyse entsteht eine formale und ausführbare Anforderungsdefinition Realisierungsprozess (Transformation) Transformator übersetzt (schrittweise) die Anforderungsdefinition in ein ausführbares Programm Steuerung des Transformationsprozesses durch Interaktion mit dem Benutzer (d.h. der Benutzers wählt zwischen verschiedenen Transformationsalternativen aus) Optimierung resp. Wartung: neue Iteration über den Realisierungsprozess Übung Einführung in die Softwaretechnik 5/ 16

Aufgabe S3 Vorteile des Ansatzes Aus Korrektheit der Anforderungsdefinition und der Transformationsschritte folgt Korrektheit des Programms Ablauf des Entwicklungsprozesses wird dokumentiert Wissen (Regeln, Entscheidungen) über den abgelaufenen Entwicklungsprozess werden gespeichert und sind somit analysierbar und wiederverwendbar Wartungsproblem vermieden Problem Erstellung der Anforderungsdefinition nicht trivial (eigener Entwicklungsprozess) Nicht-funktionale Anforderungen im Allgemeinen schwer zu formalisieren (1.) Extrem detailliert, quasi Programmcode Niveau (2.) Geeignet für batch- und reaktive Systeme : Datentransformation, vordefinierte Reaktionen auf Ereignisse Übung Einführung in die Softwaretechnik 6/ 16

Aufgabe S3 Anwendbare Modellierungsprinzipien für den PA-Ansatz (3.) Abstraktion (Verallgemeinerung): z.b. Parametrisierbare Spezifikations-Templates Strukturierung: Divide and Conquer-Vorgehen Hierarchiebildung, Modularisierung, Lokalität, Mehrfachverwendung Nicht Anwendbare Modellierungsprinzipien Redundanz (z.b. Deklaration/Import und Anwendungsstelle gehören stets zusammen, Betrachtung desselben in verschiedenen Formalismen beschriebenen Sachverhalts) Festhalten von Ähnlichkeiten Prinzip der geringsten Verwunderung (z.b. schlechte/gute GUI) Übung Einführung in die Softwaretechnik 7/ 16

Aufgabe S3 Einsatz des PA-Modells für Softwareklassen / Teilsysteme (4.) - Für kleine und übersichtliche Probleme - Für gut formalisierbare Probleme (i.a. mathematisch-technische Probleme) - Für Systeme ohne Benutzerschnittstelle - Für Systeme in gut verstandenen Bereichen (z.b. Compilerbau) Verbindung von PA-Ansatz und Planungs- und Entwicklungsansätzen (Prozessmodelle etw. Wasserfallmodell) Prozessmodelle == Festlegung des organisatorischen Rahmens Zerlegung in Subprojekte und Projektphasen Erleichterung der Koordination von Beteiligten Erleichterung der Terminplanung, usw. Prog-Apprentice == SE-Vorgehen für semi-autom. Impl-Phase für gut spezifizierbare Teilsysteme vorgeschlagen nach Erstellung der Anforderungsdefinition erfolgt Implementierung von Code semi-automatisch Übung Einführung in die Softwaretechnik 8/ 16

Aufgabe S3 (Fortsetzung) Verbindung von PA-Ansatz und Planungs- und Entwicklungsansätzen (Prozessmodelle etw. Wasserfallmodell) - Komplexe Gesamtsystem erfordern organisatorischen Rahmen ( Wasserfallmodell anwenden) - Gesamtsystem zerfällt in gut bzw. schlecht für PA-Ansatz geeignete Teilsysteme - Für PA-geeignete Teilsysteme fallen Anforderungsdefinition bis Implementierung zusammen (scheinbare Erleichterung) - Fehleinschätzung, denn Erstellung der Anforderungsdefinition als Input für Transformator erfordert ggf. eigenen Wasserfall-Prozess! Anf.Def Entw. Impl. Eigener komplexer Prozess: Mehrere Beteiligte, längere Zeit dauernd, Fehler und Rückgriffe usw. Problem Problemanalyse Validierung Wartung form. Anforderungsdefinition (Prototyp) Eingabe von Entscheidung / Begründung Mechanische Transformation formale Zwischenerg. Wissen/Regeln Optimierung Quellprogramm Übung Einführung in die Softwaretechnik 9/ 16

Aufgabe S4 Grundidee des Spiralmodells: Iterationen Schrittweise Verfeinerung der Anforderungsanalyse Eingeplante Rückgriffe Umgang mit Unsicherheiten/Risiken Möglichkeit der Lebenszyklus-Wahl in jeder Iteration Vor- und Nachteile gegenüber des klassischen Wasserfallmodells: + Rückgriffe berücksichtigt + Risikoorientiert + Prozessmodell an aktuellen Projektstand anpassbar - Anforderungsanalyse erst sehr spät abgeschlossen Übung Einführung in die Softwaretechnik 10 / 16

Aufgabe S4 Alternativen und Risiken Prozessmodelle Planung Zyklus 1 Ziel Alternativen Randbedingung Evaluierung der Alternativen (Risiken) Strategien zur Risikobeseitigung Auswahl Prozessmodell - Anwendung des Modells - Ergebnisse Planung nächster Zyklus Entscheidung Entwicklung WebShop Zukauf existierender Software Neuentwicklung der Software Entwicklung sollte maximal 120.000 kosten. a) Kein geeignetes Produkt vorhanden b) Kosten/Zeitrahmen ist evtl. nicht einzuhalten a) Marktanalyse; Testinstallation b) Aufwandsabschätzung a) Zukauf: Kein geeignetes Produkt auf Markt b) Neuentw.aufwand gering (bekanntes Problem) Detaillierte Überprüfung der Alternative (b) Durchführung der Planung von Alternative (b) Übung Einführung in die Softwaretechnik 11 / 16

Alter-nativen und Risiken Prozessmodelle Planung Zyklus 2 Ziel Alternativen Randbedingung Evaluierung der Alternativen (Risiken) Strategien zur Risikobeseitigung Auswahl Prozessmodell - Anwendung des Modells - Ergebnisse Planung nächster Zyklus Entscheidung Aufgabe S4 Planung der Alternative b) (d.h. der Neuentwicklung ) (b.1) Neuentwicklung in Eigenregie (b.2) Neuentwicklung per Delegation an Subunternehmer Entwicklung sollte maximal 120.000 kosten. (b.1) Kosten/Zeitrahmen nicht einzuhalten, (b.2) Qualität der Leistung des Subunternehmers unbekannt (b.1) Aufwandsabschätzung; Wiederverwendungsmögl. prüfen (b.2) Angebote/Verträge der Subunternehmer einholen (b.1) Wiederverwendung möglich; Aufwand gering (b.2) Zu teuer Detaillierte Überprüfung der Impl.möglichkeiten für (b.1) Alternative (b.1) Neuentwicklung in Eigenregie durchführen Übung Einführung in die Softwaretechnik 12 / 16

Aufgabe S4 Zyklus 3 Alternativen und Risiken Prozessmodelle Planung Ziel Alternativen Randbedingung Evaluierung der Alternativen (Risiken) Strategien zur Risikobeseitigung Auswahl Prozessmodell Anwendung des Modells Ergebnisse Planung nächster Zyklus Entscheidung Planung der Alternative (b.1) Neuentwicklung in Eigenreg WebShop System mit JSP/Servlets auf Tomcat WebShop System mit PHP auf Apache Maximal X Personenmonate Aufwand Tomcat nicht überall verfügbar (Providerwechsel) Sicherheitslücken; skaliert nicht gut (a)(b) Selbst-verwalteter Server (b) Mirroring, HTTP-Redirect Wasserfallmodell im nächsten Zyklus anwenden Aktivitäten sequentiell durchführen Skalierung über Mirroring möglich, PHP/Apache frei verfügbar daher ist hier Alternative (b) PHP besser Funktionale Anf. für das WebShop-System erheben WebShop mit PHP realisieren Übung Einführung in die Softwaretechnik 13 / 16

Aufgabe S5 (a) ADA ADA Pascal Pascal Pascal C C C Übung Einführung in die Softwaretechnik 14 / 16

Aufgabe S5 (a) Pascal Pascal C C C ADA ADA Pascal Pascal Übung Einführung in die Softwaretechnik 15 / 16

Aufgabe S5 (b) Pascal PC C C Übung Einführung in die Softwaretechnik 16 / 16

Aufgabe S6 SWT-Skript, Folie 4-37 Übung Einführung in die Softwaretechnik 17 / 16