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