Web Engineering
Web Engineering
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
Usability
Functionality
Reliability
Efficiency
Maintainability
================================REPORTING
====================================================================GROUP 1 Evol
utionary WebE Process Model
====================================================================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
====================================================================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
====================================================================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