Software Engineering

Ähnliche Dokumente
Übungsaufgaben zum Software Engineering: Management

Java Projekt: Tic Tac Toe + GUI

Prüfung Software Engineering I (IB)

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Java Einführung Umsetzung von Beziehungen zwischen Klassen. Kapitel 7

Programmieren in Java

Wirtschaftsinformatik I Teil 2. Sommersemester Übung

Test-Driven Design: Ein einfaches Beispiel

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

Graphische Benutzungsoberflächen

Klausur zur Einführung in die objektorientierte Programmierung mit Java

Java: Vererbung. Teil 3: super()

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

Abschnitt 16: Objektorientiertes Design

Stand vr bank Südthüringen eg 1 von 9. mobile TAN Umstellungsanleitung VR-NetWorld Software

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 22

Das Wasserfallmodell - Überblick

Softwaretechnik. Fomuso Ekellem WS 2011/12

Anleitung über den Umgang mit Schildern

SSI WHITE PAPER Design einer mobilen App in wenigen Stunden

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...

Klausur zur Einführung in die objektorientierte Programmierung mit Java


Softwaretechnik. Fomuso Ekellem WS 2011/12

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

SEP 114. Design by Contract

Dr. Hanno Schauer Mons-Tabor-Gymnasium Montabaur. UML-Klassendiagramme als Werkzeug im Unterricht

Die Softwareentwicklungsphasen!

Maintenance & Re-Zertifizierung

WebService in Java SE und EE

Ablauf Vorstellungsgespräch

Agile Software-Entwicklung im Kontext der EN50128 Wege zum Erfolg

Klausur Software Engineering für WI (EuI)

Probeklausur Softwareengineering SS 15

oose. Was (noch) klassische Projekte von Scrum & Co lernen können eine empirische Studie

Klausur Software-Engineering SS 2005 Iwanowski

Software- Entwicklungsaktivitäten und Vorgehensmodelle. Lebenszyklusmodell

Grafikausgabe mit dem Abstract- Windowing-Toolkit. Eine Einführung

Stand vr bank Südthüringen eg 1 von 10. Smart TAN plus Umstellungsanleitung VR-NetWorld Software

Softwaretechnik (Allgemeine Informatik) Überblick

1. Legen Sie die mitgelieferte CD in ihr Laufwerk des PC, diese startet dann automatisch mit folgenden Fenster, klicken Sie nun English an.

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

Erstellen einer digitalen Signatur für Adobe-Formulare

Lizenzierung von StarMoney 8.0 bzw. StarMoney Business 5.0 durchführen

Klausur zu den Teilgebieten Software-Management und Software-Qualitätsmanagement

Abteilung Informatik, JFC/Swing 2004 Diego Schmidlin V2.2

Beschaffung mit. Auszug aus dem Schulungshandbuch: Erste Schritte im UniKat-System

In diesem Bereich wird beschrieben, wie Sie eine Datensicherung der Software Jack Plus durchführen können.

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.

bilder.tibs.at Upload-Assistent

Tagesprogramm

Online-Bestellung Tageskarten für Mitglieder des FC St. Pauli, die nicht im Besitz einer Dauer- oder Saisonkarte sind.

Handbuch ECDL 2003 Professional Modul 3: Kommunikation Kalender freigeben und andere Kalender aufrufen

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

Umgang mit Schaubildern am Beispiel Deutschland surft

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = Euro ergeben.

SCHRITT 1: Öffnen des Bildes und Auswahl der Option»Drucken«im Menü»Datei«...2. SCHRITT 2: Angeben des Papierformat im Dialog»Drucklayout«...

Outlook Erstellen einer aus einer HTML - Vorlage INHALT

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

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

Umfrage zum Informationsbedarf im Requirements Engineering

Benutzerverwaltung mit Zugriffsrechteverwaltung (optional)

Anleitung zur Datensicherung und -rücksicherung in der VR-NetWorld Software

Informationen zum neuen Studmail häufige Fragen

Objektorientierte Software-Entwicklung

Modellbildungssysteme: Pädagogische und didaktische Ziele

Entwicklung des Dentalmarktes in 2010 und Papier versus Plastik.

Kursangebot gesammelt einlesen

mobile TAN Umstellungsanleitung Star Money

Sicherheitseinstellungen... 2 Pop-up-Fenster erlauben... 3

Fragebogen: Abschlussbefragung

Hinweise zur Datensicherung für die - Prüfmittelverwaltung - Inhalt

Integrierte Dienstleistungen regionaler Netzwerke für Lebenslanges Lernen zur Vertiefung des Programms. Lernende Regionen Förderung von Netzwerken

Prof. Dr. Uwe Schmidt. 21. August Aufgaben zur Klausur Objektorientierte Programmierung im SS 2007 (IA 252)

Befragung zur Beratungs- und Vermittlungsleistung

Prüfung Software Engineering I (IB)

Übung Grundlagen der Programmierung. Übung 03: Schleifen. Testplan Testergebnisse

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Dokumentation für die software für zahnärzte der procedia GmbH Onlinedokumentation

Häufig wiederkehrende Fragen zur mündlichen Ergänzungsprüfung im Einzelnen:

Backup Premium Kurzleitfaden

Elternzeit Was ist das?

Programmieren I. Strategie zum Entwurf von Klassen. Beispiele. Design von Klassen. Dr. Klaus Höppner. Beispiel: Bibliothek

Fragen und Antworten

Adobe Photoshop. Lightroom 5 für Einsteiger Bilder verwalten und entwickeln. Sam Jost

Dokumentation zur Versendung der Statistik Daten

Software Engineering Interaktionsdiagramme

Was versteht man unter einem Softwareentwicklungsmodell?

In diesem Bereich wird beschrieben, wie Sie eine Datensicherung der Software Jack Plus durchführen können.

Virtuelle Fotografie (CGI)

Der Empfänger, der das Verschlüsselungsverfahren noch nicht nutzen kann, erhält folgende

Benutzung der LS-Miniscanner

STRATO Mail Einrichtung Mozilla Thunderbird

RUNDE TISCHE /World Cafe. Themen

GSD-Radionik iradionics Android-App

Teil 1: IT- und Medientechnik

Quick Guide Mitglieder

Der Kalender im ipad

Anleitung zum Wechsel von einer auslaufenden VR-NetWorld Card auf eine neue VR-NetWorld Card in Profi cash 8

Objektorientierte Programmierung

Transkript:

Software Engineering Softwareentwicklungsmethoden und -modelle Prof. Dr.-Ing. habil. Reiner R. Dumke http://www.smlab.de R. Dumke 2-1

Software Engineering - LV-Inhalt - 3. Softwareentwicklungsmethoden sequentielle und nicht sequentielle Entwicklungsform 4. Softwareentwicklungsmodelle Wasserfallmodell V-Modell Prototyping Spiralmodell inkrementelle Entwicklung evolutionäre Entwicklung agile Entwicklung R. Dumke 2-2

3. Entwicklungsmethoden - Softwareprozesse und deren Ressourcen - R. Dumke 2-3

3. Entwicklungsmethoden - Übersicht - R. Dumke 2-4

3. Entwicklungsmethoden - Probleme -...... Quelle unbekannt R. Dumke 2-5

3. Entwicklungsmethoden - objektorientierte Softwareentwicklung - R. Dumke 2-6

3. Entwicklungsmethoden - - Zählerbeispiel: Problemdefinition- Lieber Systementwickler! Ich liebe es zu zählen. Bitte entwickeln Sie mir ein System, welches mir zu zählen hilft. Ich wünsche zu Inkrementieren und zu Dekrementieren. Ich möchte eine Menge Dinge in verschiedenen Zahlensystemen zählen. Bisher habe ich einen Zähler aus roter Plastik verwendet. Darauf habe ich einen Inkrement-Knopf, einen Dekrement-Knopf und, ach ja, einen Reset-Knopf. Beste Grüße! Der Auftraggeber R. Dumke 2-7

Zunächst alle Substantive: 3. Entwicklungsmethoden - OO-Zählerbeispiel: Anforderungsanalyse - Systementwickler, System, Inkrementieren, Dekrementieren, Menge Dinge, Zähler, rote Plastik, Inkrement-Knopf, Dekrement-Knopf, Reset-Knopf, Grüße, Auftraggeber, verschiedene Zahlensysteme. Systematisiert/klassifiziert: Problemdefinitionskontext: Systementwickler, Auftraggeber, Grüße, Systembeschreibung: System, Zähler, Menge Dinge, rote Plastik, Systemeigenschaften: Inkrementieren, Dekrementieren, Inkrement-Knopf, Dekrement-Knopf, Reset-Knopf, verschiedene Zahlensysteme. Typischer Fehlschluss für ein Objekt: Zähler, welche eine Menge Dinge in verschiedenen Zahlensystemen zählen und zuvor aus roter Plastik waren. Richtiger OO-Ansatz: Zahl, die sich inkrementiert und dekrementiert und die angezeigt wird. R. Dumke 2-8

3. Entwicklungsmethoden - OO-Zählerbeispiel: (Spezifikation) Use-Case-Diagramm - R. Dumke 2-9

3. Entwicklungsmethoden - OO-Zählerbeispiel: (Spezifikation) Sequenz-Diagramm - R. Dumke 2-10

3. Entwicklungsmethoden - OO-Zählerbeispiel: (Entwurf) Layout-Design - Zahl Mein Zaehler zaehlwert anfangswert Inkrement- Dekrement- Reset- Knopf Knopf Knopf anfangswertsetzen inkrementieren dekrementieren Wertanzeige zahlensystemdarstellen R. Dumke 2-11

3. Entwicklungsmethoden - OO-Zählerbeispiel: (Entwurf) Klassen-Diagramm (naive Lösung) - R. Dumke 2-12

3. Entwicklungsmethoden - OO-Zählerbeispiel: (Entwurf) Java-Klassen (java-bezogene Lösung) - R. Dumke 2-13

3. Entwicklungsmethoden - OO-Zählerbeispiel: (Implementation) Klassen Zahl und FrameZahl - public class Zahl { public Zahl() {anfangswert=0; zählwert=0;} public static void anfangswertsetzen() { zählwert = anfangswert; } public static void dekrementieren() { zählwert--; } public static void inkrementieren() { zählwert++;} public static int darstellen (){ /* zunächst nur dezimale Darstellung */ return(zählwert);} public static int anfangswert; public static int zählwert; } import java.awt.event.*; import java.awt.*; /* Generated by Together */ public class FrameZahl extends Frame implements ActionListener { /** * @clientcardinality 1 * @suppliercardinality 1..* * @link aggregation */ Button b1,b2,b3; TextField t; FrameZahl () { super("mein Zähler"); // Zählfenster bezeichnen add(b1=new Button("Reset"), BorderLayout.WEST); b1.addactionlistener(this); //Resetknopf add(b2=new Button("Inkr"), BorderLayout.CENTER); b2.addactionlistener(this); // Inkrementknopf add(b3=new Button("Dekr"), BorderLayout.EAST); b3.addactionlistener(this); //Dekrementknopf add(t=new TextField(), BorderLayout.SOUTH); t.settext("---------------- " + Zahl.darstellen() + " ----------------"); // Zahlanzeige this.enableevents(awtevent.window_event_mask); // Fensterschließung setvisible(); } public void actionperformed(actionevent erg){ if ("Reset".equals(erg.getActionCommand())) {Zahl.anfangswertSetzen();} if ("Inkr".equals(erg.getActionCommand())) {Zahl.inkrementieren();} if ("Dekr".equals(erg.getActionCommand())) {Zahl.dekrementieren();} t.settext("---------------- " + Zahl.darstellen() + " ----------------"); } public static void main(string args[]) { new FrameZahl(); } // Aufruf eines Zählers protected void processwindowevent(windowevent e) { //Fenster-Ereignisse if (e.getid()==windowevent.window_closing) { //behandeln dispose(); // Ressourcen des Fensters freigeben System.exit(0); // Programm beenden } } } R. Dumke 2-14

3. Entwicklungsmethoden - Systemanforderungen in den Entwicklungsphasen - R. Dumke 2-15

3. Entwicklungsmethoden - Webshop-Beispiel: Entwicklerdokumentation - R. Dumke 2-16

3. Entwicklungsmethoden - sequentiell vs. nicht sequentiell - R. Dumke 2-17

4. Entwicklungsmodelle - Softwareprozesse: Vorgehensmodelle- Modellinhalte: Anforderungen: nach Schmietendorf Prinzip/Erfahrung: Vorgehensmodelle begründen sich gemäß einer Softwaresystemklasse und eines Paradigmas für die Entwicklung R. Dumke 2-18

4. Entwicklungsmodelle - Wasserfallmodell - Prinzip/Erfahrung: Anforderungen liegen vollständig vor; Zeit für phasenweise Entwicklung gegeben R. Dumke 2-19

4. Entwicklungsmodelle - V-Modell - Prinzip/Erfahrung: Entwicklungsverfeinerung Bei Systemintegration stufenweise gestestet R. Dumke 2-20

4. Entwicklungsmodelle - evolutionäre Entwicklungsform - Prinzip/Erfahrung: Anforderungen sind unvollständig; Ständige Anwendung/Kundenbewertung notwendig R. Dumke 2-21

4. Entwicklungsmodelle - inkrementelle Entwicklungsform - Prinzip/Erfahrung: bei sehr komplexen Systemen kann der Kunde bereits zeitnah Funktionalitäten verwenden R. Dumke 2-22

4. Entwicklungsmodelle - Prototyping - Prinzip/Erfahrung: Anforderungen müssen noch hinsichtlich Machbarkeit auch in ihrer Realisierung geprüft werden R. Dumke 2-23

4. Entwicklungsmodelle - Spiralmodell - Prinzip/Erfahrung: jede Entwicklungsphase wird Genauestens (auch alternativ)geprüft, bewertet Und dann realisiert R. Dumke 2-24

4. Entwicklungsmodelle - agile Entwicklungsform: Prinzipien - Die höchste Priorität einer agilen Softwareentwicklung ist die frühe Implementation von Software und die damit mögliche frühe Zufriedenstellung des Auftraggebers. Die Software soll in kurzen Zeitintervallen (nur einige Wochen) erstellt werden. Dabei werden jeweils umsetzbare Teilanforderungen berücksichtigt. Das primäre Maß für den Arbeitsfortschritt ist anwendbare Software, die inkrementell eine gewisse Menge von Systemanforderungen bereits realisiert. Auftraggeber und Entwickler sollten täglich den Ergebnisstand auswerten und ggf. Maßnahmen zur Gewährleistung der Validität festlegen. Der beim agilen Entwickeln unbedingt erforderliche Informationsaustausch sollte am besten durch eine Face-to-face-Kommunikation gesichert werden. Die Kunst der Entwicklung besteht vor allem in der Fähigkeit, eine Einfachheit aller Systemkomponenten und Integrationsformen zu gewährleisten. Ein agiles Team erreicht in bestimmten Intervallen durch Reflexion eine höhere Effizienz, wobei sich die Teammitglieder in ihrem Verhalten dem Entwicklungsfortschritt anpassen. nach dem agilen Manifest R. Dumke 2-25

4. Entwicklungsmodelle - agile Praktiken - nach Schmietendorf Prinzip/Erfahrung: Anforderungen sind z. T. unklar; Kunde kann/soll ständig schnell realisiert Programme Nutzen und bewerten (als Validationsprüfung) R. Dumke 2-26

4. Entwicklungsmodelle - agile Modellkomponenten - Prinzip/Erfahrung: kurze Entwicklungssprints (ca. 3 Wochen), tägliche Ergebnisdiskussion R. Dumke 2-27

4. Entwicklungsmodelle - der SCRUM-Prozess - nach Schiel, 2012 Ein Entwicklungsteam wird von einem SCrUM-Master Angeleitet/geführt. R. Dumke 2-28

4. Entwicklungsmodelle - speziell: Wartungsprozess - Prinzip/Erfahrung: Anforderungen erfordern ständige Erweiterung, Anpassung, Korrektur und Verbesserung R. Dumke 2-29

4. Entwicklungsmodelle - speziell: Anwendungsprozess - Prinzip/Erfahrung: Implementation der Anforderungen werden ständig (auf Fehler) geprüft und führen ständig Zur Funktionserweiterung und Anpassung R. Dumke 2-30

Übungsaufgaben - Entwicklungsmodelle - 17. Wiederholen Sie die Schritte und Inhalte einer objektorientierten Softwareentwicklung. 18. Nennen Gründe für eine sequentielle oder nicht sequentielle Softwareentwicklung. 19. Ordnen Sie die Entwicklungsphasen der Verifikation und der Validation zu. 20. Welche Aspekte erweitern/modifizieren das Wasserfallmodell zum V-Modell? 21. Erläutern Sie den Unterschied zwischen evolutionärer und inkrementeller Entwicklungsmodellform. R. Dumke 2-31

Übungsaufgaben - Entwicklungsmodelle - 22. Was intendiert ein Prototyping? Geben Sie den Unterschied zwischen einem horizontalen und vertikalen Prototyping an. 23. Welche Qualitätsaspekte verdeutlicht die Vorgehensweise nach dem Spiralmodell? 24. Welche Spezifika begründen eine agile Softwareentwicklung? 25. Erläutern Sie zwei Managementtechniken der agilen Vorgehensweise. 26. Beschreiben Sie die orthogonalen Phasen zwischen der Softwarewartung und der Softwareanwendung. R. Dumke 2-32