Introduction to Web Engineering
Department of Computer Science
1 Govt. College University, Lahore
Outline
Introduction to the Course
What is web engineering?
Web applications
The case for web engineering
Categories of web applications
Characteristics of web applications
Department of Computer Science Govt. College
2 University, Lahore
1. Introduction to the Course
This course aims:
to introduce the methods and techniques used in
Web-based application development
to develop practical web applications
Department of Computer Science Govt. College
3 University, Lahore
1.1 Web engineering methods and techniques
This modules includes the following topics:
Product development
Requirement engineering
Web application modeling
Web application architectures
Technologies and tools
Testing web applications
Maintenance
Quality Aspects:
Security
Department of Computer Science Govt. College
4 University, Lahore
1.2 Web application development
User receives file 4. Server sends requested files to browser to
displayed by the browser be interpreted
Browser
1. User sends request Server accepts
and processes
request from
Browser interprets user’s
browser
selection and makes request from
appropriate server
Department of Computer Science Govt.
College University, Lahore 5
1.2 Web application development…
• Hyper-text Markup Language (HTML)
• Cascading Style-sheets (CSS)
• Client-side Scripting Language (JavaScript)
• Serve-side Scripting Language (PHP)
• Database Language (MySQL)
Department of Computer Science Govt. College
6 University, Lahore
1.3 Books
Department of Computer Science Govt. College
7 University, Lahore
2. Web engineering
• Software engineering is an engineering discipline that is
concerned with all aspects of software production
• Software Engineering is the science and art of building significant
software systems that are:
on time
on budget
with acceptable performance
with correct operation
Department of Computer Science Govt. College
8 University, Lahore
2. Web engineering…
Web engineering is the study of the process, used to create high
quality Web-based applications
Web engineering draws heavily on the principles and
management activities found in software engineering processes
Web engineering extends Software Engineering to Web
applications
Department of Computer Science Govt. College
9 University, Lahore
2. Web engineering…
The application of systematic and quantifiable
approaches to cost-effective analysis, design,
implementation, testing, operation, and maintenance of
high-quality web applications
Department of Computer Science Govt. College
10 University, Lahore
3. Web applications
WWW has massive and permanent influence on our lives
Economy, Industry, education, healthcare, entertainment
Why?
global and permanent
Comfortable and uniform access
Department of Computer Science Govt. College
11 University, Lahore
3. Web applications…
WWW started as an informational medium
Evolved into application medium
Interactive, data intensive services
Distinguishing factors
How it is used?
Technologies and standards for development
Department of Computer Science Govt. College
12 University, Lahore
3. Web applications…
A Web application is a system that utilizes W3C
standards & technologies to deliver web-specific
resources to clients (typically) through a browser
Technology + interaction
Department of Computer Science Govt. College
13 University, Lahore
4. The case for web engineering
Application development on the Web remains largely ad hoc
unplanned, one-time events
Individual experience
Little or no documentation for code/design
Short-term savings lead to long-term problems in operation,
maintenance, usability, etc.
lack of performance, reliability, user-freindliness and scalability
Because Web apps are so interdependent, the problem is
compounded
Department of Computer Science
14 Govt. College University, Lahore
4. The case for web engineering…
Root Causes of poor design:
Development as an authoring activity
Development is “easy”
Techniques that should not be used are misapplied
Techniques that should be used are not applied
Department of Computer Science Govt. College
15 University, Lahore
4. The case for web engineering…
Top project drawbacks (Cutter, 2000)
84% - Failure to meet business objectives
79% - Project schedule delays
63% - Budget overrun
53% - Lack of functionality
Web Engineering’s solution:
Clearly defined goals & objectives
Systematic, phased development
Careful planning
Iterative & continuous auditing of the entire process
Department of Computer Science Govt. College
16 University, Lahore
5. Categories of web applications
Document-centric web
Interactive and transactional web applications
Workflow-based web applications
Collaborative and social web applications
Portal-oriented web applications
Ubiquitous web applications
Department of Computer Science Govt. College
17 University, Lahore
5.1 Document-centric web sites
originator to Web applications
Static HTML documents
Manual updates
Pros
Simple, stable, short response times
Cons
High management costs for frequent updates & large
collections
More prone to inconsistent/redundant info
Example: static home pages
Department of Computer Science Govt. College
18 University, Lahore
5.2 Interactive & transactional
Not only read-only content but also allow
content modification
Come with the introduction of HTML forms
Simple interactivity
Dynamic page creation
Web pages and links to other pages generated
dynamically based on user input
Department of Computer Science Govt. College
19 University, Lahore
5.2 Interactive & transactional…
Content updates -> Transactions
Database connectivity
Increased complexity
Examples: news sites, booking systems, online
banking
Department of Computer Science Govt. College
20 University, Lahore
5.3 Workflow-based applications
Designed to handle business processes across
departments, organizations and enterprises
Automates processes consisting of series of steps
Business logic defines the structure
High complexity; autonomous entities
Examples: B2B and e-Government
Department of Computer Science Govt. College
21 University, Lahore
5.4 Collaborative & social web
Unstructured, cooperative environments
Support shared information workspaces to create, edit and
manage shared information
Interpersonal communication is paramount
Classic example: Wikis
The Social Web
Unrecognizability traditionally characterized WWW
Moving towards communities of interest
Examples: Blogs, facebook, twitter etc.
Department of Computer Science Govt. College
22 University, Lahore
5.5 Web portals
One specially-designed at a website which brings
information together from diverse sources in a
uniform way
Each information source gets its dedicated area
Specialized portals
Business portals
Marketplace portals
Community portals
23 Department of Computer Science Govt. College University, Lahore
5.6 Ubiquitous web applications
Customized services delivered anywhere via
multiple devices
Still an emerging field
Department of Computer Science Govt. College
24 University, Lahore
5.7 Categories of Web Applications
(development history vs complexity)
Ubiquitous
Social Web
Collaborative
Complexity
Workflow
Based
Portal
Transactional
Oriented
Interactive
Doc-Centric
Development History
Department of Computer Science Govt. College
25 University, Lahore
6. Characteristics of Web Applications
How do Web applications differ from traditional
applications?
3 dimensions
Product-based
Usage-based
Development-based
Department of Computer Science Govt. College
26 University, Lahore
6.1 Product-based characteristics
Product-related characteristics constitute the
“building blocks” of a Web application
Content:
Document character & multimedia
Quality demands: current, exact,
consistent, reliable
27 Department of Computer Science Govt. College University, Lahore
6.1 Product-based characteristics…
Navigation Structure (Hypertext):
Non-linearity
Potential problems: Disorientation & cognitive
overload
User interface (Presentation):
Appearance
Self-explanation
Department of Computer Science Govt. College
28 University, Lahore
6.2 Usage-based characteristics
Much greater diversity compared to traditional non-Web
applications
Users vary in numbers, cultural background,
devices, h/w, s/w, location etc
Social Context (Users):
Spontaneity - scalability
Heterogeneous groups
Department of Computer Science Govt. College
29 University, Lahore
6.2 Usage-based characteristics…
Technical Context (Network & Devices)
Quality-of-Service
Natural Context (Place & Time):
Globality
Availability
Department of Computer Science Govt. College
30 University, Lahore
6.3 Development-based characteristics
The Development Team:
Multidisciplinary – print publishing, s/w
development, marketing & computing,
art & technology
Technical Infrastructure:
Lack of control on the client side
Department of Computer Science Govt. College
31 University, Lahore
6.3 Development-based characteristics
Integration:
Internal: with existing legacy systems
External: with Web services
Integration issues: correct interaction, guaranteed QoS
Department of Computer Science Govt. College
32 University, Lahore
Summary
Web engineering extends Software Engineering to Web
applications
Why web engineering?
Web applications
Categories and characteristics of web applications
Department of Computer Science Govt. College
33 University, Lahore
References
Lecture Slides by Kappel et al.
Chapter 1, Kappel, G., Proll, B. Reich, S. & Retschitzegger, W. (2006). Web
Engineering, 1st ed. Hoboken, NJ: Wiley & Sons
UNESCO ICTLIP Module 6. Lesson 1 Slides
Department of Computer Science
34 Govt. College University, Lahore