ACM Home Page
Please provide us with feedback. Feedback
Software system scalability: concepts and techniques
Full text PdfPdf (155 KB)
Source
India Software Engineering Conference archive
Proceeding of the 2nd annual conference on India software engineering conference table of contents
Pune, India
Pages 1-2  
Year of Publication: 2009
ISBN:978-1-60558-426-3
Author
David S. Rosenblum  University College London, London, United Kingdom
Sponsors
ACM: Association for Computing Machinery
SIGSOFT: ACM Special Interest Group on Software Engineering
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 9,   Downloads (12 Months): 68,   Citation Count: 0
Additional Information:

abstract   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1506216.1506217
What is a DOI?

ABSTRACT

With physical limits approaching in hardware, with demands on large-scale software systems continually increasing, and with the use of resource-poor wireless devices rapidly growing, issues of scale are becoming paramount in software engineering.

Indeed, it is increasingly the case that software systems undergo a successful initial development, only to be found unfit for purpose in deployment, sometimes years after the initial development was completed. This happens because the systems are frequently designed without a precise understanding of, and accounting for, the evolving characteristics of the environment in which they will be deployed. This lack of understanding leads to problems of scalability and the need for radical re-design of the software to make it more scalable.

The technical literature is full of references to the term scalability but devoid of precise definitions and clear understandings of the term. Furthermore, software developers lack the means to construct suitable objective characterizations of system scalability and to analyze and compare the scalability of different designs.

In this talk I discuss the nature of scalability and the conflicting views that researchers and practitioners have of scalability, using several examples to illustrate the problem. I then present a precise definition of the term and a simple analysis technique that can be used to characterize, evaluate and compare the scalability of software systems. I conclude with a discussion of techniques for eliciting the scalability requirements of a software system, which are needed in order to instantiate the definition and analysis technique for a particular system design or set of candidate designs. I illustrate these ideas with a real-world example of a financial fraud detection system that already has undergone two complete re-designs due to scalability problems.