Ann,
You've probably heard this before, but the power of positive praise is tremendous. Whenever you "catch" your daughter being good, praise her up and down for it. It may seem over-done to you, but a 3 year old will melt under the positive attention. Try to give her tasks that she will enjoy, then praise her for being so helpful and respectful. While this will not magically make her bad behavior go away, over time you will see a difference.
With regard to requests, try to give her choices. The trick here is to make your daughter think she's in charge by letting her make a choice, when really the choices you are providing get you to the same means. For instance, when it is time to go to bed, you can say, "Honey, before you go to bed, would you like to read 3 books or have Mommy tell you a story?" rather than, "Get your PJ's on and go to bed." A request with choices helps to alleviate the response of "no," since the child has to make a choice instead.
Unfortunately, the behavior at school is more difficult for you to control, since what you tell a 3 year old at home is unlikely to transfer to a school environment. If you were able, you could ask to sit in on her school day for a few days, so you could use your positive techniques with her in the classroom. It might also give you some insight into why she is becoming aggressive with friends. Otherwise, you can always ask the teachers to use the same techniques you're choosing to use (such as positive praise and choices). They may say "yes" and then forget all about it, but it's worth a shot!
Best of luck to you!