>Domain name, hosting, FTP client
Some web developers create a temporary development site which is removed after the site design is approved and made live.
What I am recommending is a more permanent development / test site. When I create these I will obtain a similar domain name.
If the website is yoursite.com then I would try to obtain yoursite.info (often for 99 cents)
It is then easy to copy the existing website over and make the changes required to the web address for it to work.
Access to the development / test site can be restricted by using one of many maintenance mode plugins available for free via WordPress. With many you have the option of creating a special page (usually used for Coming soon notification), or redirect to another URL. I normally redirect the development site to the live site.
For the site to truly function as a real development / test site it needs to be in an identical environment and that means hosting it on the same server. You can host it on another server but you should ensure that the hosting environment is very similar (same version of PHP etc).
Even if you do not plan to make any major changes or enhancements to website the your development / test site will allow you to safely test all updates (WordPress CMS, theme and plugins) before applying them to your live website.
If you are planning on making changes or enhancements to the website, then the development / test site is the perfect place to see what they will look like and get any bugs out.