university of waterloo的基于组件的软件工程的作业