Other Approaches to Web Application Development



index
Disabled back button Next Section
printable version




Section 0: Module Objectives or Competencies
Course Objective or Competency Module Objectives or Competency
The student will be able to compare and contrast alternative approaches to web application design, including Web Science, Web Engineering, the use of Web Content Management Systems, and others. The student will be introduced to the emerging discipline known as Web Science.
The student will be introduced to a web application development approach known as Web Engineering.
The student will be introduced to the application of the Unified Process to web application development.
The student will consider the use of Agile approaches to web application development.
The student will be introduced to Web Content Management Systems to provide the infrastructure support required for creating and managing web content for large, dynamic web applications.


Section 1: Overview

So far we have discussed the use of MVC and design patterns in developing web-based systems, and then explored WISDM, an explicit methodology.

Additional approaches to developing web-based systems have emerged, including Web Science and Web Engineering, as well retasking existing approaches like the Unified Process and Agile techniques.

Even web content management systems can provide a basis for web-based systems.

Here is a review page to accompany my notes.



Section 2: Web Science

Web Science is a newly emerging discipline that examines the phenomenon of the Web and examines content, interactions and behavior online.

The Web has become such a force in commerce and culture that prominent researchers now deem it worthy of its own field of study (source).

Web Science is seeking to understand how the Web works both structurally and socially and the way in which these two elements interact and create emergent properties and behaviors at Web scale (source).


Web Science is Interdisciplinary

Web Science aims to draw together theories, methods, and findings from across academic disciplines, and to collaborate with industry, business, government, and civil society to develop our knowledge and understanding of the Web – the largest socio-technical infrastructure in human history (source).

Web Science has social and engineering dimensions (source).

A variety of definitions reinforces the interdisciplinary nature (source).

All three definitions point out that Web Science is not just about the technological aspect of the Web.


Web Science and Computer Science

Web Science signals a new way of thinking about Computer Science (source).

Table comparing CS and WS.

Summary

Web Science is about more than modeling the current Web (source).


Web Resources

Emerging a Web Science Curriculum

Web Science: A Golden Opportunity for Applying Information Systems Theories

Creating a Science of the Web

A Framework for Web Science

Web Science: An Interdisciplinary Approach to Understanding the Web

Web Science: A Provocative Invitation to Computer Science

Web Science Emerges

Web Evolution and Web Science

Web Science: A New Frontier



Section 3: Web Engineering

Web Engineering is 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-based systems and applications.

Web Engineering involves the application of a systematic, disciplined, quantifiable approach to development, operation, and maintenance of the web-based applications, or the application of engineering to web-based software.


Current state

Web Engineering, in its current form, is an early attempt to identify the significant issues and problems, as well as their solutions, in developing web-based applications.

Web Engineering was first proposed in 2001, and is not yet established as a full discipline nor has it developed an identifiable or stable form, since everything connected with the web is still in a state of flux.


Interdisciplinary

Web Engineering is an interdisciplinary field, encompassing diverse areas such as human-computer interaction, user interface design, systems analysis and design, Software Engineering, requirements engineering, hypermedia engineering, information structures, testing, modeling and simulation, and project management, as well as social sciences, arts, and graphic design. As such, WebEngineering is also a socio-technical approach.

Web Methodology Disciplines

Web Methodology Disciplines


Web Engineering and Software Engineering

Web Engineering takes its inspiration from Software Engineering.

Though Web Engineering involves some programming and software development, and adopts some of the principles of Software Engineering, Web Engineering is different from Software Engineering because web-based system development is different from conventional software development.


Web Engineering Activities

Web Engineering is not a single activity or task. It deals with all aspects of web-based system development, starting from conception and development to implementation, performance evaluation, and continual maintenance. Major Web Engineering activities include:


Web Resources

Natural Web Engineering

What does WEB ENGINEERING mean?

Fundamentals of Web Engineering

Web Engineering A New Discipline for Development

Web Engineering Creating a Discipline among Disciplines

Development of Web-based Systems: Web Engineering has a New Discipline

Methodology for the Development of Web based Information Systems



Section 4: Alternative Methodologies

Many of the proposed methodologies for Web Application Development date back to the early 2000s:

There are additional methodologies that will not be covered in detail, but graduates should know they exist:



Section 5: Unified Process

Unified Process Model

Unified Process Model


6 UP Best Practices that particularly apply to web-based systems

See Building Web Solutions with the Rational Unified Process and The Web Application Development Process for conflicting opinions on the applicability of UP to web application development.



Section 6: Agile Approaches

The analysis and design process model for web-based systems should be agile.

Aoyama describes the motivation for the agile approach in the following manner:

The internet changed software development's top priority from what to when. Reduced time-to-market has become the competitive edge that leading companies strive for. Thus, reducing the development cycle is now one of software engineering's most important missions.

Even when rapid cycle times dominate development thinking, it is important to recognize that the web-based systems analysis and design process model must be defined within a process that:

While agility must be the underlying philosophy for our web development work, you must also understand that an emphasis on agile development in no way mitigates the need for a disciplined analysis and design approach.

Reference: Aoyama, M. (1998). Web-based Agile software development. IEEE Software, 15 (6), 56-65.


Agile User-Centered Design Method

User-centered Design (UCD) is an iterative design process in which designers focus on the users and their needs in each phase of the design process.

UCD calls for involving users throughout the design process in order to create highly usable and accessible products for them.

One Approach for UCD

Good links:


Videos

Understanding the benefits of user-centered design (now private)

User Centered Design



Section 7: Web Content Management Systems

Web Content Management Systems (WCMS) may be considered to be "an approach" for Web Application Development, but are really more of a tool to keep content up-to-date once the overall site or page has been developed.



Section 8: Alternatives for WEB IS Acquisition

What is a ethos?

Ethos refers to the characteristic spirit of a culture, era, or community as manifested in its beliefs and aspirations.

What is an application service provider?

An application service provider (ASP) is a company that offers individuals or enterprises access over the Internet to applications and related services that would otherwise have to be located in their own personal or enterprise computers. ASP services are expected to become an important alternative, not only for smaller companies with low budgets for information technology, but also for larger companies as a form of outsourcing and for many services for individuals as well.