Software Patterns Assignment March 2014