I want to ask what does the following statement exactly means:
Your user interface should be designed with the expectation of future functionality enhancements, and it should establish a framework that will support this with minimal disruption to the users when this occurs.
what does "minimal disruption" means? shall I implement an update tool within client application?
You don't need to add more buttons than necessary, my GUI only contains 2 (search and book). But your gui should have a good design and should be easy to extend, meaning: when new functionality has to be added (e.g. create, delete, update,...) you can easily add the new button and necessary code without having to re-engineer your existing gui from scratch, nor would you have to change the look-and-feel (experience) for the user