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