building scalability into software applications

21
Scalability of Distributed Software Asif Imran MSSE0119 06/26/2022 1

Upload: asif-anik

Post on 18-Nov-2014

1.224 views

Category:

Education


2 download

DESCRIPTION

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.

TRANSCRIPT

Page 1: Building Scalability into software Applications

04/08/20231

Scalability of Distributed SoftwareAsif ImranMSSE0119

Page 2: Building Scalability into software Applications

04/08/20232

Scalability Scaling Distributed Applications: Why, Who,

Where and How? GORE Real life Example Learnings Systems similar to GORE

Contents

Page 3: Building Scalability into software Applications

04/08/20233

“The ability of a system to maintain the satisfaction of its quality goals to levels that are acceptable to its stakeholders when characteristics of the execution environment (“the world”) and design (“the machine”) vary over expected ranges [1].”

Scalability

Page 4: Building Scalability into software Applications

04/08/20234

Uncovers assumptions about the Application Domain

Provides Rationale for Requirements

Provides Traceability

Assignment of responsibilities

WHY do we need to ensure Scalability

Page 5: Building Scalability into software Applications

04/08/20235

WHO? Requirements Engineer In combination with the System Analysts

From where…

Stakeholders [Interviews]

Previous similar projects [Analyzing software documents]

Preliminary analysis of the current system

WHO identifies Scalability requirements and from WHERE?

Page 6: Building Scalability into software Applications

04/08/20236

It is generally argued that scalability models are built during the early phases of the RE process.

Reason: the sooner this scalability goal is identified and validated, the best.

When is scalability identified ?

Page 7: Building Scalability into software Applications

04/08/20237

A Case Study in Eliciting Scalability Requirements

Authors: Leticia Duboc, Emmanuel Letier, David S. Rosenblum, Tony Wicks

16th IEEE International Requirements Engineering Conference, 2008

Paper

Page 8: Building Scalability into software Applications

04/08/20238

No established work specifically on scalability requirements [1].

Developers generally do not give systematic attention to scalability during requirements engineering.

Many companies concentrate on functional requirements, never considering load, growth characteristics, or technical and physical boundaries of the systems [1].

People tend not to take responsibility for scalability, leading to non-functional and workload tests being largely overlooked [1].

Research Problems

Page 9: Building Scalability into software Applications

04/08/20239

Application of Goal-Oriented Requirements Engineering (GORE) for eliciting the scalability requirements of a large, real-world financial fraud detection system.

//IEF

What did the author propose?

Page 10: Building Scalability into software Applications

04/08/202310

GORE: A requirement elicitation technique of software requirements in the context of high-level goals [2].

Goals are a description of stakeholder needs, specified as properties the system must satisfy.

Key points

Page 11: Building Scalability into software Applications

Types of Goals

04/08/202311

GORE [cont]

Quality Attributes

Functional ConcernsServices to be provided

Quality of ServiceScalability, Security,

Accuracy, Performance

Page 12: Building Scalability into software Applications

04/08/202312

Pre-condition

Originally stated scalability requirements were “more a statement of idealized goals rather than rational requirements with clearly understood objectives”

Methodology

Page 13: Building Scalability into software Applications

04/08/202313

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

Methodology [contd]

Page 14: Building Scalability into software Applications

04/08/202314

Systematic manner

Variables Scalability ranges Bounds on scalability ranges Characteristic functions

Define

Page 15: Building Scalability into software Applications

04/08/202315

Customers: Banks

Scalability requirement: Act against fraudulent transaction within specific time frame and without any additional complexity.

Methodology [contd]

Page 16: Building Scalability into software Applications

04/08/202316

Methodology [contd]

Page 17: Building Scalability into software Applications

04/08/202317

Systematic exploration for scalability goals determination

Why?.. This will mitigate risks of compromising final deliverables which result from the lack of scalability

What needs to be done?

Page 18: Building Scalability into software Applications

04/08/202318

Should be considered during the Requirement Elicitation Phase [earliest phase]

Should be defined in a systematic and consistent manner using GORE or similar frameworks

Pictorially representable to clarify scalability requirements

Learning's to ensure scalability in software application

Page 19: Building Scalability into software Applications

04/08/202319

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].

Other approaches to ensuring system scalability

Page 20: Building Scalability into software Applications

04/08/202320

[1] A Case Study in Eliciting Scalability Requirements, L. Duboc, E. Letier, D. S. Rosenblum, T. Wicks, 16th IEEE International Requirements Engineering Conference, September 2008. pages: 131-137

[2] Goal-Oriented Requirements Engineering: A Guided Tour, A. V. Lamsweerde, Proceedings RE’01, 5th IEEE International Symposium on Requirements 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.

References

Page 21: Building Scalability into software Applications

04/08/202321

Thank you