Software Architecture - Assignment 1