Zrovna to, co jsi v dotazu popsal, s objektovým návrhem zase tak moc nesouvisí.
Začni s problémem jako celkem a postupně ho rozděluj na menší části, které spolu souvisí. Ty opět rozděluj na menší, až se dostaneš do stavu, kde každá část vykonává pouze jednu činnost (případně několik činností, které spolu ale velmi úzce souvisí, např. jedna bez druhé nemá smysl). Pro ty jednotlivé malé kousky si pak vytvoř Interface a k těm už si pak napiš třídy, které je implementují.