CS342 : Software Design ; java projects