web engineering cse ru

19
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

Upload: shimul-shakhawat

Post on 03-Nov-2014

688 views

Category:

Education


2 download

DESCRIPTION

Course material regarding to the course Web Engineering. This presentation have been developed based on the Web Engineering book by Pressman

TRANSCRIPT

Page 1: Web engineering cse ru

Introduction to Web Engineering

1

According to the book of Web Engineering by Roger S. PressmanShimul Shakhawat Computer Science & Engineering Dept.University of Rajshahi

Page 2: Web engineering cse ru

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

Page 3: Web engineering cse ru

Attributes of web appThe major attributes of webapp which made it different from the conventional software:1.Network intensiveness2.Concurrency3.Content sensitive4.Continuous evaluation5.Unpredictable load6.Performance7.Data driven8.Availability9.Aesthetic10.Immediacy11.Security

3

Page 4: Web engineering cse ru

• 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

Page 5: Web engineering cse ru

• 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

Page 6: Web engineering cse ru

• 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

Page 7: Web engineering cse ru

• Data driven: The following features define a data-driven web application1. Ability to create "entities" and relate them to each other2. Data input validation with potentially complex rules3. Emphasis on easy browsing of large sets of data and finding

records4. Reports in a variety of formats5. Export / import6. Interactions with other systems7. Potentially complex actions performed as data is entered

into system 8. Notifications about important events via email, screen

alerts, SMS, etc.

7

Page 8: Web engineering cse ru

WebApp Categories1. Informational: one that contains read-only contents

with simple navigation and links. Wikipedia2. Download: a user downloads information from the

appropriate server3. Customizable: the user customizes content to specific

needs. Example Online shopping site4. 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

Page 9: Web engineering cse ru

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

Page 10: Web engineering cse ru

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

Page 11: Web engineering cse ru

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

Page 12: Web engineering cse ru

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

Page 13: Web engineering cse ru

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 applications

13

Page 14: Web engineering cse ru

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

Page 15: Web engineering cse ru

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

Page 16: Web engineering cse ru

16

Page 17: Web engineering cse ru

• 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

Page 18: Web engineering cse ru

WebE Best Practices1. 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

Page 19: Web engineering cse ru

Why Web Projects Fail?1. Lack of vision2. Shortsighted goals3. Flawed design4. Wrong team members5. Technical experience and expertise6. Too grand of a vision7. Limits of technology8. Underestimate time

19