{"id":37313,"date":"2016-09-08T21:16:27","date_gmt":"2016-09-09T02:16:27","guid":{"rendered":"http:\/\/softwareengineering2.wordpress.com\/?p=118"},"modified":"2016-09-08T21:16:27","modified_gmt":"2016-09-09T02:16:27","slug":"functional-vs-non-functional-requirements","status":"publish","type":"post","link":"https:\/\/kenscourses.com\/tc1019fall2016\/syndicated\/functional-vs-non-functional-requirements\/","title":{"rendered":"Functional vs Non Functional Requirements"},"content":{"rendered":"<p>If there is any one thing any project must have in order not to be doomed to failure, is a collection of both the functional and non-functional requirements. <strong>Any project\u2019s requirements need to be well thought out, balanced and clearly understood.<\/strong><\/p>\n<p><u>A functional requirement<\/u> is that it essentially\u00a0<strong>specifies something the system should do.<\/strong><\/p>\n<p>Typically, functional requirements will specify a behavior or function, for example:<br \/>\n\u201cDisplay the name, total size, available space and format of a flash drive connected to the USB port.<\/p>\n<figure data-shortcode=\"caption\" id=\"attachment_121\" style=\"width: 225px\" class=\"wp-caption alignnone\"><img class=\"alignnone size-full wp-image-121\" src=\"https:\/\/softwareengineering2.files.wordpress.com\/2016\/09\/milk.jpg?w=775\" alt=\"A functional requirement for a milk carton would be \u201cability to contain fluid without leaking\u201d\"   \/><figcaption class=\"wp-caption-text\">A functional requirement for a milk carton would be \u201cability to contain fluid without leaking\u201d<\/figcaption><\/figure>\n<p><u>Non-functional requirement<\/u> essentially specifies\u00a0<strong>how the system should behave<\/strong>. It also specify the system\u2019s \u2018quality characteristics\u2019 or \u2018quality attributes\u2019.<\/p>\n<figure data-shortcode=\"caption\" id=\"attachment_124\" style=\"width: 300px\" class=\"wp-caption alignnone\"><img class=\"alignnone size-full wp-image-124\" src=\"https:\/\/softwareengineering2.files.wordpress.com\/2016\/09\/nonfunctional.jpg?w=775\" alt=\"A non-functional requirement for a hard hat might be \u201cmust not break under pressure of less than 10,000 PSI\u201d\"   \/><figcaption class=\"wp-caption-text\">A non-functional requirement for a hard hat might be \u201cmust not break under pressure of less than 10,000 PSI\u201d<\/figcaption><\/figure>\n<p>Non-functional requirements cover all the remaining requirements which are not covered by the functional requirements.<\/p>\n<p>Difference: non-functional requirements describe how the system works, while\u00a0functional requirements describe what the system should do.<\/p>\n<p>&nbsp;<\/p>\n<p>References:<\/p>\n<p><a href=\"http:\/\/reqtest.com\/requirements-blog\/functional-vs-non-functional-requirements\/\" rel=\"nofollow\">http:\/\/reqtest.com\/requirements-blog\/functional-vs-non-functional-requirements\/<\/a><\/p>\n<p><a href=\"http:\/\/www.studying-in-canada.org\/wp-content\/uploads\/2014\/08\/Studying-Canada-Admission-Requirements-700&#215;420.jpgl\" rel=\"nofollow\">http:\/\/www.studying-in-canada.org\/wp-content\/uploads\/2014\/08\/Studying-Canada-Admission-Requirements-700&#215;420.jpgl<\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p><br \/>  <a rel=\"nofollow\" href=\"http:\/\/feeds.wordpress.com\/1.0\/gocomments\/softwareengineering2.wordpress.com\/118\/\"><img alt=\"\" border=\"0\" src=\"http:\/\/feeds.wordpress.com\/1.0\/comments\/softwareengineering2.wordpress.com\/118\/\" \/><\/a> <img alt=\"\" border=\"0\" src=\"https:\/\/pixel.wp.com\/b.gif?host=softwareengineering2.wordpress.com&#038;blog=115163878&%23038;post=118&%23038;subd=softwareengineering2&%23038;ref=&%23038;feed=1\" width=\"1\" height=\"1\" \/>","protected":false},"excerpt":{"rendered":"<p>If there is any one thing any project must have in order not to be doomed to failure, is a collection of both the functional and non-functional requirements. Any project\u2019s requirements need to be well thought out, balanced and clearly understood. A functional requirement is that it essentially\u00a0specifies something the system should do. Typically, functional &hellip; <a href=\"https:\/\/kenscourses.com\/tc1019fall2016\/syndicated\/functional-vs-non-functional-requirements\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Functional vs Non Functional Requirements<\/span><\/a><\/p>\n","protected":false},"author":20,"featured_media":121,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5,4],"tags":[60,25],"class_list":["post-37313","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blogs","category-syndicated","tag-software-engineering","tag-tc1019"],"_links":{"self":[{"href":"https:\/\/kenscourses.com\/tc1019fall2016\/wp-json\/wp\/v2\/posts\/37313","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kenscourses.com\/tc1019fall2016\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kenscourses.com\/tc1019fall2016\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kenscourses.com\/tc1019fall2016\/wp-json\/wp\/v2\/users\/20"}],"replies":[{"embeddable":true,"href":"https:\/\/kenscourses.com\/tc1019fall2016\/wp-json\/wp\/v2\/comments?post=37313"}],"version-history":[{"count":1,"href":"https:\/\/kenscourses.com\/tc1019fall2016\/wp-json\/wp\/v2\/posts\/37313\/revisions"}],"predecessor-version":[{"id":37315,"href":"https:\/\/kenscourses.com\/tc1019fall2016\/wp-json\/wp\/v2\/posts\/37313\/revisions\/37315"}],"wp:attachment":[{"href":"https:\/\/kenscourses.com\/tc1019fall2016\/wp-json\/wp\/v2\/media?parent=37313"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kenscourses.com\/tc1019fall2016\/wp-json\/wp\/v2\/categories?post=37313"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kenscourses.com\/tc1019fall2016\/wp-json\/wp\/v2\/tags?post=37313"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}