Quality Attributes of Web Software Applications – Jeff Offutt By Julia Erdman SE 510 October 8, 2003
Old time World Wide Web Originally designed to present information in text documents Simple framework Became complex very quickly
Modern World Wide Web Large-scale software applications for: E-commerce Information distribution Entertainment Collaborative working Surveys etc.
Modern World Wide Web cont. Diverse Run on distributed hardware platforms and heterogeneous computer systems Multiple programming languages and styles Incorporates much reuse and third party components Cutting edge technologies Must interface with users, other websites, and databases
Diversity Diverse distribution and communication Diverse components Interpreted scripting languages Plain HTML files Mixture of HTML with: Programs Databases Graphical images Complex user interfaces
Creating a Website Engineering an effective website requires large teams with diverse skills Programmers Graphics designers Usability engineers Information layout specialists Data communications & network experts Database administrators This results in Engineering a Website rather than just creating a website
Web Software Unique aspects Economic changes Criteria for success Technology changes
Unique aspects of Web application software Diverse components Need to know how to integrate the diverse components Integrated differently from regular software applications Source is often times not available Executables may be on remote machine Data transfer can occur from remote sources
Economic Changes Quality of attributes No financial motivation for quality “shrink wrap vendors” Poor quality sooner than high quality later Now must satisfy customer needs Later but better
Criteria for Success Reliability Usability Security And also, Availability Scalability Maintainability Time to Market
Reliability Users expect web applications to work There’s always another one out there
Usability Easy Little site loyalty
Security Must avoid a breach of a company’s website Secure, secure, secure
Availability 24/7/365 Downtime is costly Diverse browsers
Scalability Increase number of users Increase number of services Small weakness are exemplified Reliability problems Usability problems Security breaches
Maintainability Frequent maintenance cycles Compatibility Reluctant to fix faults before release
Time to Market Important, but not as significant with Web software applications
ALL of these attributes have become important to web software
Technology Changes First generation Web sites Client-server model Static HTML files
Client-server model
Technology Changes Growth Commercial use Full-fledged market channel for e- commerce Interactive, highly functional systems
Early Internet Client-server model Support only small websites Little security Cannot support much traffic Limited functionality
Modern Internet Fully functional software systems Instead of Webmaster, a diverse team lead by a Web manager is needed Third-party software components and middleware Two-tier model not sufficient
N-tier Model
Modern Internet cont. N-tier model Client-server connection still Most of the software now resides on separate computers rather than the web server Client -> web server -> application servers -> database server
Benefits of N-tier Model New languages are easier to modify and permit more reuse Enhances maintainability, reliability, and scalability Additional security layers
Questions???
Works Cited Offutt, Jeff. "Quality Attributes of Web Software Applications", IEEE Software, Volume 19, Issue 2, Mar/Apr 2002, pp