Software Principles In Software Engineering