O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Mastering Non-Functional Requirements

Book Description

This book covers the most critical 24 NFRs that are applicable to IT applications and systems.

About This Book

  • Explains three stages of nonfunctional requirements, that is, analysis, architecture, and assessment
  • In-depth knowledge of NFR framework and taxonomy that provides guidance around the modelling phase for the NFRs
  • Coverage of 24 critical and pivotal NFRs, including the analysis, architecture, and assessment.

Who This Book Is For

The primary audience for this title are the gamut of roles starting from IT consultant to chief architects who are responsible to deliver strategic, tactical, and operational engagements for fortune 100 customers worldwide. Nonfunctional requirements are the key to any software / IT program. They cannot be overlooked or ignored. The book provides a comprehensive approach from analysis, architecture, and measurement of nonfunctional requirements. The book includes considerations for bespoke (Java, .Net, and COTS applications). These are applicable to IT applications from various 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. The audience for this book include business analysts, enterprise architects, business architects, solution architects, technical architects/designers, domain/security/integration architects, software developers, support engineers and test engineers, technical project managers, project leads/technical leads/technical project managers, and students from the computer science/IT stream

What You Will Learn

  • Learn techniques related to the analysis, architecture, and monitoring of NFRs
  • Understand the various tools, techniques, and processes in order to improve the overall quality of the desired outcomes
  • Embrace the best practices of architecting, metrics, and success factors for NFRs
  • Identify the common pitfalls to be avoided and the patterns to leverage
  • Understand taxonomy and framework for NFRs
  • Learn the design guidelines for architecting applications and systems relating to NFRs
  • Abstract different methodologies to analyze and gather NFRs

In Detail

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.

Style and approach

The book takes a pragmatic approach, describing various techniques related to the analysis of NFRs, the architecture of NFRs, and assessment of NFRs.

Downloading the example code for this book. You can download the example code files for all Packt books you have purchased from your account at http://www.PacktPub.com. If you purchased this book elsewhere, you can visit http://www.PacktPub.com/support and register to have the code file.

Table of Contents

  1. About the Reviewer
  2. Preface
    1. What this book covers
    2. Who this book is for
    3. Conventions
    4. Reader feedback
    5. Customer support
      1. Errata
      2. Piracy
      3. Questions
  3. Understanding NFRs
    1. Introducing NFRs
      1. Performance
      2. Scalability
      3. Availability
      4. Capacity
      5. Security
      6. Maintainability
      7. Manageability
      8. Reliability
      9. Extensibility
      10. Recovery
      11. Interoperability
      12. Usability
    2. Summary
  4. Taxonomy and Framework for NFRs
    1. Taxonomy of non-functional requirements
      1. Non-functional requirements framework
        1. NFR life cycle
          1. Analysis and planning for NFRs
          2. Architecture for NFR
          3. Engineering for NFRs
          4. Monitoring and improvements - NFRs
        2. NFRs KPI and KRA examples
          1. Performance
          2. Scalability
          3. Availability
          4. Capacity
          5. Security
          6. Maintainability
          7. Manageability
          8. Reliability
          9. Extensibility
          10. Recovery
          11. Interoperability
          12. Usability
    2. Summary
  5. Methodology Eliciting - Non Functional Requirements
    1. Methodology discovering non-functional requirements
      1. Stakeholder goals
      2. Legacy system restraints
      3. Market scan of software qualities
      4. Domain trends
      5. Requirements templates and catalogues
    2. Summary
  6. Solutions Addressing NFRs
    1. NFR modeling methodology
      1. Performance
        1. Key drivers
        2. Methodology
        3. Solution options
        4. Checklist
        5. KPIs
      2. Scalability
        1. Key drivers
        2. Methodology
        3. Solution options
        4. Checklist
        5. KPIs
      3. Availability
        1. Key drivers
        2. Methodology
        3. Solution options
        4. Checklist
        5. KPIs
      4. Capacity
        1. Key drivers
        2. Methodology
        3. Solution options
        4. Checklist
        5. KPIs
      5. Security
        1. Key drivers
        2. Methodology
        3. Solution options
        4. Checklist
        5. KPIs
      6. Maintainability
        1. Key drivers
        2. Methodology
        3. Solution options
        4. Checklist
        5. KPIs
      7. Manageability
        1. Key drivers
        2. Methodology
        3. Solution options
        4. Checklist
        5. KPIs
      8. Reliability
        1. Key drivers
        2. Methodology
        3. Solution options
        4. Checklist
        5. KPIs
      9. Extensibility
        1. Key drivers
        2. Methodology
        3. Solution options
        4. Checklist
        5. KPIs
      10. Recovery
        1. Key drivers
        2. Methodology
        3. Solution options
        4. Checklist
        5. KPIs
      11. Interoperability
        1. Key drivers
        2. Methodology
        3. Solution options
        4. Checklist
        5. KPIs
      12. Usability
        1. Key drivers
        2. Methodology
        3. Solution options
        4. Checklist
        5. KPIs
    2. Summary
  7. Architectural Patterns and its Impact on NFRs
    1. Core architecture patterns
      1. Component-based architecture
        1. Context
        2. Drivers
        3. Solution
          1. Impact on NFR's
      2. N-tier architecture
        1. Context
        2. Drivers
        3. Solution
          1. Impact on NFRs
      3. Message Bus
        1. Context
        2. Drivers
        3. Solution
          1. Impact on NFRs
      4. Service-oriented architecture
        1. Context
        2. Drivers
        3. Solution
          1. Impact on NFRs
    2. Business tier patterns
      1. Active/Passive clustering
        1. Context
        2. Drivers
        3. Solution
          1. Impact on NFRs
      2. Load-balancing architecture
        1. Context
        2. Drivers
        3. Solution
          1. Impact on NFRs
      3. Session failover
        1. Context
        2. Drivers
        3. Solution
          1. Impact on NFRs
      4. Resource pooling
        1. Context
        2. Drivers
        3. Solution
          1. Impact on NFRs
      5. Caching
        1. Context
        2. Drivers
        3. Solution
          1. Impact on NFRs
    3. Database tier patterns
      1. Data replication
        1. Context
        2. Drivers
        3. Solution
          1. Impact on NFRs
      2. Connection pooling
        1. Context
        2. Drivers
        3. Solution
          1. Impact on NFRs
      3. Reporting
        1. Context
        2. Drivers
        3. Solution
          1. Impact on NFRs
      4. Information security
        1. Context
        2. Drivers
        3. Solution
          1. Impact on NFRs
    4. Integration tier patterns
      1. Logging and exception management
        1. Context
        2. Drivers
        3. Solution
          1. Impact on NFRs
      2. Enterprise Monitoring and Management
        1. Context
        2. Drivers
        3. Solution
          1. Impact on NFRs
      3. Demilitarized zone
        1. Context
        2. Drivers
        3. Solution
          1. Impact on NFRs
    5. Summary
  8. Sizing, Measurement and Monitoring
    1. NFR - Sizing
    2. NFR - Analytical modeling
    3. NFR - Simulation
    4. Enterprise Monitoring and Management - EMM
      1. Challenges faced by the ASM teams:
      2. Monitoring landscape
      3. Functionality - dimensions
      4. End-user experience monitoring
        1. Real user monitoring:
        2. Synthetic
        3. Discovery, modeling, and display
        4. User defined transactions
        5. Component deep dive monitoring
        6. Application performance analytics
        7. Monitoring tools - managing the problem
      5. APM dashboard
      6. APM future roadmap
    5. Summary
  9. Understanding Pivotal NFRs and Closing Thoughts
    1. Pivotal NFRs
    2. Pivotal NFRs KPI and framework
    3. Pivotal NFR classification
      1. Integrity
        1. Infrastructure domain
        2. Business domain
        3. Application domain
        4. Data domain
        5. Infrastructure domain
      2. Business continuity
        1. Business domain
        2. Application domain
        3. Data domain
        4. Infrastructure domain
      3. Resilience
        1. Business domain
        2. Application domain
        3. Data domain
        4. Infrastructure domain
      4. Confidentiality
        1. Business domain
        2. Application domain
        3. Data domain
      5. Integratability
        1. Business domain
        2. Application domain
        3. Data domain
        4. Infrastructure domain
      6. Robustness
        1. Business domain
        2. Application domain
        3. Data domain
        4. Infrastructure domain
      7. Auditability
        1. Business domain
        2. Application domain
        3. Data domain
      8. Flexibility
        1. Business domain
        2. Application domain
        3. Data domain
        4. Infrastructure domain
      9. Portability
        1. Application domain
        2. Data domain
        3. Infrastructure domain
      10. Reusability
        1. Business domain
        2. Application domain
        3. Data domain
        4. Infrastructure domain
      11. Testability
        1. Business domain
        2. Application domain
        3. Data domain
        4. Infrastructure domain
      12. Accessibility
        1. Business domain
        2. Application domain
    4. Closing thoughts
      1. Audit and accountability
      2. Architecture reviews and risks
      3. Audit and business objectives
      4. Summary