Professional Documents
Culture Documents
Organisation: HTML++, CSS, Javascript, PHP
Organisation: HTML++, CSS, Javascript, PHP
Contents
Part 1:
Example: Tourism Web Application
The Internet
The World Wide Web
Basic Web Technologies: HTML++, CSS, JavaScript, PHP
Basic Web Architectures
Part 2: Web Engineering
Introduction to Web Engineering
Web Application Characteristics
Web Engineering Process and Tasks
Part 3:
Web Quality: Usability/Accessibility, Performance, Security
Web Search and Extraction
Web Personalisation & Web Analytics
Web 2.0
Part 4:
Content Management System Joomla
Web Engineering
Web Site Engineering Systematische Entwicklung
von Webanwendungen
Th. A. Powell G. Kappel, B. Pröll, S. Reich,
Prentice Hall 1998 W. Retschitzegger (Hrsg.),
dpunkt.verlag 2004
Web Engineering:
Software Engineering A Practitioner's Approach
A Practitioner´s Approach R. Pressman, D. Lowe
R. S. Pressman, McGraw Hill, 2008
McGraw-Hill 2005, 6th edition
Point of discussion:
Software aspect – i.e., static HTML pages are not Web applications ?
Interface aspect – i.e., Web services are not Web applications ?
Sources:
•Bourque, P., Dupuis, R., Abran, A., Moore, J. W., Tripp, L. L. Guide to the Software
Engineering Body of Knowledge, IEEE Computer Society, 2004
•Deshpande, Y., Murugesan, S., Ginige, A., Hansen, S., Schwabe, D., Gaedke, M.,
White, B., Web Engineering, Journal of Web Engineering, 1 (1), 2002, pp. 3-17.
Source: Lowe, D., Engineering the Web - Web Engineering or Web Gardening?
WebNet Journal, 1 (1), January-March, 1999.
Complex
Database
Datenbank
Database
Web-based
application
Database
Dynamically generated
Web site
(Simple) static
Web site
Simple
Document Application
oriented oriented
=> proven methods from related disciplines (e.g., software engineering, HCI or
Hypermedia)
should be taken as they are
have to be adapted to the needs of Web Engineering
new solutions have to be developed
Social Natural
Context PRODUCT Context
Presentation
Development Hypertext
Content Integration
Team
Development
USE Process Technical Infrastructure
Social Natural
Context PRODUCT Context
Presentation
Hypertext
Development Content
Team Integration
USE Development
Process
Technical Context Technical Infrastructure
DEVELOPMENT
Social Natural
Context PRODUCT Context
Presentation
Hypertext
USE Development
Team
Content Integration
DEVELOPMENT
Social Natural
Context PRODUCT Context
Presentation
Hypertext
Development Integration
Content
Team
USE Development
Process
Technical Infrastructure
Technical Context
DEVELOPMENT
Social
Natural
Context
PRODUCT Context
Presentation
Hypertext
Development Content
Team Integration
Development
Process Source: Based on ISO/IEC
Technical Infrastructure
9126-1 for the evaluation
DEVELOPMENT of software quality
PRODUCT
USE
PRODUCT
DEVELOPMENT
Content
Quality Demands
being up to date, exact, consistent, reliable, …
high quality is required for price and availability information in online-
shopping systems
critical factor for the acceptance of a Web application
PRODUCT
USE
PRODUCT
DEVELOPMENT
Hypertext
Non-linearity
differ from traditional software applications by the possibility of
systematic reading (”browsing”, ”query”, ”guided tour”)
move freely through the information space, depending on interests and
previous knowledge
a challenge for the authors
PRODUCT
USE
PRODUCT
DEVELOPMENT
Presentation
Esthetics
“Look and Feel” of the user interface
fashion trends
Self-explication
usage without documentation
navigation and interaction behaviour must be consistent within the
whole application
PRODUCT
USE
DEVELOPMENT
DEVELOPMENT
PRODUCT
USE
DEVELOPMENT
DEVELOPMENT
Availability
immediate and permanent availability (24x7)
time-dependent services
© 2013 Birgit Pröll, FAW, JKU Linz, Austria 22
Characteristics of Web Applications
USE
PRODUCT
USE
DEVELOPMENT
DEVELOPMENT
Development Team
Multidisciplinarity
mixture between print publishing and software development, between
marketing and computing, between art and technology
IT experts, hypertext experts, designers, and application experts are
responsible
Community Development
open source software freely available on the Web
PRODUCT
USE
DEVELOPMENT
DEVELOPMENT
Technical Infrastructure
Inhomogeneity
two external components
• server (usually configured and operated as desired)
• browser (no influence on preferences)
Immaturity
increasing time-to-market pressure
Bugs
Development Process
Flexibility
no rigid, predefined project plan
Parallelism
parallel development of application parts
parallel running of phases
PRODUCT
USE
DEVELOPMENT
DEVELOPMENT
Integration
PRODUCT
USE
DEVELOPMENT
DEVELOPMEN
T
Continuous Change
permanent evolution due to constantly changing requirements or conditions
changes may concern all three dimensions of a Web application – product,
use, and development
Competitive Pressure
shorter product lifecycles and extremely short development cycles
no room for a systematic development process
Fast pace
extreme time pressure due to the rapid change on the Web
”lean” versions of traditional processes with special emphasis on
requirements analysis/specification and operation/maintenance
Project Management
Project Management Process
Problem Definition
Requirements Analysis and Specification
Modelling
Quality
Design
Implementation & Testing
Deployment & Maintenance
Quality
Design
Implementation & Testing
Deployment & Maintenance
Problem definition
Requirements analysis
Design Launch
Implementation
etc.
[Pressman, page 73ff.]
Quality
Design
Implementation & Testing
Deployment & Maintenance
Project Intention
What is the intended solution of the system to be developed? What is the current
state of the system (if there is one)?
Example: simple Web presentation of a company, Web access of legacy system,
e-commerce site
Why shall we develop a Web site? What are measures of success?
Market analysis and target audience analysis
Who are the users of the Web site? What is the equipment of the users?
CONTENT
Where do we get the content from (content sources)? What are the legal issues
(copyright etc.)? Which media, languages do we use?
Legal Issues
Infrastructure
Provider, Web Hosting, Web Housing,...
Business Model
Who pays? (marketing, customers, etc.)
Inhouse-development or outsourcing
Project team
Availability of programmers, designers, marketing experts, network experts, etc.
Launch
Date and content; beta version?
Expected change requests after launch
There are a lot of legal things every Web application developer should
be aware of…
European Community: E-Commerce directive
http://ec.europa.eu/internal_market/e-commerce/index_en.htm
(…only one of a number of laws, which are important for the Web domain)
Nice-to-knows
Illegal (at least according to Austrian law) (by 2007)
Photos on Web sites of less than 7 persons (without agreement)
Logos of companies
Deep links (links only allowed to homepages) Exception: search engines
like Google
Copy & paste of URL lists
E-Commerce: imprints containing company´s name, address etc. must be
accessible
• https://www.spiegel.de/reise/aktuell/0,1518,562217,00.html
Web designers can be sued • http://rorschachstagebuch.wordpress.com/2008/07/11/lg-hamburg-entsc
Quality
Design
Implementation & Testing
Deployment & Maintenance
Modelling
Abstraction of the (essential part of the) real world
Often graphical representation
Focus on requirement analysis and technical design; but universally applicable
Examples: data model, navigation model, flowchart, etc.
email
Hotel descriptionn
no. rooms
is-located-in
population
City
see-level
ER-Diagram
Quality
Design
Implementation & Testing
Deployment & Maintenance
Static
WebIS Content Content Content
Database Database Database
Presentation
Hypertext
Content
Content requirements
Object- (document) analysis
Identification of object types (document types: articles, books, etc.)
Identification of object attributes
Content quality
Actuality, precission, completeness, trustworthiness, consistency, etc.
Hypertext requirements
Navigation requirements
Metapha (map, book, etc.), hierarchy, process, browsing and searching, linking,
access, etc.
Presentation requirements
Icons, symbols, graphics, colours, new media (video, audio, animation),
embedded programms, adaptable presentation (e.g., people with special needs)
Marketing and corporate identity
Quality
Design
Implementation & Testing
Deployment & Maintenance
Presentation design
database
Static Web site
Dynamic Web application
Client-side
- Server- side
Network/server design
Graphical design / layout (presentation)
Fonts, style guides, etc.
Consistency!
Security Design
Firewall etc.
Authorisation and access model (user roles)
Quality
Design
Implementation & Testing
Deployment & Maintenance
Preparation
Evaluation and decision for development tools (e.g., Eclipse)
Decision for a versioning tool (e.g., Subversion)
Quality guidelines: documentation, programming conventions, naming
conventions, URL conventions, directory, etc.
Ongoing
Class libraries
Technology “observer“ (blogs, news groups)
(Maybe) revisions of technology decision
Project management, documentation, quality management
Testing
Functionality tests
Launching of beta-version? (users become testers)
Browser compatibility (browser versions / operating systems)
Usability tests
Accessibility tests
Test environment!
Performance tests!: Simulation of user access: StressTools
Quality
Design
Implementation & Testing
Deployment & Maintenance
Quality
Design
Implementation & Testing
Deployment & Maintenance