The direction a model faces in is assumed to be the actual direction faced by the creature it represents. Common sense will tell you a model cannot fire in one direction while looking in another. To represent this a target must lie within a 90 degree arc projected from the front of a shooter. Where models are on square bases this can be imagined easily by projecting a line through the corners.
Models can only shoot at targets that they can see. Their sight, and therefore their shot, is blocked if there is anything in between them and their intended target. This includes interposing models as well as scenery. Because of this, only the models in the front rank of a unit can shoot, because the models behind them will not be able to see past their friends to the target.
Imagine a real battlefield with its contours, morning mists and haze of dust. Picture the woods and hedges that obscure vision, that sudden fall of ground that hides your enemy and the distances that blur friend with foe. Towering over our miniature battlefield we are unaware of all this but the troops represented by our models are not so lucky. Just as their real life counterparts cannot see through hills or hedges we must assume that our models cannot see behind corresponding scenic features.
As it is impossible for us to say exactly what your model scenery looks like, it is not practical to be definitive about which kinds of building or terrain block sight. You must be prepared to use your own judgement within the following guidelines. Perhaps the easiest way of checking whether a model can see another is to get down over the table and take a model's eye view, but remember you must be reasonable about this as in reality it would be much more difficult to see enemy troops than over a perfectly flat, mist free gaming table.
Hills, large boulders and buildings block sight over level ground. An interposing hill or house will block your sight and prevent models shooting through it.
Hedges and walls block sight over level ground. However, a model placed directly behind an obstacle (ie touching it) is assumed to have taken up a position where it can see and shoot over the obstacle, with head and shoulders clearly visible. Such a model can shoot but it can also be seen and shot at.
Woods block line of sight if the shooter and the target lie on either side of the wood. It is only possible to see through 2" of woodland, so if a model is within 2" of the edge he can see out and shoot and he can also be seen at shot at. If further inside the wood a model can neither be seen by models outside nor can he see them. If both target and shooter are inside the wood then missile range is reduced to the farthest you can see - which is 2".
Troops, friendly or unfriendly, block sight beyond them. It is not possible to shoot directly through one model to hit another.
Troops occupying elevated positions such as hills and the tops of buildings, can see over the heads of models, over the tops of lower hills, lower buildings, trees, and obstacles. Not only can such troops see and shoot, but they can also be seen and shot at because they are standing high up, exposing themselves to view. One of the most useful aspects of this is apparent when you have a unit deployed on a hillside: models in a rear rank higher up the slope can see over the heads of ranks in front of them and so can shoot. This can enable many more models to shoot than is possible over level ground where only the front rank is able to bring its weapons to bear.