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.
- Web Science studies the people and technologies, applications, processes, and practices that shape and are shaped by the World Wide Web (source).
- Web Science involves at least mathematics, CS, artificial intelligence, sociology, psychology, biology, and economics.
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).
- Tim Berners-Lee, known as the inventor of the World Wide Web, is credited with being the first to define Web Science in 2006.
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).
- It is a study of socio-technical systems or social machines.
- How we change and evolve the Web is fairly apparent to most people, but how the Web changes us may be less obvious and just as important.
- According to Berners-Lee, the web is a complex object and Web Science is about studying the Web almost as an external object in order to understand its properties and dynamics.
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).
- It extends well beyond traditional Computer Science to include the emerging research in social networks and the social sciences being used to study how people behave on the Web.
- Web Science shifts the center of gravity in engineering research from how a single computer works to how huge decentralized Web systems work.
A variety of definitions reinforces the interdisciplinary nature (source).
- “Web Science is the socio-technical science that investigates how the World Wide Web evolves given the regulations, technology and content imposed, engineered and contributed, respectively, as an effect of human behavior and how the Web vice versa affects human behavior.” – Wikipedia
- “Web Science is the study of the technologies and policies that support the co-construction of a linked online environment by a networked society” – Leslie Carr (Slide 2)
- “Web Science is an interdisciplinary attempt to understand the Web, and contribute (in a non-purely-technical way) to engineering its future.” – Reuben Binns (Web Science Centre for Doctoral Training)
All three definitions point out that Web Science is not just about the technological aspect of the Web.
- The terms “socio-technical” and “interdisciplinary” emphasize that Computer Science does not cover all areas that need to be taken into account when studying the Web.
-
The following diagram by Nigel Shadbolt shows the
diversity of research areas that are part of Web Science.
Web Science and Computer Science
Web Science signals a new way of thinking about Computer Science (source).
- Web Science promoters challenge Computer Science researchers and professionals to expand the scope of Computer Science.
- According to Ben Shneiderman, a professor at the University of Maryland, “Computer science is at a turning point, and it has to go beyond algorithms and understand the social dynamics of issues like trust, responsibility, empathy and privacy in this vast networked space.” (source)
- Note that what he is asking of Computer Science is in fact the purview of Informatics and Infomration Systems.

Summary
Web Science is about more than modeling the current Web (source).
- It is about engineering new infrastructure protocols and about understanding the human society that uses them and creates the Web, and it is about the creation of beneficial new systems.
- It has its own ethos: decentralization to avoid social and technical bottlenecks, of openness to the reuse of information in unexpected ways, and of fairness so that a just society can be built on its principles.
- It borrows from many disciplines to consider at once microscopic Web properties, macroscopic Web phenomena, and the relationships between them.
- Web Science is about making powerful new tools for humanity...
Web Resources
Emerging a Web Science Curriculum
Web Science: A Golden Opportunity for Applying Information Systems Theories
Web Science: An Interdisciplinary Approach to Understanding the Web
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.
- It incorporates some of the well-known and successful traditional and software engineering principles and practices, adapting them to the more open and flexible nature of the web and the type of web application.
- It also takes into consideration other elements that are specific to the web environment.
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.
- It draws not only from Computer Science, Software Engineering, and Information Systems, but also from other disciplines. As such, it identifies the next stage in information technology evolution.
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 Engineering and Software Engineering
Web Engineering takes its inspiration from Software Engineering.
- It is also an explicit acknowledgement of the multi-dimensional nature of web applications, encompassing technical computing, information structuring, navigation and management, network performance and security, legal and social issues, graphic design, multiplicity of user profiles, and the varied operational environments.
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:
- Requirements specification and analysis
- Web-based system development methodologies and techniques
- Integration with legacy systems
- Migration of legacy system to web environments
- Web-based real-time applications development
- Testing, verification, and validation
- Quality assessment, control, and assurance
- Configuration and project management
- "Web metrics" - metrics for estimation of development efforts
- Performance specification and evaluation
- Update and maintenance
- Development models, teams, staffing
- Human and cultural aspects
- User-centric development, user modeling, and user involvement and feedback
- End-user application development
- Education and training
Web Resources
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:
- Web Engineering (2001)
- WISDM (2002)
- Web Science (2006)
There are additional methodologies that will not be covered in detail, but graduates should know they exist:
-
Relationship Management Methodology (RMM) 1995
- RMM is a systems development and project management technique used mainly for the design and construction of hypermedia applications.
- RMM's data model, the Relationship Management Data Model (RMDM), provides a language for describing the information objects and the navigation mechanisms in hypermedia applications.
-
RMM consists of seven steps, some of which can be conducted in parallel.
- Entity-Relationship Design
- Slice Design (A slice is a set of attributes belonging to a given entity)
- Navigational Design (design hypermedia navigation paths)
- Conversion Protocol Design (transform each element of the RMDM diagram into an object in the target platform)
- User Interface Design: Involves the creation of the screen layouts of the diagram created in step 3
- Run time behavior design (determine if nodes are static or dynamically generated)
- Construction and testing
-
Object-Oriented Hypermedia Design Method (OOHDM) 1995
- Object Oriented Hypermedia Design Method, a method for the development of Web applications, consists of five activities, requirements gathering, conceptual design, navigational design, abstract interface design and implementation.
- Originally for Hypermedia, it has been adapted for the Web.
- It was one of the first methods to postulate the separation of concerns.
- OOHDM, and its successor, SHDM, are supported by an open source, freely available environment, HyperDE.
-
Scenario-based Object-Oriented Hypermedia Design Methodology (SOHDM) 1998
- This object-oriented methodology focuses on developing hypermedia information systems.
- Users' requirements are analyzed with a responsibility-driven technology using scenarios.
- The methodology consists of six phases: domain analysis, object modeling, view design, navigation design, implementation design, and construction.
-
Web Modeling Language (WebML) 1999 (revised in 2013)
- WebML is a visual notation and a methodology for designing complex data-intensive Web applications.
- It provides graphical, yet formal, specifications, embodied in a complete design process, which can be assisted by visual design tools.
- This method has five models: structure, derivation, composition, navigation and presentation. These models are developed in an iterative process.
- In 2013 WebML was extended to cover a wider spectrum of front-end interfaces, thus resulting in the Interaction Flow Modeling Language (IFML), adopted as a standard by the Object Management Group (OMG).
-
UML-based web engineering (UWE) 2000
- UWE is a software engineering approach for the development of Web applications.
- UWE provides a UML profile (UML extension), a metamodel, model-driven development process and tool support (ArgoUWE) for the systematic design of Web applications.
- UWE follows the separation of concerns building separate models for requirements, content, hypertext, presentation, process, adaptivity and architecture.
- The key aspects that distinguish UWE are reliance on OMG standards and an open source environment.
-
Hera: Development of Semantic Web Information Systems 2002
- HERA [51] is a method used in the configuration of SWISs (semantic web information systems).
- Based on RMM (Relationship Management Methodology) for its coverage of aspects of hypermedia design.
-
Hera uses a model-driven approach, specifying the separate aspects of the complete application design in terms of separate models.
-
Semantic Layer
- Conceptual Model
- Integration Model
-
Application Layer
- Application Model
- Adaptation Model
-
Presentation Layer
- Presentation Model
-
Semantic Layer
-
Semantic Hypermedia Design Method (SHDM) 2003
- Design methods will have to provide semantic contents and contextual information about application domain during the development process of web applications.
- SHDM is an ontology-compelled design approach for creating Web applications on Semantic Web.
- SHDM is a model-driven approach to design web applications using five different steps: Requirements Gathering, Conceptual Design, Navigational Design, Abstract Interface Design and Implementation.
- From a 3-ontology set, that is, navigation (describing the application configuration plus the navigational paths), domain (delineating the application data) as well as presentation (stipulating the Websites’ conceptualization) the approach creates all the web application modules.
- SHDM is the successor to OOHDM.
- SHDM has been adopted as a standard by the W3C.
Section 5: Unified Process
- UP is an iterative software development process framework that can be adapted to web-based systems.
- UP is based on a set of six key principles:
- Adapt the process
- Balance stakeholder priorities
- Collaborate across teams
- Demonstrate value iteratively
- Elevate the level of abstraction
- Focus continuously on quality

Unified Process Model
- Inception: Establish the business case for the system.
- Elaboration: Develop an understanding of the problem domain and the system architecture.
- Construction: System design, programming, and testing.
- Transition: Deploy the system in its operating environment.
6 UP Best Practices that particularly apply to web-based systems
- Develop iteratively
- Manage and monitor requirements – preserve users' design needs
- Utilize component architectures
- Model visually
- Verify quality – keep users involved to ensure they get what they want
- Control changes – prioritize changes
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.
- This implies a lean development approach that incorporates rapid development cycles.
- Each cycle results in the deployment of a web application increment.
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:
- embraces change
- encourages the creativity and independence of development staff and strong interaction with web application stakeholders
- builds systems using small development teams
- emphasizes incremental development using short development cycles
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
- Gather group of programmers, analysts, users, testers, a facilitator.
- Document complaints of current system.
- Determine important user roles.
- Determine, prioritize, and describe tasks for each user role.
- Group similar tasks into interaction contexts.
- Associate each interaction context with a user interface for the system, and prototype the interaction context.
- Step through and modify the prototype.
Good links:
- User Centered Design
- Notes on User Centered Design Process (UCD)
- 7 Benefits of Agile and User Centered Design
Videos
Understanding the benefits of user-centered design (now private)
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.
- See the Web Content Management Systems notes for more detail.
Section 8: Alternatives for WEB IS Acquisition
- In-house development
- Outsourcing
- Development of IS
- Application service providers