The effects of layering and encapsulation on software development cost and quality | IEEE Journals & Magazine | IEEE Xplore