Phát triển vận hành bảo trì phần mềm - Chương 5: Khả năng sử dụng lại và kiểm thử

This is a result of several factors [133]:
Software reuse is not inherently top-down, as are some of the lifecycle models (for example, the waterfall model).
In software reuse, the developer or maintainer takes a view that extends beyond single projects or systems.
Reuse involves the exploitation of commonality at many levels of abstraction besides that easily captured in code.
Reuse depends, to a large extent, on the ability to analyse specific domains in order to extract maximally reusable components. Structured methodologies designed for top-down life-cycle models, however, rarely provide specific techniques to analyse domains.