You are on page 1of 34

An Introduction

CSE 615: Web Engineering


World Wide Web
 Abbreviated as WWW
 commonly known as the Web
 is a system of interlinked hypertext documents accessed via the
Internet
 The Web is an application that can operate on global computer
networks
 An indispensable technology
 In virtually every aspect of modern living
 A transformative technology
 Changes the way we do things
 Changes the way we acquire and disseminate information
World Wide Web Properties
 Unbound in space/time: Information provided on the Internet is
available every day, around the clock, and around the world
(pending network operation).

 Bound in use context: Web-based hypertext fosters associations


among works through links, giving rise to networks of meaning
and association among many information sources that may be
scattered across the globe and written by many authors

 Distributed, non-hierarchical: The Web's technical organization as


an application using the Internet for a client/server model
influences the disintegration of user focus on a single outlet for
experiencing content.
Definitions

 Web System – an infrastructure or system


enabling the operation of a Web application

 Web Application – a distributed application


that accomplishes a certain business need
based on the technologies of WWW and
that consists of a set of Web-specific
resources
Web-Based Systems
 In the early days of the Web, we built systems using informality,
urgency, intuition, and art
 Informality leads to an easy work environment—one in
which you can do your own thing.
 Urgency leads to action and rapid decision making.
 Intuition is an intangible quality that enables you to “feel”
your way through complex situations.
 Art leads to aesthetic form and function—to something
that pleases those who encounter it.
 Problem is—this approach can and often does lead to problems
Range of Complexity
Complex

Dynamically
Web Application
Created
Site
Service-Based
Web Application
and Federations
Dynamic Data
Access
Static
Service
Site
Simple

Data
Collector Site

Document Centered Application Centered


But Why?
 As WebApps become larger and more complex,
 Informality remains, but some degree of requirements
gathering, planning and design are necessary
 Urgency remains, but it must be tempered by a
recognition that decisions may have broad
consequences
 Intuition remains, but it must be augmented by proven
management and technical patterns
 Art remains, but it must be complemented with solid
design
Web Systems: Problems

 Problems
 Inability to maintain
 Unable to meet evolving needs and grow at the rate
needed – scaleability
 Unreliable – crashes
 Web-dependent organizations cannot afford to have
 Faulty systems – reliability, security issues
 Frequent downtime – dependability
 Wrong, inconsistent, or stale content/information
 Web systems problems are not easy to hide
Consideration to Quality?
 Lack of consideration to:
 Navigation  Compatibility and interoperability
 Accessibility  Security
 Scalability  Readability
 Reliability
 Maintainability
 Usability
Web System Development
Summary (1/2)
 Less attention is given to development methodologies,
testing and evaluation, quality assessment and control
 Largely relies on individual’s own development practices
 Lack of realization of its lifecycle
 Analysis of needs, redesign, development (including
coding), management, metrics, maintenance
 Calls for significant system-level and design decisions
 It is an exercise – not an event
 Legitimate concern about the manner in which they are
created and their long-term quality and integrity
Web System Development
Summary (2/2)
 In many cases, Web systems development is
 Chaotic
 Failure-prone
 Unsatisfactory
Why Do You Think That Web
Systems are the #1 Target
of Attack?
Risks to Web-Based Business

 Long system delivery time


 Low responsiveness to business changes
 High project development and ongoing support costs
 Questionable system quality
Desires of Web-Based
Businesses
 Project delivery time – shorter
 System quality – improved
 Technology investment - optimized
Need for Process

 Domination of the different requirements calls for a


systematic approach
 Producing high-quality applications in a cost-effective way
 Goal – application should be
 Maintainable and evolvable
 Reliable
 Efficient
 Appropriate for UI
 Delivered on time at predictable cost
Or Simply Software
Engineering?

“Fundamental differences [between hypermedia and other


disciplines] however, make a pure transposition of
techniques both difficult and inadequate. An important
part of hypertext design concerns aesthetic and cognitive
aspects that software engineering environments do
not support.”
--Nanard & Nanard
Web Development vs. Software
Development

 They are different due to the nature and distinct


requirements of Web-based systems
 Even though Web-based systems often require
programming and specialty software, the development of
that software is often unique
Web-Based Systems vs.
Software (1/3)
 Web-based systems:
 Are often document-oriented containing static or
dynamic content
 More emphasis on “look and feel”
 Are “content-driven” – process is driven by the
availability of content
 Need to cater to users with diverse skills and capabilities
 Are 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 vs.
Software (2/3)
 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
○ Developers differ in their perception of Web systems
Web-Based Systems vs.
Software (3/3)
 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
Categories of Web-Based
Systems
Category Examples

Informational Online newspapers, manuals

Interactive Registration forms

Transactional Electronic shopping

Workflow-oriented Status monitoring

Collaborative work Distributed authoring

Online communities Discussion groups

Web portals Shopping malls

Web services Enterprise applications


Engineering

Discussing the term in the context of (software)


engineering:

“Engineering is about the systematic application of


scientific knowledge in creating and building
cost-effective solutions to practical problems”,
Berry [Report No. CMU/SEI-92-TR-34]
Why Engineering?

 Engineering is associated with “scale-up”


 New issues arise when scaling by 2+ orders of magnitude
 Skills of architects and all kinds of engineers are different
from those needed for designing and building simple
structures and simple systems
What is Web Engineering?
There is still no common answer

“Web Engineering is concerned with establishment and use of 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”, SIGWEB Newsletter

“Web Engineering is a discipline among disciplines, cutting across computer science,


information systems, and software engineering, as well as benefiting from several
non-IT specializations”, IEEE Multimedia

“While Web Engineering adopts and encompasses many software engineering


principles, it incorporates many new approaches, methodologies, tools, techniques,
and guidelines to meet the unique requirements of Web-based systems. Developing
Web-based systems is significantly different from traditional software development
and poses many additional challenges”, IEEE MultiMedia
Web Engineering

The application of systematic, disciplined, and


quantifiable approaches to the design, production,
deployment, operation, maintenance and
evolution of Web-basedsoftware products.
---Gaedke, 2000
Web Engineering (1/2)

 A holistic and proactive approach to Web systems


development
 Offers systematic approaches and disciplined processes
for development
 Deals with the management of complexity and diversity
of Web development
 Brings to Web-based system development
 Control
 Risk minimization
 Enhanced maintainability and quality
Web Engineering (2/2)

 Other factors
 Document orientation
 Navigational design
 Changing technology
 Budget and time constraints
 People and internal politics
 Division between theory and practice
 Lack of understanding…
Goals of Web Engineering

 Develop high quality Web applications


 Effective
 Efficient
 Achieve desired application
 Maintain and evolve
 Plan for change – solution may change the problem
 Encourage the use of systematic, disciplined and
quantifiable approaches and process models
Key Knowledge Areas
Software
Hypermedia
Engineering

•Process • Design & Structure


•Design Information Space
•Implementation Web • Navigation
•Test • Visualization
•Operation Engineering • Usability
•Maintenance • Collaboration

Network Information
Engineering Systems

•Physical Layer •Data Design, ER,...


•Internet Layer Others... •RDBMS
•Transport Layer •Query Languages
•Performance •Strg.Devices: FS,...
Web Engineering Activities (1/3)

 Requirements specification and analysis


 Web-based system analysis and design
 Web development methodologies and techniques
 Migration of legacy systems to Web environments
 Web-based real-time applications development
 Web-based multimedia application development
 Testing, verification and validation techniques and tools
 Quality assessment, control and assurance
Web Engineering Activities
(2/3)
 Management of access to applications and privileges
 Configuration and project management
 “Web metrics” – metrics for estimation of development
effort
 Performance specification and evaluation
 Update and maintenance
 Development models, teams, and staffing
 Human and cultural aspects
 User-centric development
Web Engineering Activities
(3/3)
 Graphics, animation, and streaming
 Copyright, legal and social aspects
End of Today’s Lecture

You might also like