Oriented Software Development (AOSD) aims at providing a systematic support for the identification, separation, representation (through proper modeling and documentation), and composition of crosscutting concerns as well as mechanisms that can make them traceable throughout software development. In this paper, we discuss a sequence of systematic activities towards an early consideration of specifying and separating crosscutting functional requirements (FRs) and nonfunctional requirements (NFRs). This approach would make it possible to identify and resolve conflicts between NFRs earlier in the development cycle and can promote traceability of broadly scoped requirements throughout system development, maintenance and evolution. We provide a formalism for FRs by specifying their pre- and postconditions using first-order predicate logic. Measures of conflictiveness and interdependency are proposed to assess the effort required for the composition of the requirements. A new measure of cohesiveness of the use-case model is proposed based on the crosscutting modeling approach.