Illustrative Case Studies
In this section, we will show how the proposed framework can be applied on realistic case studies. In order to gain confidence about the developed framework, we conducted two case studies. We employed “smart phone” and “online bookstore” feature models (and their corresponding goal models), which are widely used models within the literature [30]. In the following, we first discuss our experience in applying our approach on “smart phone” case study and then we present “online bookstore” as our second case study.
First Case Study - Smart Phone
Given the proposed framework that is described in the previous sections, here we intend to identify the non-functional properties for the smart phone feature model represented in Figure 6 using its related goal model represented in Figure 7. Both feature and goal models are addressing a similar domain.
The smart phone feature model focuses on covering the domain functional specifications for a smart phone domain. As depicted in Figure 6, the smart phone feature model consist of six main features, which will be considered as system variability features : 1) Utility function, 2) Sensors, 3) Media, 4) OS, 5) Connectivity, and 6) Hardware specification. In addition, there are leaf features such as “Audio call”, “Video call”, “MMS”, “SMS”, and others, which are representing the concrete functionality in the domain.
The smart phone feature model focuses on covering the domain functional specifications for a smart phone domain. As depicted in Figure 6, the smart phone feature model consist of six main features, which will be considered as system variability features : 1) Utility function, 2) Sensors, 3) Media, 4) OS, 5) Connectivity, and 6) Hardware specification. In addition, there are leaf features such as “Audio call”, “Video call”, “MMS”, “SMS”, and others, which are representing the concrete functionality in the domain.
On the other hand, the goal model provided in Figure 7 covers the high level goals, tasks (functional aspects), and soft goals (non-functional aspects) in the mobile phone domain. As depicted in Figure 7, there are five high level goals: 1) Managing resource, 2) Support call, 3) Support messaging, 4) Enable to connect to third party, and 5) Up-to-date hardware. Each goal indicates the high level objective that needs to be satisfied in a smart phone domain. The leaf nodes which are represented by hexagon shapes are task elements, which are addressing the method or operation that need to be applied in order to satisfy the parent goals. For instance, for satisfying “Support call” goal, either “Video call system” or “Video call system” need to be selected. Moreover, the non-functional properties in the goal model are represented as softgoals which are “Open-source”, “Security”, “Accessibility” and others. The impact of tasks over softgoals are represented in Tables 11.
The main objective of our framework is to integrate feature and goal model (identify semantically related feature and task elements) in such way that one can trace from feature space to goal space in order to identify the related NFPs for a feature. For instance, consider the feature elements such as “IOS” and “3G”, which are representing system functionality in a domain and task elements such as “Apple operating system” and “Cellular” in the goal model, which are representing the operation or function that can be defined for satisfying parent goals. Furthermore, softgoals such as “Open-source” and “Cost” in the goal model represent domain non-functional aspects which are interconnected with task elements “Apple operating system” and “Cellular” respectively. Through the integration of the feature model and the goal model (e.g. linking “IOS” feature and “Apple operating system” task or “3G” feature and “Cellular” task), one can identify the impact of a feature on a non-functional property by finding the correlated task in a goal model. Based on the proposed framework, the process of extending feature model with domain non-functional properties can be conducted in four steps: S1) element enrichment, S2) semantic annotation, S3) mapping recommendation, and S4) building a quality-centric feature model.
(S1) Element enrichment Generally, in the element enrichment step, the task elements of the goal model and the feature elements of the feature model will be connected to domain related textual snippets which are the sections of domain documents that the elements are derived from. Here for the simplicity’s sake only one supporting text is associated to each element. The supporting texts that are selected for each element try to support and describe the context that the element is defined. Table 5 (part a) represents the supporting texts that are assigned to “Audio call”, “Video call”, and “MMS” features. Table 6, also shows the supporting text that are associated to “Microsoft operating system”, “Apple operating system”, and “Google operating system”. The complete list of supporting texts that are associated to smart phone feature model elements and its related task element are represented in Table 12 and 13.
(S1) Element enrichment Generally, in the element enrichment step, the task elements of the goal model and the feature elements of the feature model will be connected to domain related textual snippets which are the sections of domain documents that the elements are derived from. Here for the simplicity’s sake only one supporting text is associated to each element. The supporting texts that are selected for each element try to support and describe the context that the element is defined. Table 5 (part a) represents the supporting texts that are assigned to “Audio call”, “Video call”, and “MMS” features. Table 6, also shows the supporting text that are associated to “Microsoft operating system”, “Apple operating system”, and “Google operating system”. The complete list of supporting texts that are associated to smart phone feature model elements and its related task element are represented in Table 12 and 13.