{"id":373,"date":"2019-06-07T12:47:02","date_gmt":"2019-06-07T12:47:02","guid":{"rendered":"http:\/\/fip.r-a-w.org\/?p=373"},"modified":"2019-06-04T12:53:31","modified_gmt":"2019-06-04T12:53:31","slug":"kup-assessments-development-process","status":"publish","type":"post","link":"https:\/\/fip.r-a-w.org\/?p=373","title":{"rendered":"KUP Assessments &#8211; Development Process"},"content":{"rendered":"\n<p>Development will follow TDD type process from validated\nrequirements. The process will be as follows: \n<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>\nValid Requirements using the following criteria: \n\t\n<\/li><\/ul>\n\n\n\n<table class=\"wp-block-table has-fixed-layout\"><tbody><tr><td>\n\t\t\t<strong>Criterion<\/strong>\n\t\t<\/td><td>\n\t\t\t<strong>Description<\/strong>\n\t\t<\/td><\/tr><tr><td>\n\t\t\tNecessary\n\t\t<\/td><td>\n\t\t\tCan\n\t\t\tthe system meet prioritized, real\n\t\t\tneeds\n\t\t\twithout it? If yes, the requirement\n\t\t\tisn\u2019t\n\t\t\tnecessary.\n\t\t<\/td><\/tr><tr><td>\n\t\t\tVerifiable\n\t\t<\/td><td>\n\t\t\tCan\n\t\t\tone ensure that the requirement is\n\t\t\tmet\n\t\t\tin the system? If not, the requirement\n\t\t\tshould\n\t\t\tbe removed or revised. Note: The\n\t\t\tverification\n\t\t\tmethod and level at which the\n\t\t\trequirement\n\t\t\tcan be verified should be\n\t\t\tdetermined\n\t\t\texplicitly as part of the development\n\t\t\tfor\n\t\t\teach of the requirements. (The\n\t\t\tverification\n\t\t\tlevel is the location in the\n\t\t\tsystem\n\t\t\twhere the requirement is met (for\n\t\t\texample,\n\t\t\tthe \u201csystem level,\u201d the \u201csegment\n\t\t\tlevel,\u201d\n\t\t\tand the \u201csubsystem level).1\n\t\t<\/td><\/tr><tr><td>\n\t\t\tAttainable\n\t\t<\/td><td>\n\t\t\tCan\n\t\t\tthe requirement be met in the system under development?\n\t\t<\/td><\/tr><tr><td>\n\t\t\tUnambiguous\n\t\t<\/td><td>\n\t\t\tCan\n\t\t\tthe requirement be interpreted in\n\t\t\tmore\n\t\t\tthan one way? If yes, the requirement\n\t\t\tshould\n\t\t\tbe clarified or removed. Ambiguous or poorly worded writing can\n\t\t\tlead to serious misunderstandings and needless rework. Note:\n\t\t\tSpecifications\n\t\t\tshould\n\t\t\tinclude a list of acronyms and a\n\t\t\tglossary\n\t\t\tof terms to improve clarity.\n\t\t<\/td><\/tr><tr><td>\n\t\t\tComplete\n\t\t<\/td><td>\n\t\t\tAre\n\t\t\tall conditions under which the\n\t\t\trequirement\n\t\t\tapplies stated? Also, does\n\t\t\tthe\n\t\t\tspecification document all known\n\t\t\trequirements?\n\t\t\t(Requirements are typically\n\t\t\tclassified\n\t\t\tas functional, performance,\n\t\t\tinterface,\n\t\t\tconstraints, and environment.)\n\t\t<\/td><\/tr><tr><td>\n\t\t\tConsistent\n\t\t<\/td><td>\n\t\t\tCan\n\t\t\tthe requirement be met without\n\t\t\tconflicting\n\t\t\twith all other requirements? If\n\t\t\tnot,\n\t\t\tthe requirement should be revised or\n\t\t\tremoved.\n\t\t<\/td><\/tr><tr><td>\n\t\t\tTraceable\n\t\t<\/td><td>\n\t\t\tIs\n\t\t\tthe origin (source) of the requirement\n\t\t\tknown,\n\t\t\tand can the requirement be referenced\n\t\t\t(located)\n\t\t\tthroughout the system?\n\t\t\tThe\n\t\t\tautomated requirements tool should\n\t\t\tenable\n\t\t\tfinding the location in the system\n\t\t\twhere\n\t\t\teach requirement is met.\n\t\t<\/td><\/tr><tr><td>\n\t\t\tAllocated\n\t\t<\/td><td>\n\t\t\tCan\n\t\t\tthe requirement be allocated to an\n\t\t\telement\n\t\t\tof the system design where it can\n\t\t\tbe\n\t\t\timplemented? If not, the requirement\n\t\t\tneeds\n\t\t\tto be revised or eliminated.2\n\t\t<\/td><\/tr><tr><td>\n\t\t\tConcise\n\t\t<\/td><td>\n\t\t\tIs\n\t\t\tthe requirement stated simply and\n\t\t\tclearly?\n\t\t<\/td><\/tr><tr><td>\n\t\t\tImplementation\n\t\t\tfree\n\t\t<\/td><td>\n\t\t\tThe\n\t\t\trequirement should state what must\n\t\t\tbe\n\t\t\tdone without indicating how. The\n\t\t\ttreatment\n\t\t\tof interface requirements is\n\t\t\tgenerally\n\t\t\tan exception.\n\t\t<\/td><\/tr><tr><td>\n\t\t\tStandard\n\t\t\tconstructs\n\t\t<\/td><td>\n\t\t\tRequirements\n\t\t\tare stated as imperative\n\t\t\tneeds\n\t\t\tusing \u201cshall.\u201d Statements indicating\n\t\t\t\u201cgoals\u201d\n\t\t\tor using the word \u201cwill\u201d are not\n\t\t\timperatives.\n\t\t<\/td><\/tr><tr><td>\n\t\t\tUnique\n\t\t\tidentifier\n\t\t<\/td><td>\n\t\t\tEach\n\t\t\trequirement should have a unique\n\t\t\tidentifying\n\t\t\tnumber that assists in identification,\n\t\t\tmaintaining\n\t\t\tchange history, and\n\t\t\tproviding\n\t\t\ttraceability.\n\t\t<\/td><\/tr><\/tbody><\/table>\n\n\n\n<ul class=\"wp-block-list\"><li> Create the basic structure using SOLID and other design prinicples. Additionally since this project intended to be a resetful service initial URL endpoints shall be suggested and then refinded inline with changes to system structure. <\/li><li> From this create the tests from the verification sections when validating the requirements above. <\/li><li> Write test and implement using the RGR cycle  <\/li><li> Write a failing test (Red)  <\/li><li> Write the code so the test passes.  <\/li><li> Re-factor your code, improve, document  <ul><li> Check Structure, remove complexity  <\/li><li> Legibility \u2013 e.g Method Extraction  <\/li><li> Check for Anti-patterns  <\/li><li> Check for coupling  <\/li><li> No local variables  <\/li><li> Methods should not be more than 10 lines of code.  <\/li><li> Where applicable use dependency injection   <\/li><\/ul><\/li><li> Cycles should not be longer than 5 minutes or ten lines of code.  <\/li><\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Development will follow TDD type process from validated requirements. The process will be as follows: Valid Requirements using the following criteria: Criterion Description Necessary Can the system meet prioritized, real needs without it? If yes, the requirement isn\u2019t necessary. Verifiable Can one ensure that the requirement is met in the system? If not, the requirement &hellip; <a href=\"https:\/\/fip.r-a-w.org\/?p=373\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">KUP Assessments &#8211; Development Process<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":366,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[2,5],"tags":[],"class_list":["post-373","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-decisions","category-project"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/fip.r-a-w.org\/wp-content\/uploads\/2019\/06\/KUPassessmentLogoDEcorated4-6-19.png?fit=1189%2C599&ssl=1","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p9NvWe-61","jetpack_likes_enabled":true,"jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/fip.r-a-w.org\/index.php?rest_route=\/wp\/v2\/posts\/373","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fip.r-a-w.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fip.r-a-w.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fip.r-a-w.org\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/fip.r-a-w.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=373"}],"version-history":[{"count":2,"href":"https:\/\/fip.r-a-w.org\/index.php?rest_route=\/wp\/v2\/posts\/373\/revisions"}],"predecessor-version":[{"id":441,"href":"https:\/\/fip.r-a-w.org\/index.php?rest_route=\/wp\/v2\/posts\/373\/revisions\/441"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/fip.r-a-w.org\/index.php?rest_route=\/wp\/v2\/media\/366"}],"wp:attachment":[{"href":"https:\/\/fip.r-a-w.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=373"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fip.r-a-w.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=373"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fip.r-a-w.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=373"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}