The Internet, particularly the Web, has opened new vistas for many sectors of society, and over the last decade it has played an increasingly integral role in our daily activities of communication, information, and entertainment. This evidently has had an impact on how Web applications are perceived, developed, and managed. The need to manage the size, complexity, and growth of Web applications has led to the discipline of Web engineering (Ginige & Murugesan, 2001). It is known (Kruchten, 2004) that conventional engineering practices cannot be simply mapped to software engineering without the engineer first understanding the nature of the software, and we contend the same applies to Web engineering. This article proposes a systematic approach to identify and elaborate the characteristics that make Web engineering a unique discipline, and considers the implications of these characteristics. The rest of the article is organized as follows. We first outline the background and related work necessary for the discussion that follows, and state our position in that regard. This is followed by a model to uniquely posit the nature of Web applications based on the dimensions of project, people, process, product, and resources. Next, challenges and directions for future research are outlined. Finally, concluding remarks are given.
A Model For The Characterization Of The Unique Nature Of Web Engineering
In this section, we propose a model labeled henceforth as 4P+R for a characterization of the unique nature of Web engineering. The model, along with its high-level nonmutually exclusive elements, namely people, project, process, product, and resources, is illustrated in Figure 1.
A high-level view of the elements of the 4P+R model of Web engineering
Key Terms in this Chapter
Quality: It refers to the totality of features and characteristics of a product or a service (such as a Web application) that bear on its ability to satisfy stated or implied needs.
Agile Development: It is a philosophy that embraces uncertainty, encourages team communication, values customer satisfaction, vies for early delivery, and promotes sustainable development.
Delivery Context: It is a set of attributes that characterizes the capabilities of the access mechanism, the preferences of the user, and other aspects of the context into which a resource is to be delivered.
Stakeholder: It is a person or organization who influences a Web application or who is impacted by that Web application.
Personalization: It is a strategy enabling delivery that is customized to the user and the user’s environment.
Web Engineering: It is a discipline concerned with the establishment and use of sound scientific, engineering, and management principles, and disciplined and systematic approaches to the successful development, deployment, and maintenance of high-quality Web applications.
Web Application: It is an application specific to a domain Web site that behaves more like an interactive software system. In general it will require programmatic ability on the server side and may integrate or deploy additional software (such as application servers, media servers, or database servers) for some purpose (such as dynamic delivery of resources).