WEB ENGINEERING
1
Source: Web Engineering: A Practitioner’s Approach
by Roger S. Pressman and David Lowe
CONTENT
 What is web application ?
 Types of web application
 Technology of web application stack
 Web Engineering
 Application/Software Development Life Cycle (SDLC)
 SDLC Models
2
WEB APPLICATION
 The term Web application (WebApp) encompasses:
 Everything from a simple Web page that might
include just an informative site to a comprehensive
website.
 Included within this category are complete websites,
specialized functionality within websites, and
information-processing applications that reside on the
Internet or on an Intranet.
3
WEBAPP ATTRIBUTES
 Network intensiveness: Every WebApp resides on a network
and must serve the needs of a diverse community of clients
 Concurrency: A large number of users may access the WebApp
at one time.
 Unpredictable load: The number of users of the WebApp may
vary by orders of magnitude from day to day
 Performance: performance is critical issue in web based
applications. If a WebApp user must wait too long (for access,
for server side processing, for client-side formatting and
display), he or she may decide to go elsewhere.
 Availability: Users of popular WebApps often demand access
on a “24/7/365” basis.
4
WEBAPP ATTRIBUTES
 Data driven: WebApps are commonly used to access information
that exists on databases (e.g., e-commerce).
 Content sensitive: The quality and aesthetic nature of content
remains an important determinant of the quality of a WebApp.
 Continuous evolution: Unlike conventional application software
that evolves over a series of planned releases, WebApps evolve
continuously.
 Security: In order to protect sensitive content and provide secure
modes of data transmission, strong security measures must be
implemented throughout the infrastructure.
 Aesthetics: An undeniable part of the appeal of a WebApp is its
look and feel. Aesthetics have as much to do with success as
technical design.
5
WEBAPP TYPES
 Static Web Application: one that contains read only content with
simple navigation and links. It directly displays the content without
fetching any data from server end. (Example is Wikipedia.)
 Dynamic: The one that interacts with the client and generates real-
time data based on user's request. (Example is google.)
 Interactive: A web application that provides a feeling of
community among visitors—a place where people can chat, ask and
answer questions, provide product testimonials, and the
like.(Example is Facebook(meta))
 Transaction-oriented: Where A transaction between the user and
the WebApp occurs.(Example is Flipkart)
 Service-oriented: Where web application provides services to the
users.(Example is olx)
6
TECHNOLOGY OF WEB APPLICATION STACK
7
WEB ENGINEERING
 Web Engineering is the process of systematic, disciplined
and quantifiable approaches to develop, operate, and
maintain the Web-based applications.
8
APPLICATION DEVELOPMENT LIFE CYCLE
9
Reference: https://www.ibm.com/docs/en/zos-basic-skills?topic=zos-
application-development-life-cycle-overview
 Design phase
10
Reference: https://www.ibm.com/docs/en/zos-basic-skills?topic=zos-
application-development-life-cycle-overview
 Development phase
11
Reference: https://www.ibm.com/docs/en/zos-basic-skills?topic=zos-
application-development-life-cycle-overview
 Testing
12
Reference: https://www.ibm.com/docs/en/zos-basic-skills?topic=zos-
application-development-life-cycle-overview
 Production
13
Reference: https://www.ibm.com/docs/en/zos-basic-skills?topic=zos-
application-development-life-cycle-overview
Software Development Life cycle
Models
14
WATERFALL MODEL
15
WATERFALL MODEL
 In this model each phase should be completed
before the start of next phase.
 This model is most suitable where:
 Requirements are very well documented, clear
and fixed.
 There are no ambiguous requirements.
 Ample resources with required expertise are
available to support the product.
 The model is not suitable for complex projects,
where requirements are not clear.
 This model are not suppose to accommodate
requirements during development.
16
PROTOTYPING MODEL
17
PROTOTYPING MODEL
 This model requires that a working prototype of
the system should be built and deliver to the
client before carrying out the development of
actual software.
 A prototype is a sample of original system having
limited functionalities and inefficient as
compared to actual product.
 In a scenario where there is an absence of
detailed requirements or clients are not aware of
their full requirements, the prototyping model
may be employed.
 The problem with Prototype is that it often
becomes the final product.
18
THE ITERATIVE MODEL
19
THE ITERATIVE MODEL
 In the Iterative model, we start with a simple
implementation of a small set of the software
requirements and iteratively enhances the complete
system.
 The main idea behind this model is to develop a system
through repeated cycles (iterative) and in smaller
portions at a time (incremental).
 The benefit of this model is that there is a working
model of the system at a very early stage of development
and hence it is easier to find functional or design flaws.
 The model is suitable for large project only since smaller
project can not be substantially divided into smaller
parts. 20
V-SHAPE MODEL
21
V-SHAPE MODEL
 This model is an extension of the waterfall model,
where testing task is associated for each
corresponding development stage.
 This is a highly-disciplined model and the
subsequent phase starts once the previous phase
is completed.
 Similar to waterfall model no working software is
produced until late during the life cycle.
22
AGILE METHOD
23
AGILE MODEL
▪ Web engineering is an agile, yet disciplined
framework for building quality oriented WebApps.
Why Agility?
 Business strategies and rules change rapidly.
 Management demands near-instantaneous
responsiveness.
 Stakeholders often don’t understand the consequences
of the Web and keep changing their mind even as they
demand rapid delivery.
 An agile approach helps cope with this fluidity and
uncertainty.
24

Lecture_1_Introduction (Web Engineering).pdf

  • 1.
    WEB ENGINEERING 1 Source: WebEngineering: A Practitioner’s Approach by Roger S. Pressman and David Lowe
  • 2.
    CONTENT  What isweb application ?  Types of web application  Technology of web application stack  Web Engineering  Application/Software Development Life Cycle (SDLC)  SDLC Models 2
  • 3.
    WEB APPLICATION  Theterm Web application (WebApp) encompasses:  Everything from a simple Web page that might include just an informative site to a comprehensive website.  Included within this category are complete websites, specialized functionality within websites, and information-processing applications that reside on the Internet or on an Intranet. 3
  • 4.
    WEBAPP ATTRIBUTES  Networkintensiveness: Every WebApp resides on a network and must serve the needs of a diverse community of clients  Concurrency: A large number of users may access the WebApp at one time.  Unpredictable load: The number of users of the WebApp may vary by orders of magnitude from day to day  Performance: performance is critical issue in web based applications. If a WebApp user must wait too long (for access, for server side processing, for client-side formatting and display), he or she may decide to go elsewhere.  Availability: Users of popular WebApps often demand access on a “24/7/365” basis. 4
  • 5.
    WEBAPP ATTRIBUTES  Datadriven: WebApps are commonly used to access information that exists on databases (e.g., e-commerce).  Content sensitive: The quality and aesthetic nature of content remains an important determinant of the quality of a WebApp.  Continuous evolution: Unlike conventional application software that evolves over a series of planned releases, WebApps evolve continuously.  Security: In order to protect sensitive content and provide secure modes of data transmission, strong security measures must be implemented throughout the infrastructure.  Aesthetics: An undeniable part of the appeal of a WebApp is its look and feel. Aesthetics have as much to do with success as technical design. 5
  • 6.
    WEBAPP TYPES  StaticWeb Application: one that contains read only content with simple navigation and links. It directly displays the content without fetching any data from server end. (Example is Wikipedia.)  Dynamic: The one that interacts with the client and generates real- time data based on user's request. (Example is google.)  Interactive: A web application that provides a feeling of community among visitors—a place where people can chat, ask and answer questions, provide product testimonials, and the like.(Example is Facebook(meta))  Transaction-oriented: Where A transaction between the user and the WebApp occurs.(Example is Flipkart)  Service-oriented: Where web application provides services to the users.(Example is olx) 6
  • 7.
    TECHNOLOGY OF WEBAPPLICATION STACK 7
  • 8.
    WEB ENGINEERING  WebEngineering is the process of systematic, disciplined and quantifiable approaches to develop, operate, and maintain the Web-based applications. 8
  • 9.
    APPLICATION DEVELOPMENT LIFECYCLE 9 Reference: https://www.ibm.com/docs/en/zos-basic-skills?topic=zos- application-development-life-cycle-overview
  • 10.
     Design phase 10 Reference:https://www.ibm.com/docs/en/zos-basic-skills?topic=zos- application-development-life-cycle-overview
  • 11.
     Development phase 11 Reference:https://www.ibm.com/docs/en/zos-basic-skills?topic=zos- application-development-life-cycle-overview
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
    WATERFALL MODEL  Inthis model each phase should be completed before the start of next phase.  This model is most suitable where:  Requirements are very well documented, clear and fixed.  There are no ambiguous requirements.  Ample resources with required expertise are available to support the product.  The model is not suitable for complex projects, where requirements are not clear.  This model are not suppose to accommodate requirements during development. 16
  • 17.
  • 18.
    PROTOTYPING MODEL  Thismodel requires that a working prototype of the system should be built and deliver to the client before carrying out the development of actual software.  A prototype is a sample of original system having limited functionalities and inefficient as compared to actual product.  In a scenario where there is an absence of detailed requirements or clients are not aware of their full requirements, the prototyping model may be employed.  The problem with Prototype is that it often becomes the final product. 18
  • 19.
  • 20.
    THE ITERATIVE MODEL In the Iterative model, we start with a simple implementation of a small set of the software requirements and iteratively enhances the complete system.  The main idea behind this model is to develop a system through repeated cycles (iterative) and in smaller portions at a time (incremental).  The benefit of this model is that there is a working model of the system at a very early stage of development and hence it is easier to find functional or design flaws.  The model is suitable for large project only since smaller project can not be substantially divided into smaller parts. 20
  • 21.
  • 22.
    V-SHAPE MODEL  Thismodel is an extension of the waterfall model, where testing task is associated for each corresponding development stage.  This is a highly-disciplined model and the subsequent phase starts once the previous phase is completed.  Similar to waterfall model no working software is produced until late during the life cycle. 22
  • 23.
  • 24.
    AGILE MODEL ▪ Webengineering is an agile, yet disciplined framework for building quality oriented WebApps. Why Agility?  Business strategies and rules change rapidly.  Management demands near-instantaneous responsiveness.  Stakeholders often don’t understand the consequences of the Web and keep changing their mind even as they demand rapid delivery.  An agile approach helps cope with this fluidity and uncertainty. 24