Top Banner
SE-805 Web 2.0 Programming (supported by Google) http://my.ss.sysu.edu.cn/courses/web2.0/ School of Software, Sun Yat-sen University Lecture 26 Web Engineering Basics
60

Lecture 26 Web Engineering Basics - usmanlive.com · Lecture 26 Web Engineering Basics. Web 2.0 Programming – Web Engineering Basics July 1, 2010 2 / 60 ... Web Site Design Method

Aug 21, 2018

Download

Documents

phamhanh
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Lecture 26 Web Engineering Basics - usmanlive.com · Lecture 26 Web Engineering Basics. Web 2.0 Programming – Web Engineering Basics July 1, 2010 2 / 60 ... Web Site Design Method

SE-805 Web 2.0 Programming (supported by Google)http://my.ss.sysu.edu.cn/courses/web2.0/

School of Software, Sun Yat-sen University

Lecture 26 Web Engineering Basics

Page 2: Lecture 26 Web Engineering Basics - usmanlive.com · Lecture 26 Web Engineering Basics. Web 2.0 Programming – Web Engineering Basics July 1, 2010 2 / 60 ... Web Site Design Method

Web 2.0 Programming – Web Engineering Basics

2 / 60July 1, 2010

Outline

Web Engineering & Web applications Web engineering process & Management Requirements for WebApps analysis Design Modeling for WebApps

Page 3: Lecture 26 Web Engineering Basics - usmanlive.com · Lecture 26 Web Engineering Basics. Web 2.0 Programming – Web Engineering Basics July 1, 2010 2 / 60 ... Web Site Design Method

Web 2.0 Programming – Web Engineering Basics

3 / 60July 1, 2010

Web Engineering is important

The World Wide Web and the Internet that empowers it are arguably the most important developments is the history of computing.• Billions more person share information any where• Create information together and collaborate

Web Engineering (WebE) is the process that is used to create high-quality ubiquitously usable Web App. • Process• Methods• Tools

Based on your practice, what’s new you have known that contrast with definition of Software Engineering? • Techniques, method, tools, process• Requirements, design, implementing, testing,……

Page 4: Lecture 26 Web Engineering Basics - usmanlive.com · Lecture 26 Web Engineering Basics. Web 2.0 Programming – Web Engineering Basics July 1, 2010 2 / 60 ... Web Site Design Method

Web 2.0 Programming – Web Engineering Basics

4 / 60July 1, 2010

Some facts: Rate of Growth Time to reach 50 million people

75 Years

35 Years

13 Years

4 years

Telephone

Radio

Television

The Web

Page 5: Lecture 26 Web Engineering Basics - usmanlive.com · Lecture 26 Web Engineering Basics. Web 2.0 Programming – Web Engineering Basics July 1, 2010 2 / 60 ... Web Site Design Method

Web 2.0 Programming – Web Engineering Basics

5 / 60July 1, 2010

Some facts: Growth of Web ServersMarket Share for Top Servers Across All Domains August 1995 - January 2005

Posted by wss at 11:24 PM UTC on Jan 1, 2005 in Web Server Survey

Page 6: Lecture 26 Web Engineering Basics - usmanlive.com · Lecture 26 Web Engineering Basics. Web 2.0 Programming – Web Engineering Basics July 1, 2010 2 / 60 ... Web Site Design Method

Web 2.0 Programming – Web Engineering Basics

6 / 60July 1, 2010

Some facts: Complexity

Mush up Web Service with two dimension diagram(Green node is Web Service, Red node is mush up application )

Page 7: Lecture 26 Web Engineering Basics - usmanlive.com · Lecture 26 Web Engineering Basics. Web 2.0 Programming – Web Engineering Basics July 1, 2010 2 / 60 ... Web Site Design Method

Web 2.0 Programming – Web Engineering Basics

7 / 60July 1, 2010

True or False? Web Application is always βversion online. Web Application can satisfy all customs. Web Application as Service Web Engineering is now era of Software Engineering Ad-hoc is keyword in Web Application Software can not be built by users Service on demand promoted by IBM Cloud Computing is now Technique in Web Engineering

Page 8: Lecture 26 Web Engineering Basics - usmanlive.com · Lecture 26 Web Engineering Basics. Web 2.0 Programming – Web Engineering Basics July 1, 2010 2 / 60 ... Web Site Design Method

Web 2.0 Programming – Web Engineering Basics

8 / 60July 1, 2010

Software Engineering Web engineering

User range Small Large

Number of simultaneous users Small Very Large

User Requirements Specific Changes Fast

Growth and Change Slow Fast

Design and Development expertise Few Wide Range

BudgetsVaries in a wide range

according to the size ofthe company

Comparatively Smalland varies in a wide

range

Timing ConstrainsLonger time (3 months-

2 years)Comparatively less time

(1 week – 4 months)Hardware and Software Environments constrains Specific Unknown (should cater for

all possible combinations)Adherence to Standards and Protocols Not much important Very Much important

Security and Legal issues Not much important Very Much important

Look and Feel of the Final Product Not much important Varies according cultures, access devices etc.

Web VS. Software Engineering

Page 9: Lecture 26 Web Engineering Basics - usmanlive.com · Lecture 26 Web Engineering Basics. Web 2.0 Programming – Web Engineering Basics July 1, 2010 2 / 60 ... Web Site Design Method

Web 2.0 Programming – Web Engineering Basics

9 / 60July 1, 2010

We Have Done this before...

Page 10: Lecture 26 Web Engineering Basics - usmanlive.com · Lecture 26 Web Engineering Basics. Web 2.0 Programming – Web Engineering Basics July 1, 2010 2 / 60 ... Web Site Design Method

Web 2.0 Programming – Web Engineering Basics

10 / 60July 1, 2010

Evolution of Engineering Disciplines Civil Engineering

• Leads back to 3000 BC

Mechanical Engineering• Leads back to 100 BC

Electrical Engineering• Leads back to 1900

Telecommunication Engineering• Leads back to 1840

Software Engineering• Early stages - 1955, As an Engineering Practice 1970’s

Web Engineering• In the Process of Making the history

Page 11: Lecture 26 Web Engineering Basics - usmanlive.com · Lecture 26 Web Engineering Basics. Web 2.0 Programming – Web Engineering Basics July 1, 2010 2 / 60 ... Web Site Design Method

Web 2.0 Programming – Web Engineering Basics

11 / 60July 1, 2010

Outline

Web Engineering & Web applications Web engineering process & Management Requirements for WebApps analysis Design Modeling for WebApps

Page 12: Lecture 26 Web Engineering Basics - usmanlive.com · Lecture 26 Web Engineering Basics. Web 2.0 Programming – Web Engineering Basics July 1, 2010 2 / 60 ... Web Site Design Method

Web 2.0 Programming – Web Engineering Basics

12 / 60July 1, 2010

The Web Engineering ScenarioSystem Conception & Stakeholders

用户 投资人 运营商

业务专家

Page 13: Lecture 26 Web Engineering Basics - usmanlive.com · Lecture 26 Web Engineering Basics. Web 2.0 Programming – Web Engineering Basics July 1, 2010 2 / 60 ... Web Site Design Method

Web 2.0 Programming – Web Engineering Basics

13 / 60July 1, 2010

The Web Engineering ScenarioResource collection & Technique selections

HTTP

HTML

XML

JavaASP

CGI

PHP

Perl

Firefox

Internet Explorer

Applets

ColdFusion

DHTML

CSSXHTML

Flash

XFORMS

JavaScript

Dreamweaver

UTF-8GB2312

Ajax

JBDC

MySQLServlets

Embedded Multimedia Objects

SOARESTful

Struts

SOAP

Page 14: Lecture 26 Web Engineering Basics - usmanlive.com · Lecture 26 Web Engineering Basics. Web 2.0 Programming – Web Engineering Basics July 1, 2010 2 / 60 ... Web Site Design Method

Web 2.0 Programming – Web Engineering Basics

14 / 60July 1, 2010

The Web Engineering ScenarioSystem Analysis Design & Modeling

Page 15: Lecture 26 Web Engineering Basics - usmanlive.com · Lecture 26 Web Engineering Basics. Web 2.0 Programming – Web Engineering Basics July 1, 2010 2 / 60 ... Web Site Design Method

Web 2.0 Programming – Web Engineering Basics

15 / 60July 1, 2010

The Web Engineering Scenario

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

Team building

Web DevelopmentTeam

Stakeholder

End Users

Markets &Sales

ContentProviders

WebPublisher

WebEngineer

Administrator

Domainexperts

SupportSpecialist

Businessmanager

Page 16: Lecture 26 Web Engineering Basics - usmanlive.com · Lecture 26 Web Engineering Basics. Web 2.0 Programming – Web Engineering Basics July 1, 2010 2 / 60 ... Web Site Design Method

Web 2.0 Programming – Web Engineering Basics

16 / 60July 1, 2010

Web Engineering Processing

Iterations

SampleUP Disciplines

Business Modeling

Requirements

Design

Implementation

Test

Deployment

Configuration & Change Management

Project Management

Environment

Focus of this book

Note that although an iteration includes work in most disciplines, the relative effort and emphasis change over time.

This example is suggestive, not literal.

A four-week iteration (for example). A mini-project that includes work in most disciplines, ending in a stable executable.

software life cycle: Waterfall model, Spiral Model, Unified Model,which one?

The Others!

Page 17: Lecture 26 Web Engineering Basics - usmanlive.com · Lecture 26 Web Engineering Basics. Web 2.0 Programming – Web Engineering Basics July 1, 2010 2 / 60 ... Web Site Design Method

Web 2.0 Programming – Web Engineering Basics

17 / 60July 1, 2010

The WebML Model?Web Modeling Language (WebML) proposed in 2000, a visual language anddevelopment method for specifying the content structure of a Web application

Page 18: Lecture 26 Web Engineering Basics - usmanlive.com · Lecture 26 Web Engineering Basics. Web 2.0 Programming – Web Engineering Basics July 1, 2010 2 / 60 ... Web Site Design Method

Web 2.0 Programming – Web Engineering Basics

18 / 60July 1, 2010

WSDM*?Web Site Design Method was initiated in 1998, The first Web design methods

* Later re-baptized as Web Semantics Design Methods.

Page 19: Lecture 26 Web Engineering Basics - usmanlive.com · Lecture 26 Web Engineering Basics. Web 2.0 Programming – Web Engineering Basics July 1, 2010 2 / 60 ... Web Site Design Method

Web 2.0 Programming – Web Engineering Basics

19 / 60July 1, 2010

The OOHDM Model?Object-Oriented Hypermedia Design Method (OOHDM) is one of the first methods adopted for Web application development projects.(2000)

Page 20: Lecture 26 Web Engineering Basics - usmanlive.com · Lecture 26 Web Engineering Basics. Web 2.0 Programming – Web Engineering Basics July 1, 2010 2 / 60 ... Web Site Design Method

Web 2.0 Programming – Web Engineering Basics

20 / 60July 1, 2010

Metrics for Web Engineering Function Point ? Use Case Point ?

For Static Web Site• Pages• Links• Medias

For Dynamic Web Site• Client functions• Mush up services• Server actions• External Services• External Data

Page 21: Lecture 26 Web Engineering Basics - usmanlive.com · Lecture 26 Web Engineering Basics. Web 2.0 Programming – Web Engineering Basics July 1, 2010 2 / 60 ... Web Site Design Method

Web 2.0 Programming – Web Engineering Basics

21 / 60July 1, 2010

WebE Process Summary

Re-arrange your development processes following general characteristics• Continuous and fast development and release times are

paramount.• Web development processes are less documentation-based and,

rather, put high emphasis on prototypes (prototypes are much more expressive than technical documents, especially to unskilled customers).

• High user involvement and early feedback is desirable.• A new actor enters the development process: the graphic

designer.

Review “The Agile Manifesto”

Page 22: Lecture 26 Web Engineering Basics - usmanlive.com · Lecture 26 Web Engineering Basics. Web 2.0 Programming – Web Engineering Basics July 1, 2010 2 / 60 ... Web Site Design Method

Web 2.0 Programming – Web Engineering Basics

22 / 60July 1, 2010

Outline

Web Engineering & Web applications Web engineering process & Management Requirements for WebApps analysis Design Modeling for WebApps

Page 23: Lecture 26 Web Engineering Basics - usmanlive.com · Lecture 26 Web Engineering Basics. Web 2.0 Programming – Web Engineering Basics July 1, 2010 2 / 60 ... Web Site Design Method

Web 2.0 Programming – Web Engineering Basics

23 / 60July 1, 2010

Case study mini-project “Context Driven Call Center On-line System”

(CCOS) The Scenarios

• The Customer visit “taobao”[http://www.taobao.com/ ], and press tag “contact with sale” when he need help

• The Content Developer want to embed it easy.• The shop Manager want that the team will give Customers instant

services by text or voice on-line. And common Q & A will be listed before service

As a service provider, you must develop your CCOS just like Taobao• Steps and activities• Analysis and design method & documentation it• Code will not needed

Page 24: Lecture 26 Web Engineering Basics - usmanlive.com · Lecture 26 Web Engineering Basics. Web 2.0 Programming – Web Engineering Basics July 1, 2010 2 / 60 ... Web Site Design Method

Web 2.0 Programming – Web Engineering Basics

24 / 60July 1, 2010

Requirements Relevance to the Web Functional requirements

• Organization Requirements• Application Domain Requirements

• Information content, Information flow, Information structure• Navigation Requirements• Interaction Requirements

Page 25: Lecture 26 Web Engineering Basics - usmanlive.com · Lecture 26 Web Engineering Basics. Web 2.0 Programming – Web Engineering Basics July 1, 2010 2 / 60 ... Web Site Design Method

Web 2.0 Programming – Web Engineering Basics

25 / 60July 1, 2010

Requirements Relevance to the Web Nonfunctional requirements

• Product Requirements: FURPS+ except function • Project Organizational Requirements: posed by the customer's

and developer's organizations, process standards, programming language, and so on.

• External requirements: The environment and infrastructure in which the WebApp resides, such as interoperability requirements with external systems

Page 26: Lecture 26 Web Engineering Basics - usmanlive.com · Lecture 26 Web Engineering Basics. Web 2.0 Programming – Web Engineering Basics July 1, 2010 2 / 60 ... Web Site Design Method

Web 2.0 Programming – Web Engineering Basics

26 / 60July 1, 2010

Requirements elaboration and specification Organization Requirements Analysis

• Business Value Model : values will be exchanged between actors that will use the Web application.

• Business Information Flow Model: information in business. • Goals Model : goals of stakeholders in project.• Business Process Model : processes of business activities.• Task Model : the tasks a user needs to perform.• Audience Model : trace matrix of functional requirements

Application Domain Analysis Navigation and Interaction Analysis

• Navigation Relationships• High-Level Interaction and Navigation Units

Page 27: Lecture 26 Web Engineering Basics - usmanlive.com · Lecture 26 Web Engineering Basics. Web 2.0 Programming – Web Engineering Basics July 1, 2010 2 / 60 ... Web Site Design Method

Web 2.0 Programming – Web Engineering Basics

27 / 60July 1, 2010

Step1:Finding Actor in Organization Goals Model

• List more business scenarios• Find users and modeling with Class Diagram• List goals and responsibility briefly

customer

anonymous registered

VIP

manager

attendant

Page 28: Lecture 26 Web Engineering Basics - usmanlive.com · Lecture 26 Web Engineering Basics. Web 2.0 Programming – Web Engineering Basics July 1, 2010 2 / 60 ... Web Site Design Method

Web 2.0 Programming – Web Engineering Basics

28 / 60July 1, 2010

Step2:Developing Use-Case Task Model

• Imitate the user use system• Draw use-case Diagram, and then• Write use-case business valuable

Client modular

anonymous

registered

Register

Start help

Call Center Services

Chat

Evaluateattendant

Sale System

Page 29: Lecture 26 Web Engineering Basics - usmanlive.com · Lecture 26 Web Engineering Basics. Web 2.0 Programming – Web Engineering Basics July 1, 2010 2 / 60 ... Web Site Design Method

Web 2.0 Programming – Web Engineering Basics

29 / 60July 1, 2010

Step3:Bussness Modeling

Start Help

attendantService StaffClientClient Call Center

ServiceUser

Click Help Binding Context To Help

Find Teamwith Context

Find freedesktop on line

Call attendantDisplay

informationwith Context

Say HelloStart

conversation window

Make connection

Reply connection

Business Process Model• Divide System into subsystem• Describe business with subsystem or cross subsystem with

Activity Diagram or Sequence Diagram

Business Information Flow Model• Identify Data in Business• Study data in/out process with Data Flow Diagram

Page 30: Lecture 26 Web Engineering Basics - usmanlive.com · Lecture 26 Web Engineering Basics. Web 2.0 Programming – Web Engineering Basics July 1, 2010 2 / 60 ... Web Site Design Method

Web 2.0 Programming – Web Engineering Basics

30 / 60July 1, 2010

Step4:The Content Model Content objects are extracted from use-cases The relationships among content objects and/or the

hierarchy of content maintained by a WebApp• Relationships—entity-relationship diagram or UML• Hierarchy—data tree or UML

Figure 1 8 .3 Dat a t ree for a SafeHom e com ponent

component

part Number

part Name

part Type

descript ion

price

Market ingDescript ion

Phot ograph

TechDescript ion

Schemat ic

Video

WholesalePrice

Ret ailPr ice

Page 31: Lecture 26 Web Engineering Basics - usmanlive.com · Lecture 26 Web Engineering Basics. Web 2.0 Programming – Web Engineering Basics July 1, 2010 2 / 60 ... Web Site Design Method

Web 2.0 Programming – Web Engineering Basics

31 / 60July 1, 2010

Step5:The Domain Model grammatical parse is used to identify candidate classes Use Class Diagram

Figure 18.4 Analysis classes for use-case: select SafeHome components

BillOfMat erials

ident if ier priceTot al

addEnt ry( ) delet eEnt ry( ) edit Ent ry( ) name( ) save( ) comput ePrice( )

Product Component

part Number part Name part Type descript ion price

creat eNewIt em( ) get Descript ion( ) get TechSpec

BoMIt em

quant it y price

addt oList( ) delet efromList( )

Sensor Camera Cont rolPanel Soft Feat ure

1

*

1

*

Page 32: Lecture 26 Web Engineering Basics - usmanlive.com · Lecture 26 Web Engineering Basics. Web 2.0 Programming – Web Engineering Basics July 1, 2010 2 / 60 ... Web Site Design Method

Web 2.0 Programming – Web Engineering Basics

32 / 60July 1, 2010

Step6: Relationship-Navigation Analysis Relationship-navigation analysis (RNA) identifies

relationships among the elements uncovered as part of the creation of the analysis model

Steps:• Stakeholder analysis—identifies the various user categories and

establishes an appropriate stakeholder hierarchy• Element analysis—identifies the content objects and functional

elements that are of interest to end users• Relationship analysis—describes the relationships that exist

among the WebApp elements• Navigation analysis—examines how users might access

individual elements or groups of elements• Evaluation analysis—considers pragmatic issues (e.g.,

cost/benefit) associated with implementing the relationships defined earlier

Page 33: Lecture 26 Web Engineering Basics - usmanlive.com · Lecture 26 Web Engineering Basics. Web 2.0 Programming – Web Engineering Basics July 1, 2010 2 / 60 ... Web Site Design Method

Web 2.0 Programming – Web Engineering Basics

33 / 60July 1, 2010

Step7:The Configuration ModelServer-side

• Server hardware and operating system environment must be specified

• Interoperability considerations on the server-side must be considered

• Appropriate interfaces, communication protocols and related collaborative information must be specified

Client-side• Browser configuration issues must be identified• Testing requirements should be defined

Deployment Diagram

Page 34: Lecture 26 Web Engineering Basics - usmanlive.com · Lecture 26 Web Engineering Basics. Web 2.0 Programming – Web Engineering Basics July 1, 2010 2 / 60 ... Web Site Design Method

Web 2.0 Programming – Web Engineering Basics

34 / 60July 1, 2010

Tasks for CCOS System Find more than three e-commerce site that has call center

on-line Requirements elaboration and specification.

Page 35: Lecture 26 Web Engineering Basics - usmanlive.com · Lecture 26 Web Engineering Basics. Web 2.0 Programming – Web Engineering Basics July 1, 2010 2 / 60 ... Web Site Design Method

Web 2.0 Programming – Web Engineering Basics

35 / 60July 1, 2010

Outline

Web Engineering & Web applications Web engineering process & Management Requirements for WebApps analysis Design Modeling for WebApps

Page 36: Lecture 26 Web Engineering Basics - usmanlive.com · Lecture 26 Web Engineering Basics. Web 2.0 Programming – Web Engineering Basics July 1, 2010 2 / 60 ... Web Site Design Method

Web 2.0 Programming – Web Engineering Basics

36 / 60July 1, 2010

When should emphasize WebApp design

when content and function are complex when the size of the WebApp encompasses hundreds of

content objects, functions, and analysis classes when the success of the WebApp will have a direct impact

on the success of the business

Page 37: Lecture 26 Web Engineering Basics - usmanlive.com · Lecture 26 Web Engineering Basics. Web 2.0 Programming – Web Engineering Basics July 1, 2010 2 / 60 ... Web Site Design Method

Web 2.0 Programming – Web Engineering Basics

37 / 60July 1, 2010

Design & WebApp Quality Security

• Rebuff external attacks• Exclude unauthorized access• Ensure the privacy of users/customers

Availability• the measure of the percentage of time that a WebApp is available

for use

Scalability• Can the WebApp and the systems with which it is interfaced

handle significant variation in user or transaction volume

Time to Market

Page 38: Lecture 26 Web Engineering Basics - usmanlive.com · Lecture 26 Web Engineering Basics. Web 2.0 Programming – Web Engineering Basics July 1, 2010 2 / 60 ... Web Site Design Method

Web 2.0 Programming – Web Engineering Basics

38 / 60July 1, 2010

Quality Dimensions for End-Users Time

• How much has a Web site changed since the last upgrade? • How do you highlight the parts that have changed?

Structural• How well do all of the parts of the Web site hold together. • Are all links inside and outside the Web site working? • Do all of the images work? • Are there parts of the Web site that are not connected?

Content• Does the content of critical pages match what is supposed to be

there?• Do key phrases exist continually in highly-changeable pages? • Do critical pages maintain quality content from version to version? • What about dynamically generated HTML pages?

Page 39: Lecture 26 Web Engineering Basics - usmanlive.com · Lecture 26 Web Engineering Basics. Web 2.0 Programming – Web Engineering Basics July 1, 2010 2 / 60 ... Web Site Design Method

Web 2.0 Programming – Web Engineering Basics

39 / 60July 1, 2010

Quality Dimensions for End-Users Accuracy and Consistency

• Are today's copies of the pages downloaded the same as yesterday's? Close enough?

• Is the data presented accurate enough? How do you know? Response Time and Latency

• Does the Web site server respond to a browser request within certain parameters?

• In an E-commerce context, how is the end to end response time after a SUBMIT?

• Are there parts of a site that are so slow the user declines to continue working on it?

Performance• Is the Browser-Web-Web site-Web-Browser connection quick

enough? • How does the performance vary by time of day, by load and

usage? • Is performance adequate for E-commerce applications?

Page 40: Lecture 26 Web Engineering Basics - usmanlive.com · Lecture 26 Web Engineering Basics. Web 2.0 Programming – Web Engineering Basics July 1, 2010 2 / 60 ... Web Site Design Method

Web 2.0 Programming – Web Engineering Basics

40 / 60July 1, 2010

WebApp Design Goals Consistency

• Content should be constructed consistently• Graphic design (aesthetics) should present a consistent look

across all parts of the WebApp• Architectural design should establish templates that lead to a

consistent hypermedia structure• Interface design should define consistent modes of interaction,

navigation and content display• Navigation mechanisms should be used consistently across all

WebApp elements Robustness Navigability

• designed in a manner that is intuitive and predictable Visual appeal Compatibility

Page 41: Lecture 26 Web Engineering Basics - usmanlive.com · Lecture 26 Web Engineering Basics. Web 2.0 Programming – Web Engineering Basics July 1, 2010 2 / 60 ... Web Site Design Method

Web 2.0 Programming – Web Engineering Basics

41 / 60July 1, 2010

WebE Design Pyramid

Interface design

Aesthetic design

Content design

Navigation design

Architecture design

Component design

user

technology

Page 42: Lecture 26 Web Engineering Basics - usmanlive.com · Lecture 26 Web Engineering Basics. Web 2.0 Programming – Web Engineering Basics July 1, 2010 2 / 60 ... Web Site Design Method

Web 2.0 Programming – Web Engineering Basics

42 / 60July 1, 2010

WebApp Interface Design Where am I? The interface should

• provide an indication of the WebApp that has been accessed • inform the user of her location in the content hierarchy.

What can I do now? The interface should always help the user understand his current options• what functions are available?• what links are live?• what content is relevant?

Where have I been, where am I going? The interface must facilitate navigation. • Provide a “map” (implemented in a way that is easy to understand)

of where the user has been and what paths may be taken to move elsewhere within the WebApp.

Page 43: Lecture 26 Web Engineering Basics - usmanlive.com · Lecture 26 Web Engineering Basics. Web 2.0 Programming – Web Engineering Basics July 1, 2010 2 / 60 ... Web Site Design Method

Web 2.0 Programming – Web Engineering Basics

43 / 60July 1, 2010

Effective WebApp Interfaces Bruce Tognozzi [TOG01] suggests…

• Effective interfaces are visually apparent and forgiving, instilling in their users a sense of control. Users quickly see the breadth of their options, grasp how to achieve their goals, and do their work.

• Effective interfaces do not concern the user with the inner workings of the system. Work is carefully and continuously saved, with full option for the user to undo any activity at any time.

• Effective applications and services perform a maximum of work, while requiring a minimum of information from users.

Page 44: Lecture 26 Web Engineering Basics - usmanlive.com · Lecture 26 Web Engineering Basics. Web 2.0 Programming – Web Engineering Basics July 1, 2010 2 / 60 ... Web Site Design Method

Web 2.0 Programming – Web Engineering Basics

44 / 60July 1, 2010

Interface Design Workflow Review information contained in the analysis model and

refine as required. Develop a rough sketch of the WebApp interface layout. Map user objectives into specific interface actions. Define a set of user tasks that are associated with each

action. Storyboard screen images for each interface action. Refine interface layout and storyboards using input from

aesthetic design. Develop a procedural representation of the user’s

interaction with the interface. Develop a behavioral representation of the interface. Describe the interface layout for each state. Refine and review the interface design model.

Page 45: Lecture 26 Web Engineering Basics - usmanlive.com · Lecture 26 Web Engineering Basics. Web 2.0 Programming – Web Engineering Basics July 1, 2010 2 / 60 ... Web Site Design Method

Web 2.0 Programming – Web Engineering Basics

45 / 60July 1, 2010

Aesthetic Design Don’t be afraid of white space. Emphasize content. Organize layout elements from top-left to bottom right. Group navigation, content, and function geographically

within the page. Don’t extend your real estate with the scrolling bar. Consider resolution and browser window size when

designing layout.

Page 47: Lecture 26 Web Engineering Basics - usmanlive.com · Lecture 26 Web Engineering Basics. Web 2.0 Programming – Web Engineering Basics July 1, 2010 2 / 60 ... Web Site Design Method

Web 2.0 Programming – Web Engineering Basics

47 / 60July 1, 2010

Content Design Develops a design representation for content objects

• For WebApps, a content object is more closely aligned with a data object for conventional software

Represents the mechanisms required to instantiate their relationships to one another.• analogous to the relationship between analysis classes and design

components described in Chapter 11

A content object has attributes that include content-specific information and implementation-specific attributes that are specified as part of design

Page 48: Lecture 26 Web Engineering Basics - usmanlive.com · Lecture 26 Web Engineering Basics. Web 2.0 Programming – Web Engineering Basics July 1, 2010 2 / 60 ... Web Site Design Method

Web 2.0 Programming – Web Engineering Basics

48 / 60July 1, 2010

Design of Content Objects

ProductComponent

partNumber partName partType description price

createNewItem ( ) displayDescription ( ) display TechSpec

Sensor Camera ControlPanel SoftFeature

CompDescript ion

Phot ograph

horizont al dimension vert ical dimension border st yle

Schemat ic

horizont al dimension vert ical dimension border st yle

Video

horizont al dimension vert ical dimension border st yle audio volume

TechDescript ion

t ext color f ont st yle f ont size line spacing t ext image size background color

Market ingDescript ion

t ext color f ont st yle f ont size line spacing t ext image size background color

is part of

1

1

1 1..* 0..1 0..1 1

1

Page 49: Lecture 26 Web Engineering Basics - usmanlive.com · Lecture 26 Web Engineering Basics. Web 2.0 Programming – Web Engineering Basics July 1, 2010 2 / 60 ... Web Site Design Method

Web 2.0 Programming – Web Engineering Basics

49 / 60July 1, 2010

Architecture Design Content architecture focuses on the manner in which

content objects (or composite objects such as Web pages) are structured for presentation and navigation.• The term information architecture is also used to connote

structures that lead to better organization, labeling, navigation, and searching of content objects.

WebApp architecture addresses the manner in which the application is structured to manage user interaction, handle internal processing tasks, effect navigation, and present content.

Architecture design is conducted in parallel with interface design, aesthetic design and content design.

Page 50: Lecture 26 Web Engineering Basics - usmanlive.com · Lecture 26 Web Engineering Basics. Web 2.0 Programming – Web Engineering Basics July 1, 2010 2 / 60 ... Web Site Design Method

Web 2.0 Programming – Web Engineering Basics

50 / 60July 1, 2010

Content Architecture

Page 51: Lecture 26 Web Engineering Basics - usmanlive.com · Lecture 26 Web Engineering Basics. Web 2.0 Programming – Web Engineering Basics July 1, 2010 2 / 60 ... Web Site Design Method

Web 2.0 Programming – Web Engineering Basics

51 / 60July 1, 2010

MVC Architecture

browser

client

co n t ro l l ermanages user request s select s model behav ior select s v iew response

v i ewprepares dat a from model request updat es from model present s v iew select ed by cont roller

m o d elencapsulat es funct ionalit y encapsulat es cont ent object s incorporat es all webApp st at es

server

ext ernal dat a

behav ior request ( st at e change)

dat a from model

updat e request

v iew select ion

user request or dat a

HTML dat a

Page 52: Lecture 26 Web Engineering Basics - usmanlive.com · Lecture 26 Web Engineering Basics. Web 2.0 Programming – Web Engineering Basics July 1, 2010 2 / 60 ... Web Site Design Method

Web 2.0 Programming – Web Engineering Basics

52 / 60July 1, 2010

Navigation Design Begins with a consideration of the user hierarchy and

related use-cases • Each actor may use the WebApp somewhat differently and

therefore have different navigation requirements

As each user interacts with the WebApp, she encounters a series of navigation semantic units (NSUs)• NSU—“a set of information and related navigation structures that

collaborate in the fulfillment of a subset of related user requirements”

Page 53: Lecture 26 Web Engineering Basics - usmanlive.com · Lecture 26 Web Engineering Basics. Web 2.0 Programming – Web Engineering Basics July 1, 2010 2 / 60 ... Web Site Design Method

Web 2.0 Programming – Web Engineering Basics

53 / 60July 1, 2010

Navigation Semantic Units Navigation semantic unit

• Ways of navigation (WoN)—represents the best navigation way or path for users with certain profiles to achieve their desired goal or sub-goal. Composed of …• Navigation nodes (NN) connected by Navigation links

NN1

NN2

NN4

NN3link13

link12

link34

link24

NSU

Page 54: Lecture 26 Web Engineering Basics - usmanlive.com · Lecture 26 Web Engineering Basics. Web 2.0 Programming – Web Engineering Basics July 1, 2010 2 / 60 ... Web Site Design Method

Web 2.0 Programming – Web Engineering Basics

54 / 60July 1, 2010

Creating an NSU

<<navigat ion link>> select Room

Room

<<navigat ion link>> recommend component (s)

Product Component

BillOf Mat erials<<navigat ion link>> view BillOf Mat erials

<<navigat ion link>> show descript ion<<navigat ion link>>

ret urn t o Room

<<navigat ion link>> request alt ernat ive

phot ograph

schemat icvideo

Market ingDescript ion

t echDescript ion

CompDescript ion

<<navigat ion link>> purchase Product Component

<<navigat ion link>> show Product Component

<<navigat ion link>> purchase Product Component

Page 55: Lecture 26 Web Engineering Basics - usmanlive.com · Lecture 26 Web Engineering Basics. Web 2.0 Programming – Web Engineering Basics July 1, 2010 2 / 60 ... Web Site Design Method

Web 2.0 Programming – Web Engineering Basics

55 / 60July 1, 2010

Component-Level Design WebApp components implement the following functionality

• perform localized processing to generate content and navigation capability in a dynamic fashion

• provide computation or data processing capability that are appropriate for the WebApp’s business domain

• provide sophisticated database query and access• establish data interfaces with external corporate systems.

Page 56: Lecture 26 Web Engineering Basics - usmanlive.com · Lecture 26 Web Engineering Basics. Web 2.0 Programming – Web Engineering Basics July 1, 2010 2 / 60 ... Web Site Design Method

Web 2.0 Programming – Web Engineering Basics

56 / 60July 1, 2010

Patterns Repositories for web Hypermedia Design Patterns Repository

• http://www.designpattern.lu.unisi.ch/ InteractionPatterns by TomErickson

• http://www.pliant.org/personal/Tom_Erickson/InteractionPatterns.html Web Design Patterns by Martijn vanWelie

• http://www.welie.com/patterns/ Improving Web Information Systems with Navigational Patterns

• http://www8.org/w8-papers/5b-hypertext-media/improving/improving.html An HTML 2.0 Pattern Language

• http://www.anamorph.com/docs/patterns/default.html Common Ground - A Pattern Language for HCI Design

• http://www.mit.edu/~jtidwell/interaction_patterns.html Patterns for Personal Web Sites

• http://www.rdrop.com/~half/Creations/Writings/Web.patterns/index.html Indexing Pattern Language

• http://www.cs.brown.edu/~rms/InformationStructures/Indexing/Overview.html

Page 57: Lecture 26 Web Engineering Basics - usmanlive.com · Lecture 26 Web Engineering Basics. Web 2.0 Programming – Web Engineering Basics July 1, 2010 2 / 60 ... Web Site Design Method

Web 2.0 Programming – Web Engineering Basics

57 / 60July 1, 2010

Summary

Web Engineering & Web applications• growth and Complexity of Web• Evolution of Engineering Discipline

Web engineering process & Management• Scenario• Process• Modle: WSDM, OOHDM• Metrics

Page 58: Lecture 26 Web Engineering Basics - usmanlive.com · Lecture 26 Web Engineering Basics. Web 2.0 Programming – Web Engineering Basics July 1, 2010 2 / 60 ... Web Site Design Method

Web 2.0 Programming – Web Engineering Basics

58 / 60July 1, 2010

Summary

Requirements for WebApps analysis (a case study)• requirement spec, finding actors, specifying use cases,

business modeling, content model, domain model, RNA, configuration model

Design Modeling for WebApps• WebApp Quality• WebE Design Pyramid: interface, aesthetic, content,

navigation, architecture, component• Patterns Repositories

Page 59: Lecture 26 Web Engineering Basics - usmanlive.com · Lecture 26 Web Engineering Basics. Web 2.0 Programming – Web Engineering Basics July 1, 2010 2 / 60 ... Web Site Design Method

Web 2.0 Programming – Web Engineering Basics

59 / 60July 1, 2010

Further Readings

http://en.wikipedia.org/wiki/Web_engineering Pressman, R.S., 'Applying Web Engineering', Part 3,

Chapters 16-20, in Software Engineering: A Practitioner's Perspective, Sixth Edition, McGraw-Hill, New York, 2004. http://www.rspa.com/'

"Handbook of Research on Web 2.0, 3.0, and X.0: Technologies, Business, and Social Applications", San Murugesan (Editor), Information Science Research, Hershey – New York, October 2009, ISBN 978-1-60566-384-5

Page 60: Lecture 26 Web Engineering Basics - usmanlive.com · Lecture 26 Web Engineering Basics. Web 2.0 Programming – Web Engineering Basics July 1, 2010 2 / 60 ... Web Site Design Method

Web 2.0 Programming – Web Engineering Basics

60 / 60July 1, 2010

Thank you!