Teaching an object-oriented software development lifecycle in undergraduate software engineering education | IEEE Conference Publication | IEEE Xplore