0% found this document useful (0 votes)
11 views

Web Engineering lecture 1

The document provides an introduction to Web Engineering, highlighting its significance in developing high-quality web applications. It discusses the history of the World Wide Web, various categories of web applications, their characteristics, and the importance of web engineering methods and techniques. The document emphasizes the need for systematic approaches in web application development to address quality deficiencies and evolving requirements.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views

Web Engineering lecture 1

The document provides an introduction to Web Engineering, highlighting its significance in developing high-quality web applications. It discusses the history of the World Wide Web, various categories of web applications, their characteristics, and the importance of web engineering methods and techniques. The document emphasizes the need for systematic approaches in web application development to address quality deficiencies and evolving requirements.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 61

Web Engineering

An introduction
Module Leader: Md. Minhaj Hosen
Motivation

 The World Wide Web is omnipresent!

 Why?
 global and permanent availability
 comfortable and uniform access
 anyone can produce and publish contents
Examples

 Search Engine
 Information
 Announcement
 Computation
 Mixed
Basic paradigms

 Hypertext + Internet

 Hypertext: textual documents together with the ability to interconnect


documents by links between them as part of the document contents

 HTML: HyperText Markup Language


 HTTP: HyperText Transfer Protocol
Conceptual Architecture
History of the Web

 1969: ARPA (Advanced Research Projects Agency)


 First small network: Stanford Research Institute, UCLA, UC Santa, Barbara, Univ. of
Utah
 TCP (Transmission Control Protocol)
 IP (Internet Protocol)
 1972: Telnet protocol
 1973: SMTP (Simple Mail Transfer Protocol)
 1973: FTP (File Transfer Protocol)
 1989: T. Berners-Lee et al.: Word Wide Web (WWW)
 1994: W3C (World Wide Web Consortium)
 1996: HTTP (HyperText Transfer Protocol)
Protocol Stack
World Wide Web Consortium (W3C)

 international consortium where member organizations, a full-time staff, and


the public work together to develop Web standards
 http://www.w3.org

W3C's mission:
to lead the World Wide Web to its full potential by developing protocols and
guidelines that ensure long-term growth for the Web.
Web Application

A Web Application is a software system based on technologies and standards of


the World Wide Web Consortium (W3C) that provides Web specific resources such
as content and services through a user interface, the Web browser.
[Kappel et al. 2004]
Categories of Web Applications
Categories of Web Applications (1/5)
Categories of Web Applications:
document-
centered
 Informational
read-only content is provided with simple navigation and links
 Download
a user downloads information from the appropriate server (ftp-server)
 Customizable
the user customizes content to specific needs

 examples:
 static HTML-pages, „home pages“
 web radio
 simple presentations of companies/products
Categories of Web Applications:

Interactive
 content of a website is dynamically generated as response to a user request
 form-based input is the primary mechanism for communication between
client and server
 usage of HTML-forms and Common Gateway Interface (CGI) techniques
 radio button, string input, choice lists

 examples:
 dynamic HTML pages
 public transport schedules
 search engines
Categories of Web Applications:
transaction-
oriented
 complex interactions
 read and write actions
 usage of transaction management of database systems
 efficient and consistent data management
 structured data and queries

 examples:
 online banking
 e-shopping
 reservation systems
Categories of Web Applications:
workflow-
based
 support business processes („workflows“) within resp. between different
enterprises or private users
 an application provides a complex service to the user, e.g. assists the user in
determining the mortgage payment
 prerequisite: structured flow of activities

 examples:
 Business-to-Business (B2B) Integration Frameworks
 E-Government
 patient workflows in health care systems
Categories of Web Applications
Categories of Web Applications:

Collaborative
 support cooperation in case of unstructured flow of activities and high degree
of communication
 „groupware“

 examples:
 support of shared information- and workspaces
 Wiki, http://c2.com/cgi/wiki
 BSCW, http://bscw.gmd.de
 chat rooms

 e-Learning platforms
Categories of Web Applications:
portal-
oriented
 the application channels the user to other Web content or services outside
the domain of the portal application
 „single point of access“

 examples:
 Community portals
 dedicated user groups
 customer profiles

 enterprise portals
 Intranet, extranet
Categories of Web Applications:

ubiquitous
 personalized services at every time at every location
 multi-platform delivery (PC, PDA, mobile phone)
 context-dependent information

 examples:
 display of today‘s menu on end-user devices while entering a restaurant
Categories of Web Applications:

semantic web
 information available on the web
 adequate for human understanding and
 adequate for automatic manipulation

 „knowledge management“
 derivation of new knowledge
 re-use of knowledge
 based on ontology's

 examples:
 Web 2.0
 social software: wiki, Flickr, del.icio.us
 Google
Categories of Web Applications
Characteristics of Web Applications
Characteristics of Web Applications
Characteristics of Web Applications:

Content Product
 “content is king” in web applications • Presentatio
n
 document-centered and multi-media • Hypertext
 text, tables, graphics, animation, audio, video • Content
 main objective of web applications is to communicate content
 high usability demands
 high quality demands
 actuality, preciseness, correctness, reliability, size
 e-shopping: information about price, availability of products
 quality is critical factor for acceptance of web applications
Characteristics of Web Applications:
Product
Hypertext • Presentatio
 non-linearity n
• Hypertext
 main distinction to traditional software systems
• Content
 systematic reading (“browsing, query, guided tour”)

 navigation in information space depends on interest and previous knowledge of


user
 great challenge for web application authors
 risks
 disorientation: loss of sense of locality and direction
 cognitive overload for users
Characteristics of Web Applications:

Presentation Product
 aesthetics • Presentatio
n
 look and feel • Hypertext
 depending on current fashion • Content
 self-explanatory
 intuitive use without reading any documentation
 uniform application logics
Characteristics of Web Applications
Characteristics of Web Applications:

 spontaneity
 users come and go ..
 unknown number of users
 scalability important issue
 multiculturality
 anonymous type of user
 limited knowledge about previous knowledge, handicaps, preferences of users
 desired adaptation of content and presentation
Characteristics of Web Applications:

 quality of service
 unknown network characteristics (e.g., bandwidth, reliability)

 multi platform delivery


 different types of devices (PC, tablet, mobile phone)
 different versions of browsers
 different degree of functionality, performance, display size, …
Characteristics of Web Applications:

 place and time of access

 globality
 internationalization of web applications
 regional, cultural, linguistic differences have to be taken into account
 demands on security
 prevent access to private or confidential data

 availability
 instant delivery mechanism (also in case of partial realizations)
 permanent (24/7)
 time-dependent services
Characteristics of Web Applications:

 multi disciplinary
 mixture of
 print publishing and software development
 marketing and computer science
 art and technology
 IT-experts, hypertext experts, UI designer, domain experts, …

 young average age of developers


 “technology freak”, “nerd”

 community development
 open source
 open content
Characteristics of Web Applications:

 inhomogeneity
 two essential components
 Web server (under control of developer)
 Web browser (out of control of developer)

 immaturity
 “buggy” components due to time-to-market pressure
 continuous evolution of base technology
Characteristics of Web Applications:

 flexibility
 changing requirements
 changing context
 requires agile, light-weight processes

 parallelism
 of development of parts of web applications
 of development steps
Characteristics of Web Applications:

 internal integration
 add web access to legacy systems

 external integration
 of content and services of external web applications (“web services”)
 similarity to integration of heterogeneous database systems, but
 high autonomy of sources w.r.t. to availability and change
 few detailed information about sources
 heterogeneity on different levels (data, schema, data model)
Characteristics of Web Applications
Characteristics of Web Applications:

 continuous change
 permanent evolution
 changing requirements and contexts
 change of characteristics product, use, or development

 competitive pressure
time-to-market
necessity of web presence
leads to shorter product life cycles
leads to shorter development cycles

 fast pace
 “either you are fast or irrelevant”
Support for Web Application
Development

Model-based Development
Support for Web Application
Development

Model-based Development
Quality of Web Applications

• Kinds of quality properties


• External qualities are visible to the user
• Internal qualities are visible to / concerning
the developer

Model-based Development
Quality of Web Applications
external
qualities
 correctness:
 a web application is functionally correct if it behaves according to the
specification of the application

 reliability:
 the probability that the software will operate as expected
 occurring software errors are not serious

 robustness:
 software behaves reasonably even in circumstances that were not anticipated in
the requirements specification
Quality of Web Applications
external
qualities
 actuality:
 actuality of content must be guaranteed

 user-friendliness:
 easy to use by human (novice / experts)

 efficiency:
 economical handling of resources (time, storage space)

 security:
 system is protected from unauthorized access
Quality of Web Applications
internal
qualities
 portability:
 a web application is portable if it can run in different environments

 interoperability:
 refers to the ability of the web application to coexist and cooperate with other
systems

 maintainability:
 ability to modify a web application after it has been deployed
 correct errors
 extend the web application
Quality of Web Applications
Compromise

 Choose/design your own


solution
Development of Web Applications:
today’s
approach

 ad-hoc development
 based on knowledge, experiences and practices of individual developers
 reuse of existing applications by “copy&paste” approach
 insufficient documentation of design decisions
 isolated activity: no “design for change”
 missing methodical approach
Reasons for Quality Deficiencies

 document-centered view
 development of web applications seen as editorial activity: “ (textual) web pages,
links and use of graphics”
 misconception that web applications are simple
 due to availability of tools like HTML-editors and form generators
 no use of know-how of relevant disciplines
 no use of software engineering know-how
 no use of hypermedia or HCI (Human Computer Interaction) know-how
Web Crisis
• comparable to software crisis at the end of the 60’ies
• lead to origin of “software engineering” discipline

• “web engineering” is needed!


1. Web Engineering (WE)

Web Engineering (WE) applies sound scientific,


engineering, and management principles and
disciplined and systematic approaches to the
successful development, deployment, and
maintenance of high-quality Web-based systems
and applications.
1.1 Web engineering methods and
techniques
This modules includes the following topics:
 Web application development approaches
 Process models (RUP, XP etc.)
 Web application development activities
 Requirement engineering
 Web application modeling
 Web application architectures
 Technologies and tools
 Testing web applications
 Maintenance

48
1.2 Web application development

 Computers in 1950’s
 massive devices
 low processing power
 no networking
 Advanced Research Projects Agency (ARPA)- 1958
 ARPANet:
 Lawrence Roberts publishes overall plan for ARPAnet -1966
 ARPA funded a research project to connect computers -1968
 first connection -1969

49
1.2 Web application development…

 The Internet is a network of interconnected


networks
 Evenif part of its infrastructure was destroyed,
data could flow through the remaining
networks
1.2 Web application development

51
1.2 Web application development…
• World-wide-web (WWW)

a system of interlinked hypertext documents that are accessed via


the Internet with a browser
 one can view web pages that may contain text, images, videos, and
other multimedia and navigate between them via hyperlinks

52
1.2 Web application development…

5. User receives file displayed by 4. Server sends requested files to browser to


the browser be interpreted

Browser

1. User sends request 3. Server accepts


and processes
request from
2. Browser interprets user’s
browser
selection and makes request from
appropriate server

53
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)

54
2. Web engineering
• Software Engineering is the science and art of building significant software
systems that are:

on time
on budget
with acceptable performance
with correct operation

55
2. Web engineering…

 Web engineering is the process used to create high quality Web-based


applications (WebApps)
 Web engineering draws heavily on the principles and management activities
found in software engineering processes
 Web engineering extends Software Engineering to Web applications

56
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”

57
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

58
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

59
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
 Web site with no software components (such as static HTML pages)?

60

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy