Presentation is loading. Please wait.

Presentation is loading. Please wait.

Addressing Non- functional Requirements in Software Architecture By: Dennis Bystritsky.

Similar presentations


Presentation on theme: "Addressing Non- functional Requirements in Software Architecture By: Dennis Bystritsky."— Presentation transcript:

1 Addressing Non- functional Requirements in Software Architecture By: Dennis Bystritsky

2 What are Non-functional Requirements (NFRs)? Specify criteria that can be used to judge the operation of a system, rather than specific behaviors Specify criteria that can be used to judge the operation of a system, rather than specific behaviors Example: Usability, dependability, security level, testability Example: Usability, dependability, security level, testability

3 How to address NFRs in system architecture? Problematic Problematic Can’t make a concrete module for something like “testability” Can’t make a concrete module for something like “testability” Should be a quality of the system as a whole Should be a quality of the system as a whole So can we even specify NFRs in early system architecture? So can we even specify NFRs in early system architecture?

4 Lets first understand NFRs NFRs are… NFRs are… Operationalizable – implemented through functional components for the entire architecture (such as security) Operationalizable – implemented through functional components for the entire architecture (such as security) Checkable – system can include components which check that the desired quality is met (such as performance) Checkable – system can include components which check that the desired quality is met (such as performance)

5 Functional requirements and NFRs Must be considered differently Must be considered differently Separation of concerns Separation of concerns Architecture components for FRs might realize some NFRs Architecture components for FRs might realize some NFRs We try to reduce “tangling” We try to reduce “tangling”

6 First step? Separate functional requirements from non- functional ones Separate functional requirements from non- functional ones Login screen Login screen Progress bar Progress bar Administrator access Administrator access Help screen Help screen Authentication Authentication Security Security Performance Performance Usability Usability

7 Next… Implement system architecture based on functional requirements Implement system architecture based on functional requirements Should be relatively easy since each requirement links to one or more specific modules Should be relatively easy since each requirement links to one or more specific modules

8 Finally… For each NFR… For each NFR… Link it to one or more architectural modules Link it to one or more architectural modules Feel free to create new modules as needed Feel free to create new modules as needed

9 How do we link? XML binders XML binders Use XML-style language to specify how NFRs link to functional components of the architecture Use XML-style language to specify how NFRs link to functional components of the architecture

10 What we have done: Separated FRs from NFRs Separated FRs from NFRs Created system architecture which addresses both sets of requirements Created system architecture which addresses both sets of requirements Reduced “tangling” Reduced “tangling”

11 Future Work Evaluation of software architecture Evaluation of software architecture How to determine which architectures address requirements better than others How to determine which architectures address requirements better than others


Download ppt "Addressing Non- functional Requirements in Software Architecture By: Dennis Bystritsky."

Similar presentations


Ads by Google