Software Mechanics