is concerned with the development of software-intensive systems from reusable parts