• Keine Ergebnisse gefunden

PROGRAMMIERPROJEKT 2016

N/A
N/A
Protected

Academic year: 2022

Aktie "PROGRAMMIERPROJEKT 2016"

Copied!
17
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

PROGRAMMIERPROJEKT 2016

EINFÜHRUNG

Mathias Weber und Annette Bieniusa

(2)

ZIELE DES PROJEKTS

Planung und Durchführung eines Programmierprojekts

PROGRAMMIERUNG!

(3)

INHALTE

So wareentwicklungsprozesse Phasen und ihre Interaktion So warearchitekturen

Client-Server

Model-View-Controller Modellierung von OOP

UML (Klassendiagramme und Use Cases) Bibliotheken und Frameworks

Web-Frameworks Datenbanken (SQL)

Werkzeuge und Methoden

Entwicklungsumgebungen Testing

Versionsverwaltung (GitLab)

ORGANISATORISCHES

(4)

ORGANISATORISCHES

Regelmäßiges Treffen (ca. wöchentlich) immer Dienstags 17:15

Programmieren in Teams à 3 Personen

Benotung auf Grund von Einzelleistungen So ware-Komponenten

Dokumentation / Berichte Zwischenabnahmen

Lastenhe => Pflichtenhe Erster Prototyp

Grundversion (Implementierung der Kernanforderungen)

(5)

ZEITERFASSUNG

In Google-Spreadsheet (Link per Email) Was wird erfasst?

Teilnahme an Treffen

Schreiben von Dokumentation Coden

Testen

Debuggen

Lektüre von Fremdquellen

Mindestens 120 Stunden gesamt!

Maximal 20 Studen reserviert für Abschlusspräsentation

(6)

Notebooks bitte mitbringen.

Betriebssystem: Windows, Linux, Mac Richtige Tastatur

Kein Android Tablet oder iPad

(7)

PHASEN DER SOFTWARE-ENTWICKLUNG

(8)

WASSERFALL-MODELL

Planungsphase

Definitionsphase

Entwurfsphase

Implementierungsphase

Testphase

Einführungs- und Wartungsphase

(9)

EVOLUTIONÄRE MODELLE

Specification Implementation

Validation Operation

Start

Release 1

Release 2

Release 3 etc.

Sommerville, So ware Engineering, 9 ed., Chapter 9

(10)

EVOLUTIONÄRE MODELLE Stufenweise, allmähliche Entwicklung

Produktkern basiert auf den Muss-Anforderungen

Weitere Entwicklung/Anforderungen sind gesteuert durch Erfahrungen mit dem Produkt

Gefahr: Systemarchitektur muss für spätere Anpassungen vollständig überarbeitet werden

(11)

INKREMENTELLE MODELLE

Zu Beginn werden alle Anforderungen vollständig erhoben Anforderungen werden dann schrittweise implementiert Mehr Zeitaufwand am Anfang

Gefahr: Anforderungen werden übersehen

(12)

AGILE SOFTWARE-ENTWICKLUNG

(13)

AGILE SOFTWARE-ENTWICKLUNG Flexibler und schlanker Prozess

Agiles Manifest:

1. Menschen und Interaktionen sind wichtiger als Prozesse und Werkzeuge.

2. Funktionierende So ware is wichtiger als umfassende Dokumentation.

3. Zusammenarbeit mit dem Kunden ist wichtiger als die ursprünglich formulierten Leistungsanforderungen.

4. Eingehen auf Veränderungen ist wichtiger als Festhalten an einem Plan.

(14)

AGILE METHODIK UND PRINZIPIEN Story cards / User stories

Pair programming

Testgetriebene Entwicklung

Selbstorganisation und -reflexion des Teams Fokus auf funktionierenden Code

Regelmäßige und häufige Releases

UNSER PROJEKT

(15)

UNSER PROJEKT

Inkrementelles Vorgehen

Zunächst: Produktspezifikation Prototyp der Kernanforderungen

Dann iteratives Erweitern der So ware

Elemente aus der Agilen So ware-Entwicklung Test-driven development

Iteratives Vorgehen

(16)

BÜCHERTAUSCHRING

Gerda Musterfrau möchte mit ihrer örtlichen Yoga-Gruppe einen Büchertauschring eröffnen.

Interessenten können sich anmelden und ihre Bücher zum Tausch anbieten. Dafür können sie sich Bücher von anderen

Teilnehmern ausleihen.

(17)

BÜCHERTAUSCHRING Interessenten können sich anmelden

Mitglieder stellen Bücher bereit, die von anderen Mitgliedern ausgeliehen werden können

Wer ein Buch hat und fertig ist mit lesen, schickt das Buch an den nächsten Ausleiher

Kurze Reviews und Bewertungen von Büchern soll möglich sein

Referenzen

ÄHNLICHE DOKUMENTE

o Beachten Sie eine faire Aufteilung der Arbeiten (teilweise sind Überschneidungen und Anknüpfungspunkte notwendig).. o Unser Versionsmanagement erlaubt es sehr

Web-Anwendungen laufen auf Servern und kommunizieren mit dem Browser des Benutzers Austausch von Informationen zwischen Benutzern möglich.. Server speichert Informationen zur

Befehl git commit übernimmt Änderungen im Index zu einer Version Befehl git checkout aktualisiert das Dateisystem auf Zustand einer Version..

– Methode void update(Observable o, Object arg) wird aufgerufen, wenn das observierte Objekt sich

JavaScript erlaubt dynamische Änderungen am HTML Aber: Kein direkter Austausch von Informationen.. zwischen

Commit von Änderungen erzeugt neue Version Parallele Änderungen → mehrere Kindversionen Merge führt zwei

INSERT INTO studenten (MatrikelNr, Vorname, Nachname) VALUES ( 367891, 'Paul', 'Muster' ). Man kann die Liste der Attribute weglassen, wenn man die Werte in der Reihenfolge

•  Unit-Tests (Komponententests) für einzelne Komponenten der So0ware. •  Integra<onstests für die Zusammenarbeit von