Trip Report WWW2005
tutorial: web engineering
- Yogesh Deshpande, University of Western Sydney
- Martin Gaedke, University of Karlsruhe
there were 9 attendees in the beginning, of which at least 6 were from europe (including me). later 2 more persons showed up.
(click on the image for an enlargement)
web engineering is the application of systematic, disciplined and quantifiable approaches to design, production, deployment, operation, maintenance and evolution of web based software products.
- web developers have to be technology aware !
- web developers should read vannevar bush "as we may think", released in july 1945 by atlantic monthly (see http://www.theatlantic.com/doc/prem/194507/bush, requires subscription)
vannevar bush describes hypertext, mechanical means to "supplement user's memory" and much more.
- in the beginning, users were ignored. it took time to acknowledge that users exist and that they better are listened to.
- most important goal: web applications must be maintainable and evolvable.
current practices / problems:
WebIS development is carried out in an ad hoc manner:
- less attention is given to development methodologies
- largely relies on individuals own development practices
- lack of realisation of its lifecycle
web application development is a process, not an event.
project success factors:
according to CHAOS report by the standish group, the two top success factors for projects are:
- support from executive management
- user involvement
problems with large web-based projects:
of all large projects, only the following percentage fullfil the goals:
- satisfy business needs: 16%
- have the required functionality: 47%
- delivered in time: 21%
- within budget: 37%
project management problems:
- unrealistic schedules
- avoid cost of iteration
- serious reviewing and approving takes time
project management means manage expectations.
goals of web engineering:
- develop high quality web applications
- maintain and evolve ("plan for change")
- code-and-fix model (ad hoc development)
- the waterfall model (milestones)
- evolutionary development model
- prototyping model
- transform model
- spiral model (risk driven)
- rational unified process model
- Microsoft Solutions Framework (MSF) V3 process model (see http://www.microsoft.com/technet/itsolutions/msf/default.mspx)
- reuse-oriented approaches
- webcomposition process model
- agile processes, xp, scrum
prevent permanent changes:
introduce change control, e.g. through a change request procedure.
- assessing requirements: understand and organize the requirements; prototyping (proof of concept); risk reduction; business rules; prioritises requirements
- conceptual design: achieve a maintainable description of requirements
- logical design: shape the product; achieve a design model; separate logical units
- data design: design the information space
- presentation design: design the final audio and visual presentation
- navigation design: improve ease of use and access to information and processes; consider familiar navigation patterns such as site map, bred crumb, landmark etc.
- interaction design: logical design of how a user or system may interact with the information space of a web application
- process design: design the overall business logic of the web application
- distributed system architecture (DSA) design: define global wiring of the overall business logic of the application; define communication, constraints and external relationships between all application units
build and test
- test and monitor
- operation and maintenance
could the COnstructiv COst MOdel (COCOMO) developped by berry boehm in 1984 in order to estimate the overall cost and duration of software projects be used or adapted for web based projects ?
see COCOMO II (presented by Center for Software Engineering)
to the trip report main page
tutorial.html / 12-may-2005 (ra) / reto ambühler