The 5 steps of designing a software product

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