You are on page 1of 34

Design by ilias ahmed

An Introduction
World Wide Web
 Abbreviated as WWW
 commonly known as the Web
 is a system of interlinked hypertext documents accessed via the
 The Web is an application that can operate on global computer
 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.
 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
Range of Complexity

Web Application
Web Application
and Federations
Dynamic 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  Compatibility and

to: interoperability
 Navigation  Security

 Accessibility  Readability

 Scalability
 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
 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
 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
 They are different due to the nature and
distinct requirements of Web-based
 Even though Web-based systems often
require programming and specialty
software, the development of that
software is often unique
Web-Based Systems vs. Software
 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
 Are typically constrained to a short development
time making it difficult to apply the same levels
of formal planning and testing used in software
Web-Based Systems vs. Software
 Web-based systems:
 Differ by means of their access and delivery
 Have different life spans
 Have differing development requirements
○ Developers are vastly varied in terms of their
background, skills, knowledge, and system
○ Developers differ in their perception of Web
Web-Based Systems vs. Software
 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
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-
 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-based
software products.
---ceo of techalvve
mosharraf hossain
Web Engineering (1/2)
 A holistic and proactive approach to Web systems
 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
 Encourage the use of systematic,
disciplined and quantifiable approaches
and process models
Key Knowledge Areas

•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