Web Engineering Web engineering is the process used to create high quality WebApps. Web engineering is not a perfect clone of software engineering. But it borrows many of software engineering’s fundamental concepts and principles, emphasizing the same technical and management activities.
Why is it important? As WebApps become increasing integrated in business strategies for small and large companies (e.g., e-commerce), the need to build reliable, usable, and adaptable systems grows in importance. That’s why a disciplined approach to WebApp development is necessary.
Applications: Download: A user downloads information from the appropriate server. Customizable: The user customizes content to specific needs. Interaction: Communication among a community of users occurs via chatroom, bulletin boards, or instant messaging. User input: Forms-based input is the primary mechanism for communicating need.
Applications: Transaction oriented: The user makes a request (e.g., places an order) that is fulfilled by the WebApp. Service oriented: The application provides a service to the user. Database access: The user queries a large database and extracts information.
Architectural Design A parallel activity, called content design, derives the overall structure and detailed layout of the information content that will be presented as part of the WebApp.
WebApp Structures Linear structures are encountered when a predictable sequence of interactions is common. The sequence of content presentation is predefined and generally linear. Grid structures are an architectural option that can be applied when WebApp content can be organized categorically in two (or more) dimensions.
WebApp Structures Grid Structure Linear structures
WebApp Structures Hierarchical structures are undoubtedly the most common WebApp architecture. A WebApp hierarchical structure can be designed in a manner that enables (via hyper-text branching) flow of control horizontally, across vertical branches of the structure.
WebApp Structures A networked, or “pure Web,” structure are the Architectural components are designed so that they may pass control (via hypertext links) to almost every other component in the system.
WebApp Structures Networked, or “pure Web,” structure
A FRAMEWORK FOR WEBE The WebE process begins with a formulation—an activity that identifies the goals and objectives of the WebApp and establishes the scope for the first increment. Planning estimates overall project cost, evaluates risks associated with the development effort.
A FRAMEWORK FOR WEBE Analysis establishes technical requirements for the WebApp and identifies the content items that will be incorporated. Requirements for graphic design (aesthetics) are also defined.
A FRAMEWORK FOR WEBE The engineering activity incorporates two parallel tasks illustrated on the right side. Content design and production are tasks performed by nontechnical members of the WebE team. The intent of these tasks is to design, produce, and/or acquire all text, graphics, audio, and video content that are to become integrated into the WebApp. At the same time, a set of technical design tasks are conducted.
A FRAMEWORK FOR WEBE Page generation is a construction activity that makes heavy use of automated tools for WebApp creation. Testing exercises WebApp navigation; attempts to uncover errors in applets, scripts, and forms; and helps ensure that the WebApp will operate correctly in different environments (e.g., with different browsers). Each increment produced as part of the WebE process is reviewed during customer evaluation. This is the point at which changes are requested.