0% found this document useful (0 votes)
35 views24 pages

Webeng Lecture 1

This document provides an introduction to web engineering. It defines software engineering and web engineering. Web engineering aims to apply systematic and quantifiable approaches to cost-effectively develop high-quality web applications. The document discusses categories of web applications and why web engineering is needed. It describes the importance of agile processes and frameworks in web engineering and how frameworks guide activities like communication, planning, modeling and construction. The document also discusses best practices for web engineering projects.

Uploaded by

mu8061148
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
35 views24 pages

Webeng Lecture 1

This document provides an introduction to web engineering. It defines software engineering and web engineering. Web engineering aims to apply systematic and quantifiable approaches to cost-effectively develop high-quality web applications. The document discusses categories of web applications and why web engineering is needed. It describes the importance of agile processes and frameworks in web engineering and how frameworks guide activities like communication, planning, modeling and construction. The document also discusses best practices for web engineering projects.

Uploaded by

mu8061148
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 24

An Introduction to Web

Engineering
Week 1

Definition of Software Engineering

Software Engineering is defined as the application of


science and mathematics by which the capabilities of
computer equipment are made useful to man via
computer programs, procedures, and associated
documentation.
Definition ofWeb Engineering

Web Engineering is the application of systematic and


quantifiable approaches (concepts, methods,
techniques, tools) to cost‐effective requirements
analysis, design, implementation, testing, operation,
and maintenance of high‐quality Web applications.
Chapter 1:Web-BasedSystems
• 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
TheWeb
• 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

• 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.

• We must understand the meaning of:


– Agile
– Disciplined framework
– Industry quality

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

• A framework also has a set of “umbrella activities”


TheWebEFramework:Activities
• Communication. Involves heavy interaction and collaboration with the
customer (and other stakeholders) and encompasses requirements
gathering and other related activities.
• Planning. Establishes an incremental plan for the WebE work.
• Modeling. Encompasses the creation of models that assist the developer
and the customer to better understand Web application requirements and
the design
• Construction. Combines both the generation of HTML, XML, Java, and
similar code with testing that is required to uncover errors in the code.
• Deployment. Delivers a Web application increment to the customer who
evaluates it and provides feedback based on the evaluation.
Adaptingthe Framework
• Adapt to the problem, to the project, to the team, and to the
organizational culture
• And continue to adapt throughout the project as circumstances change!

• Adaptation leads to:


• Overall flow of activities, actions, and tasks and the interdependencies among them
• Degree to which work tasks are defined within each framework activity
• Degree to which work products are identified and required
• Manner in which quality assurance activities are applied
• Manner in which project tracking and control activities are applied
• Overall degree of detail and rigor with which the process is described
• Degree to which customers and other stakeholders are involved with the project
• Level of autonomy given to the software project team
• Degree to which team organization and roles are prescribed

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

What aboutTools andTechnology?


… tools and technology are very important, but they’ll work
well only if they’re used within the context of an agile
framework for Web engineering and in conjunction with
proven methods for understanding the problem, designing a
solution, and testing it thoroughly.
WebEBestPractices
• Take the time to understand business needs and product objectives, even
if the details of the WebApp are vague.
• Describe how users will interact with the Web application using a scenario‐
based approach.
• Always develop a project plan, even if it’s very brief.
• Spend some time modeling what it is that you’re going to build.
• Review the models for consistency and quality.
• Use tools and technology that enable you to construct the system with as
many reusable components as possible.
• Don’t reinvent when you can reuse.
• Don’t rely on early users to debug the Web application—design and use
comprehensive tests before releasing the system.

You might also like