May 19, 2015
WebE 2
What is it?
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.
WebE 3
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. Tested.
WebE 4
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.
WebE 5
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.
WebE 6
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
WebE 7
Web Application Quality
Usability;Understandability,Aesthetic Functionality;Searching, Navigation, Browsing Reliability;Correct Link, Error Recovery, Input
Validation Efficiency;Response Time Performance, Page and
Graphic Generation Speed Maintainability;Extensibility
WebE 8
The technologies
Component Based Development;Three major infrastructure standards are available for Web engineers:CORBA,COM/DCOM, and Java Beans.
Security;A variety of security measures are provided by the network infrastructure, encryption techniques, firewalls and other measures.
Internet Standards;HTML enables the developer to provide a series tags that describe the appearance of objects(text, graphics, audio/video, forms...).A new standard, XML has been developed.
WebE 9
Framework For WebE
Content Design
Production
Architectural Design
Navigation Design
Interface Design
Formulation
Planning
Analysis
CustomerEvulation
Page Gen.&
Testing
WebE 10
Formulation(I)
Allows the customer and developer to establish a Goals and Objectives for the construction of WebApp.
Identifies the scope of the development effort. Questions at the beginning of the formulation
step;1. What is the main motivation for the WebApp?
2. Why is the WebApp is needed?
3. Who will use the WebApp?
WebE 11
Formulation(II) Example;Manufacturer of home Security System
decided to establish e-commerce Web Site. Answer1: Site will allow customers to purchase
compenents for home/bussiness security. Answer2: Eliminate retailer cost. Increases sales %25
percent. Answer3: Homeowners and Owner of small bussiness.
These answers imply specific goals. Two categories of goals; Informational Goals: Provides content information. Applicative Goals: Ability to perform some task like selling
and buying.
WebE 12
Analysis 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.
WebE 13
Design
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; Architectural Design Navigation Design Interface Design
WebE 14
Architectural Design
Focuses on the Definition of hypermedia structure Design patterns Constructive templates
WebE 15
HyperMedia Structures(I) Depends on goals established, the content
to be presented, the users who will visit.1. 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.
WebE 16
HyperMedia Structures(II)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.
WebE 17
HyperMedia Structures(III)3. Hierarchical Structures;Allows rapid navigation. But it
can lead to confusion for user.
WebE 18
HyperMedia Structures(IV)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.
WebE 19
Navigation Design(I) 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.
WebE 20
Navigation Design(II)
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.
WebE 21
Interface Design 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.
WebE 22
Testing(I)1. The content model for the WebApp is reviewed to uncover errors
-Check grammatical mistakes, errors in content, errors in graphical representation.
2. 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.
3. 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.
4. 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.
WebE 23
Testing(II)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.
WebE 24
Management Issues 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
WebE 25
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. Web publisher
Must understand the both content and WebApp technology including HTML, XML, XHTML, database functionality, scripts and general Web-Site navigation.
WebE 26
The WebE Team(II) Web engineer
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.
Support specialist Responsible for corrections, adaptations and enhancement to
th site, updates to content, implementation of new procedures and forms.
WebE 27
The WebE Team(III) Administrator
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.
WebE 28
Project Management(I)
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.
WebE 29
Project Management(II) 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.