General Principles of Systems Design