The reuse of software artifacts is a key factor in software product line, so it is important to build
environments that support such practice, as well as a strong architecture related to it [8].Improving
variability in a system implies making it easier to do certain kinds of changes [9].In variability a variation
point represents a delayed design decision [10]. Managing the differences between products is a key
success factor in software product families [11]. To design software product line architecture is proposed
various methods or frameworks, but still these frameworks have not resolved all the issues and challenges
associated with software product lines. Some of basic frameworks for software product line that have their
roots in other frameworks could be COPA or component-oriented platform architecting is a software
product line framework that is component-oriented. The goal of the COPA framework is the alignment
between business, architecture, process and organization [12]. FAST or Family-Oriented Abstraction,
Specification and Translation is a software development process is focused on the construction of product
families [12]. In FAST framework divides the process of a product line into three sections, including the
domain qualification, domain engineering and application engineering [13]. FORM or feature-oriented
reuse method is a feature oriented method that, by analyzing the features of the domain, and use these
features provide the software product line architecture .In other words, “FORM is a systematic method that
focuses on capturing commonalities and differences of applications in a domain in terms of “features” and
using the analysis results to develop domain architectures and components” [14]. Kobra is a
component-oriented approach to develop a product line based on the UML features. This method
integrated the two paradigms into a semantic, unified approach to software development and maintenance
[15]. This method can be used to support the Model Driven Architecture [12]. QADA or Quality-driven
Architecture Design and Analysis, is a product line architecture design method that provides traceability
between the product quality and design time quality assessment [12]. In fact, QADA method includes
architectural design and quality analysis [16]. In this study the issues and challenges of designing a
software product line is presented in terms of administrative and organizational aspects and technical
aspects also described four software product line frameworks. Then, these frameworks are compared with