COMP306 SOFTWARE ENGINEERING & USER INTERFACE