design developers information allows their macroview using product standard needs application these source system development layer which where framework windows interface people domain services clients developing systems process collection functionality other developed example server applications business access provides language client automated products tasks based driver integration manual software staff approach JoelLipman.Com