0% found this document useful (0 votes)
62 views28 pages

Muahmmad Umair Naru Department of Computer Science COMSATS Institute of Information Technology, Islamabad, Pakistan

This document discusses key aspects of web engineering based on Chapter 1 of the textbook by Kappel et al. It defines web engineering as the application of systematic and quantifiable approaches to cost-effective analysis, design, implementation, testing, operation, and maintenance of high-quality web applications. The document outlines the case for web engineering to address common issues with ad hoc web application development. It also categorizes different types of web applications and discusses their characteristics compared to traditional software applications.

Uploaded by

Naveed Shah
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
62 views28 pages

Muahmmad Umair Naru Department of Computer Science COMSATS Institute of Information Technology, Islamabad, Pakistan

This document discusses key aspects of web engineering based on Chapter 1 of the textbook by Kappel et al. It defines web engineering as the application of systematic and quantifiable approaches to cost-effective analysis, design, implementation, testing, operation, and maintenance of high-quality web applications. The document outlines the case for web engineering to address common issues with ad hoc web application development. It also categorizes different types of web applications and discusses their characteristics compared to traditional software applications.

Uploaded by

Naveed Shah
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 28

Muahmmad Umair Naru

Department of Computer Science


COMSATS Institute of Information Technology, Islamabad, Pakistan
Books

 Required
 Kappel, G., Proll, B. Reich, S. & Retschitzegger, W. (2006). Web
Engineering, 1st ed. Hoboken, NJ: Wiley & Sons. ISBN: 04700-
1554-3.
Course Goals
 To be able to analyze and design comprehensive
systems for the creation, dissemination, storage,
retrieval, and use of electronic records and documents

 To learn and use some of the languages currently


employed to present & manipulate information on the
World Wide Web – i.e. CSS, Javascript, and PHP.

 To learn techniques and evaluation metrics for ensuring


the proper operability, maintenance and security of a
web application.
Assignments
 3 Assignments
 Web Modeling
 JavaScript
 Small Web Application (PHP)
 Final Project
 Class Participation
Kappel et al., Chapter 1
What is Web Engineering?

 “The application of systematic and quantifiable


approaches to cost-effective analysis, design,
implementation, testing, operation, and maintenance of
high-quality Web applications.” – Kappel et al.

 Extends Software Engineering to Web applications, but


with Web-centric approaches.
Defining Web Applications

 Unlike traditional software, the Web serves as both


development & user platform.

 A Web application is a system that utilizes W3C


standards & technologies to deliver Web-specific
resources to clients (typically) through a browser.

 Technology + interaction.
 Web site with no software components?
 Web services?
Web Services-I
 “Standardized way of integrating Web-based
applications using the XML, SOAP, WSDL and UDDI
open standards over an Internet protocol backbone”.

 Used primarily as a means for businesses to


communicate with each other and with clients, Web
services allow organizations to communicate data
without intimate knowledge of each other's IT systems
behind the firewall.
Web Services-II
 Unlike traditional client/server models, such as a Web
server/Web page system, Web services do not provide
the user with a GUI. Web services instead share business
logic, data and processes through a programmatic
interface across a network.

 The applications interface, not the users. Developers can


then add the Web service to a GUI (such as a Web page
or an executable program) to offer specific functionality
to users.
Web Services-III
 Web services allow different applications from different
sources to communicate with each other without time-
consuming custom coding, and because all
communication is in XML, Web services are not tied to
any one operating system or programming language.

 For example, Java can talk with Perl, Windows


applications can talk with UNIX applications.

 Web services do not require the use of browsers or


HTML.

 Web services are sometimes called application services.


The Case for Web
Engineering
 Application development on the Web remains largely ad hoc.
 Spontaneous, 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.
 Because Web apps are so interdependent, the problem is
compounded.
The Case for Web Engineering
(cont.)
 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.
 Particularly alarming given…
 Most projects are now Web-based
 More “mission-critical” apps moving to the Web
The Case for Web Engineering
(cont.)
 Top project pitfalls (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
Categories of Web
Applications
Ubiquitous Semantic
Web

Social Web
Collaborative
Complexity

Workflow
Based
Portal
Transactional
Oriented

Interactive

Doc-Centric

Development History
Document-Centric Web sites
 Precursors 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
Interactive & Transactional
 The Common Gateway Interface
 http://www.softintegration.com/docs/ch/cgi/
 Simple interactivity
 Dynamic page creation
 Content updates -> Transactions
 Decentralized
 Database connectivity
 Increased complexity
Workflow-Based Applications
 Designed to handle business processes across departments,
organizations & enterprises
 Business logic defines the structure
 The role of Web services
 Interoperability
 Loosely-coupled
 Standards-based
 Examples: B2B & e-Government
 High complexity; autonomous entities
Collaborative & Social Web
 Unstructured, cooperative environments
 Interpersonal communication is paramount
 Classic example: Wikis
 The Social Web
 Anonymity traditionally characterized WWW
 Moving towards communities of interest
 Examples: Blogs, collaborative filtering systems, social
bookmarking (e.g., del.icio.us)
 Integration with other forms of web applications (e..g, NetFlix)
Portal-Oriented
 Single points-of-entry to heterogeneous information
 Yahoo!, AOL.com, my.pitt.edu
 Specialized portals
 Business portals (e.g., employee intranet)
 Marketplace portals (horizontal & vertical)
 Community portals (targeted groups)
Ubiquitous
 Customized services delivered anywhere via multiple devices
 HCI is critical
 Limitations of devices (screen size, bandwidth?)
 Context of use
 Still an emerging field; most devices have single focus:
 Personalization
 Location-aware
 Multi-platform delivery
Semantic Web
 Berners-Lee: Information on the Web should be readable to
machines, as well as humans.
 Using metadata and ontologies to facilitate knowledge
management across the WWW.
 Content syndication (RSS, Atom) promotes re-use of knowledge
 Is the Semantic Web even possible?
 Authors devote a chapter to the Semantic Web, but we will not focus
on it in this course.
Characteristics of Web Apps
 How do Web applications differ from traditional applications?

 Or, another way, what Software Engineering methods & techniques


can be adapted to Web Engineering?

 3 dimensions of the ISO/IEC 9126-1 standard


 Product
 Usage
 Development
Characteristics - Product
 The “building blocks” of a Web application
 Content
 Document character & multimedia (# of dimensions?)
 Quality demands
 Navigation Structure (Hypertext)
 Non-linearity
 Disorientation & cognitive overload
 User interface (Presentation)
 Aesthetics
 Self-explanation
Characteristics - Usage
 Much greater diversity compared to traditional non-Web
applications
 Social Context (Users)
 Spontaneity
 Heterogeneous groups
 Technical Context (Network & Devices)
 Quality-of-Service
 Multi-platform delivery
 Natural Context (Place & Time)
 Globality
 Availability
Characteristics
-Development
 The Development Team
 Multidisciplinary
 Community (including Open Source)
 Technical Infrastructure
 Lack of control on the client side
 Immaturity
 Process
 Flexibility
 Parallelism
 Integration
 Internal
 External
The 4th Dimension:
Evolution
 All the above mentioned dimension are governed by
the evolution principle
 Continuous change
 Competitive pressure
 Fast pace
 Software Engineering: evolution is planned in a
constant number of release version
 Web Engineering: evolution is continuous
 Nowadays this is becoming true also for SE… it’s a loop,
when a discipline overlaps its ancestor, the ancestor learn
something back!
Key Knowledge Areas
WRAP-UP
 Web Engineering is not about HTML and JavaScript
 Like Software Engineering is not about C or Java!

 It aims at systematic development of Web applications


according to a specific methodology

 Web Engineering is not just Software Engineering for the Web

 Web Engineering ask for multidisciplinary approach

 Standards are important in Web like in all the other


Engineering fields

You might also like