Part 02 WebEngineering
Part 02 WebEngineering
2. Requirements Analysis
3. Web Modeling
4. Web Architectures
5. Web Accessibility
Online material
INFSCI 2955: Web Engineering
Department of Information Science and
Telecommunications, University of Pittsburgh
Website: http://www.sis.pitt.edu/~jgrady/
Technology + interaction.
Web site with no software components?
Web services?
Ubiquitous Semantic
Web
Social Web
Collaborative
Complexity
Workflow
Based
Portal
Transactional
Oriented
Interactive
Doc-Centric
Development History
SWE 444: Internet & Web Application Development 2.9
Document-Centric Web sites
Precursors to Web applications
Manual updates
Pros
Simple, stable, short response times
Cons
High management costs for frequent updates & large collections
More prone to inconsistent/redundant info
Simple interactivity
Specialized portals
Business portals (e.g., employee intranet)
Marketplace portals (horizontal & vertical)
Community portals (targeted groups)
HCI is critical
Limitations of devices (screen size, bandwidth?)
Context of use
Content
Document character & multimedia (# of dimensions?)
Quality demands: current, exact, consistent, reliable
Technical Infrastructure
Lack of control on the client side
Immaturity
Process
Flexibility
Parallelism
Integration
Internal – with existing legacy systems
External – with Web services
Integration issues: correct interaction, guaranteed QoS
SWE 444: Internet & Web Application Development 2.20
2.2 Requirements
Engineering
Overview
Introduction to Requirements Engineering
Fundamentals
Principles
Elicitation &
Negotiation
Management Documentation
Validation &
Verification
10 distinguishing characteristics
Multidisciplinary
Unavailability of stakeholders
Rapidly changing requirements & constraints
Source: http://www.stsc.hill.af.mil/Crosstalk/2001/12/boehm3.gif
SWE 444: Internet & Web Application Development 2.32
Principles for RE - 2
Understanding the system context
Web apps are always a component of a larger entity
Why do we need the system?
How will people use it?
4 categories of notation
Stories – Plain-language scenarios;
understandable to non-technical persons.
Itemized Requirements – Plain-language lists of
requirements
Formatted Requirements – Accurately-defined,
but allow for plain-language descriptions
Ex. Use case scenarios in UML
Formal Specifications – Expressed in formal
syntax & semantics; rarely used in Web
applications.
Requirements Elicitation
EasyWinWin (the author’s software)
Book: Getting to Yes: Negotiating an Agreement
Without Giving in by Fisher, Ury, Patton (1994)
Requirements Validation
Online feedback (Web surveys)
Requirements Management
Database system – traceability, versioning
McConnell (1996)
Users don’t know what they want.
Lack of commitment.
Ever-expanding requirements.
Communication delays.
Users don’t take part in reviews.
Users don’t understand the technology.
Users don’t understand the process.
Requirements
Analysis
Maintenance Design
Testing Implementation
Tool of thought
Reduce complexity
Document design decisions
Means of communication
User interface
Application Logic
Phases
Structure Analysis Design Implementation
Behavior
Aspects
Levels – the “how” & “what” of an application
Phases
Structure Analysis Design Implementation
Behavior
Aspects
Levels – Information, node/link structure, UI & page layout separate.
Source: Web
Engineering –
Kappel et al.
Primary Models
Class diagrams – enough for static applications.
State machine diagrams – captures dynamic aspects
Source: Web
Engineering –
Kappel et al.
Notations
Class Name
Multiplicity
Attributes
Operations
Invariant
Artifacts
Hypertext Structure Model – navigating among classes
Access Model – UML-compliant site map
HDM
Structural vs. Perspective vs. Application
WebML
Contextual vs. Non-contextual
Intra-page vs. Inter-page
OO-H
I, T, R, X, S-links
SWE 444: Internet & Web Application Development 2.72
Access Model
Hypertext structure models describe
navigation, but not orientation.
Source: Web
Engineering –
Kappel et al.
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
Object Instance
Lifeline
Focus of Control
Synchronous
Message
Destroy Object
Developing architectures
Types of architectures
Layered-aspect architectures
Data-aspect architectures
Functional Requirements
•Clients
•Users
•Other Stakeholders
Architecture
Experience with
•Existing Architecture
•Patterns
•Project Management
•Other?
Client
Client
Server
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
Trade-offs
Needless complexity
More points of failure
Web Services
Portals/Portlets
Challenges/Pitfalls
Cannot separate logic & data in legacy systems
Incompatible schemes
Poor documentation
Measuring performance/scalability
Usability Engineering
Diverse contexts
Proliferation of web-enabled devices
Increasing adoption by special needs groups – ex.
seniors
SWE 444: Internet & Web Application Development 2.98
Top 7 Gripes
Contact information – address or phone number is buried
Pages that should load fast don’t (e.g. Main page or key
link page)
Readability
Sans-serif for screen, serif for print
Avoid patterns, low-contrast background
Short paragraphs
Not-so-good: http//www.arngren.net
SWE 444: Internet & Web Application Development 2.109
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
Self-selection?
Not-so-good: http://www.globalaigs.org/
(Traditional) (Web)
Requirements Meetings, interviews, Competitive analysis;
focus groups
Task analysis & models
Key take-aways:
Designing for special needs doesn’t necessarily require
reinventing your application.
Doing so can also help “general” users
3 Priorities
1) Must
2) Should
3) May
Defines Groups
WCAG 2.0?
Avoid frames
Testing
http://webxact.watchfire.com (Bobby)
http://www.webaim.org (WAVE tool)