Agile Software Development

Lab-01

The objective of this lab is to install and configure your development workstation and to bring into focus some of the terms and concepts covered in the opening lecture.

Lab-02

Evolve the application developed in lab01 into a simple command line app. Incorporate commands for creating, deleting and listing users. Explore List, ArrayList, Map, HashMap in this context and introduce the guava and cliche libraries.

Lab-03

Extend the pacemaker application to include Activity and Location classes + associated commands. Once these are in place, incorporate a serialization mechanism to enable users & activities to be persisted to a file. We will then try to generalize this mechanism, which will enable us to experiment with alternative serialization formats.

Lab-04

Equip Pacemaker with JUint libraries and then introduce a range of tests to verify essential features. Correct issues that arise as a result of the tests, becoming familiar with the fail/pass/refactor/pass cycle. Review the outstanding command set of the application.

Lab-05
  • Create a new project to host a version of pacemaker implemented in Xtend
  • Build the project + its unit tests
  • Explore the generated Java sources
Lab-06

Install and configure maven and then create and and test a single module maven project with several external dependencies. Once this is working, incorporate into Eclipse.

Lab-07

Build pacemaker-1.0 from source using maven. Reverse engineer to UML and Structure 101. Uses these modeling tools on your own assignment

Lab-08

Create a new version of pacemaker using the play framework and deploy this to a cloud provided. Perform some simple tests on the local and hosted version

Lab-09

Explore Database evolutions in Play. Build a test project, that communicates with the play service over http. Write some initial tests to verify the User class features

Lab-10

Incorporate Activity class into the placemaker service. Extend pacemakerplaytest to exercise the new feature. Using this as a role model, in the exercises introduce Location into the service

Lab-11

Introduce elements of a web UI onto the pacemaker. Rework (in the final archive) the ui into a simple app