WebEngineering - Lecture 01
WebEngineering - Lecture 01
1
Outline
Web Enabled Commercial Application Development Using Html, Java Script by Ivan Bayross
Beginning Active Server Pages 3.0 by David Buser (Author), John Kauffman (Author), Juan t. Llibre
(Author), Brian Francis (Author), Dave Sussman (Author), Chris Ullman (Author), Jon Duckett (Author)
Sams Teach Yourself ASP.NET in 21 Days by Payne, Chris; Mitchell, Scott; 2nd Edition(2005).
Professional ASP.NET 2.0 (Programmer to Programmer). Bill Evjen, Farhan Muhammad, Srinivasa
Sivakumar. Wrox Series (2005)
2. Web Engineering
Software engineering is an engineering discipline that is concerned with all aspects of software production
Software Engineering is the science and art of building significant software systems that are:
on time
on budget
with acceptable performance
with correct operation
2. Web Engineering (contd.)
Concept
Web Engineering draws heavily on the principles and management activities found in software engineering
processes
Planning,
Web Architecture and system design,
Testing,
Quality Assurance and performance evaluation, and
Continual update and maintenance of the systems
Web Engineering extends Software Engineering to Web applications
2. Web Engineering (contd.)
Definition - Web Engineering is the study of the process, used to create high quality Web-based applications
The application of systematic and quantifiable approaches to cost-effective analysis, design, implementation,
testing, operation, and maintenance of high-quality web applications
2. Web Applications
A distributed application that accomplishes a certain business need based on the standard and technologies of
WWW and that consists of a set of Web-specific resources.
E.g. Websites, blogs, wikis, WhatsApp, etc…
2.1 Categories of Web Applications
• Concurrency - A large number of users may access the application at one time; patterns of
usage among end-users will vary greatly.
• Unpredictable load - The number of users of the application may vary by orders of magnitude
from day to day.
• Performance - If a web application user must wait too long (for access, for server-side
processing, for client-side formatting and display), he or she may decide to go elsewhere.
• Availability - Although expectation of 100 percent availability is unreasonable, users of popular
web application often demand access on a “24/7/365” basis.
3. Web Engineering Process
• Must accommodate
• Incremental delivery
• Frequent changes
• Short timeline
• Therefore,
• An incremental process model should be used in virtually all situations
• An agile process model is appropriate in many situations
3. Web Engineering Process Model
3. Web Engineering Process Model:
3.1 Formulation/Communication
• Aesthetic Design - colors, layout, text size, font and placement etc.
• Navigational Design - the navigational flow between content objects and for all the WebApp
functions.
3. Web Engineering Process Model:
3.5 Page Generation and Testing
• Content and technical designs are merged to produce executable web pages
• Testing exercises Web Application navigation, attempts to uncover errors/failures
in in the application’s required services/functionality, and checks for environment
incompatibilities
3. Web Engineering Process Model:
3.6 Deployment and Customer Evaluation
1. Take time to understand the business needs and product objectives, even if Web
Application details are vague.
2. Describe how users will interact with the Web Application using a scenario-
based approach.
3. Develop a brief project plan.
4. Spend time modeling what you are going to build.
4. Web Engineering Best Practices (contd.)