Lecture 01
Introduction to Web Engineering
Web Engineering - IT 401
1
Outline
Introduction to the Course
Web Application Development
What is Web Engineering?
Web Applications
Categories of Web Applications
Web Application Attributes
Web Engineering Process
Web Engineering Process Model
Web Engineering Best Practices
1. Introduction to the Course
This course aims:
to introduce the methods and techniques used in Web-based application development
to develop practical web applications
1.1 Why Web Applications?
WWW has massive and permanent influence on our lives
– Economy, Industry, education, healthcare, entertainment
Why?
– global and permanent
– Comfortable and uniform access
users demand for data accessibility in real time
1.2 Web Application Development
Interpret user’s selection and send to appropriate server
Accepts and Processes the
request
Browser
Sends requested files to the browser (.aspx, .html, etc.)
1.3 Web Application Development
Hyper-text Markup Language (HTML)
Cascading Style-sheets (CSS)
Client-side Scripting Language (JavaScript)
Serve-side Scripting Language (PHP)
Database Language (MySQL)
1.4 Books and Resources
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
Document-centric web - online newspapers, online classifieds, online books
Interactive web applications - online games
Transactional web applications - online shopping (ordering goods and services), online banking, online
airline reservation
Workflow-based web applications - online planning and scheduling, inventory management, status
monitoring, supply chain management
Collaborative and social web applications - Distributed authoring systems, collaborative design tools
Portal-oriented web applications
2.2 Web Application Attributes
• Network intensive – resides on internet, intranet or extranet
• Content-driven
• Continuous evolution
• Immediacy
• Security
• Aesthetics
2.2 Web Application Attributes
• 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
• Goals and objectives, scope for first increment
• What is the motivation for the Web Application?
• Why is the Web Application needed?
• Who will use the Web Application?
• Informational goals
• user's intention for using the content
• Applicative goals
• ability to perform tasks within the Web Application
3. Web Engineering Process Model:
3.2 Planning
• Estimate project cost
• Evaluate risks
• Define finely granulated schedule for first increment
• Define coarser schedule for subsequent increments
3. Web Engineering Process Model:
3.3 Analysis
• Requirements are analyzed with the help of analysis model
• Content analysis
• content (text, graphics and images, and video and audio data) provided by Web Application is
identified
• Interaction analysis
• the manner in which the user interacts with the WebApp
• Functional analysis
• the operations that will be applied to WebApp content and describes other processing functions that are independent
of content but necessary to the end user.
• Configuration analysis
• the environment and infrastructure in which the WebApp resides
3. Web Engineering Process Model:
3.4 Construction
• 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
• Deployment: Configure it to suitable for terminal client operation environment.
• Each increment of the Web Application is reviewed
• Changes required by customer are applied to next increment
4. Web Engineering Best Practices
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.)
5. Review models for consistency and quality.
6. Use tools and technology that enable you to construct the system with as many
reusable components as possible.
7. Don’t rely on users to debug the Web Application , design comprehensive tests
and execute them before releasing the system.
5. Conclusion
• Why Web Applications.
• How does a typical web application work.
• Web Engineering maps Software Engineering principles
• Web Application, Categories, Attributes
• Web Engineering Process Model
• Web Engineering Best Practices
• Questions?