Webeng Lecture 1
Webeng Lecture 1
Engineering
Week 1
• A transformative technology
– Changes the way we do things
– Changes the way we acquire and disseminate information
• An evolving technology
• Bottom line—high impact on everyone in the modern world
Web Applications
• The term Web application encompasses:
– everything from a simple Web page that might help a consumer compute an
automobile lease payment to a comprehensive website that provides complete travel
services for business people and vacationers.
– Included within this category are complete websites, specialized functionality within
websites, and information‐ processing applications that reside on the Internet or on
an Intranet or Extranet.
Categories of Web Applications
Categories of Web Applications (cont’d)
• Document Centric Websites
• Static
• Updated Manually
• Outdated information for websites requiring frequent changes
• Interactive Web Applications
• Emerged from the introduction of Common Gateway Interface and HTML
forms
• Dynamically generated
Categories of Web Applications (cont’d)
• Transactional Web Applications
• More interactivity
• User can update (online banking, shopping)
• Workflow Based Web Applications
• Handling of workflows within or between different companies, public
authorities and private users
• Web-based support of patient workflows in the health sector
• Collaborative Web Applications
Categories of Web Applications (cont’d)
• Used for cooperation purposes
• Used to keep logs of small entries and edits (weblogs)
• E-Learning platforms
• Social Web
• People provide their identity to a community with similar interests
• Portal-Oriented Web Applications
• Has a point of access to web (portals)
• Business portals provides focused access to different sources of information
• Marketplace portals (Vertical and horizontal)
Categories of Web Applications (cont’d)
• Community portals (directed at specific target group)
• Ubiquitous Web Applications
• Provides customized services anytime anywhere and for any device
• Will dominate the market in near future
• Semantic Web
• Present information on the web not only for human, but also in machine
readable form
• Knowledge management
WhyWebEngineering?
As web applications get bigger and more complicated, we need to be a bit
more organized and plan ahead. We still need to work quickly, but we also
need to think about how our decisions will affect everything else. We can
use our instincts, but we also need to follow established methods for
managing and building things. And while creativity is important, we also
need to make sure we're making things that work well. In summary, we
need to update our old ways of doing things to fit the modern web world.
Chapter2:WebEngineering
• We define it this way:
– an agile, yet disciplined framework for building industry‐quality Web Applications.
WhyAgility?
In simple terms, agility is important because in the world of business,
things change quickly and people want things done very fast, even if
it's not always possible. This means that managers and stakeholders
can sometimes change their minds a lot and demand things to be done
quickly. An agile approach helps businesses deal with these changes
and uncertainty by being flexible and adaptable.
WhatisanAgileProcess?
Agile process is a way of developing web applications that focuses on making
customers happy, delivering parts of the project early, and using small and
motivated teams. It also involves using simple and informal methods to complete
tasks with the minimum amount of work. The goal is to create a web application
that is easy to develop and satisfies the customer's needs.
What is an Agile Process?(cont’d)
• An agile process stresses delivery over analysis and design
(although these activities are not discouraged), and active
and continuous communication between developers and
customers.
• http://agilemanifesto.org/
UnderlyingAgilityPrinciples-I
These are some principles that guide the way people work in agile software
development:
The most important thing is to make the customer happy by giving them valuable
software as soon as possible.
Even if the requirements change late in the project, we should be able to adapt
and still give the customer an advantage.
We should deliver pieces of working software frequently, maybe every few days or
weeks, to show progress.
The business people and developers should work together closely throughout the
project.
We should trust and empower the people working on the project, and
communicate with them face-to-face as much as possible.
UnderlyingAgilityPrinciples-II
• Working software is the primary measure of progress.
• Agile processes promote sustainable development. The sponsors, developers, and
users should be able to maintain a constant pace indefinitely.
• Continuous attention to technical excellence and good design enhances agility.
• Simplicity—the art of maximizing the amount of work not done—is essential.
• The best architectures, requirements, and designs emerge from self‐ organizing teams.
• At regular intervals, the team reflects on how to become more effective, then tunes
and adjusts its behavior accordingly.
WhatisaWebEFramework?
• A framework is a set of activities that will always be performed for
every Web engineering project – though the nature of the activities
might vary to suit the project.
• Each framework activity is composed of a set of actions
• Actions encompass
– work tasks
– work products
– quality assurance points, and
– project milestones
TheInfluenceof SoftwareEngineering
• Quality: foster a continuous process improvement culture
• Process: the glue that holds the technology layers together
• Methods: provide the technical how‐to’s
• Tools: support for the process and the methods