The steps in designing use cases are:
Identify the users of the system
Creating a user profile for each category of users. This includes all roles that the users may play and relevant to the system.
Identify essential goals associated with each role. Also, identifying the significant roles.
Creating use cases for every goal associated for a use case template. This also includes maintaining the same abstraction level for the entire use case. Higher level use case steps are considered as goals for the lower level.
Structuring the use cases
Reviewing and validating the users