Software test is an important phase of software development. System level testing (system testing) is the final checkpoint of software quality control before software delivery for acceptance testing. However, until now, there is not an effective design method of system function test cases. In this paper, an effective method and better ideas are presented in terms of system data model, system state model, use case model and system interfaces. The merit of our methods is to design test cases that can cover all system functions basically from different angles of tested system. Experimental example shows the effectiveness of our proposed designing method of system function test cases. In this paper, test cases refer to logical test cases and do not include concrete test data.