Visibility Requirements Engineering for Commercial Websites - SERSC

3 downloads 110714 Views 561KB Size Report
Visibility in search engines is a competitive advantage of commercial websites. In this context, Search Engine Optimization (SEO) techniques are devised to ...
International Journal of Software Engineering and Its Applications Vol.8, No.8 (2014), pp. 11-18 http://dx.doi.org/10.14257/ijseia.2014.8.8,02

Visibility Requirements Engineering for Commercial Websites Davoud Mougouei1 and Man Kwan Yeung2 School of Computer Science, Engineering, and Mathematics Flinders University, Adelaide, Australia 1 [email protected], [email protected] Abstract Visibility in search engines is a competitive advantage of commercial websites. In this context, Search Engine Optimization (SEO) techniques are devised to enhance the ranking of websites in search engine results. The existing approaches toward SEO are primarily modifying the content or the structure of websites during the post-development activities. These modifications can introduce new defects to the websites. To tackle this problem, we have proposed caring for visibility in the requirements of commercial websites. We further contribute a goal-based framework for modeling and description of visibility in requirement engineering phase. The framework lays a foundation for automated analysis of visibility in commercial websites. Keywords: search engine optimization, visibility requirements engineering, website

1. Introduction Studies have continuously demonstrated that appearing on the first page of search engine results is a competitive advantage of commercial websites [1, 2]. Search engines, rank the commercial websites with respect to their visibility in search engines. So, higher-ranked websites achieve higher positions in search engine results and take more business opportunities than their rivals do [1]. Therefore, caring for visibility in search engines is crucial for the success of commercial websites. In this context, search engine optimization techniques [3] are introduced to enhance the visibility of websites [4] on a natural (unpaid) basis [5]. The existing approaches toward SEO are mostly focused on the post-development activities [2, 5, 6]. These activities include changing the structure, contents, links, and other elements of websites [7]. Nonetheless, modifying the websites during the maintenance phase, can increase the cost of development [8] and introduce new defects to the website [9, 10]. On the contrary, caring for requirements of the websites in the earlier stages of the development, can reduce the overall cost of development [11] and mitigates the adverse impacts [12] of website modifications [13]. But, the existing SEO techniques have neglected to care for visibility in the requirement engineering phase of website development. To address this problem, this paper proposes caring for visibility as a quality attribute of commercial websites in the requirement engineering phase. For this purpose, we have contributed a goal-based framework referred to as VRE (Visibility Requirements Engineering) for modeling and description of visibility requirements. VRE consists of two major parts: 1) a process for modeling the visibility requirements. 2) a description process for describing Visibility Model (VM) of websites. Fuzzy logic [14] is employed to capture partiality of visibility [15, 16] in VM of website. The remainder of this paper is organized as follows: Section 2 introduces our running example, Section 3 provides the definitions of the new concepts we have presented in

ISSN:1738-9984 IJSEIA Copyright ⓒ 2014 SERSC

International Journal of Software Engineering and Its Applications Vol.8, No.8 (2014)

this work, Section 4 presents VRE, and Section 5 concludes our work with a summary of major contributions and future work.

2. The Running Example We have employed the online shopping system (OSS) presented in [17] to serve as our running example in this paper. OSS is introduced as follows: OSS is an online shopping system which provides shopping functionalities such as: “Show Products”, “Checkout”, “Make Purchase”, and “Register Client”. Users can view products, or make comments. The checkout process includes calculating the “tax and shipping”, updating the shopping cart, calculating the total cost, and settling the payment. The payment can be performed either through credit card or by PayPal. OSS needs to be as visible as possible over the internet so that the web users can find it.

Figure 1. Use Case Diagram of OSS

3. Definitions This section gives the definitions of the new concepts introduced in this paper. 3.1. Visibility Goal and Visibility Requirement Based on the IEEE definition of software quality [18], we introduce ‘visibility’ as a quality attribute (non-functional requirement) of websites. In this context, a “visibility goal” is a software goal [13, 19] which partially [16] contributes to visibility of websites. In a similar spirit, a “visibility requirement” is a software feature which partially contributes to satisfaction of visibility goals. 3.2. Visibility Requirements Engineering Visibility requirements engineering is the process of identification, modeling and description of visibility requirements.

12

Copyright ⓒ 2014 SERSC

International Journal of Software Engineering and Its Applications Vol.8, No.8 (2014)

3.3. Visibility Artifacts A visibility artifact is a technical document which demonstrates a particular aspect of website’s visibility.

4. The VRE Framework We have introduced VRE to account for visibility in requirement engineering phase of website development. As depicted in Figure 2, the framework consists of two major parts: 1) the visibility modeling process, and 2) the visibility description process. Firstly, visibility model of the website will be developed. Then, visibility model will be formally described to allow for automated analysis of visibility. Formally described visibility models can be used during the further analysis activities. In the following, we explain the details of the proposed modeling and description processes.

Figure 2. The VRE Framework 4.1. Visibility Modeling This section introduces our proposed modeling process. The process starts with development of visibility artifacts. As explained earlier, visibility artifacts are technical documents which capture the visibility aspects of websites. In this paper, we have employed use case diagram as the visibility artifact. Figure 1, demonstrates the use case diagram of an online shopping site (OSS) available at [17]. OSS serves as our running example in this paper. The visibility use cases in Figure 1 demonstrate the visibility aspects of OSS at the highest level of abstraction. The visibility use cases (identified by “visibility” tags) are developed with respect to the functional use cas es in Figure 1. For instance, the visibility use case “Maintain the Quality of Comments” in use case diagram of OSS is developed with respect to the use case “Make Comment”.

Copyright ⓒ 2014 SERSC

13

International Journal of Software Engineering and Its Applications Vol.8, No.8 (2014)

Figure 3. Visibility Model of OSS. Junction Points Represent AND Table 1. Visibility Requirements and Visibility Goals in VM of OSS Goal S G1

Description maintain OSS visibility maintain quality of comments

Requirement R1 R2

G2 G3

maintain quality of profiles avoid User-generated spam

R3 R4

G4

remove Spammy profile

R5

G5

R6

G7

restrict crawling or indexing of not-yet trusted profiles reduce the number of casual readers who leave comments manually review and approve comments

G8

avoid hyperlinks in comments

R9

G9 G10 G11

employ anti-spam tools use no-follow tags Captcha

R10

G6

R7 R8

Description turn off comments add a "report spam" feature to user profiles blacklist block comment pages using robots.txt block comment pages using META tags turn on comment moderation remove HTML tags from comment links inside the guestbook automatically add "nofollow" to comment columns and message boards Google's free reCAPTCHA's service other Captcha services

The modeling process continues with identification of high-level visibility goals in visibility artifacts. Then, high-level visibility goals will be refined to the lower-level goals (or requirements). The refinement process continues until all of the visibility goals are refined to the visibility requirements. The visibility model of OSS is depicted in Figure 3 and the VM nodes (goals or requirements) are described in Table 1. Due to the lack of space, only two of the visibility use cases (“Maintain the Quality of Comments” and “Maintain the Quality of Profiles”) in Figure 1 are taken into account while developing the visibility model of OSS. These use cases specify the high -level

14

Copyright ⓒ 2014 SERSC

International Journal of Software Engineering and Its Applications Vol.8, No.8 (2014)

visibility goals in visibility model of OSS (G1 and G2). The visibility goals (requirements) in Table 1 are taken from the best practices advised by [20] and [3]. Junction points in visibility models represent AND while their absence denotes OR relation among the VM nodes. As one example, the OR relation between R9 and R10 in VM of OSS implies that in order to satisfy the visibility goal “G11: Captcha”, either of “R9: Google's free reCAPTCHA's service” or “R10: Other Captcha services” can be implemented. Also the AND-relation between visibility goals G1 and G2 specifies that both G1 and G2 are required for satisfaction of visibility goal S. 4.2. Visibility Description Visibility as a quality attribute of websites can only be partially achieved [16, 19]. In other words, visibility goals (or requirements) can partially contribute to satisfaction of their predecessor (higher-level visibility goals) in VM of website. So as to care for this partiality, we have introduced a fuzzy-based description process for description of visibility models. We have employed fuzzy logic [14] as it has demonstrated to properly capture partiality in quality attributes [15, 21-23]. In the following, we introduce the main components of our proposed description process. 4.2.1. Constructing the Fuzzy Grammar of Visibility. A fuzzy grammar [24, 25] of visibility will be constructed to describe the VM of websites. Such a grammar is identified by the quintuple of GR = (S ,G, R, P, µ ) where S denotes the top-level visibility goal of website, G is the set of visibility goals, R is the set of visibility requirements and P specifies the set of Fuzzy Derivation Rules (FDRs). For OSS, G = {S, G1,…,G11}, R = {R1,…,R10}, P = {P1,…,P16} and S = “maintain OSS visibility”. The membership function µ specifies the membership value of FDRs [14] as demonstrated in Equation (1). ‘d’ in Equation (1) is the degree to which the visibility goal (requirement) ‘r’ contributes to satisfaction of visibility goal ‘g’. (

)

[

]

(

)

( )

FDRs can be identified based on the relations among visibility goals (or requirements) in VM of websites. For instance, the derivation rule P1 (S → G1G2) in Table 2 explains that “G1 AND G2” in VM of OSS contribute to satisfaction of visibility goal S. In addition, the fuzzy membership value of P1 (0.95) specifies that “G1 AND G2” can almost completely satisfy the visibility goal S. The membership values of FDRs will be specified by their fuzzy membership function . In other words, M (S, G1G2) = M (S, G1) = M (S, G2) = 0.95. Table 2. Derivation Rules for VM of OSS Rule P1: S → G1G2 P2: G1 → G3 P3: G2 → G3G4G5 P4: G3 → R1 P5: G3 → G6G7G8R2 P6: G4 → R3 P7: G5 → R4 P8: G5 → R5

Copyright ⓒ 2014 SERSC

Membership Value 0.95 0.90 0.85 0.90 0.70 0.60 0.90 0.80

Rule P9: G6 → G9 P10: G7 → R6 P11: G8 → R7 P12: G8 → G10 P13: G9 → G11 P14: G10 → R8 P15: G11 → R9 P16: G11 → R10

Membership Value 0.75 0.85 0.75 0.65 0.60 0.85 0.80 0.85

15

International Journal of Software Engineering and Its Applications Vol.8, No.8 (2014)

4.2.2. Calculation of Impact. If r 1, … , r n are members of (G U R) *, then r 1→ ... → r n , is a derivation chain of ‘rn’. For each pair of (v,g) in which ‘v’ is a visibility requirement and ‘g’ is a visibility goal on a derivation chain of ‘v’, impact is given by the membership function M g(v). Mg(v) specifies the strongest contribution of ‘v’ to satisfaction of goal g. The value of M g(v) is calculated through taking supremum over membership values of all derivation chains which generate ‘v’. The membership value of a derivation chain is calculated by taking minimum over membership values of all FDRs on that derivation chain. Equation (2) demonstrates the calculation of impact. The t-norm sign and a t-conorm sign denote fuzzy OR (maximum) and AND (minimum) operators respectively based on the Zadeh’s definition [26]. [ ]

( )

( (

)

(

)

(

))

( )

As one example for calculation of impact, µ S (R5) is calculated for the visibility requirement ‘R5’ in VM of OSS. For ‘R5’ to be generated, there are two derivation chains in VM of OSS: 1) S→G1→G3→R1, and 2) S→G2→G3→ R1. And so, we [ ] ( ) ( ) ( ) have: Pseudocode 1 has demonstrated the details of impact calculation. The impact values for visibility requirements of OSS are listed in Table 3. For each visibility requirement ‘ r’ in OSS, different impact values are calculated with respect to the different visibility goals on the derivation chains of ‘r’. For instance, M S (R6) = 0.7, and MG7 (R6) = 0.85. Pseudocode 1. Calculation of Impact for Visibility Requirements public class VisibilityGrammar { public VisibilityGoal S ; //the top-level visibility goal public List G ; public List R ; public List P ; // fuzzy derivation rules public double M (FDR rule){ // The membreship Function calculate the membershipValue; return membershipValue; } public VisibilityGrammar(VisibilityModel VM){ initiate the sets 'P' and 'G' based on the visibility model; identify derivation rules based on the visibility model; CalculateImpact(); } public void CalculateImpact(){ for (each Goal g in G){ for ( each Requirement r in R){ double impact = 0 ; List derivationChains = parse(r); double minimumImpact = 1, maximumImpact = 0; for (each derivationChain in derivationChains){ for (each FDR in derivationChain){ minimumImpact = min(minimumImpact,M(derivationRule)); } maximumImpact = max(maximumImpact,minimumImpact); } r.impact[g] = maximumImpact; } } } }

16

Copyright ⓒ 2014 SERSC

International Journal of Software Engineering and Its Applications Vol.8, No.8 (2014)

Table 3. Calculated Impact Values for Visibility Requirements of OSS Goal S G1 G2 G3 G4 G5 G6 G7 G8 G9 G10 G11

( ) ( ) ( ) ( ) ( ) 0.90 0.70 0.60 0.85 0.80 0.90 0.70 0.00 0.00 0.00 0.85 0.70 0.60 0.85 0.80 0.90 0.70 0.00 0.00 0.00 0.00 0.00 0.60 0.00 0.00 0.00 0.00 0.00 0.90 0.80 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

( ) 0.70 0.70 0.70 0.70 0.00 0.00 0.00 0.85 0.00 0.00 0.00 0.00

( ) ( ) ( ) ( 0.70 0.65 0.60 0.60 0.70 0.65 0.60 0.60 0.70 0.65 0.60 0.60 0.70 0.65 0.60 0.60 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.60 0.60 0.00 0.00 0.00 0.00 0.75 0.65 0.00 0.00 0.00 0.00 0.60 0.60 0.00 0.85 0.00 0.00 0.00 0.00 0.80 0.85

)

5. Conclusion This paper has proposed caring for visibility of commercial websites in search engines during the requirement engineering phase of website development . For this purpose, the new concepts of “visibility goal”, “visibility requirement”, “visibility artifact”, and “visibility requirements engineering” are introduced. We have further contributed a goal-based framework (VRE) for engineering of visibility in the requirement engineering stage. VRE allows for modeling and description of visibility with respect to the visibility objectives of commercial websites. In addition, fuzzy logic is employed to capture partiality of visibility in formally described visibility model of websites. We have verified the validity of VRE through applying it to an online shopping site. We are extending the work in several ways. One is to implement a CASE (Computer -Aided Software Engineering) tool based on VRE to allow for automated analysis of visibility requirements. Another is to apply VRE on a benchmarked web project and evaluate the impact of VRE on reducing the number of post-development SEO-related modifications.

References [1]

Search Engine Optimization, Web Design and Marketing Solutions for Business Websites, ed, Apress, (2007), pp. 285-312. [2] E. S. Sanchís, Search Engine Ranking: A SEO Strategy, Strategies in E-Business, ed, Springer, (2014), pp. 91-103. [3] A. Ramos and S. Cota, Search engine marketingMcGraw-Hill, Inc., (2008). [4] J. B. Killoran, How to Use Search Engine Optimization Techniques to Increase Website Visibility, Professional Communication, IEEE Transactions on, vol. 56, (2013), pp. 50-66. [5] P. Kent, Search engine optimization for dummiesWiley. com, (2012). [6] C. Devece, R. Lapiedra, and D. Palacios, Website Effectiveness for Tourism Accommodation Companies, Strategies in E-Business, I. Gil-Pechuán, D. Palacios-Marqués, M. P. Peris-Ortiz, E. Vendrell, and C. FerriRamirez, Eds., ed, Springer US, (2014), pp. 55-65. [7] R. Sen, Optimal search engine marketing strategy, International Journal of Electronic Commerce, vol. 10, pp. 9-25, (2005). [8] M. C. Er, Problems and solutions in software maintenance, Data Processing, vol. 26, no. 7, (1984) pp. 25-27. [9] M. R. Lyu, Handbook of software reliability engineering vol. 3IEEE computer society press CA, (1996). [10] S. A. Bohner, Extending software change impact analysis into cots components, in Software Engineering Workshop, 2002. Proceedings. 27th Annual NASA Goddard/IEEE, (2002), pp. 175-182. [11] P. Sawyer, I. Sommerville, and S. Viller, Capturing the benefits of requirements engineering, Software, IEEE, vol. 16, (1999), pp. 78-85.

Copyright ⓒ 2014 SERSC

17

International Journal of Software Engineering and Its Applications Vol.8, No.8 (2014)

[12] R. Sugden, M. Strens, and J. Dobson, "Meeting the Challenge of Changing Requirements, Safety-Critical Systems: The Convergence of High Tech and Human Factors", ed, Springer, (1996), pp. 1-12. [13] L. Axel van, Requirements Engineering: From System Goals to UML Models to Software Specifications, vol. 1 edition, (2009). [14] J. N. Mordeson and D. S. Malik, Fuzzy Automata and Languages: Theory and ApplicationsTaylor & Francis, (2002). [15] H. Yang, Measuring Software Product Quality with ISO Standards Base on Fuzzy Logic Technique, Affective Computing and Intelligent Interaction, J. Luo, Ed., ed, Springer Berlin Heidelberg, vol. 137, (2012),pp. 59-67. [16] E. Letier and A. van Lamsweerde, Reasoning about partial goal satisfaction for requirements and design engineering, SIGSOFT Softw. Eng. Notes, vol. 29, (2004), pp. 53-62. [17] http://www.uml-diagrams.org/examples/online-shopping-example.html. [18] IEEE Standard for a Software Quality Metrics Methodology, IEEE Std 1061-1998, p. i, (1998). [19] L. Chung and J. C. S. do Prado Leite, On non-functional requirements in software engineering, Conceptual modeling: Foundations and applications, ed, Springer, (2009), pp. 363-379. [20] Google's official guide to optimizing your site for Google Web Search. Available: http://www.google.com/webmasters/docs/search-engine-optimization-starter-guide.pdf. [21] J. Whittle, P. Sawyer, N. Bencomo, B. Cheng, and J.-M. Bruel, RELAX: a language to address uncertainty in self-adaptive systems requirement, Requirements Engineering, vol. 15, (2010), pp. 177-196, [22] K. Oliveira and A. Belchior, A Fuzzy Model and the AdeQuaS Fuzzy Tool: a theoretical and a practical view of the Software Quality Evaluation, Software Engineering with Computational Intelligence, T. Khoshgoftaar, Ed., ed, Springer US, , vol. 731, (2003), pp. 101-135. [23] M. H. Hasan, J. Jaafar, and M. F. Hassan, Development of Web Services Fuzzy Quality Models using Data Clustering Approach, in Proceedings of the First International Conference on Advanced Data and Information Engineering (DaEng-2013), (2014), pp. 631-640. [24] J. Jin and Q. Li, Fuzzy grammar theory based on lattices, Soft Computing - A Fusion of Foundations, Methodologies and Applications, vol. 16, (2012), pp. 1415-1426. [25] D. Mougouei and W. Nurhayati, A Fuzzy-Based Technique for Describing Security Requirements of Intrusion Tolerant Systems, International Journal of Software Engineering and its Applications, (2013). [26] L. A. Zadeh, Fuzzy sets, Information and control, vol. 8, (1965), pp. 338-353.

18

Copyright ⓒ 2014 SERSC