programming in the large noun1 •Designing a complex software system as a composition of smaller parts.