Systematic ways to design a finite automaton whose input-output function or relation is a given one?
Use lookup tables. These make the behavior very obvious.
Use a memory for the lookup behavior. The input is the ADDRESS; the output is the contents of that memory word.