KEMBAR78
Introduction To Web Engineering - 2 | PDF | Use Case | Usability
0% found this document useful (0 votes)
11 views86 pages

Introduction To Web Engineering - 2

Uploaded by

josephmacoy52
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views86 pages

Introduction To Web Engineering - 2

Uploaded by

josephmacoy52
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 86

2.

Web Engineering
Fundamentals

1. Introduction
2. Requirements Analysis
3. Web Modeling
4. Web Architectures
5. Web Accessibility

2.1
2.3 Modeling
Web
Application

2
Summary – Web
Engineering
Requirements
Analysis

Maintenance Design

Testing Implementation

2.3
Why Create Models?
Define an abstract view of a real-world entity
◦ Finding & discovering objects/concepts in a domain
◦ Assigning responsibilities to objects

Tool of thought
◦ Reduce complexity
◦ Document design decisions

Means of communication

2.4
Web Modeling
Modeling static & dynamic aspects of content,
hypertext, and presentation.
We focus on object-oriented analysis & design
◦ Analysis: Finding & discovering objects/ concepts in a domain
◦ Design: Defining software objects & how they interact to
fulfill requirements.
Key skill: Assigning responsibilities to objects

2.5
Assigning Responsibilities
Responsibilities are obligations or specific behaviors
related to its role.
What does an object do?
 Doing something itself
 Pass actions (messages) to other objects
 Controlling & coordinating the activities in other objects
What does an object know?
 Private, encapsulated data
 Its related objects
 Items it can derive or calculate

2.6
Software Application
Modeling
Levels

User interface

Application Logic

Phases
Structure Analysis Design Implementation

Behavior

Aspects

Levels – the “how” & “what” of an application


Aspects – objects, attributes, and relationships; function & processes
Phases – Development cycle

2.7
Unified Modeling
Language (UML)
“The Unified Modeling Language is a visual
language for specifying and documenting the
artifacts of systems.” [OMG03a]
Language of choice (and ISO standard) for
diagramming notation in OO development.
◦ Structural – Class diagrams
◦ Behavioral – Use Case diagrams, State machine diagrams

2.8
Web Application
Modeling
Levels
Presentation
Hypertext
Customization
Content

Phases
Structure Analysis Design Implementation

Behavior

Aspects

Levels – Information, node/link structure, UI & page layout separate.


Aspects – Same as Software Applications
Phases – Approach depends upon type of application
Customization – Context information

2.9
Web Application
Modeling
For Web-centric modeling, we will employ the
UML Web Engineering (UWE) notation.
◦ Relies on Object Management Group (OMG)
standards – (i.e., UML-compliant)
◦ Comprehensive modeling tool
◦ Supports semi-automatic generation of code

2.10
Requirements Modeling
Serves as a bridge between Requirements & Design
phases
Uses cases – functional requirements written as a
collection of related success & failure scenarios.
◦ Scenario – a sequence of actions & interactions between
actors and a system.
Preferred means of modeling requirements
◦ Written descriptions are easy to understand
◦ Emphasize the users goals and perspective

2.11
Use Case Diagrams
Provide a graphical overview of a system’s use
cases, its external actors, and their relationships
Use case diagrams are NOT requirements!
Can be used for functional & hypertext
requirements
◦ Use “<<navigation>>” annotation to distinguish hypertext
from functional

2.12
Use Cases
Critical components
◦ Use Case Name – starts with a verb
◦ Level – “user-goal” or “subfunction”
◦ Primary Actor – the user whose goal is fulfilled
◦ Stakeholders & Interests – Who cares, and what do they
want?
◦ Preconditions – What must be true at the start
◦ Success Guarantee – defines the successful completion of
the use case for all stakeholders

2.13
2.14
2.15
2.16
Use Case Guidelines
Use shorts sentences
Delete “noise” words
◦ NO : “The System authenticates…”
◦ YES: “System authenticates…”
Avoid technology-specific terms (initially, at
least)
◦ NO : “Cashier swipes Product ID across scanner.”
◦ YES: “Cashier enters Product ID.”

2.17
Use Case – Example 1
Use Case 1: Create User
Scope: University or business network
Level: user goal
Primary Actor: user (system administrator)
Stakeholders and Interests:
 System Administrator: Wants control over users’ access to system resources.
 New User: Wants access to system resources for communication, business, and
research.
 Organization: Wants security and controlled access of organization resources,
data, intellectual property; wants employees/students to have appropriate
system access to fulfill the goals of the organization.
Preconditions: User is identified, authenticated, and has opened
administration tool
Success Guarantee: New user account is created and saved. Username
and password grant the new user access to network.

2.18
Use Case – Example 1
[cont.]
Main Success Scenario:
1. System requests input for username & password
2. User enters username & password
3. System requests other identifiable user information (ex. real
name, SSN#, address)
4. User enters other identifiable user information
5. System verifies username & password
6. System stores new user information
7. System displays success message
8. System presents user options

2.19
Use Case Diagram -
Example
Conference Paper Submission System

Source: Web
Engineering –
Kappel et al.

2.20
Content Modeling
Purpose: To model the information requirements of a Web application
◦ Diagramming the structural (i.e., information objects) & behavioral aspects
of the information.
◦ NOT concerned with navigation.

Primary Models
◦ Class diagrams – enough for static applications.
◦ State machine diagrams – captures dynamic aspects

2.21
Conference Paper Submission System
Class Diagram –
Example 1

Source: Web
Engineering –
Kappel et al.

2.22
Class Diagrams
Notations

Class Name

Multiplicity
Attributes

Operations

Source: Web Engineering – Kappel et al.


2.23
Class Diagrams
Notations (continued)

Composition Derived Attribute Value

Invariant

Source: Web Engineering – Kappel et al.


2.24
Class Diagram –
Example 2
Online Library Application

Source: Web Engineering – Kappel et al.


2.25
State Machine
Diagrams
For dynamic Web applications, they depict important
states and events of objects, and how objects behave
in response to an event (transitions)
Show the life-cycle of an object.
Used only for state-dependent objects
For pure UML modeling, can be very useful for
hypertext models (next section).

2.26
State Machine Diagram
- Example

Source: Web Engineering – Kappel et al.

2.27
Hypertext Modeling
Purpose: To model the navigation paths available to
users.
Artifacts
 Hypertext Structure Model – navigating among classes
 Access Model – UML-compliant site map
Focuses on the structure of the hypertext & access
elements.
Use “<<navigation class>>” annotation to distinguish
from content classes.

2.28
Hypertext Structure
Model
Conference Paper Submission System

Source: Web Engineering – Kappel et al.

2.29
Link Classification
Types
UWE
Navigation vs. Process vs. External
HDM
Structural vs. Perspective vs. Application
WebML
Contextual vs. Non-contextual
Intra-page vs. Inter-page
OO-H
I, T, R, X, S-links

2.30
Access Model
Hypertext structure models describe
navigation, but not orientation.
Access models describe both through
Navigation patterns, used to consistently
describe conventional elements.
<<index>> (list)
<<guided-tour>> (sequential links)
<<menu>>, <<query>>

2.31
Access Model -
Example

Source: Web
Engineering –
Kappel et al.

2.32
Presentation Modeling
Purpose: To model the look & feel of the Web application at
the page level.
The design should aim for simplicity and self-explanation.
Describes presentation structure:
◦ Composition & design of each page
◦ Identify recurring elements (headers/footers)

Describes presentation behavior:


◦ Elements => Events

2.33
Levels of Presentation
Models
Presentation Page – “root” element; equivalent to a
page container.
Presentation Unit
◦ A fragment of the page logically defined by grouping
related elements.
◦ Represents a hypertext model node
Presentation Element
◦ A unit’s (node’s) informational components
◦ Text, images, buttons, fields

2.34
Composition Model -
Example
Paper and Author Page Templates

Source: Web Engineering – Kappel et al.

2.35
Sequence Diagrams
Purpose: Depicts sequential interactions (i.e., the
flow of logic) between objects in an application over
time.
◦ What messages, what order, & to whom.
◦ Ex.: Object A calls method of Object B
◦ Ex.: Object B passes method call from Object A to Object
C.
Result: Dynamic system interactions diagrammed in
a “fence” format.

2.36
Sequence Diagram -
Notation
Object Instance

Lifeline

Focus of Control

Synchronous
Message

Destroy Object

Source: Wikipedia – Sequence Diagram


2.37
Sequence Diagram –
Example 1

Source: Web Engineering – Kappel et al.

2.38
Sequence Diagram –
Example 2

Source: Web Engineering – Kappel et al.

2.39
Modeling Methods
We’ve primarily discussed Object-Oriented
Modeling (e.g., UML), but there are other
methodologies:
◦ Data-Oriented (Hera, WebML)
◦ Hypertext-Oriented (HDM)
◦ Software-Oriented (WAE)
Choosing a method depends on system purpose,
focus, and requirements

2.40
2.4 Web
Architectures

41
Overview
Architecture defined
Developing architectures
Types of architectures
Generic Web Architecture
Layered-aspect architectures
Data-aspect architectures

2.42
Architecture
Define “software architecture” Defined
 http://www.sei.cmu.edu/architecture/definitions.html
 “Software architecture is the set of design decisions which, if made
incorrectly, may cause your project to be cancelled.” – Eoin Woods
Authors focus on 5 key attributes of software
architectures
 Structure, Elements, Relationships
 Analysis => Implementation
 Multiple viewpoints (conceptual, runtime, process &
implementation)
 Understandable
 Framework for flexibility

2.43
Developing
Architectures
Influences on Architectures
Functional Requirements
•Clients
•Users
•Other Stakeholders

Architecture
Experience with
•Existing Architecture
•Patterns
•Project Management
•Other?

2.44
Developing
Architectures
Influences on Architectures (continued)

Quality considerations with


•Performance
•Scalability
•Reusability
•Other?
Architecture
Technical Aspects
•Operating System
•Middleware
•Legacy Systems
•Other?
2.45
Client/Server (2-Layer)
Client

Client

Server

Web/App Server Services

Database Dynamic HTML


Static HTML

2.46
Client
N-Layer Architectures
Firewall

Proxy

Presentation Layer
Web Server

Business Layer
Application Server Backend
(Business Logic, Connectors,
(Legacy Application,
Personalization, Data Access)
Enterprise Info System)

Data Layer
DBMS B2B

2.47
Why an N-Layer
Architecture?
Separating services in business layer promotes re-use different applications
◦ Loose-coupling – changes reduce impact on overall system.
◦ More maintainable (in terms of code)
◦ More extensible (modular)

Trade-offs
◦ Needless complexity
◦ More points of failure

2.48
More on Proxies
Originally for caching data
Can also server other roles:
◦ Link Proxy
◦ Persistent URL’s – maps the URL the client sees to the actual URL.
◦ AJAX – allows data from a 2nd server to be accessed via a client script.
◦ History Proxy
◦ HTTP is stateless - navigation history cannot be shared across multiple websites.
◦ Multiple companies can access a server-side cookie (e.g. DoubleClick)

2.49
Integration
Architectures
Enterprise Application Integration (EAI)
Web Services
Portals/Portlets
Challenges/Pitfalls
◦ Cannot separate logic & data in legacy systems
◦ Incompatible schemes
◦ Poor documentation
◦ Measuring performance/scalability

2.50
Data-Aspect
Architectures
 Data can be grouped into either of 3
architectural categories: Application
1. Structured data of the kind stored in DBs
2. Documents of the kind stored in document
management systems
3. Multimedia data of the kind stored in media servers Driver Manager
 Structured data (JDBC/ODBC)
 Accessed either directly via a web extension (for 2-
tier) or over app server (for n-tier).
 Since DB technology are highly mature, they are easy Driver
to integrate
 Easy to implement
 APIs are available to access DBs (e.g., JDBC, ODBC)
Database

2.51
Data-Aspect
Architectures
Web Document Management

2.52
Data-Aspect
Architectures
Web Multimedia Management: Point-to-point

2.53
2.5 Web
Accessibility

54
Overview
The Case for Usability
Defining Web Usability
General Design Guidelines
Usability Engineering
Web Accessibility in Depth

2.55
Why is Usability
Important?
“Mission critical” Web applications
Poor design leads to lost time, productivity
Your website speaks for your organization
◦ Customers have choices
◦ Easy come, easy go

Diverse contexts
◦ Proliferation of web-enabled devices
◦ Increasing adoption by special needs groups – ex. seniors

2.56
Top 7 Gripes
Contact information – address or phone number is buried
Search function is not visible or unclear as to functionality
No easy way to get back to critical points
Pages that should load fast don’t (e.g. Main page or key
link page)
Slow page loads are not incremental
“What’s new” is old
Back button requires a repost of data

2.57
Example: SIS Website

2.58
Usability Defined
ISO/IEC standard definition (1998):
 “[T]he extent to which a product can be used by specified
users within a specified usage context to achieve specified
goals effectively, efficiently, and satisfactorily.”
Usability engineering is an ongoing, but critical
process
 Define user and task models
 Iteratively test and reevaluate
 User-based vs. expert methods

2.59
Defining Usability in
Web Apps
Traditional software usability specifics do not
necessarily carry over to the Web:
 People use your application immediately.
 No manual or trainers
 No salespeople
How to categorize users?
 First-time or returning?
 Expert or novice?
 Broadband or dial-up?
 Desktop or mobile?

2.60
Human Information
Processing
Human cognition places a critical role in user interface design.
◦ Perception
◦ Positioning, grouping, arranging
◦ Perceiving shapes and relationships
◦ Memory
◦ Limitations of working memory
◦ Chunking, 7 + 2 (Miller)
◦ Attention
◦ Focusing on one aspect
◦ Movement, color schemes

2.61
General Design
Guidelines
Design guidelines represent best practices
OK for “general” users
◦ Normal cognitive ability
◦ Normal audiovisual abilities

Some guidelines may be inappropriate for audience members with


special needs.
◦ Ex. Navigation elements for schizophrenics

More rigorous usability engineering techniques should be employed


(later in lecture.)

2.62
Guidelines – Response
Times
As response times increase, user satisfaction decreases
 Anything greater than 3 seconds, and the user becomes aware she’s
waiting
 After 10 seconds, user gives up
Optimize, or minimize graphics
Consider breaking up large pages.
<img> - use “width” & “height” attributes
Don’t forget your dial-up audience!
 Home page size should be < 50Kb
 Provide warnings (MPG – 2.5Mb)
http://www.websiteoptimization.com/services/analyze/wso.php

2.63
Guidelines – Efficiency
Minimize distance between clickable elements (while keeping effective
sizing)
Avoid frequent changes between mice and keyboards
Tab-friendly for text-based browsers
Minimize clicks to accomplish tasks (rule of thumb: no more than 4
clicks)
Not so good: http://www.brown.edu

2.64
Guidelines – Colors
Colors have different meaning depending on your
audience
 Cultural differences
 Domain-specific meanings
 Warm vs. cool colors
Minimize the number of colors
Avoid extreme hues, highly saturated colors
How does your site look on a CRT? LCD?
Supplement colors with other visual aids for those with
limited color vision.

2.65
Guidelines – Text
Layout
Screen vs. Paper
Consider different window sizes
◦ Avoid multiple columns
◦ Avoid fixed width

Readability
◦ Sans-serif for screen, serif for print
◦ Avoid patterns, low-contrast background
◦ Short paragraphs

Allow for user-selected font-sizes

2.66
Guidelines – Page
Structure
Display considerations
Use relative positioning over absolute.
Vertical scrolling is fine; horizontal scrolling is NOT.
Important elements should ALWAYS be visible.
Make page print-friendly or provide alternative style and print button.
Not-so-good: http//www.arngren.net

2.67
Guidelines – Navigation
Provide your user with a mental model of the site ASAP.
◦ Intuitive navigation elements
◦ Site map
◦ Breadcrumbs

Pulldown menus?
◦ Pros: Efficient use of space
◦ Cons: Key information is hidden

Not-so-good: Brown Univ. (circa 2005)

2.68
Guidelines –
Multicultural
Location is typically not a constraint on the Web.
“Lowest common denominator” applies:
◦ Avoid over-expressive colors
◦ Symbols
◦ Language
◦ Information representation (date/time formats)

Present form elements consistently


Self-selection?

2.69
Guidelines –
Establishing Trust
Loyalty is fleeting, but instilling confidence during a transaction is highly
critical
Ways to build trust:
◦ About us
◦ Easy-to-access Contact Information
◦ Interaction mechanisms (FAQ, chat rooms)
◦ Security & privacy policies
◦ Exchange and warranty policies
◦ Customer relations management

2.70
Guidelines – Animations
& Icons
Remember human attention – animations are typically
distracting
 Draw attention to an important function
 Explain something
Iconography should be used to support navigation
understanding
 Map to commonly-known metaphors
 Use redundant text and “alt” text!
 Not appropriate for (some) cognitive-impaired users
Not-so-good: http://www.globalaigs.org/

2.71
Guidelines –
Consistency
Consistency keeps learning to a minimum; users don’t want to have to
think!
Identity can be set by consistent components
◦ Header: home, logo, navigation, search, help
◦ Footer: author, modification, contact

Consistent design helps users avoid getting lost, especially when


jumping to different sub-units of an organization.

2.72
Usability Engineering
Consists of 4 phases that are essentially parallel to the Web Engineering
process
◦ Requirements Analysis
◦ Design
◦ Implementation
◦ Operation

2.73
User-Centered vs. Usage-
Centered
Phase Focal Points
User-Centered Usage-Centered

(Traditional) (Web)

Requirements Meetings, interviews, Competitive analysis;


focus groups
Task analysis & models

Design & User requirements Models

Implementation Direct user participation Inspection & remote


testing

Operation Training, evaluation of Log file analysis; server


help-desk logs stats; user feedback
analysis

2.74
Requirements Analysis
Systems Analyst & Usability Expert take the lead:
◦ Competitive Analysis
◦ Define qualitative/quantitative goals
◦ Information, Entertainment, Exchange (Siegel)
◦ Make them concrete and testable!
◦ User-centered: build user profiles
◦ Usage-centered
◦ Task analysis
◦ Ease-of-use or Ease-of-learning?

2.75
Interaction and Design
Initially, the Interface Designer builds a conceptual model
◦ Based on core use cases
◦ Shows the basic structure

Getting feedback from potential users


◦ Storyboards & Paper Mock-ups
◦ Card-sorting (Navigation)

Usability expert provides input after this first round.

2.76
Interaction and Design
Designer and coders can then elaborate on the details
Additional user testing:
 Prototypes – exhibit some functionality
 Usability Tests – real context, real tasks.
Remote usability testing
 Sample of representative users
 Client-Logging software
 Web-cams if possible
 Better external validity & lower costs(?)

2.77
Coding and Post-
Deployment
Usability Expert assumes the role of the Quality Assurance manager.
◦ Consistency?
◦ Observed guidelines & standards?
◦ Adhered to (current) requirements?

Bring same users back in for testing, if possible.


Document, document, document!

2.78
More on Web
Accessibility
People with disabilities are adopting the Web in greater
numbers.
Tim Berners-Lee stressed universal access to the Web as
essential.
20% of the world’s population have disabilities in at least
one of the senses.
Key take-aways:
 Designing for special needs doesn’t necessarily require reinventing
your application.
 Doing so can also help “general” users

2.79
Web Accessibility
Initiative (WAI)
Web Content Accessibility Guidelines 1.0 (WCAG, 1999) published by
the W3C’s WAI
3 Priorities
◦ 1) Must
◦ 2) Should
◦ 3) May

Defines Groups
WCAG 2.0?

2.80
Special Needs Groups
WAI identifies the following special needs groups:
◦ Visual
◦ Hearing
◦ Physical (Motor)
◦ Speech
◦ Cognitive
◦ Age-related

2.81
Visual Considerations
High-contrast color schemes
Large font sizes; ability to change fonts
Use alt attributes!
<label-for> tags in forms
Avoid frames
Access key attributes, and rapid tabbing
Many software packages for text-to-speech
 Some integrate with browsers
 OK Firefox plug-in: FireVox
Good example: http://www.afb.org

2.82
Aural Considerations
Captioning audio and video
◦ Synchronized Multimedia Integration (SMIL)
◦ Good QuickTime, RealAudio Support
◦ W3C standard

Complement text with simple images


Clear, simple language

2.83
Physical (Motor)
Considerations
May require specialized hardware
◦ Mice
◦ Keyboards
◦ Voice Recognition

Avoid elements that require time-dependent responses or precise


mouse movements.
Access key attributes
Consistent tab ordering in forms.

2.84
Cognitive
Considerations
Most neglected of the groups
◦ Little research in terms of Web usability
◦ “Reinvent the wheel” mentality

Typically have trouble dealing with abstractions – keep things concrete


Still a relatively new research field
◦ Approaches may vary.
◦ No distracting elements
◦ Emphasis on consistent navigation
◦ High-contrast; large font sizes

2.85
Helpful Tools &
Resources
Development
◦ Firefox Developer Toolbar (http://chrispederick.com/work/web-developer/)

Testing
◦ http://webxact.watchfire.com (Bobby)
◦ http://www.webaim.org (WAVE tool)

Section 508 of the Rehabilitation Act


◦ http://www.section508.gov

2.86

You might also like