Principle of software engineering summer project