Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
1 I NTRODUCTION T oday's large-scale software systems are among the most complex struc- tures ever built by humans, containing millions of lines of code, thousands of database tables, and hundreds of components, all running on dozens of computers. This presents some formidable challenges to software development teams--and if these challenges aren't addressed early, systems are delivered late, over budget, or with an unacceptably poor level of quality.