Software requirements : encapsulation, quality, and reuse /