WebApp Attributes

 —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  — —
Sup­port this Page: http://amzn.to/2kgnzrf
 — —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  —  — —
WebApp Attrib­utes

1 Net­work intens­ive 2 High con­cur­rency 3 Unpre­dict­able user loads 4 Per­form­ance (fast deliv­ery) 5 High avail­ab­il­ity 6 Data driv­en 7 Con­tent sens­it­ive 8 Con­tinu­ous evol­u­tion 9 Imme­di­acy 10 Secur­ity 11 Aes­thet­ics

WebE Applic­a­tion
1 Inform­a­tion­al (read only con­tent provided with sim­ple nav­ig­a­tion)

2 Down­loads (user down­loads inform­a­tion from server)

3 Cus­tom­iz­able (user cus­tom­izes con­tent to spe­cific needs)

4 Inter­ac­tion (com­munity of users com­mu­nic­ate using chat rooms, bul­let­in boards, or instant mes­saging)

5 User input (users com­plete on-line forms to com­mu­nic­ate need)

6 Trans­ac­tion-ori­ented (user
makes request ful­filled by
WebApp — places an order)
7 Ser­vice-ori­ented (applic­a­tion provides ser­vice to user, e.g., helps user determ­ine mort­gage pay­ment)

8 Portal (applic­a­tion dir­ects users to oth­er web con­tent or ser­vices)

9 Data­base access (user quer­ies a large data­base and extracts inform­a­tion)

10 Data ware­hous­ing (user quer­ies large col­lec­tion of data­bases and extracts inform­a­tion)

WebApp Enabling Tech­no­lo­gies

1 Com­pon­ent-based devel­op­ment (CORBA, COM/DCOM, Java­Beans)

2 Secur­ity (encryp­tion,
fire­walls, etc.)
3 Inter­net stand­ards (HTML, XMLSGML)

WebApp Devel­op­ment Pro­cess Char­ac­ter­ist­ics

1 WebApps are often delivered incre­ment­ally 2 Changes occur fre­quently 3 Timelines are short

WebApp Pro­cess
1 Cus­tom­er com­mu­nic­a­tion

. Busi­ness ana­lys­is — defines busi­ness and organ­iz­a­tion­al con­text for WebApp

. For­mu­la­tion — involves stake­hold­ers in gath­er­ing inform­a­tion needed to describe WebApp require­ments

2 Plan­ning

. Plan con­sist­ing of task defin­i­tion and timeline for the WebApp incre­ment being developed

3 Mod­el­ing

. Rap­id ana­lys­is and design mod­el­ing tasks are adap­ted to WebApp

. Mod­els define the require­ments and define the WebApp needed to sat­is­fy them

4 Con­struc­tion

. WebE tools used to con­struct WebApp from mod­el

. Con­struc­ted incre­ment is sub­jec­ted to rap­id tests to ensure errors (i.e., con­tent, archi­tec­ture, inter­face, nav­ig­a­tion)

5 Deliv­ery and eval­u­ation

. WebApp con­figured for its oper­a­tion­al envir­on­ment and delivered to end-users

. Users eval­u­ate WebApp in their envir­on­ment and provide feed­back to the devel­op­ment team

. Incre­ment is mod­i­fied as required

WebE Ana­lys­is and Design Ques­tions 1 How import­ant is a Web site homepage? 2 What is the most effect­ive page lay­out? 3 What media applic­a­tions have the most impact?
4 How much work can we expect the user to do when search­ing for inform­a­tion?

5 How import­ant are nav­ig­a­tion­al aids in a com­plex WebApp?

6 How com­plex can input forms
be without irrit­at­ing the user?
7 How import­ant are search cap­ab­il­it­ies to users?

8 Will the WebApp be designed to be access­ible to users with dis­ab­il­it­ies?

WebE Task Set
1 Cus­tom­er Com­mu­nic­a­tion (Analysis/Formulation)

. Identi­fy busi­ness stake­hold­ers

. For­mu­late busi­ness con­text

. Define key busi­ness goals and object­ives

. Define inform­a­tion and
applic­at­ive goals

. Identi­fy the prob­lem

. Gather require­ments 2 WebE Plan­ning

. Define devel­op­ment strategy

. Assess risks

. Define devel­op­ment sched­ule

. Estab­lish met­rics for con­tent man­age­ment and change con­trol

3 WebE Mod­el­ing

. Refine con­tent classes

. Identi­fy con­tent rela­tion­ships

. Refine user tasks

. Identi­fy com­pu­ta­tion­al

. Identi­fy data­base

. Refine inter­face require­ments

. Design the WebApp

. Design the inter­face

. Design the nav­ig­a­tion­al scheme

. Design appro­pri­ate secur­ity and pri­vacy mech­an­isms

. Review the design

4 WebE Con­struc­tion

. Build or acquire the con­tent and integ­rate it into WebAPP archi­tec­ture

. Estab­lish nav­ig­a­tion­al

. Imple­ment com­pu­ta­tion­al func­tions

. Address con­fig­ur­a­tion issues

. Test all WebApp com­pon­ents

. Address con­fig­ur­a­tion issues

. Test all WebApp com­pon­ents (con­tent and func­tion)

. Test nav­ig­a­tion

. Test usab­il­ity

. Test secur­ity and per­form­ance

. Test incre­ment for dif­fer­ent con­fig­ur­a­tions

5 WebE Deliv­ery and eval­u­ation

. Deliv­er WebApp incre­ment to rep­res­ent­at­ive end-users

. Eval­u­ate end-user inter­ac­tion

. Assess les­sons-learned and con­sider all end-user feed­back

. Make modi­fic­a­tions to WebApp incre­ment as required

Web Engin­eer­ing Best Prac­tices

. Take time to under­stand the busi­ness needs and pro­duct object­ives, even if WebApp details are vague.

. Describe how users will inter­act with the WebApp using a scen­ario-based approach.

. Develop a brief pro­ject plan.

. Spend time mod­el­ing what you are going to build.

. Review mod­els for con­sist­ency and qual­ity.

. Use tools and tech­no­logy that enable you to con­struct the sys­tem with as many reusable com­pon­ents as pos­sible.

. Don’t rely on users to debug the WebApp, design com­pre­hens­ive tests and execute them before releas­ing the sys­tem.

WebE For­mu­la­tion Activ­it­ies

1 Identi­fy busi­ness need for WebApp
2 Work with stake­hold­ers to describe WebApp object­ives

3 Develop user profile(s)

4 Define major fea­tures and func­tions
5 Develop an integ­rated
state­ment of scope
6 Estab­lish require­ments gath­er­ing activ­ity that leads to devel­op­ment of ana­lys­is mod­el

For­mu­la­tion Ques­tions
1 What is the main motiv­a­tion (busi­ness Need) for the WebApp?

2 What are the object­ives
that the WebApp must
3 Who will use the WebApp?
4 What are the WebApp’s inform­a­tion­al goals (user’s inten­tion for using the con­tent)?
5 What are the applic­at­ive
goals (abil­ity to per­form
tasks with­in the WebApp)
for the WebApp?
Require­ments Gath­er­ing Goals

1 Identi­fy con­tent require­ments
2 Identi­fy func­tion­al require­ments
3 Define inter­ac­tion scen­ari­os for each user class

Gath­er­ing Steps
1 Ask stake­hold­ers to define user cat­egor­ies and develop descrip­tions for each

2 Com­mu­nic­ate with stake­hold­ers to define basic

WebApp require­ments

3 Ana­lyaze inform­a­tion gathered and use inform­a­tion to fol­low-up with stake­hold­ers

4 Define use-cases that describe inter­ac­tion scen­ari­os for each user class

Defin­ing User
1 What is the user’s over­all object­ive when using the WebApp?

2 What is the user’s back­ground and soph­ist­ic­a­tion rel­at­ive to the con­tent and func­tion­al­ity of the WebApp?

3 What gen­er­ic WebApp char­ac­ter­ist­ics does the user like or dis­like?

Stake­hold­er Com­mu­nic­a­tion Options

1 Tra­di­tion­al focus groups -trained mod­er­at­or meets with group of rep­res­ent­at­ive end-users

2 Elec­tron­ic focus groups — on-line ver­sion of tra­di­tion­al focus group

3 Iter­at­ive sur­veys — series of focused sur­veys sent to rep­res­ent­at­ive end-users (often web-based or e-mail)
4 Explor­at­ory sur­veys — web-based sur­vey tied to WebApps hav­ing user sim­il­ar to the expec­ted users of the pro­posed WebApp

5 Scen­ario-build­ing — selec­ted end-users asked to cre­ate inform­al use-cases that describe spe­cific WebApp inter­ac­tions

Ana­lyz­ing Inform­a­tion Gathered

1 Cre­ate a stack of cards for the iden­ti­fied con­tent objects, oper­a­tions applied to objects, WebApp func­tions, and non­func­tion­al require­ments
2 Shuffle the cards to
ran­dom­ize their order
3 Give the shuffled cards to
rep­res­ent­at­ive users and ask them to arrange cards into group­ings that rep­res­ent how they would like con­tent and func­tion­al­ity organ­ized in the WebApp

4 WebE team exam­ines the arrange­ments from sev­er­al users and seeks to identi­fy com­mon group­ings from the vari­ous arrange­ments

5 Labels are assigned to these group­ings by the WebE team

6 Users are asked to sort cards again using these labels (the intent is to see the labels are com­mu­nic­at­ing the loc­a­tion of inform­a­tion and func­tion­al­ity)
7 Pro­cess of labeling and
sort­ing con­tin­ues until
con­sensus is obtained

Devel­op­ing Use-Cases
1 Use-cases provide detail
neces­sary to cre­ate an
effect­ive ana­lys­is mod­el
2 Use-cases help the developer under­stand how users per­ceive their inter­ac­tion with the WebApp

3 Use-cases help to
com­part­ment­al­ize WebE
4 Use-cases provide import­ant guid­ance to those test­ing the WebApp

WebE Ana­lys­is Types
1 Con­tent ana­lys­is — con­tent
provided by WebApp is
iden­ti­fied (data mod­el­ing
tech­niques may be help­ful)
2 Inter­ac­tion ana­lys­is — use-cases can be developed to describe user inter­ac­tion with WebApp