Structural Elements of Software