SlideShare a Scribd company logo
1 of 19
Non Functional
  Requirements




21.5.2010 - Pavel Růžička
Product Development Department
Knowing of non-functional
requirements
Helps to avoid of customers say

„Y o u s h o u l d t h in g
 b e t t e r !“




                                  2
21.5.2010 - Pavel Růžička
Product Development Department
I t helps a lot if you know what is the “most critical“
  non-functional requirement because this can dominate
  the best choice of development technique
  and internal design.




                                                          3
   21.5.2010 - Pavel Růžička
   Product Development Department
4
21.5.2010 - Pavel Růžička
Product Development Department
Non-functional requirements are
aspects
• Users have implicit expectations about how well the
  software will work.

• These characteristics include
   • how easy the software is to use,
   • how quickly it executes,
   • how reliable it is,
   • and how well it behaves when unexpected conditions
     arise.

• The non-functional requirements define these aspects
  about the system.


                                                          5
21.5.2010 - Pavel Růžička
Product Development Department
Non Fuctional Requirements -
General
 •   Security
 •   Exception Handling
 •   Validation
 •   Logging
 •   Tracing / Testing
 •   Monitoring / Reliability
 •   Transaction
 •   Storage
 •   GUI Binding
 •   Configuration



                                 6
21.5.2010 - Pavel Růžička
Product Development Department
Non Fuctional Requirements–
System / Dev
  •   Naming conventions
  •   Caching, Performance
  •   Scalability
  •   RAM usage
  •   Thread Sync




                                       7
      21.5.2010 - Pavel Růžička
      Product Development Department
Non Fuctional Requirements -
Business
 •   Time to market
 •   Cost
 •   Speed / Performance
 •   Interoperability
 •   Flexibility
 •   Disaster recovery
 •   Usability
 •   Accessibility




                                 8
21.5.2010 - Pavel Růžička
Product Development Department
How to fetch non-functional
requirements?
• A n t i- s t o r ie s are things the user does not want to happen,
  commonly for safety or security reasons.

  • N o way we let an I L OV E Y OU E M ail worm in our System!

• U s e a c h e c k lis t 




                                                                  9
      21.5.2010 - Pavel Růžička
      Product Development Department
Security

- Should access to be limited?
- Is an access list necessary?
   - Access Control List
   - White List
   - Black List




                                 10
21.5.2010 - Pavel Růžička
Product Development Department
Exception handling

- What errors can occur on runtime?

- What it should do in case of error?




                                        11
21.5.2010 - Pavel Růžička
Product Development Department
Validation

•   Which input items are required?
•   Which of them need to be validated?
•   What to do if input is invalid?
•   How to recognize if an item is valid? (email, personal
    number, ZIP code...)

Be aware - customer tends to change it frequently!




                                                             12
21.5.2010 - Pavel Růžička
Product Development Department
Logging

• It is about loggin from the user perspective, not
  developer’s logging


• Which events should be logged?
• Which items should log contain?
• Is the last operation enough or you need history?
   • How deep the history should be?
• Where to log? (file/db/…)
• Who should have access to logs?
• Incremental or rotation log?
• How to purge/delete logs?


                                                      13
21.5.2010 - Pavel Růžička
Product Development Department
Tracing - testing

• How to test an application?
• Which parts of the application should traceable?




                                                     14
21.5.2010 - Pavel Růžička
Product Development Department
Monitoring - SLA

• How it will be monitored?

• Are there any special monitoring rules?

• Use cases will help you best:
  • How to watch each particular use case?
  • What to watch/track there? (user/action/result)




                                                      15
21.5.2010 - Pavel Růžička
Product Development Department
Transaction

• Which operation is „atomic“- what must be proceeded all
  at once?

• How to do rollback/cancel an operation?




                                                       16
21.5.2010 - Pavel Růžička
Product Development Department
Naming conventions

Name of a product/service and internal naming (Windows
  Chicago vs. Windows 2000)

•    E s t a b lis h in t e r n a l n a m in g
     c o n v e n t io n s – it w ill h e lp y o u t o
     a v o id o f t r o u b le s
    • in c a s e o f u n c le a r p r o d u c t n a m e
    • in c a s e o f c h a n g e t h e p u b lic
       produc t na me




                                                          17
21.5.2010 - Pavel Růžička
Product Development Department
Caching, performance

• Think about scalability
• What to cache
• What must be strictly online
   • Prepare fallback scenario in case of outage




                                                   18
21.5.2010 - Pavel Růžička
Product Development Department
Sources

• http://en.wikipedia.org/wiki/Non-functional_requirement

• http://broadcast.oreilly.com/2010/02/nonfunctional-requiremen


• http://www.stellman-greene.com/2010/02/17/nonfunctional-req




                                                            19
21.5.2010 - Pavel Růžička
Product Development Department

More Related Content

What's hot

Acceptance criteria
Acceptance criteriaAcceptance criteria
Acceptance criteria
Softheme
 
Introduction to Gremlin
Introduction to GremlinIntroduction to Gremlin
Introduction to Gremlin
Max De Marzi
 
Validating Non Functional Requirements
Validating Non Functional RequirementsValidating Non Functional Requirements
Validating Non Functional Requirements
Reuben Korngold
 

What's hot (20)

Software development life cycle (SDLC)
Software development life cycle (SDLC)Software development life cycle (SDLC)
Software development life cycle (SDLC)
 
Intro to open source - 101 presentation
Intro to open source - 101 presentationIntro to open source - 101 presentation
Intro to open source - 101 presentation
 
Chapter 01 software engineering pressman
Chapter 01  software engineering pressmanChapter 01  software engineering pressman
Chapter 01 software engineering pressman
 
Managing Requirements in Agile Development - Best Practices for Tool-Based Re...
Managing Requirements in Agile Development - Best Practices for Tool-Based Re...Managing Requirements in Agile Development - Best Practices for Tool-Based Re...
Managing Requirements in Agile Development - Best Practices for Tool-Based Re...
 
Functional vs Non-functional Requirements - Which comes first?
Functional vs Non-functional Requirements - Which comes first?Functional vs Non-functional Requirements - Which comes first?
Functional vs Non-functional Requirements - Which comes first?
 
Engineering Software Products: 2. agile software engineering
Engineering Software Products: 2. agile software engineeringEngineering Software Products: 2. agile software engineering
Engineering Software Products: 2. agile software engineering
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
 
Requirements elicitation
Requirements elicitationRequirements elicitation
Requirements elicitation
 
Agile Methodology - Software Engineering
Agile Methodology - Software EngineeringAgile Methodology - Software Engineering
Agile Methodology - Software Engineering
 
Acceptance criteria
Acceptance criteriaAcceptance criteria
Acceptance criteria
 
Final Year Project Presentation
Final Year Project PresentationFinal Year Project Presentation
Final Year Project Presentation
 
Agile Methodology
Agile MethodologyAgile Methodology
Agile Methodology
 
User Interface Analysis and Design
User Interface Analysis and DesignUser Interface Analysis and Design
User Interface Analysis and Design
 
Heuristic evaluation principles
Heuristic evaluation principlesHeuristic evaluation principles
Heuristic evaluation principles
 
Alumni Management System
Alumni Management SystemAlumni Management System
Alumni Management System
 
Introduction to Gremlin
Introduction to GremlinIntroduction to Gremlin
Introduction to Gremlin
 
Validating Non Functional Requirements
Validating Non Functional RequirementsValidating Non Functional Requirements
Validating Non Functional Requirements
 
Final project report of a game
Final project report of a gameFinal project report of a game
Final project report of a game
 
Extreme programming (xp)
Extreme programming (xp)Extreme programming (xp)
Extreme programming (xp)
 
extreme Programming
extreme Programmingextreme Programming
extreme Programming
 

Similar to Non functional requirements

04 Model View Controller
04 Model View Controller04 Model View Controller
04 Model View Controller
Mahmoud
 
Hybrid Automation Framework Developement
Hybrid Automation Framework DevelopementHybrid Automation Framework Developement
Hybrid Automation Framework Developement
Glasdon Falcao
 
Stop the line & Stop Feature Development practices
Stop the line & Stop Feature Development practicesStop the line & Stop Feature Development practices
Stop the line & Stop Feature Development practices
Agile Spain
 
Building Cross-platform Mobile Apps with Force.com and PhoneGap
Building Cross-platform Mobile Apps with Force.com and PhoneGapBuilding Cross-platform Mobile Apps with Force.com and PhoneGap
Building Cross-platform Mobile Apps with Force.com and PhoneGap
Salesforce Developers
 
Building Cross-platform Mobile Apps with Force.com and PhoneGap
Building Cross-platform Mobile Apps with Force.com and PhoneGapBuilding Cross-platform Mobile Apps with Force.com and PhoneGap
Building Cross-platform Mobile Apps with Force.com and PhoneGap
Salesforce Developers
 
How Salesforce built a Scalable, World-Class, Performance Engineering Team
How Salesforce built a Scalable, World-Class, Performance Engineering TeamHow Salesforce built a Scalable, World-Class, Performance Engineering Team
How Salesforce built a Scalable, World-Class, Performance Engineering Team
Salesforce Developers
 
ATC2013-Thiru and Abhishek-How to prevent Agile from becoming Fragile?
ATC2013-Thiru and Abhishek-How to prevent Agile from becoming Fragile?ATC2013-Thiru and Abhishek-How to prevent Agile from becoming Fragile?
ATC2013-Thiru and Abhishek-How to prevent Agile from becoming Fragile?
India Scrum Enthusiasts Community
 

Similar to Non functional requirements (20)

Beyond the Platform: Enabling Fluid Analysis
Beyond the Platform: Enabling Fluid AnalysisBeyond the Platform: Enabling Fluid Analysis
Beyond the Platform: Enabling Fluid Analysis
 
04 Model View Controller
04 Model View Controller04 Model View Controller
04 Model View Controller
 
Continuous Delivery & the Database - the Final Frontier
Continuous Delivery & the Database - the Final FrontierContinuous Delivery & the Database - the Final Frontier
Continuous Delivery & the Database - the Final Frontier
 
Continuous Delivery & the Database- The Final Frontier
Continuous Delivery & the Database- The Final FrontierContinuous Delivery & the Database- The Final Frontier
Continuous Delivery & the Database- The Final Frontier
 
Continuous integration with business intelligence and analytics
Continuous integration with business intelligence and analyticsContinuous integration with business intelligence and analytics
Continuous integration with business intelligence and analytics
 
Path dependent-development (PyCon India)
Path dependent-development (PyCon India)Path dependent-development (PyCon India)
Path dependent-development (PyCon India)
 
Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications a...
Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications a...Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications a...
Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications a...
 
Hybrid Automation Framework Developement
Hybrid Automation Framework DevelopementHybrid Automation Framework Developement
Hybrid Automation Framework Developement
 
COMP 4026 Lecture3 Prototyping and Evaluation
COMP 4026 Lecture3 Prototyping and EvaluationCOMP 4026 Lecture3 Prototyping and Evaluation
COMP 4026 Lecture3 Prototyping and Evaluation
 
Stop the line & Stop Feature Development practices
Stop the line & Stop Feature Development practicesStop the line & Stop Feature Development practices
Stop the line & Stop Feature Development practices
 
Top 10 DBA Mistakes on Microsoft SQL Server
Top 10 DBA Mistakes on Microsoft SQL ServerTop 10 DBA Mistakes on Microsoft SQL Server
Top 10 DBA Mistakes on Microsoft SQL Server
 
Long-term Impact of Log4J
Long-term Impact of Log4JLong-term Impact of Log4J
Long-term Impact of Log4J
 
Building Cross-platform Mobile Apps with Force.com and PhoneGap
Building Cross-platform Mobile Apps with Force.com and PhoneGapBuilding Cross-platform Mobile Apps with Force.com and PhoneGap
Building Cross-platform Mobile Apps with Force.com and PhoneGap
 
Building Cross-platform Mobile Apps with Force.com and PhoneGap
Building Cross-platform Mobile Apps with Force.com and PhoneGapBuilding Cross-platform Mobile Apps with Force.com and PhoneGap
Building Cross-platform Mobile Apps with Force.com and PhoneGap
 
Fuel Good 2018: Upgrades Made Easy: The Canadian Museum of History
Fuel Good 2018: Upgrades Made Easy: The Canadian Museum of HistoryFuel Good 2018: Upgrades Made Easy: The Canadian Museum of History
Fuel Good 2018: Upgrades Made Easy: The Canadian Museum of History
 
How Salesforce built a Scalable, World-Class, Performance Engineering Team
How Salesforce built a Scalable, World-Class, Performance Engineering TeamHow Salesforce built a Scalable, World-Class, Performance Engineering Team
How Salesforce built a Scalable, World-Class, Performance Engineering Team
 
Why do mobile projects (still) fail - September 2014 edition
Why do mobile projects (still) fail - September 2014 editionWhy do mobile projects (still) fail - September 2014 edition
Why do mobile projects (still) fail - September 2014 edition
 
ATC2013-Thiru and Abhishek-How to prevent Agile from becoming Fragile?
ATC2013-Thiru and Abhishek-How to prevent Agile from becoming Fragile?ATC2013-Thiru and Abhishek-How to prevent Agile from becoming Fragile?
ATC2013-Thiru and Abhishek-How to prevent Agile from becoming Fragile?
 
Path Dependent Development (PyCon AU)
Path Dependent Development (PyCon AU)Path Dependent Development (PyCon AU)
Path Dependent Development (PyCon AU)
 
IFG for SAP Integration, webinar on Automated Testing
IFG for SAP Integration, webinar on Automated TestingIFG for SAP Integration, webinar on Automated Testing
IFG for SAP Integration, webinar on Automated Testing
 

More from Pavel Růžička (6)

Usable tables in HTML, VXML
Usable tables in HTML, VXMLUsable tables in HTML, VXML
Usable tables in HTML, VXML
 
Microformats
MicroformatsMicroformats
Microformats
 
Rich Internet Applications 2009 (Czech)
Rich Internet Applications 2009 (Czech)Rich Internet Applications 2009 (Czech)
Rich Internet Applications 2009 (Czech)
 
Make a shorter list by entering letters via DTMF
Make a shorter list by entering letters via DTMFMake a shorter list by entering letters via DTMF
Make a shorter list by entering letters via DTMF
 
How to enhance existing voice app with text channel
How to enhance existing voice app with text channelHow to enhance existing voice app with text channel
How to enhance existing voice app with text channel
 
Future of interface design 2010
Future of interface design 2010Future of interface design 2010
Future of interface design 2010
 

Recently uploaded

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 

Non functional requirements

  • 1. Non Functional Requirements 21.5.2010 - Pavel Růžička Product Development Department
  • 2. Knowing of non-functional requirements Helps to avoid of customers say „Y o u s h o u l d t h in g b e t t e r !“ 2 21.5.2010 - Pavel Růžička Product Development Department
  • 3. I t helps a lot if you know what is the “most critical“ non-functional requirement because this can dominate the best choice of development technique and internal design. 3 21.5.2010 - Pavel Růžička Product Development Department
  • 4. 4 21.5.2010 - Pavel Růžička Product Development Department
  • 5. Non-functional requirements are aspects • Users have implicit expectations about how well the software will work. • These characteristics include • how easy the software is to use, • how quickly it executes, • how reliable it is, • and how well it behaves when unexpected conditions arise. • The non-functional requirements define these aspects about the system. 5 21.5.2010 - Pavel Růžička Product Development Department
  • 6. Non Fuctional Requirements - General • Security • Exception Handling • Validation • Logging • Tracing / Testing • Monitoring / Reliability • Transaction • Storage • GUI Binding • Configuration 6 21.5.2010 - Pavel Růžička Product Development Department
  • 7. Non Fuctional Requirements– System / Dev • Naming conventions • Caching, Performance • Scalability • RAM usage • Thread Sync 7 21.5.2010 - Pavel Růžička Product Development Department
  • 8. Non Fuctional Requirements - Business • Time to market • Cost • Speed / Performance • Interoperability • Flexibility • Disaster recovery • Usability • Accessibility 8 21.5.2010 - Pavel Růžička Product Development Department
  • 9. How to fetch non-functional requirements? • A n t i- s t o r ie s are things the user does not want to happen, commonly for safety or security reasons. • N o way we let an I L OV E Y OU E M ail worm in our System! • U s e a c h e c k lis t  9 21.5.2010 - Pavel Růžička Product Development Department
  • 10. Security - Should access to be limited? - Is an access list necessary? - Access Control List - White List - Black List 10 21.5.2010 - Pavel Růžička Product Development Department
  • 11. Exception handling - What errors can occur on runtime? - What it should do in case of error? 11 21.5.2010 - Pavel Růžička Product Development Department
  • 12. Validation • Which input items are required? • Which of them need to be validated? • What to do if input is invalid? • How to recognize if an item is valid? (email, personal number, ZIP code...) Be aware - customer tends to change it frequently! 12 21.5.2010 - Pavel Růžička Product Development Department
  • 13. Logging • It is about loggin from the user perspective, not developer’s logging • Which events should be logged? • Which items should log contain? • Is the last operation enough or you need history? • How deep the history should be? • Where to log? (file/db/…) • Who should have access to logs? • Incremental or rotation log? • How to purge/delete logs? 13 21.5.2010 - Pavel Růžička Product Development Department
  • 14. Tracing - testing • How to test an application? • Which parts of the application should traceable? 14 21.5.2010 - Pavel Růžička Product Development Department
  • 15. Monitoring - SLA • How it will be monitored? • Are there any special monitoring rules? • Use cases will help you best: • How to watch each particular use case? • What to watch/track there? (user/action/result) 15 21.5.2010 - Pavel Růžička Product Development Department
  • 16. Transaction • Which operation is „atomic“- what must be proceeded all at once? • How to do rollback/cancel an operation? 16 21.5.2010 - Pavel Růžička Product Development Department
  • 17. Naming conventions Name of a product/service and internal naming (Windows Chicago vs. Windows 2000) • E s t a b lis h in t e r n a l n a m in g c o n v e n t io n s – it w ill h e lp y o u t o a v o id o f t r o u b le s • in c a s e o f u n c le a r p r o d u c t n a m e • in c a s e o f c h a n g e t h e p u b lic produc t na me 17 21.5.2010 - Pavel Růžička Product Development Department
  • 18. Caching, performance • Think about scalability • What to cache • What must be strictly online • Prepare fallback scenario in case of outage 18 21.5.2010 - Pavel Růžička Product Development Department
  • 19. Sources • http://en.wikipedia.org/wiki/Non-functional_requirement • http://broadcast.oreilly.com/2010/02/nonfunctional-requiremen • http://www.stellman-greene.com/2010/02/17/nonfunctional-req 19 21.5.2010 - Pavel Růžička Product Development Department