Societies are regulated by norms and, consequently, autonomous agents that want to be part of them must be able to reason about norms. However, no reasoning can be done if agents lack a model of norms that allows them to know how by complying with norms some of their goals might be affected. In this paper, a general model of norms is proposed. By contrast with current models of norms, our model emphasises those aspects that autonomous agents might consider before taking decisions regarding norms. The model is applied to represent the most common kinds of norms that exist in a society, and its effectiveness to design systems of norms is shown.