teach her how to communicate... her feelings.
Teach her the names for feelings.... mad/happy/sad/frustrated etc. Kids can learn the vocabulary for it and it helps them to articulate their irks and upsets. Or, is she is not talking a lot... teach her gestures/sign language for it... the point being, she NEEDS a way to express herself.
And, well for me, I teach my kids its okay to have emotions/feelings even if it is mad feelings... but to tell me. And then we will work on it together... not just punishing them for that feeling. Because, "adults" get negative feelings too... but we don't go around punishing ourselves everytime we get mad/upset/irked/irritated with things. So... in the long run... teaching them that feelings are normal... but there are better ways of expressing it. Like punching a pillow or something, and sometimes I do that WITH my kids... and then they either realize how funny it is, or that "Mommy" understands them TOO. Then it makes them feel better. Instead of me always censoring/stifling their feelings. BUT... as they get older, I taught them that hurting others is NOT acceptable... they can feel things and express it, but NOT hurting others with words or physicality.
At this age, lecturing about it will not help. They are young, and wordiness is not taken in well at this age. You can "validate" her feelings... but then try to then redirect her to a more positive way of expressing herself, even if irked. Or tell her, "How can you redo that in a more happy way?" And offer her ideas and suggestions. THEN that way the child, in time and maturity, will begin to "learn" alternate ways of handling their emotions and HOW TO COPE with it. THIS is key for a child... learning how to COPE with feelings and expressing it. Not just keeping it all pent-up and taught that they "can't" express themselves or that they will get punished for every irritating feeling they have.
It is teaching them HOW to "navigate" themselves... their feelings. So that as they mature, they can cope better with it, themselves etc.
But she is young... but through teaching her "skills" about it (not just punishing for it across the board), a child will begin to learn how to handle their upsets. Better.
So along with "rules" and schedules... and child ALSO needs to learn the actual ways to express themselves, and how to cope. If they do not learn how to cope with irritating feelings, then, you will have a frustrated/fussy child who cannot express it to you and will not understand it themselves.
You can also try role-playing too... as she matures, teaching her the words and skills for managing her upsets. I tell my kids "Mommy gets yucky too sometimes and fussy... but I try to be nice about it... even if I don't feel good..." and then I show them my tones of voice, my facial expressions and that just by my expressing my feelings to them... it shows them HOW to communicate things.
Also, make sure she is not over-tired or lacking regular naps. Because an over-tired child or an over-stimulated child, WILL be fussy and irritable.
to me, the problem may just be that she can't express her feelings, or does not know how to... and she is feeling not understood... so she gets upset and acts out. And by that point, it is too late. So then she just gets punished. And then it just becomes a battle.
Just some quick ideas.
All the best,
Susan