15
Software Engineering: A Practitioner’s Software Engineering: A Practitioner’s Approach, 6/e Approach, 6/e Chapter 17 Chapter 17 Formulation and Planning Formulation and Planning for for Web Engineering Web Engineering copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University Use Only May be reproduced ONLY for student use at the university level when used in conjunction with Software Engineering: A Practitioner's Approach. Any other reproduction or use is expressly prohibited.

Aula 2 - Planning for Web Engineering by Roger Pressman

Embed Size (px)

Citation preview

Page 1: Aula 2 -  Planning for Web Engineering by Roger Pressman

Software Engineering: A Software Engineering: A Practitioner’s Approach, 6/ePractitioner’s Approach, 6/e

Chapter 17Chapter 17Formulation and Formulation and

PlanningPlanningforfor

Web EngineeringWeb Engineering

copyright © 1996, 2001, 2005

R.S. Pressman & Associates, Inc.

For University Use OnlyMay be reproduced ONLY for student use at the university level

when used in conjunction with Software Engineering: A Practitioner's Approach.Any other reproduction or use is expressly prohibited.

Page 2: Aula 2 -  Planning for Web Engineering by Roger Pressman

FormulationFormulation begins with the begins with the identification of business needidentification of business need moves into a moves into a description of WebApp objectivesdescription of WebApp objectives defines major features and functionsdefines major features and functions establishes a requirements gathering activityestablishes a requirements gathering activity that that

will lead to the development of an analysis modelwill lead to the development of an analysis model allows stakeholders and the web engineering allows stakeholders and the web engineering

team toteam to establish a common set of goals establish a common set of goals and and objectives for the construction of the WebApp. objectives for the construction of the WebApp. identifies the scope of the development effort identifies the scope of the development effort provides a means for determining a successful, provides a means for determining a successful,

outcome..outcome..

Page 3: Aula 2 -  Planning for Web Engineering by Roger Pressman

Formulation QuestionsFormulation Questions

What is the main motivation (business need) What is the main motivation (business need) for the WebApp?for the WebApp?

What are the objectives that the WebApp must What are the objectives that the WebApp must fulfill?fulfill?

Who will use the WebApp?Who will use the WebApp?

Answers provide …Answers provide … Informational goalsInformational goals—indicate an intention to —indicate an intention to

provide specific content and/or information for provide specific content and/or information for the end-userthe end-user

Applicative goalsApplicative goals—indicate the ability to —indicate the ability to perform some task within the WebAppperform some task within the WebApp

Page 4: Aula 2 -  Planning for Web Engineering by Roger Pressman

WebE Requirements WebE Requirements GatheringGathering

Ask stakeholders to define user categories Ask stakeholders to define user categories and develop descriptions for each categoryand develop descriptions for each category

Communicate with stakeholders to define Communicate with stakeholders to define basic WebApp requirementsbasic WebApp requirements

Analyze information gathered and use Analyze information gathered and use information to follow-up with stakeholdersinformation to follow-up with stakeholders

Define use-cases (Chapter 8) that describe Define use-cases (Chapter 8) that describe interaction scenarios for each user classinteraction scenarios for each user class

Page 5: Aula 2 -  Planning for Web Engineering by Roger Pressman

Defining User CategoriesDefining User Categories

What is the user’s overall objective when using the WebApp?

What is the user’s background and sophistication relative to the content and functionality of the WebApp?

How will the use arrive at the WebApp?

What generic WebApp characteristics does the user like/dislike?

Page 6: Aula 2 -  Planning for Web Engineering by Roger Pressman

Communicating with Communicating with StakeholdersStakeholders

Traditional focus groupsTraditional focus groups—a trained moderator meets with —a trained moderator meets with a small group of representative end-users (or internal a small group of representative end-users (or internal stakeholders playing the role of end-users). stakeholders playing the role of end-users).

Electronic focus groupsElectronic focus groups—a moderated electronic —a moderated electronic discussion conducted with a group of representative end-discussion conducted with a group of representative end-users and stakeholders. users and stakeholders.

Iterative surveysIterative surveys—a series of brief surveys, addressed to —a series of brief surveys, addressed to representative users and requesting answers to specific representative users and requesting answers to specific questions about the WebApp questions about the WebApp

Exploratory surveysExploratory surveys—a Web-based survey that is tied to —a Web-based survey that is tied to one or more WebApps that have users who are similar to one or more WebApps that have users who are similar to the ones that will use the WebApp to be developed. the ones that will use the WebApp to be developed.

Scenario-buildingScenario-building—selected user are asked to create —selected user are asked to create informal use-cases that describe specific interactions with informal use-cases that describe specific interactions with the WebApp.the WebApp.

Page 7: Aula 2 -  Planning for Web Engineering by Roger Pressman

Preliminary AnalysisPreliminary Analysis

Categorize information gathered by Categorize information gathered by user class and transaction typeuser class and transaction type

Develop lists of … Develop lists of … content objectscontent objects operationsoperations that are applied to content that are applied to content

objects within a specific user transactionobjects within a specific user transaction functionsfunctions (e.g., informational, (e.g., informational,

computational, logical, and help-oriented) computational, logical, and help-oriented) that the WebApp provides for end-usersthat the WebApp provides for end-users

other non-functional requirementsother non-functional requirements that are that are noted during the communication activities.noted during the communication activities.

Page 8: Aula 2 -  Planning for Web Engineering by Roger Pressman

Use-CasesUse-Cases

Provide the detail necessary to create an effective analysis model

Help the developer to understand how users perceive their interaction with the WebApp

Use-cases help to compartmentalize Web engineering work

Use-cases provide important guidance for those who must test the WebApp

Page 9: Aula 2 -  Planning for Web Engineering by Roger Pressman

The WebE TeamThe WebE Team

WebE team rolesWebE team roles Content Developer/Providers Web Publisher Web Engineer. Business domain experts Support Specialist Administrator (a.k.a. “Web Master”)

Page 10: Aula 2 -  Planning for Web Engineering by Roger Pressman

Project DifferencesProject DifferencesTraditional Projects small e-Projects

RequirementsGathering

Rigorous Limited

TechnicalSpecifications

Robust: models, spec Descriptive overview

Project Duration Measured in months oryears

Measured in days,weeks or months

Testing and QA Focused on achievingquality tar-gets

Focused on risk control

Risk Management Explicit Inherent

Half-life ofdeliverables

18 months or longer 3 to 6 months orshorter

Release Process Rigorous Expedited

Post-release customerfeedback

Requires proactiveeffort

Automaticallyobtained from userinteraction

major e-Projects

robust: UML models,spec

Measured inmonths or years

SQA as describedin Chapter 26

Explicit

Rigorous

6 to 12 monthsor shorter

Rigorous

Obtained both auto-matically and viasolicited feedback

Page 11: Aula 2 -  Planning for Web Engineering by Roger Pressman

Outsourcing vs. In-houseOutsourcing vs. In-house

Web engineers

Content developers

Web publisher

stakeholders

end-users marketing

&sales

support specialists

administrator

business managers

(a) in-house development

stakeholders

end-users marketing

&sales

business managers

outsourcing vendor

vendor liaison

Web engineers

Content developers

Web publisher

support specialists

administrator

(a) outsourced development

Page 12: Aula 2 -  Planning for Web Engineering by Roger Pressman

WebApp Outsourcing - IWebApp Outsourcing - I

Initiate the project by performing the following tasks internally Gather requirements Develop a “rough design” Develop a rough schedule with delivery dates

Consider increments Make a list of responsibilities

For in-house staff For outsourcing vendor

Define liaison mechanisms

Page 13: Aula 2 -  Planning for Web Engineering by Roger Pressman

WebApp Outsourcing - IIWebApp Outsourcing - II Select Candidate Outsourcing Vendors Assess the Validity of Price Quotes and the

Reliability of Estimates Does the quoted cost of the WebApp provide a direct Does the quoted cost of the WebApp provide a direct

or indirect return-on-investment that justifies the or indirect return-on-investment that justifies the project?project?

Does the vendor that has provided the quote exhibit Does the vendor that has provided the quote exhibit the professionalism and experience we require?the professionalism and experience we require?

Understand the Degree of Project Management You Can Expect/Perform

Assess the Development Schedule Manage Scope

Page 14: Aula 2 -  Planning for Web Engineering by Roger Pressman

WebApp Planning - In-WebApp Planning - In-HouseHouse

Understand scope, the dimensions of change, and project constraints

Define an incremental project strategy Perform risk analysis Develop a quick estimate Select a task set (process description) Establish a schedule Define project tracking mechanisms Establish a change management approach

Page 15: Aula 2 -  Planning for Web Engineering by Roger Pressman

WebE “Worst Practices”WebE “Worst Practices”

We have a great idea, so lets begin building the WebApp—now.

Stuff will change constantly, so there’s no point in trying to understand WebApp requirements.

Developers whose dominant experience has been in traditional software development can develop WebApps immediately. No new training is required.

Be bureaucratic. Testing? Why bother?