Você está na página 1de 33

Web Engineering Overview

Ansar Siddique
27/09/X
Introduction

• Web-based systems and applications now deliver a complex array of


functionality to a large number of diverse groups of users

• As our dependence and reliance on the Web has increased dramatically


over the years, their performance, reliability and quality have become
paramount importance, and the expectations of and demands placed on
Web applications have increased significantly over the years

• As a result, the development of Web applications has become more


complex and challenging than most of us think
Ad hoc Approach Issues
• Web development and maintenance carried out in ad hoc manner, resulting
in poor quality web systems and applications and encounter these kinds of
problems

• Failed to address users’ needs and issues such as content management and
scalability (Business Issues)
• Difficulties in using the Web site and finding relevant information of
interest (Usability Issues)
• Slow response (Performance Issues)
• Web site crashes (Reliability Issues)
• Security breaches (Privacy Issues)
Ad hoc Approach
• Web application development is not just a simple web page creation, It
involves planning, web architecture and system design, testing, quality
assurance and performance evaluation, and continual update and
maintenance of the systems as the requirements and usage grow and
develop.
• So, Ad hoc approach is not a appropriate option for the development of
large and complex web based systems
Impacts of Faulty Web Over Business

• Enterprises and organizations cannot afford to have faulty Web systems or


tolerate downtime or inconsistent or stale content/information

• Frustrate the users


• Lost customer
• Loss of reputation
• Possibly costing the enterprises heavily in terms of financial loss
Why Web Projects Fail?

• Lack of vision
• Shortsighted goals
• Flawed design
• Wrong team members

• Technical experience and expertise


• Limits of technology
• Underestimate time
Why Web Engineering

• To successfully build large-scale, complex Web-based systems and


applications, disciplined development process and a sound methodology is
required
• Emerging discipline of Web engineering addresses these needs and focuses
on successful development of Web-based systems and applications, while
advocating a holistic, disciplined approach to Web development
What is Web Engineering…
• Body of knowledge consisting of technologies, Architectures, Design Methodologies and
Development Processes, that will enable us to develop Complex and Maintainable Web
Systems;

a) to meet User Requirements

b) within Time and Budget

• Web Engineering uses scientific, engineering, and management principles and systematic
approaches to successfully develop, deploy, and maintain high-quality Web systems and
applications

(Murugesan et al., 1999)


What is Web Engineering
• Contrary to the perception of some professionals, Web Engineering is not a
clone of software engineering, although both involve programming and
software development
(Ginige & Murugesan, 2001)

• While Web Engineering uses software engineering principles, it

encompasses new approaches, methodologies, tools, techniques, and

guidelines to meet the unique requirements of Web-based systems


Web engineering as a discipline

• University of Western Sydney, Australia formally promoted


web engineering as a new discipline in the first ICSE
workshop on Web Engineering in 1999
• Since then they published a serial of papers in a number of
journals, conferences and magazines to promote their view
and got wide support
Evolution of Engineering
Disciplines
• Civil Engineering
Leads back to 300 BC
• Mechanical Engineering
Leads back to 100 BC
• Electrical Engineering
Leads back to 1900
• Telecommunication Engineering
Leads back to 1840
• Software Engineering
Early stages - 1955, As an Engineering Practice 1970’s
• Web Engineering
In the Process of Making the history
Basic Aim of Web Engineering

• Web Engineering aim is to bring web based


system development under control, minimize
risks and improve quality, maintainability and
scalability of web applications.
Web Engineering is Multidisciplinary
Web engineering is multidisciplinary and encompasses contributions from
diverse areas like:

• Systems analysis and design & software engineering


• Hypermedia/hypertext engineering
• Requirements engineering
• Human-computer interaction
• Information indexing and retrieval
• Testing
• Modeling and simulation
• Project management
• Graphic design and presentation.
Evolution of Web
• Initial objective of facilitating easy creation and sharing of information
among a few scientists using simple Web sites
• Web has grown very rapidly in its scope and extent of use, supported by
constant advances in Internet and Web technologies and standards
• Currently Enterprises, travel and hospitality industries, banks, educational
and training institutions, entertainment businesses and governments etc use
large-scale Web-based systems and applications to improve, enhance
and/or extend their operations
• E-commerce has become global and widespread
• Traditional legacy information and database systems are being
progressively migrated to the Web
• Modern Web applications run on distributed hardware and heterogeneous
computer systems
Growth of Web Sites

Source: Hobbes’ Internet Timeline, 2004, www.zakon.org/robert/internet/timeline/


New Disciplines
The evolution of the Web has brought together some disparate disciplines such
as:

• Media (integrations of media’s, Distributed multimedia,animations,3D visualization, different


types of interaction and channels of communication)
• Information science: (information organisation, présentation, indexing, retrieval,
aggregation, and management)
• Information and communication technology: (infrastructures
that facilitate transfer and sharing of data and information, wired and
wireless Internet communication)
Web Development & Software Development

• Web development is a mixture between print publishing and software


development, between marketing and computing, between internal
communications and external relations, and between art and technology
• Software development is the development of a software product in a
planned and structured process. The software could be produced for a
variety of purposes
• The three most common purposes are to meet specific needs of a specific
client/business, to meet a perceived need of some set of potential users or
for personal use
Characteristics of Web Development
Web application development has certain characteristics that make it
different from traditional software, information system, or computer
application development
• Evolutionary in nature (Businesses grow with time…changeability)
• Web applications are inherently different from software (Content)
• Vast, variable user community (Anonymous …Usability & Interface features)
• Aesthetics (Good look and feel)
• Compressed Schedules & Time Pressures (shorter development cycle)
• Constant advances in Web technologies and standards
• Delivery medium for Web applications is quite different (Internet, Network Infrastructure)
• Security and privacy
• Personalization (Individual needs)
These unique characteristics of the Web and Web applications make Web
development different and more challenging than traditional software
development
Web Development Tools
Web VS. Software Engineering
Typical Life Cycle Model
Web System Development Process

• Assist in capturing changing user requirements

• Assist in integrating know-how from various disciplines

• Facilitate communication among different development groups

• Support evolution, maintenance and management of the content and

functions
Essential Steps in Development
• Understand the overall function & environment in which system will be
used
• Identifying & specifying technical & non technical requirements

• Developing architecture
• Addressing non-technical issues

• Identifying sub project or sub processes

• Developing and implementing sub projects


• Incorporating mechanisms for evolution and maintenance
Things to Consider

When building a web-based system there are a number of elements that need to be
carefully considered, a number of which relate to the fact that we are often exposing
our application to the entire Internet
Issues include:
• Security: Security needs to be carefully considered and addressed. We cannot assume that only
one user will have access to the software and the system may come under numerous attacks
from the greater Internet.

• Scalability: Many web-based systems must be able to scale considerably. Again it is not a case
of one application with one user. We may have 10 people using the system simultaneously or we
may have to handle millions of requests per second (think Google, Hotmail or Amazon).

• Robustness: A web-based application must be robust, that is it should not fail or if it does it
should fail gracefully. If a desktop application crashes it will often impact one user, whereas if a
commercial website becomes unavailable then business may be lost from thousands of clients
WWW Architecture…

Four key components:


• Browser Software (eg Firefox, Internet Explorer, Safari,Google
Chrome, Opera, iCab ,Chimera ,Mosaic, lynx, Amaya
• Web Server software

The most popular server program is apache


• A collection of "hyperlinked" documents (or pages) written in
HTML (the Hypertext Markup Language) these can be static or
dynamically generated.
• HyperText Transfer Protocol, HTTP. The browser uses HTTP to
obtain HTML documents, specified using a URL, from a server.
Web Architecture
HTTP

• HTTP is the protocol of the web - it specifies how a browser requests a


particular web page from a server. The current version of the protocol is
HTTP/1.1

• Like many Internet application protocols, it operates by exchanging lines


of printable ASCII text for all protocol messages. Because these
exchanges are "human-readable

• In general, a browser establishes a TCP (reliable interprocess) connection


to a web server process waiting for connections at TCP port 80 on a server
host. The browser sends one or more requests (or methods), as lines of
text, and the server sends back (one or more) responses (also lines of text)
in addition to some data.
Attributes of Web
• Network intensiveness
• Large community or number of users
• Concurrency
• Run in a heterogeneous computing environment
• Performance (read: speed is important). Example: taking 5 - 10 minutes to
generate a report is not acceptable
• Availability. The goal: 100% or something very close to it
• Aesthetics. look-and-feel, professionalism
• Content
• Evolving web standards
• Changing technologies
Best Practices

• Ask questions
• Understand business needs and the product
• Identify users and user groups
• Build use cases, scenarios
• Develop a project plan, even if it is very brief
• Model what you are going to build and review it constantly
• Don't reinvent the wheel
• Use reusable components
• Don't rely on users to test your system; you better test it thoroughly first
• Don't be afraid to think ahead (e.g., does the company plan to merge with
another company in a year)
Design Modeling

• What tasks users will perform and the functionality required to support
them?
• Simplicity
• Consistency
• Aesthetics
• Interface
• Navigation
• Architecture
• Content and structure
• Functional components
• Security and privacy
Formulation

• Identify the high-level business needs


• Identify stakeholders. Anyone can be a stakeholder
• Beware: stakeholders can have varying views and even agendas. This is normal. It is your job to judge and
prioritize the views, setting up for negotiations.
• Items to address (questions):
–Business need
–Objectives of the web application What will the users do? What does the client / company really r want to
accomplish?
–Users, audience
–The client's tenure, title, technical knowledge. Also, determine the client's clout.
–Budget
• Identify common areas and areas of conflict, Dealing with conflicts
• The result (more later):
–Statement of scope ( mission statement)
–List of stakeholders
–List project objectives
–Project scope
–Assumptions
Q&A
Categories of Web Applications

Você também pode gostar