Unit-IV; Professional Sales Representative (PSR).pptx
Web engineering cse ru
1. Introduction to Web Engineering
1
According to the book of
Web Engineering by Roger S. Pressman
Shimul Shakhawat
Computer Science & Engineering Dept.
University of Rajshahi
2. Are web apps software?
A web application is an application that is accessed by
users over a network such as the Internet or an intranet.
Webapp is computer software in the sense that it is a
collection of executable instructions and that manipulate
data to provide information and functionality for the end
users.
One major difference is that a web application is usually
accessed via the HTTP protocol
Common web applications include webmail, online retail
sales, online auctions, wikis and many other
2
3. Attributes of web app
The major attributes of webapp which made it
different from the conventional software:
1.Network intensiveness
2.Concurrency
3.Content sensitive
4.Continuous evaluation
5.Unpredictable load
6.Performance
7.Data driven
8.Availability
9.Aesthetic
10.Immediacy
11.Security
3
4. • Network intensiveness: A Webapp resides on a network
and must serve the needs of a diverse community of
clients. It is accessed via the HTTP protocol
• Concurrency: A large number of users may access the
WebApp at one time. The patterns of usage among end-
users will vary greatly. In some cases the actions of one
user may have an impact on the actions of other users or
the information presented to the other users.
• Content sensitive: The quality and aesthetic nature of
content remains an important determinant of the quality
of a WebApp. When a pdf is clicked it is opened with a
pdf reader.
4
5. • Continuous evolution: Unlike conventional application
software that evolves over a series of planned,
chronologically-spaced releases, Web applications evolve
continuously. Some WebApps are updated on a minute
by minute schedule
• Unpredictable load: The number of users of the WebApp
may vary by orders of magnitude from day to day. On
Monday 10 events might be reported per hour while on
Wednesday thousands of events may be reported per
minutes
• Performance: If a WebApp user must wait too long (for
accessing, for server-side processing, for client-side
formatting and display), he or she may decide to go
elsewhere. Performance is critical since the human life
may be at stake.
5
6. • Availability: Although expectation of 100 percent
availability is unreasonable, users of popular WebApps
often demand access on a “24/7/365” basis.
• Aesthetics: An undeniable part of the appeal of a webapp
is its look and feel. When an application is designed to
market or sell products or ideas, aesthetics may have as
much to do with success as technical design.
• Immediacy: the compelling need to get software to
market quality.
• Security: In order to protect sensitive content and
provide secure modes of data transmission, strong
security measures must be implemented throughout the
infrastructure
6
7. • Data driven: The following features define a data-driven
web application
1. Ability to create "entities" and relate them to each other
2. Data input validation with potentially complex rules
3. Emphasis on easy browsing of large sets of data and finding
records
4. Reports in a variety of formats
5. Export / import
6. Interactions with other systems
7. Potentially complex actions performed as data is entered
into system
8. Notifications about important events via email, screen
alerts, SMS, etc.
7
8. WebApp Categories
1. Informational: one that contains read-only contents
with simple navigation and links. Wikipedia
2. Download: a user downloads information from the
appropriate server
3. Customizable: the user customizes content to specific
needs. Example Online shopping site
4. Interaction: communication among a community of
users occurs via chat room, bulletin boards, or instant
messaging
5. user input: forms-based input is the primary
mechanism for communicating need
8
9. 6. transaction-oriented: the user makes a request (e.g.,
places an order) that is fulfilled by the WebApp
7. service-oriented: the application provides a service to
the user, e.g., assists the user in determining a
mortgage payment. Example moneybooker
8. Portal: the application channels the user to other Web
content or services outside the domain of the portal
application
9. database access: the user queries a large database and
extracts information
10. data warehousing: the user queries a collection of
large databases and extracts information
9
10. Web engineering VS software engineering
Web engineering is multidisciplinary and encompasses
contributions from diverse areas including systems analysis and
design, software engineering, human-computer interaction,
user interface, information engineering, testing, modeling and
simulation, project management, and graphic design and
presentation.
Web engineering is neither a clone, nor a subset of software
engineering, although both involve programming and software
development.
Web Engineering borrows many of the software engineering
fundamental concepts and principals.
It encompasses new approaches, methodologies, tools,
techniques, and guidelines to meet the unique requirements of
web-based applications 10
11. Although both of them follows the disciplined approach to
develop, deploy and maintained the applications, the basic
difference is that the requirements (Scope) of web projects is
different from the software projects.
Software projects have the various models like Waterfall, Spiral,
Incremental, etc but there is no defined models for Web
Applications project, as the requirements are dynamic (not
fixed).
For simplicity we can define model for web projects as PDCA
model. (P)lan, (D)o, (C)heck and (A)ct.
In the planning stage, you ‘Plan’ as what are the requirements,
concept, planning, costing, timeline and get the approval from
the customer before starting the project.
11
12. Next comes the ‘Do’ – which is defined as “How the concept
has to be designed and developed”. Here the prototype
(models base on blueprint) has to be build and then get it
reviewed from the customer. Based on his feedbacks, action
has to be taken. PDCA cycle is the base of all the models.
Secondly, WEBE is more complex then SWE, as former is
dependent on the various types of browsers, OS, and servers
like Web server, application servers.
12
13. Web engineering
• Web engineering is multidisciplinary and encompasses
contributions from diverse areas including systems analysis
and design, software engineering, human-computer
interaction, user interface, information engineering, testing,
modeling and simulation, project management, and graphic
design and presentation.
• Web engineering is neither a clone, nor a subset of software
engineering, although both involve programming and
software development.
• Web Engineering borrows many of the software engineering
fundamental concepts and principals, it encompasses new
approaches, methodologies, tools, techniques, and guidelines
to meet the unique requirements of web-based applications13
14. WebE Framework
A framework is a set of activities that are applicable to
every Web engineering project regardless their size and
complexity – though the nature of the activities might vary
from project to project.
Each framework activity is populated by a set of Web
engineering actions
work tasks
work products
quality assurance points, and
project milestones
In addition, the framework encompasses a set of umbrella
activities that are applicable across the entire WebE
process. 14
15. The WebE Framework: Activities
• The following five WebE activities are part of a generic
framework
• Communication. Involves heavy interaction and collaboration
with the customer and other stakeholders and encompasses
requirements gathering and other related activities. It includes
formulation, elicitation, negotiation
• Planning. Establishes an incremental plan for the WebE work. It
describes the WebE actions that will occur, the technical tasks
to be conducted, the risks that are likely, the resources that will
be required, the work products to be produced and a work
schedule. Basically the plan consists of a task definition and a
time schedule (usually measured in weeks) for the development
of the WebApp increment. It includes estimation, risk analysis,
scheduling, monitoring
• 15
17. • Modeling. Encompasses the creation of models that assist the
developer and the customer to better understand WebApp
requirements and the design that will achieve those
requirements. It includes analysis and design.
– Analysis that establishes a basis for design includes content
analysis, interaction analysis, functional analysis,
configuration Analysis.
– Design includes content design, aesthetic design,
architectural design, interface design, navigation design
• Construction. Combines the code generation (e.g., HTML,
XML, Java) with testing that is required to uncover errors in the
code. It includes coding and testing
• Deployment. Delivers a WebApp increment to the customer
who evaluates it and provides feedback based on the
evaluation. It includes delivery and evaluation 17
18. WebE Best Practices
1. Take the time to understand business needs and product
objectives, even if the details of the WebApp are vague.
2. Describe how users will interact with the WebApp using a
scenario-based approach.
3. Always develop a project plan, even if it’s very brief.
4. Spend some time modeling what it is that you’re going to
build.
5. Review the 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 reinvent when you can reuse.
8. Don’t rely on early users to debug the WebApp—design and
use comprehensive tests before releasing the system.
18
19. Why Web Projects Fail?
1. Lack of vision
2. Shortsighted goals
3. Flawed design
4. Wrong team members
5. Technical experience and expertise
6. Too grand of a vision
7. Limits of technology
8. Underestimate time
19