The design of software architecture plays an important role in a software process. In the design phase, the non-functional feature evaluation of software architecture would contribute a lot in providing high quality software products. Modeling patterns, which is an extension of UML (unified modeling language), are brought forward for software non-functional feature evaluation in this paper. Furthermore, an example, in which modeling pattern “AvailabilityChain” is used to evaluate the availability of software architecture “1 Message Distributor—n Message Processors”, is given to illustrate the application of modeling patterns. Moreover, to support the application of modeling patterns, “Modeling Pattern Knowledge-Base”, in which modeling patterns and reference values of tags used by each modeling pattern are managed, is involved. UML-based Patterns and Modeling Pattern Knowledge base will simplify the evaluation of software architecture in the software process and contribute a lot in providing high quality software products.