One of the recommended development methodologies for software architects is domain-driven design. This entails modelling the domain’s concepts, i.e. the processed entities and the required services, first and then integrating them one to one with as little change as possible within the source code. This sounds straightforward and almost self-explanatory. The more the code structure matches the real world, the easier it will be to maintain and expand the software.
by Gernot Starke and Peter Hruschka
Read the article here .