Web Engineering (Lecture Notes)
Web Engineering (Lecture Notes)
Web Engineering
Terminology
Web Applications
WebApps encompass:
complete Web sites
Simple information Web sites
Complex e-Commerce or other sites with embedded functionality and
data retrieval
Complex Web sites that are interoperable with other legacy software
and systems
specialized functionality within Web sites
information processing applications that reside on the Internet or on
an intranet or ExtraNet.
Categories of WebApps
Attributes of WebApps
Concurrency.
A large number of users may access the WebApp at one time; patterns
of usage among end-users will vary greatly.
Unpredictable load.
The number of users of the WebApp may vary by orders of magnitude
from day to day.
Network intensiveness.
A WebApp resides on a network and must serve the needs of a diverse
community of clients.
Aesthetics.
When an application has been designed to market or sell products or
ideas, aesthetics may have as much to do with success as technical
design.
Data driven.
The primary function of many WebApps is to use hypermedia to
present text, graphics, audio, and video content to the end-user.
Security.
to protect sensitive content and provide secure modes of data
transmission
strong security measures must be implemented throughout the
infrastructure that supports a WebApp and within the application itself
Continuous evolution.
Unlike conventional application software that evolves over a series of
planned, chronologically-spaced releases, Web applications evolve
continuously.
Immediacy.
WebApps often exhibit a time to market that can be a matter of a few
days or weeks.
With modern tools, sophisticated Web pages can be produced in only a few
hours.
Web-based systems:
Are often document-oriented containing static or dynamic content
More emphasis on look and feel
content-driven
Need to cater to users with diverse skills and capabilities
typically constrained to a short development time making it difficult to
apply the same levels of formal planning and testing used in software
development.
Web-based systems:
Differ by means of their access and delivery medium
Have different life spans
Have differing development requirements
Developers are vastly varied in terms of their background, skills, knowledge,
and system understanding.
Web-based systems:
Should be scalable
Have varying performance requirements must be able to cope with
uncertain, random heavy demands on services
Must be secure
Are subject to assorted legal, social, and ethical scrutiny
---Gaedke, 2000
Requirement
Analysis
Project Management
Model Model
Documentation
Project Plan
Web App
Development
RA Specification Types.
Group specification
RA Specification Types.
Use-case specification
Remove a Remove a
news item news category
Mar-Com Manager
RA Specification Types.
Use-case specification
Serve Request
RA Specification Types.
Use-case specification
Purpose To express how users with more than one role access the functions
of the applications.
Pre-condition A user that belongs to multiple groups is registered. For each group,
the site view serving the requirements of the group members is
defined.
Post-condition The user successfully logs into the application and accesses the site
view corresponding to one of his groups.
RA Specification Types.
Data dictionary specification
RA Specification Types.
Sitemap specification
RA Specification Types.
Style guidelines specification
800 px
Page Area
1st Column 2nd Column
Main Menu Area
Main Content Area
Foot Area
150 px
Tool of thought
Reduce complexity
Document design decisions
Means of communication
Models as blueprint
All design decisions (maybe of a particular area) are laid out
Essence: Completeness programming should be pretty
straightforward
Issue of reverse engineering
Models as program
Applications are automatically generated.
Essence: models become the source code
"Models as Code"
Model-Driven ...
Systematic development on basis of models
Models become the first hand artifacts in the software development cycle
Key concepts
abstraction from implementation detail
systematic transformations
Related Terminology
Model Driven [Software] Engineering (MDE),
Model Driven [Software] Development (MDD/MDSD),
Model Driven Architecture (MDA)
Model Driven Web Engineering (MDWE)
Class name
Class attributes
Composition
Class operations
Invariant
Derived attribute
Condition
Final State
25-Aug-16
Implementation Approaches
Model View Controller (MVC)
Model
responds to state queries
exposes application functionality
notifies views of changes
View
renders the models
requests updates from models
sends user interaction to controller
allows controller to select view
Controller
defines application behavior
maps user actions to model updates
selects view for response (one for each functionality)
Implementation Approaches
Model-View-Controller
Implementation Approaches
Client/Server (2-Layer)
Client
Client
Server
Implementation Approaches
Client/Server (2-Layer)
Implementation Approaches
N-Layer Architectures
Client
Firewall
Proxy
Presentation Layer
Web Server
Business Layer
Application Server Backend
(Business Logic, Connectors,
(Legacy Application,
Personalization, Data Access)
Enterprise Info System)
Data Layer
DBMS B2B
Implementation Approaches
N-Layer Architectures
Testing
Checking the conformance of the application versus its design
requirements
Oriented to functional aspects
Usability
Design and verifying the conformance of the application versus its user
ability and capability of interaction
Oriented to non-functional aspects
Testing Phases
Link Testing
Testing Phases
Browser Testing
Testing Phases
Security Testing
Testing Phases
Load Testing
Load profile - expected access types, visits per day, transaction types,
transactions per session, etc.
Testing Phases
Stress Testing
Testing Phases
Continuous Testing
Usability
Further reading
Murugesan,S and A.Ginige, A. "Web Engineering: Introduction and
Perspectives, Idea Group Publishing, 2005.
http://www.idea-group.com/downloads/excerpts/01%20Suh.pdf