Stages in Teaching Software Design | IEEE Conference Publication | IEEE Xplore