Top Banner
QUALITY ATTRIBUTES : SOFTWARE ARCHITECTURE Dr. Himanshu Hora SRMS College of Engineering & Technology, Bareilly (U.P.), INDIA
18

Quality attributes in software architecture

Apr 22, 2015

Download

Technology

Himanshu Hora

 
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Quality attributes in software architecture

QUALITY ATTRIBUTES : SOFTWARE ARCHITECTURE

Dr. Himanshu Hora

SRMS College of Engineering & Technology, Bareilly (U.P.), INDIA

Page 2: Quality attributes in software architecture

2

Introduction

Functionality and Quality Attributes are orthogonal

Overall factors that affect run-time behavior, system design, and user experience

Software quality is the degree to which software possesses a desired combination of attributes(e.g., reliability, interoperability) [IEEE 1061].

Page 3: Quality attributes in software architecture

3

Architecture and Quality Attributes

Architecture, by itself, is unable to achieve qualities

Architecture should include the factors of interest for each attribute

Page 4: Quality attributes in software architecture

4

Quality Attributes Scenario

Is a quality-attribute-specific requirement It consists of six parts: Source of stimulus Stimulus Environment Artifact Response Response measure

Figure 1: Quality attributes Parts

Page 5: Quality attributes in software architecture

5

Common Quality Attributes

It categorizes the attributes in various specific areas Design qualities Runtime qualities System qualities User qualities Non-runtime qualities Architecture qualities Business qualities

Page 6: Quality attributes in software architecture

6

Design Quality Attributes

Conceptual Integrity: Defines the consistency and coherence of the overall

design Includes the way that components or modules are

designed Maintainability: Ability of the system to undergo changes with a degree

of ease Reusability: Defines the capability for components and subsystems to

be suitable for use in other applications

Page 7: Quality attributes in software architecture

7

Runtime Quality Attributes

Interoperability: Ability of a system or different systems to operate

successfully by communicating and exchanging information with other external systems written and run by external parties

Manageability: Defines how easy it is for system administrators to

manage the application Reliability: Ability of a system to remain operational over time

Page 8: Quality attributes in software architecture

8

Scalability: Ability of a system to either handle increases in load

without impact on the performance of the system, or the ability to be readily enlarged

Performance: Indication of the responsiveness of a system to execute

any action Security: Capability of a system to prevent malicious or

accidental actions outside of the designed usage

Page 9: Quality attributes in software architecture

9 Availability: Proportion of time that the system is functional and

working Measured as a percentage of the total system

downtime over a predefined period

Page 10: Quality attributes in software architecture

10

Figure 2: Availability of general scenario

Page 11: Quality attributes in software architecture

11

Figure 3: Sample performance scenario

Figure 4: Sample security scenario

Page 12: Quality attributes in software architecture

12

System Quality Attributes Supportability: Ability of the system to provide information helpful for

identifying and resolving issues when it fails to work correctly

Testability: Measure of how easy it is to create test criteria for the

system and its components

Figure 5: Sample testability scenario

Page 13: Quality attributes in software architecture

13

User Quality Attributes

Usability: Defines how well the application meets the

requirements of the user and consumer by being intuitive

Figure 6: Sample usability scenario

Page 14: Quality attributes in software architecture

14

Non-runtime Quality Attributes

Portability: Ability of a system to run under different computing

environments Reusability: Degree to which existing applications can be reused

in new applications Integrability: Ability to make the separately developed components

of the system work correctly together

Page 15: Quality attributes in software architecture

15

Modifiability: Ease with which a software system can accommodate

changes to its software

Figure 7: Sample modifiability scenario

Page 16: Quality attributes in software architecture

16

Architecture Quality Attributes

Correctness: Accountability for satisfying all requirements of the

system Conceptual Integrity: Integrity of the overall structure that is composed

from a number of small architectural structures

Page 17: Quality attributes in software architecture

17

Business Quality Attributes

Cost and schedule: Cost of the system with respect to time to market,

expected project lifetime, and utilization of legacy and COTS systems

Marketability: Use of the system with respect to market competition

Page 18: Quality attributes in software architecture

18

THANK YOU

Dr. Himanshu Hora

SRMS College of Engineering & Technology, Bareilly (U.P.), INDIA