Table of Contents
The special system user with static attributes:
Username - string = "admin"
Password - string = "password"
A system user with attributes:
Username - not empty unique string with maximum length 20
Password - not empty string with maximum length 20
A gadget for something ;-) with attributes:
Name - not empty unique string with maximum length 30
Tiers entities relationship:


Visitor enters username/password, submits form. If entered username/password are valid the system switchs visitor to logged-in user state.

Precondition: user is logged in.
The system shows stats info: users online, users total, gadgets total.

Precondition: user is logged in.
User enters first letters of gadget name, clicks "Search". The system shows list of found gadgets.
User clicks "Show all". The system shows list of all gadgets.
If search results list has more than 10 records user can browse search results by pages.
User selects gadget checkboxes on the page, select a user in the drop-down, clicks "Reassign". The system reassigns selected gadgets to the selected user.
User clicks "delete gadget". The system deletes the corresponding gadget.

Precondition: user is logged in.
User enters gadget name, submits form. The system creates new gadget.

Precondition: user is logged in.
User modifies gadget name, submits form. The system updates gadget.

Precondition: user is logged in.
Admin can not be deleted.
User enters first letters of username, clicks "Search". The system shows list of found users.
User clicks "Show all". The system shows list of all users.
If search results list has more than 10 records user can browse search results by pages.
User clicks "delete user". The system deletes the corresponding user.

Precondition: user is logged in.
The system shows all gadgets owned by the selected user.

Precondition: user is logged in.
User enters username/password, submits form. The system creates new user.

Precondition: user is logged in.
Admin can not be edited.
User enters only username, submits form. The system updates username of the selected user.
User enters username/password, submits form. The system updates username/password of the selected user.