Work for Drexel's CS575: Software Design