MB4: SWP I – Software-Projekt im SS 2014 im FB VI der Beuth-HfT Berlin, Prof. Knabe, 2014-03-20

Gliederung: Zeitplan von Unterricht und Meilensteinen

V K Plenum im SU
Ablieferung (V=Vorlesungswoche für uns, K=Kalenderwoche, Okt, Nov, Dez, Jan, Feb  bzw.  Apr, Mai, Jun, Jul) in Ü
1 14 12:00-14:00 Einführung, Teameinteilung, Projektstudie. PH-Zielbestimmung. Finden von Anwendungsfällen. AF-Granularität. Vorbesprechung zur Themenfindung
2
15
12:00-13:30 Finden von Fachklassen; Anwendungstypen, Basistechniken
Projektstudie, Teamprofil
3
16
12:00-13:30 Finden von Operationen; Versionsverwaltung mit git, git-Vortrag, Zugriff mit ssh Zielbestimmung
4
17
12:00-13:30 Vorstellung der OO-funktionalen Sprache Scala
Fachklassendiagramm, Technik-Einarbeitungsplan
-
18
-----
[Feiertag "Tag der Arbeit"]
5
19
Build- und Dependency-Management mit Maven Operationsnamen, git-Leerprojekt
6
20
[Testen mit JUnit, Testsuites]
Technik-Prototypen
7
21
Objektverwaltung; 3-Schichten-Architektur (Skript); Rich/Anemic Domain Model
Build-Werkzeug
-
22
-----
[Himmelfahrt]
8
23
Transaktionen, Datenzugriffs-API

9
24
Programmierstil
Objektverwaltung-UI
10
25


11
26

Persistenzschicht, Technikfassaden
12
27


13
28

Objektverwaltung, Technikeinbindung
14
29

Abnahme
15
30
12:00 bis 14:00 Abschlussbesprechung

Meilensteininhalte: auf Papier besprechungsfertig ausgedruckt!
Alle Diagramme müssen zwecks Skalierbarkeit als Vektorgrafik (.eps, .svg, .tif, .wmf), nicht Pixelgrafik (.jpg, .gif, .bmp) erstellt und nach PDF konvertiert werden! Gewährleisten Sie, dass die kleinen Schriften auch bei Vergrößerung 500% noch treppenfrei sind. Beispiele für einige Meilensteininhalte finden Sie unter http://public.beuth-hochschule.de/~knabe/fach/swp-i/lehrkraftnews/
Projektstudie, Teamprofil: Wie im Fallbeispiel „Lehrkraftnews“
Zielbestimmung: Einleitende Abgrenzung im Pflichtenheft: Muss-, Soll-, Kann-Ausbaustufen, ca. 2 Seiten
Fachklassendiagramm: Klassennamen, Attribute, Assoziationen, Kardinalitäten
Technik-Einarbeitungsplan: Welche Technik wofür (z.B. Oberfläche, Persistenz, Verteilung) einsetzen; Wer arbeitet sich in welche ein.
Operationsnamen im Fachklassendiagramm; git-Leerprojekt: Leeres Projekt mit git-Versionierung, Ticketing und pull/push-Zugriff durch jedes Mitglied vorführen, z.B. bei Bitbucket (akademisch kostenlos), Assembla, hostedredmine.com.
Technik-Prototypen: Voneinander unabhängige Technische Prototypen je Mitgliedszuständigkeit, z.B. für GUI, Persistenz, Verteilung
Build-Werkzeug: Projekt(module) in Maven-Form. Testsuite in IDE und Maven ausführbar. Fortan müssen alle API-Klassen in der Testsuite getestet werden.
Objektverwaltung-UI: Technischer Oberflächenprototyp für Objektverwaltung einer Klasse in Maven-Form
Persistenzschicht: Entscheidung Anemic vs. Rich Domain Model (Wohin Attribute der Fachklassen).
Persistenzschicht für eine Fachklasse (meist Benutzer) mit zugehörigen Testtreibern vorführbar.
Datenbankentwurf: Abbildungsregeln Klassen → Tabellen, Tabellendefinitionen.
Technikfassaden: Kapselung der anderen eingesetzten Techniken (z.B. zur Verteilung) hinter projektspezifischen Fassaden
Objektverwaltung (Durchstich): CRUD-Funktionalität zweier Fachklassen (die erste meist „Benutzer“) mit den Operationen Erfassen, Ändern, Löschen, Suchen Einzelobjekt, Suchen Objektmenge, jedoch ohne Verbindungsverwaltung, inklusive Oberfläche und Maven-Build. Namenskonvention: Jeder Klassenname beginnt mit dem Schichtkürzel, Bsp.: Aus der OOA-Klasse Konto wird UiKonto für die Darstellung an der Oberfläche, LgKonto für die Fachlogik eines Kontos und DbKonto für Konto-bezogene Persistenzdienste, Technikeinbindung: Beispielhafte Einbindung der weiteren, eingesetzten Techniken in die Oberfläche
Abnahme: Reihenfolge gemäß Rücksprachenzeit, tauschbar. Je Team und zusätzlich je Mitglied 20 Minuten. Abgabepflicht gemäß getrenntem „Kriterienformular“ zur Projektabnahme. Die Teile müssen namentlich gekennzeichnet sein und in der Rücksprache verteidigt werden können. Um bestehen zu können, muss das System als Ganzes funktionieren, nicht nur einzelne Klassen. Insbesondere müssen alle Schichten beteiligt sein! Kein Plenum!
Abschlussbesprechung. Schlussbewertung (eigene Schwierigkeiten, Verbesserungsvorschläge, Kritik an mir. Was hat Ihnen gut gefallen?). Notenbekanntgabe.