- What does the data look like at the start, and what does the data look like at the end?
- What are the steps required to get from the start data to the end data?
- What are the components that perform each step called, and how do they work?
- How do the components fit together?
- Finally, what do the UI components look like?