Your SlideShare is downloading. ×
Quality attributes in software architecture
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

Quality attributes in software architecture

4,785
views

Published on

Published in: Technology, Business

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
4,785
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
185
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. QUALITY ATTRIBUTES : SOFTWARE ARCHITECTURE Dr. Himanshu Hora SRMS College of Engineering & Technology, Bareilly (U.P.), INDIA
  • 2. Introduction 2  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].
  • 3. Architecture and Quality Attributes 3  Architecture, by itself, is unable to achieve qualities  Architecture should include the factors of interest for each attribute
  • 4. Quality Attributes Scenario 4  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
  • 5. Common Quality Attributes 5  It categorizes the attributes in various specific areas  Design qualities  Runtime qualities  System qualities  User qualities  Non-runtime qualities  Architecture qualities  Business qualities
  • 6. Design Quality Attributes 6  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
  • 7. Runtime Quality Attributes 7  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
  • 8. 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
  • 9. 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
  • 10. 10 Figure 2: Availability of general scenario
  • 11. 11 Figure 3: Sample performance scenario Figure 4: Sample security scenario
  • 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 12 Figure 5: Sample testability scenario
  • 13. User Quality Attributes  Usability:  Defines how well the application meets the requirements of the user and consumer by being intuitive 13 Figure 6: Sample usability scenario
  • 14. Non-runtime Quality Attributes 14  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
  • 15. 15  Modifiability:  Ease with which a software system can accommodate changes to its software Figure 7: Sample modifiability scenario
  • 16. Architecture Quality Attributes 16  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
  • 17. Business Quality Attributes 17  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
  • 18. 18 THANK YOU Dr. Himanshu Hora SRMS College of Engineering & Technology, Bareilly (U.P.), INDIA