What is your interpretation of the requirements?
Think in terms of functional requirements:
- What are the business rules?
- What are the authorization and authentication requirements?
- What sort of history needs to be tracked?
- Are there any reporting requirements?
- What transations need to be supported?
Think in terms of non-functional requirements:
- What performance requirements are there?
- How reliable does the system need to be?
- What kind of data integrity issues are there?
- Will your system need to work with other systems?
Other questions to think about (Not exhaustive):
- What sort of interfaces are involved?
- Will this be a web application, a command line application or something else?
- What are the subsystems that will be developed?
- As you describe the subsystems, what users will interact with each subsystem?
- What sort of security and authorization issues are involved?
- How will you handle different users logging into the system? Will they log into the system?
- Can the system handle more than 2 types of employees? How will you manage their tasks?
- What is the lifecycle of a trouble ticket? What states can it go through?
- How will you keep track of inventory of books? How will you handle shipments?
- What are the types of books? What is the relationship between books, courses, students, universities, etc?
- How will reviews and ratings work? Can a user change a rating, can they write more than one review for a book? How will enforce these rules?
- What are the attributes of the books? Anything missing?
- How are carts handled? When does a cart get emptied? How do you handle user sessions and carts? What happens when a cart becomes an order?
- What is the lifecycle of the order? How is shipping handled?
- How will recommendations be handled? Any issues?
- How does a user view books, how does a user add items to a cart?
- How does a user rate a book?
- What does the customer support module do? How about the admin?
