You are on page 1of 4

Chapter 29 - Web Engineering

Overview

The chapter describes Web engineering (WebE) as the process used to create high quality Web-based a
pplications (WebApps). As WebApps become increasingly integrated in business strategies (e.g. e-comm
erce) the need to build reliable, usable, and adaptable systems grows in importance. Web engineering is
not a perfect clone of software engineering, but it draws heavily on many of software engineering’s princip
les and management activities. The Web engineering process begins with the formulation of the problem t
o be solved by the WebApp. The project is planned and the WebApp requirements are analyzed. Architec
tural, navigational, and interface design are conducted. The system is implemented using specialized lang
uages and tools associated with the Web. WebApps tend to be highly evolutionary, so mechanisms for co
nfiguration management, quality control, and maintenance must be established early. Web engineering re
lies on formal technical reviews to assess the quality of the analysis and design models. Specialized revie
ws are conducted to assess the usability of the WebApp. Testing is applied to uncover errors in content, f
unctionality, and compatibility.

WebApp Attributes

Network intensive
Content-driven
Continuous evolution
Immediacy
Security
Aesthetics

WebE Application Categories

Informational (read only content provided with simple navigation)


Downloads (user downloads information from server)
Customizable (user customizes content to specific needs)
Interaction (community of users communicate using chat rooms, bulletin boards, or instant messaging)
User input (users complete on-line forms to communicate need)
Transaction-oriented (user makes request fulfilled by WebApp - places an order)
Service-oriented (application provides service to user, e.g. helps user determine mortgage payment)
Portal(application directs users to other web content or services)
Database access (user queries a large database and extracts information)
Data warehousing (user queries large collection of databases and extracts information)

Web Quality Requirements

Usability
Functionality
Reliability
Efficiency
Maintainability

WebApp Enabling Technologies

Component-based development (CORBA, COM/DCOM, JavaBeans)


Security (encryption, firewalls, etc.)
Internet standards (HTML, XML,SGML)

================================REPORTING

====================================================================GROUP 1 Evol
utionary WebE Process Model

Formulation (goals and objectives, scope for first increment)


what is the motivation for the WebApp?
why is the WebApp needed?
who will use the WebApp?
informational goals (user’s intention for using the content)
applicative goals (ability to perform tasks within the WebApp)
Planning (estimates project cost, evaluates risks, defines finely granulated schedule for first increment an
d coarser schedule for subsequent increments)
Analysis (establishes requirements and identifies content items)
content analysis (content provided by WebAppis identified)
interaction analysis (use-cases developed to describe user interaction with WebApp)
functional analysis (usage scenarios used to define operations and functions applied to the WebApp cont
ent)
configuration analysis (WebApp environmental infrastructure is described in detail)
Engineering (content design and production tasks are one thread, architectural design, navigation design,
interface are the other thread)
Page generation and testing (content and technical deigns are merged to produce executable web pages;
testing exercises WebApp navigation, attempts to uncover errors in applets/scripts/forms, and checks for
environment incompatibilities)
Customer evaluation (each increment of the WebApp is reviewed and changes required by customer are
applied to next increment)

====================================================================GROUP 2 Tech
nical Elements for Web-Based Design

Design principles and methods (high modularity, low coupling, information hiding, stepwise refinement, O
O design methods)
Golden rules (design heuristics for hypermedia applications)
Design Patterns (can be applied to WebApp functional elements, documents, graphics, and general aesth
etics)
Templates (provide reusable skeletal frameworks for any design pattern or document used within the We
bApp)

====================================================================GROUP 3 Web
App Architectural Structures

Linear structures (text and graphics presented in fixed sequential order)


Grid structures (useful when WebApp content must be organized in two pr more ways or dimensions)
Hierarchical structures (not always traversed in strict depth-first manner, branches are often inter-linked)
Networked or "pure" web structure (every node is connected to every other node)

====================================================================GROUP 4 Web
E Design Patterns
Cycle (user is returned to previously visited node)
Web ring (implements a grand cycle that links entire hypertext into a tour of asubject)
Contour (occurs when cycles are interconnected, allowing navigation across paths defined by cycles)
Counterpoint (hypertext commentary used to interrupt content narrative to provide additional information o
r insight)
Mirrorworld (content is presented using several threads, each with its own perspective or point of view)
Sieve(user guided through a series of decisions to direct user to specific content indexed by the decisions
)
Neighborhood (uniform navigation is provided to user regardless of position within the WebApp)

====================================================================GROUP 5 Navi
gationalDesign

Identify the semantics of navigation for different users based on the perceived roles (i.e. visitor, registered
customer, or privileged user) and the goals associated with their roles.
Define the mechanics (syntax) of achieving navigation

====================================================================GROUP 5 - CO
NTINUATION WebApp Interface Guidelines

Minor server errors are likely to cause user to leave WebApp and look for an alternative site
Reading speed on monitor is about 25% slower than for hardcopy
Avoid "under construction" signs
Users prefer not having to scroll to read content
Navigation menus and headers should be designed consistently and be available on all pages available t
o the user
Do not rely on browser functions to assist in navigation
Aesthetics should never take precedence over application functionality
Navigation should be obvious to causal users

====================================================================GROUP 6 Testi
ng WebApps for Errors

WebApp content model is reviewed to uncover errors.


Design model for WebApp is reviewed to uncover navigation errors.
Selected processing components and web pages are unit tested.
Architecture is constructed and integration tests are performed.
Assembled WebApp is tested for overall functionality and content delivery.
WebApp is implemented in a variety of different environmental configurations and the compatibility of We
bApp with each is assessed.
WebAppis tested by a controlled and monitored group of end-users.

====================================================================GROUP 7 Web
E Team Members

Content developers and providers (focus on generation and/or collection of WebApp content)
Web publisher (liaison between technical staff who engineers WebApp and non-technical content develop
ers and providers)
Web engineer (involved with WebApp requirements elicitation, analysis modeling, architectural design, na
vigational design, interface design, implementation, and testing)
Support specialist (responsible for continuing WebApp maintenance and support)
Administrator or web master (responsible for daily operation of WebApp)

====================================================================GROUP 8 Proje
ct Management Concerns Unique to WebE

Many WebApps are out sourced to vendors specializing in the development of web-based systems and a
pplications.
WebApp development is relatively new and there is little historical data to use for estimation (e.g. there ar
e few if any published WebE metrics).
The continuously evolving nature of WebApps make estimation, risk analysis, and scheduling more compl
icated since project scope is less clearly defined than in other software development projects.

====================================================================GROUP 9 Web
E Project Management Guidelines

Initiating a project
many of the analysis activities should be performed internally
a rough design for the WebApp should be developed internally
a rough delivery schedule including milestone dates and final delivery dates should be developed
the degree of oversight and interaction by the contractor with the vendor should be identified
Selection of candidate outsourcing vendors
Interview past clients to determine vendor’s past performance
be certain the vendor’s chief web engineer(s) from past successful projects will involved with yours
carefully examine samples of the vendor’s work on projects similar to yours
Assessing the validity of price quotes and reliability estimates
does the quoted cost of the WebApp provide a direct or indirect return-on-investment that justifies the proj
ect?
does the vendor exhibit the required level of professionalism and experience?
Degree of project management you can expect or perform(directly proportional to the size, cost, and com
plexity of WebApp, the larger the more formal the management and SQA activities)
Assessing the development schedule (short development times suggest the use of fine granularity in the s
chedule, link minor milestones scheduled on a daily timeline)
Managing the scope (using an incremental process model allows the development team to freeze the sco
pe for one increment to allow an operational WebApp release to be created)
WebE Software Configuration Management Issues

====================================================================GROUP 10 Co
ntent
integrating heterogeneous media
volatility
People
designers often are forced to create content
content creators often have no software engineering knowledge
Scalability
Politics
Who owns a WebApp?
Who assumes responsibility for accuracy?
Who makes changes?
Who pays for changes

You might also like