When you start your design you are often stuck with the story with where to start. Most software designers face this reality from project to project. The business analysts have completed their requirements gathering and have given you perfect specifications and yet you struggle with starting your design.
requirement specifications will give you ideas about what the software product will be doing. But how the software product will be doing those things is still not done yet. It is now your turn to answer this question.
With advancement of software engineering techniques, the design of a software product has been divided into 2 parts. High level design and low level design. As is the case with every software product, the software design always turns out to be complex. To reduce this complexity many techniques have evolved. All these techniques revolve around the notion that the only solution to reduce complexity is to use the principle of divide and rule. You divide your design so that you end up with simpler small design parts. this is the principle you should always stick. To make this happen, the high level and low level design concepts have evolved. This really helps off course.
Once you are clear about separating these layers then definitely you are on the right path. Dividing your design into thee layers definitely helps everybody in the project team. the user interface designs will help the designers doing their bit of work with any interference from any body working on other layers. similarly the business logic implementers will be doing their work independently of people working on other layers. Similar will be the case with database designers. this kind separation really works beautifully.
People working on their own layer later can do their own low level designs. Using concepts like modularization, abstraction etc. low level design can be accomplished.