Web Engineering is the process used to create high-quality WebApps.
Web Engineering is not a perfect clone of software engineering.
It borrows many of software engineering’s fundamental concepts and principles.
What are the steps?
Problem is formulated
Project is planned
Requirements of the WebApp are analyzed.
Architectural, navigational and interface design are conducted.
The system is implemented using specialized languages.
The attributes of Web-Based Applications
Network Intensive; Resides on a network(Internet, Intranet, Extranet) and must serve the needs of a diverse community of clients.
Content Driven; Primary function of a WebApp is to use hypermedia to present text, grphics, audio and video content to the end-user.
Continuous Evolution; Unlike convetional application software, Web Applications evolve continuously.
The characteristics of Web-Based Applications(I)
Immediacy; Developers must use methods for planning, analysis, design, implementation and testing that have been adapted to the compressed time schedules required for WebApp development.
Security; Because WebApps are available via network access, it is difficult to limit the population of the end-users who may access the application. Strong security measures must be implemented throughout the infrastructure that supports WebApp like SSL.
The characteristics of Web-Based Applications(II)
Aesthetics; Undeniable part of WebApp is its look and feel. When an application is designed to market or sell products aesthetics becomes much more important.
General characteristics apply to all WebApps with different degrees
Applicative Goals: Ability to perform some task like selling and buying.
Technical activity that identifies data,functional requirement for the WebApp.
Four types of anaylsis exists for WebE.
Content Analysis; Content to be provided is identified. Content includes text,graphics,image,video and audio data.
Interaction Analysis; The manner in which the user interacts with the WebApp is described in detail.
Functional Analysis; All operations and functions are described.(Search...)
Configuration Analysis; The environment and infrastructure in which WebApp resides are described in detail.
Problem : Must establish a design that solves the immediate bussiness problem while at the same time defining application architecture that has the ability to evolve rapidly over time.
Three design types focuses;
Focuses on the
Definition of hypermedia structure
Depends on goals established , the content to be presented , the users who will visit .
Linear Structures; Predictable sequence of interactions.
Tutorial presentation in which pages of information along with related graphics are generally presented one by one.
Product order entry sequence in which specific infromation must be entered in specific order.
2. Grid Structures; Applied when content orginized categorically in two or more dimensions.
E-commerce site sells golf club.Horizontal dimension of of grid represents the type of club(woods,irons...).Vertical dimension represents offerings provided by various golf club manifacturers.
Architecture is useful when the content is regular.
3. Hierarchical Structures; Allows rapid navigation. But it can lead to confusion for user.
4. Networked Structures; Similar to object-oriented architecture. Each component(web page) is connected to every other component.Has navigation flexibility but can be confusing to user.
Designer must define navigation pathways that enable a user to access WebApp content.
WebApp have different roles : Visitor, registered, privileged.
Each of these roles associated with different levels of content access.
SNU(Semantic Navigation Unit) : for each user role’s goal is created.
WoN(Way of Navigating) : Set of navigational sub-structures which describe SNU.
WoN represents the best navigation path to achieve goal.
Mechanics of each navigation link must be identified for appropriate content:
Text-based links, icons, buttons, switches...
In addition to mechanics, the designer should establish navigation convention.
Icons and graphical links should look “clickable”
Color should indicate the navigation link for text-based navigation.
The user interface is “First Impression”
Poorly designed interface will disappoint the potential user.
Server errors causes to users to leave sites.
Do not force the user to read much text.
Avoid “under construction” signs.
Users prefer not to scroll.
Navigation menus and headbars should be available on all pages.
Navigation options (link to other contents) should be clear.
The content model for the WebApp is reviewed to uncover errors - Check grammatical mistakes, errors in content, errors in graphical representation.
The design model for the WebApp is reviewed to uncover navigation error -Use cases allow to exercise each usage scenario. -These nonexecutable tests help uncover navigation errors.
Selected processing components and Web pages are unit tested -The smallest testable unit is generally a Web Page. -Unlike conventional unit testing which focus on algorithmic detail, page-level testing is done by processing content.
The architecture is constructed and integration test is made -Thread based testing can be used to integrate the set of Web pages. -Regression testing is applied to ensure that no side effects occur. -Cluster testing integrates a set of collaborating pages.
5. The assembled WebApp is tested for overall functionality. -Like conventional validation, test focuses on user-visible actions and user-recognizable output from system.
-To assist validation test, the tester should hold use-cases
6. The WebApp is implemented in a variety of different configuration
and is tested for compatibility.
-A cross-reference matrix that defines all probable operating systems, browsers, hardware platforms and communication protocols is created.
-With each possible configuration tests are conducted.
7. The WebApp is tested by monitored population of end-users.
-The WebApp is exercised by the chosen users and the results of their interaction with the system are evulated for all errros.
Web Engineering is a complicated activity.
Many people are involved often working in parallel
In order to avaoid failure
Planning must occur
Risks must be considered
A schedule must be established and tracked
Controls must be defined
The WebE Team(I)
Content developer and provider
Generation and collection of content
Marketing or sales staff may provide product information and graphical images
Media producers may provide video and audio
Graphic designers may provide layout design and aesthetic content.
Must understand the both content and WebApp technology including HTML, XML, XHTML, database functionality, scripts and general Web-Site navigation.
The WebE Team(II)
May have range of activities : architectural, navigational, interface design, implementation, testing
Understanding of component technologies, client/server architectures,HTML/XML and database technologies.
Working knowledge of multimedi-concepts, hardware-software platforms,network security.
Responsible for corrections, adaptations and enhancement to th site, updates to content, implementation of new procedures and forms.
The WebE Team(III)
Development and implementation of policies for operations.
Implementation of security procedures and access rights.
Measurement and analysis of Web-site traffic.
Coordination with support specialists.
Process and project metrics, project planning, risk analysis and management, scheduling and tracking.
In theory most of these activities can be applied to WebE projects.
But in practice, the WebE approach is considerably different.
First; Most of the WebApps are outsourced to vendors.
How is the capabilities of vendor determined?
How does one know whether a price quote is reasonable.
Second; No WebE metrics have been published in the literature.
Estimation is purely based on past experience with similar projects.
Although this estimation is useful,is open to error.