Software modeling techniques for a first course in software engineering: a workshop-based approach | IEEE Journals & Magazine | IEEE Xplore