Any software system is created to support business requirements. Therefore, any system design starts with gathering product requirements and clarifying ambiguities.