1. A method of developing a system architecture comprising: defining a plurality of resources constraints maxN R1 ,. .. maxN Rn , wherein each resource constraint corresponds to a maximum number N Ri , 1≦i≦n, of a each kind of resources R 1 ,. .. Rn available to construct the system architecture, wherein n is an integer greater than 1, wherein i is an integer; defining a constraint value for each of at least three optimization parameters for the system architecture, wherein the at least three optimization parameters comprise a final optimization parameter; defining a design space as a plurality of vectors representing different combinations of a number of each kind of resource R 1 ,. .. Rn available to construct the system architecture, wherein each vector V n of the design space is of the form: 
 V n =( N R1 ,. .. N Rn ) wherein, N R1 represents the number of the kind of resource R 1 , N R represents the number of the kind of resource Rn; and wherein based on resource constraints, 1≦N R1 ≦maxN R1 ,. .. 1≦N Rn ≦maxN Rn , wherein maxN R1 is a maximum number of the kind of resource R 1 ,. .. maxN Rn is a maximum number of the kind resource Rn; for each of the plurality of optimization parameters, defining a priority factor function for each kind of resource R 1 ,. .. Rn, wherein a priority factor function defines a rate of change of the optimization parameter with respect to a change in a number N Ri of the corresponding kind of resource Ri, 1≦i≦n; determining by a processor, a plurality of satisfying sets of vectors by, for each of the optimization parameters except for the final optimization parameter, for each kind of resource R 1 ,. .. Rn available to construct the system architecture, calculating a priority factor using the corresponding priority factor function for the optimization parameter; determining a priority order by sorting the calculated priority factors based on a relative magnitude of the calculated priority factors; generating an ordered list of vectors by sorting the plurality of vectors of the design space based on the priority order; and determining a satisfying set of vectors from the ordered list of vectors, wherein each vector of the satisfying set substantially satisfies the constraint value for the optimization parameter; determining a set of vectors based on an intersection of the plurality of satisfying sets of vectors for the optimization parameters; selecting, by a processor, a vector from the set of vectors using the final optimization parameter by, for each kind of resource R 1 ,. .. Rn available to construct the system architecture, calculating a priority factor using the corresponding priority factor function for the final optimization parameter; determining a priority order by sorting the calculated priority factors based on a relative magnitude of calculated priority factors; generating an ordered list of vectors by sorting the set of vectors based on the priority order; selecting the vector from the set of vectors based on the ordered list of vectors; and developing the system architecture using the selected vector.