Lectures

The lectures will mostly be a real time demonstration of the software process you should use. Pre-reading (below) is what you're supposed to read before the lecture. Slides will be published after.

*) = published.

# Content Pre-reading Slides
1 Course Presentation, SE overview Git Basics, Git Branching, Software development process, Agile development, Iterative development *Intro, *S1
2 Requirement elicitation Requierements Elicitation, Use case *S2
3 Analysis Domain Model, How to Make a Domain Model (a bit too detailed, get the general idea) *S3
4 Design and Implementation Test driven development, Sequence diagrams *S4
5 Design No reading *S5
6 Services, Exceptions and Misc No reading *S6

The Monopoly Case

Below is the running case for the course. Will be referenced during lectures (not a fully functional application). Code published after lecture.

Description Artifact
Use cases (initial) *UC: Move
*UC: EndTurn
Requirements and analysis document after a few versions (not in sync with running code below) *Monopoly RAD
System design document after first few use cases running (not in sync with running code below) *Monopoly SDD
First running use cases (as tests) *Monopoly 0.1
Some more UCs (as tests) *Monopoly 0.2
Full MVC application *Monopoly 0.3
Services and Exceptions *Monopoly 0.4

Design when using framworks

Some minimal code samples

Non OO OO
libGdx (Gradle) libgdx libgdx OO
JMonkey engine (Maven) jme3 jme3 OO