Book Image

Mastering Non-Functional Requirements

By : Sameer Paradkar
Book Image

Mastering Non-Functional Requirements

By: Sameer Paradkar

Overview of this book

Non-functional Requirements are key to any software/IT program and cannot be overlooked or ignored. This book provides a comprehensive approach to the analysis, architecture, and measurement of NFRs. It includes considerations for bespoke Java, .NET, and COTS applications that are applicable to IT applications/systems in different domains. The book outlines the methodology for capturing the NFRs and also describes a framework that can be leveraged by analysts and architects for tackling NFRs for various engagements. This book starts off by explaining the various KPIs, taxonomies, and methods for identifying NFRs. Learn the design guidelines for architecting applications and systems relating to NFRs and design principles to achieve the desired outcome. We will then move on to various key tiers/layers and patterns pertaining to the business, database, and integrating tiers. After this, we will dive deep into the topics pertaining to techniques related to monitoring and measurement of NFRs, such as sizing, analytical modeling, and quality assurance. Lastly, we end the book by describing some pivotal NFRs and checklists for the software quality attributes related to the business, application, data, and infrastructure domains.
Table of Contents (14 chapters)

NFR modeling methodology


Let's see each of the methologies in detail.

Performance

Performance is defined as the responsiveness of the application to perform specific tasks in a given span of time. It is scored in terms of throughput or latency. Throughput is the number of events in a given span of time while latency is the time it takes to respond to an incident. An application's performance directly impacts software scalability. Enhancing an application's performance often enhances scalability by virtue of reducing shared resource contention.

Performance attributes specify the timing features of the application. There will be a few features that will be more time-sensitive than others. The NFRs should mark the functions that have constraints on their performance. For example, response time relates to the times used to complete specific business processes, batch or interactive, within the target business system. The application must be architected to meet the agreed response time requirements...