Übungen zur Softwaretechnik



Ähnliche Dokumente
Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Übung Einführung in die Softwaretechnik


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

Übungen zur Softwaretechnik

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

Wirtschaftsinformatik I Teil 2. Sommersemester Übung

Die Softwareentwicklungsphasen!

Kapitel 2: Der Software-Entwicklungsprozess

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

Projektmanagement. Vorlesung von Thomas Patzelt 9. Vorlesung

Vgl. Kapitel 5 aus Systematisches Requirements Engineering, Christoph Ebert

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

Typisierung des Replikationsplan Wirries, Denis Datenbankspezialist

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

Version smarter mobile(zu finden unter Einstellungen, Siehe Bild) : Gerät/Typ(z.B. Panasonic Toughbook, Ipad Air, Handy Samsung S1):

Abschnitt 16: Objektorientiertes Design

Das Leitbild vom Verein WIR

Softwaretechnik. Fomuso Ekellem WS 2011/12

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

Kurzanleitung. MEYTON Aufbau einer Internetverbindung. 1 Von 11

Was versteht man unter Softwaredokumentation?

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE

Online Newsletter III

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

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

Was versteht man unter einem Softwareentwicklungsmodell?

Mit dem Tool Stundenverwaltung von Hanno Kniebel erhalten Sie die Möglichkeit zur effizienten Verwaltung von Montagezeiten Ihrer Mitarbeiter.

SharePoint Demonstration

Anleitung über den Umgang mit Schildern

IT-Basics 2. DI Gerhard Fließ. Vorgehensmodelle

T1 - Fundamentaler Testprozess

Software Engineering. Sommersemester 2012, Dr. Andreas Metzger

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

(1) Mit dem Administrator Modul werden die Datenbank, Gruppen, Benutzer, Projekte und sonstige Aufgaben verwaltet.

How to do? Projekte - Zeiterfassung

Testplan. Hochschule Luzern Technik & Architektur. Software Komponenten FS13. Gruppe 03 Horw,

Herzlich Willkommen beim Webinar: Was verkaufen wir eigentlich?

Grundlagen Software Engineering

IT-Projekt-Management

SSI WHITE PAPER Design einer mobilen App in wenigen Stunden

IKP Uni Bonn Medienpraxis EDV II Internet Projekt

Einführung und Motivation

WordPress. Dokumentation

Novell Client. Anleitung. zur Verfügung gestellt durch: ZID Dezentrale Systeme. Februar ZID Dezentrale Systeme

Arbeiten mit UMLed und Delphi

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Solarstrom selbst erzeugen und speichern so geht s!

Fehler und Probleme bei Auswahl und Installation eines Dokumentenmanagement Systems

Content Management System mit INTREXX 2002.

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])

Pflichtenheft Version 1.0. Mäxchen/Meiern iphone App

Anwendungsbeispiele Buchhaltung

3.2,,Eichung von Function Points (Berichtigte Angabe)

Anlegen eines DLRG Accounts

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

Kulturelle Evolution 12

Grundlagen der Theoretischen Informatik, SoSe 2008

ARCO Software - Anleitung zur Umstellung der MWSt

OP-LOG

e LEARNING Kurz-Anleitung zum Erstellen eines Wikis 1. Wiki erstellen

T2 Fundamentaler Testprozess

mention Software GmbH Firmenpräsentation

Step by Step Webserver unter Windows Server von Christian Bartl

Wichtig ist die Originalsatzung. Nur was in der Originalsatzung steht, gilt. Denn nur die Originalsatzung wurde vom Gericht geprüft.

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

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

teischl.com Software Design & Services e.u. office@teischl.com

Technische Dokumentation: wenn Englisch zur Herausforderung wird

Anforderungen an die HIS

12. Dokumente Speichern und Drucken

Anleitung zur Daten zur Datensicherung und Datenrücksicherung. Datensicherung

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis

Was meinen die Leute eigentlich mit: Grexit?

Konsolidierung und Neuimplementierung von VIT. Aufgabenbeschreibung für das Software Engineering Praktikum an der TU Darmstadt

Einen Wiederherstellungspunktes erstellen & Rechner mit Hilfe eines Wiederherstellungspunktes zu einem früheren Zeitpunkt wieder herstellen

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Simulation LIF5000. Abbildung 1

Windows XP Jugendschutz einrichten. Monika Pross Molberger PC-Kurse

Informationswirtschaft II Rational Unified Process (RUP)

Informationswirtschaft II

Prozess-Modelle für die Softwareentwicklung

Anwendungsbeispiele. Neuerungen in den s. Webling ist ein Produkt der Firma:

INDEX. Öffentliche Ordner erstellen Seite 2. Offline verfügbar einrichten Seite 3. Berechtigungen setzen Seite 7. Öffentliche Ordner Offline

SWT II Projekt. Chat - Anwendung. Pflichtenheft 2000 SWT

Qt-Projekte mit Visual Studio 2005

SDD System Design Document

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Software Engineering. Dokumentation! Kapitel 21

Softwaretechnik (Allgemeine Informatik) Überblick

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

Geld Verdienen im Internet leicht gemacht

16 Architekturentwurf Einführung und Überblick

GRS SIGNUM Product-Lifecycle-Management

Die Invaliden-Versicherung ändert sich

Functional Safety. Systems Engineering als Schlüsseldisziplin in Projekten mit funktionaler Sicherheit

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

Transkript:

Technische Universität München Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Markus Pister, Dr. Bernhard Rumpe WS 2002/2003 Lösungsblatt 1 17. Oktober 2002 www4.in.tum.de/~rumpe/se Übungen zur Softwaretechnik Aufgabe 1 : Vorgehensmodelle a) Phasen des Wasserfallmodells Diese Lösung soll einen Eindruck geben, was in den jeweiligen Phasen eines Entwicklungsprozesses geschieht. Zu jeder Phase werden Teilschritte mit jeweiligen Beispielergebnissen angegeben. Problem- und Systemanalyse - Grobe Formulierung der Ziele (z.b.: Einsatzplattform Windows, einheitliche Software zur Unterstützung des Verkaufs (B2B),...) - Erfassung des Problembereichs (z.b.: Interaktion zwischen Händler und Hersteller soll komplett über das Netz funktionieren....) - Machbarkeitsstudie (z.b.: Händler sind bereit, sich an das zu entwickelnde System anzupassen....) - Analyse des Ist-Zustandes (z.b.: Händler A bietet Interface X wohingegen Händler B Interface Z bietet. Es wird bereits teilweise bei Händler C über das Netz bestellt....) - Anforderungsspezifikation (Lastenheft) (z.b.: Einheitliche Oberfläche für alle Benutzer beim Hersteller, möglichst wenige Veränderungen für die Mitarbeiter (= schnelle Eingewöhnungsphase)...) - Systemspezifikation (Pflichtenheft) (z.b.: Der Ablauf eines Kaufvorgangs soll folgendermaßen aussehen: Händlerauswahl, Bestellung, Abrechnung... Die Benutzeroberfläche soll folgende Informationen anzeigen: Lieferstatus,...) Systementwurf - Systemarchitektur (z.b.: Klassendiagramm, Festlegung von Komponenten...) - Schnittstellen der Komponenten festlegen (z.b.: Datenbank, Middleware,...) - Modulkonzept (z.b.: Modulstruktur und Art der Module (funktional, prozedural, Objektorientiert) - Definition der Einzelschnittstellen (z.b. Interfaces und abstrakte Klassen in Java)

Implementierung - Strukturierung der Komponenten in Module (z.b. Klassenrümpfe) - Spezifikation einzelner Module (z.b.: Exakte Beschreibung eines Moduls) - Codierung, Generierung, Wiederverwendung einzelner Module (z.b.: Methoden in Klassen,...) Integration und Test - Integration von Modulen (z.b.: Zusammensetzen von Datenbank und Applikation zum Server) - Integration von Komponenten (z.b.: Einsetzen von Client und Server ins Gesamtsystem.) - Testen und Verifikation (z.b.: Testen, ob die Implementierung zusammen mit der Umgebung funktioniert. Zusichern, dass gewisse Eigenschaften gültig sind.) Wartung und Weiterentwicklung - Wartung (z.b.: Korrektur eines Fehlers im Programm, Portierung auf anderes Betriebssystem,...) - Erweitern der Funktionalität (z.b.: Einbeziehen einer neuen Option im Geschäftsprozess) - Anpassung der Funktionalität (z.b.: Anpassung an Änderung im Geschäftsprozess) b) Phasen des V-Modells Das V-Modell ist eine Erweiterung des Wasserfallmodells. In ihm wird speziell die Verifikation und Validierung berücksichtigt. Die Qualität einer zu erstellenden Software soll so erhöht werden. Analyse Grobentwurf (Komponenten) Feinentwurf (Module) Implementierung Modultest Integration und Integrationstest Der Integrationstest überprüft, ob die im Feinentwurf definierten Module wie gewünscht zusammenspielen. So können Fehler im Feinentwurf als auch Fehler in der Umsetzung des Entwurfes entdeckt werden. Systemintegration und Systemtest Der Systemtest zeigt Abweichungen bzw. Fehler auf, die bei der Umsetzung des Grobentwurfs entstanden sind. So könnte es zum Beispiel sein, dass im Laufe der Entwicklung eine Schnittstelle geändert werden musste und diese Änderung dann

undokumentiert vergessen wurde. Der Test bzw. Vergleich mit der Grobspezifikation sollte dies nun melden. Als Konsequenz muss dann entweder der Grobentwurf oder, falls der Grobentwurf nicht änderbar ist, die Software angepasst werden. Abnahmetest Notwendig, um zu erkennen, ob das die erstellte Software den Anforderungen entspricht. Einige Abweichungen lassen sich oft erst am fertigen System erkennen, da Anforderungen nicht immer systematisch in Software umgesetzt werden können. z.b.: Wenig Einarbeitung für Mitarbeiter. ) c) Iterative Vorgehensmodelle Das V-Modell geht davon aus, dass zu Begin einer Entwicklung bereits alle Anforderungen bekannt sind. Im Falle des Werkzeugherstellers ist es jedoch nicht möglich in der Analysephase das Werkzeug komplett zu spezifizieren. Es können also zu Beginn nur die Kernaktivitäten definiert werden, und diese müssen dann im Verlauf der Entwicklung angepasst und erweitert werden. Für eine derartige Aufgabe eignet sich zum Beispiel das - Vorgehensmodell. Dabei wird der Kunde in die Entwicklung einbezogen und das Programm wächst in kleinen Schritten bis zum fertigen Produkt heran. Bei jedem Schritt werden die Anforderungen des Kunden mit der Software verglichen. Die starke Einbindung des Kunden hat zwei Vorteile: Zum einen kann das Programmiererteam die Software sehr gut an neue Kundenwünsche anpassen und zum anderen sieht der Kunde durch die vielen Iterationen schnell, ob die Software seinen Vorstellungen entspricht. Aufgabe 2 : Qualitätsmerkmale (Wasserfall, V-Model, Spiralmodel,, RUP) a) Größe des Entwicklerteams Wasserfall Das Wasserfallmodell diskutiert die Projektgröße nicht. V-Modell Geeignet für mittlere und große Teams. Spiralmodell Geeignet für mittlere Teams. RUP Geeignet für mittlere und große Teams Bis ca. 10 Mann Jeder Entwickler sollte die ganze Software überblicken können. Kommunikation steigt stark an. b) Komplexität des Projekts Wasserfall Geeignet für einfache Projekte mit stabilen Anforderungen. Bei komplexen Projekten fehlen Kontrollphasen des V-Modells. V-Modell Geeignet für komplexe Projekte. Bei einfachen Projekten relativ viel bürokratischer Overhead.

Spiralmodell RUP Siehe Wasserfallmodell. Anforderungen können jedoch in den Iterationen angepasst werden. Mittlere bis hohe Komplexität handhabbar. Bis zu mittlerer Komplexität Die Software sollte von allen Mitgliedern verstanden werden und es sollte noch aus dem Code ersichtlich sein, was im Programm geschieht. c) Bekanntheit der Anforderungen Wasserfall Alle Anforderungen müssen zu Beginn des Projekts bekannt sein. V-Modell Alle Anforderungen müssen zu Beginn des Projekts bekannt sein. Spiralmodell Es muss eine initiale Menge von Anforderung bekannt sein. Der Kunde kann die Anforderungen aber aufgrund von Prototypen erweitern. Kernanforderungen sollten bekannt sein. Die restlichen Anforderungen werden mit der Zeit erstellt oder angepasst. d) Änderungen der Anforderungen Wasserfall Schwer möglich. Durch den strikten Top-Down-Ansatz von der Anforderung hin zum Code zieht eine Änderung einen tiefen Eingriff in den Prozess mit sich. V-Modell Siehe Wasserfallmodell. Spiralmodell Gut möglich. In jeder Runde der Spirale können die Anforderungen neu definiert werden. Der -Prozess kann einfach auf Anforderungsänderungen eingehen, da immer nur bis zum nächsten (kleinen) Schritt geplant wird. e) Zeitspielraum (Time-To-Market, Was muss bis wann fertig sein.) Wasserfall Wenig Spielraum. Siehe V-Modell. V-Modell Wenig Spielraum. Üblicherweise muss der ganze Prozess durchlaufen werden. Es ist höchstens möglich, den Prozess zu beschleunigen, indem man Anforderungen streicht. Es wird also alles zum Schluss fertig. Spiralmodell Relativ flexibel. Sobald ein Prototyp existiert, der akzeptabel ist, kann dieser auf den Markt gebracht werden. Flexibel. Durch die kleinen Iterationen in Zusammenarbeit mit dem Kunden kann relativ schnell ein einfaches erstes Release herausgegeben werden. f) Dokumentation Wasserfall Viel Dokumentation Für jede Phase wird eine komplette Dokumentation erstellt. V-Modell Viel Dokumentation Gerade in den ersten Phasen wird sehr viel über die Software schriftlich festgehalten. Aber auch für die anderen Phasen wird eine Komplette Dokumentation erstellt. Spiralmodell Viel Dokumentation In jedem Zyklus werden alle Phasen (incl. Dokumentation) durchlaufen, aber nur im Umfang des Prototypen.

RUP Sehr viel Dokumentation Es werden alle Artefakte und Tätigkeiten dokumentiert. Kaum Dokumentation In geht man davon aus, dass sich der Code selbst dokumentiert. Zum Ende eines Projekts wird ein Dokument erstellt, welches die Architektur beschreibt. g) IT - Kenntnisse des Kunden Wasserfall Wenig Kenntnisse nötig. (siehe V-Model) V-Modell Wenig Kenntnisse nötig. Meistens schreibt der Kunde das Lastenheft, und der Entwickler versucht dieses dann in einem Pflichtenheft umzusetzen. Wenn das Lastenheft vom Entwickler als machbar befunden wird, bekommt der Kund das fertige Produkt. Spiralmodell Wenig Kenntnisse nötig. Kunde sieht immer nur die fertigen Prototypen und äußert dann seine Wünsche. Kunde braucht gute Kenntnisse über den Prozess, da er in den Entwicklungsprozess eingebunden wird. Idealerweise ist er sogar fähig, Tests für die Software zu entwickeln oder dabei zumindest gut mitzuhelfen. h) Durchschnittliche Anzahl der Iterationen Wasserfall (siehe V-Modell) V-Modell Nur lange Zyklen. Mit dem V-Modell sind nur sehr lange Zyklen handhabbar, da immer wieder der ganze Entwicklungsprozess durchlaufen werden muss. Spiralmodell ca. 3-5 Iterationen RUP ca. 3-10 Iterationen Sehr viele Iterationen lebt davon, viele kurze Zyklen zu haben, um so spontan auf Kundenwünsche reagieren zu können.