Building Scalability into software Applications


Published on

Scalability is an integral part of software, specially when the software is distributed. This presentation highlights how scalability can be ensured into the system in a systematic manner based on two advanced research papers.

Published in: Education
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Building Scalability into software Applications

  1. 1. Scalability of Distributed Software Asif Imran MSSE0119 1 2/12/2013
  2. 2. ContentsScalabilityScaling Distributed Applications: Why, Who, Whereand How?GOREReal life ExampleLearningsSystems similar to GORE 2 2/12/2013
  3. 3. Scalability“The ability of a system to maintain the satisfaction of itsquality goals to levels that are acceptable to itsstakeholders when characteristics of the executionenvironment (“the world”) and design (“the machine”)vary over expected ranges [1].” 3 2/12/2013
  4. 4. WHY do we need to ensure ScalabilityUncovers assumptions about the Application DomainProvides Rationale for RequirementsProvides TraceabilityAssignment of responsibilities 4 2/12/2013
  5. 5. WHO identifies Scalability requirements and from WHERE?WHO? Requirements Engineer In combination with the System AnalystsFrom where… Stakeholders [Interviews] Previous similar projects [Analyzing software documents] Preliminary analysis of the current system 5 2/12/2013
  6. 6. When is scalability identified ?It is generally argued that scalability models are builtduring the early phases of the RE process.Reason: the sooner this scalability goal is identifiedand validated, the best. 6 2/12/2013
  7. 7. PaperA Case Study in Eliciting Scalability RequirementsAuthors: Leticia Duboc, Emmanuel Letier, David S. Rosenblum, Tony Wicks16th IEEE International Requirements Engineering Conference, 2008 7 2/12/2013
  8. 8. Research ProblemsNo established work specifically on scalability requirements [1].Developers generally do not give systematic attention toscalability during requirements engineering.Many companies concentrate on functional requirements, neverconsidering load, growth characteristics, or technical andphysical boundaries of the systems [1].People tend not to take responsibility for scalability, leading tonon-functional and workload tests being largely overlooked [1]. 8 2/12/2013
  9. 9. What did the author propose?Application of Goal-Oriented Requirements Engineering(GORE) for eliciting the scalability requirements of alarge, real-world financial fraud detection system.//IEF 9 2/12/2013
  10. 10. Key pointsGORE: A requirement elicitation technique ofsoftware requirements in the context of high-levelgoals [2].Goals are a description of stakeholder needs,specified as properties the system must satisfy. 10 2/12/2013
  11. 11. GORE [cont]Types of Goals Quality Attributes Functional Concerns Quality of Service Services to be provided Scalability, Security, Accuracy, Performance 11 2/12/2013
  12. 12. MethodologyPre-condition Originally stated scalability requirements were “more a statement of idealized goals rather than rational requirements with clearly understood objectives” 12 2/12/2013
  13. 13. Methodology [contd]Target Defined clear statement of these assumptions without those it would not be possible to perform a reliable analysis of the system’s scalability. Pictorial representation of scalability requirements Figures were needed in order to test the new system adequately and identify expected growth in data volumes expected behavior of the system if the data volume and machine capacity scale beyond the stated limits 13 2/12/2013
  14. 14. DefineSystematic manner Variables Scalability ranges Bounds on scalability ranges Characteristic functions 14 2/12/2013
  15. 15. Methodology [contd]Customers: BanksScalability requirement: Act against fraudulenttransaction within specific time frame and withoutany additional complexity. 15 2/12/2013
  16. 16. Methodology [contd] 16 2/12/2013
  17. 17. What needs to be done? Systematic exploration for scalability goals determinationWhy?.. This will mitigate risks of compromising finaldeliverables which result from the lack of scalability 17 2/12/2013
  18. 18. Learnings to ensure scalability in software applicationShould be considered during the Requirement ElicitationPhase [earliest phase]Should be defined in a systematic and consistent mannerusing GORE or similar frameworksPictorially representable to clarify scalability requirements 18 2/12/2013
  19. 19. Other approaches to ensuring system scalability KAOS: And/Or links relating scalability goals to operations [2]. Contribution Link: Positive/negative contributions to scalability requirements [2]. Answering Scalability Questions for characterization and analysis of scalability [3]. 19 2/12/2013
  20. 20. References[1] A Case Study in Eliciting Scalability Requirements, L. Duboc, E. Letier,D. S. Rosenblum, T. Wicks, 16th IEEE International RequirementsEngineering Conference, September 2008. pages: 131-137[2] Goal-Oriented Requirements Engineering: A Guided Tour, A. V.Lamsweerde, Proceedings RE’01, 5th IEEE International Symposium onRequirements Engineering, Toronto, August 2001. pages: 249-263[3] A framework for characterization and analysis of software system scalability, L. Duboc, D. Rosenblum, and T. Wicks, Proceedings ESEC- FSE’07, New York, NY, USA, 2007. ACM. pages 375–384. 20 2/12/2013
  21. 21. Thank you 21 2/12/2013