{"id":1019,"date":"2012-04-11T17:53:57","date_gmt":"2012-04-11T16:53:57","guid":{"rendered":"http:\/\/dpscomputing.com\/wordpress\/?p=1019"},"modified":"2012-04-11T17:53:57","modified_gmt":"2012-04-11T16:53:57","slug":"application-design-waterfall-model","status":"publish","type":"post","link":"https:\/\/www.dpscomputing.com\/blog\/2012\/04\/11\/application-design-waterfall-model\/","title":{"rendered":"Application Design &#8211; Waterfall Model"},"content":{"rendered":"<p>The Waterfall model of computer application design has been around for a long time. \u00a0It has been typically favoured in the past compared with other design models &#8211; and to some extent still is today.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"1020\" data-permalink=\"https:\/\/www.dpscomputing.com\/blog\/2012\/04\/11\/application-design-waterfall-model\/waterfallmodel\/\" data-orig-file=\"https:\/\/www.dpscomputing.com\/blog\/wp-content\/uploads\/2012\/04\/waterfallmodel.png\" data-orig-size=\"350,263\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"Waterfall Model\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/www.dpscomputing.com\/blog\/wp-content\/uploads\/2012\/04\/waterfallmodel-300x225.png\" data-large-file=\"https:\/\/www.dpscomputing.com\/blog\/wp-content\/uploads\/2012\/04\/waterfallmodel.png\" tabindex=\"0\" role=\"button\" class=\"alignright size-medium wp-image-1020\" title=\"Waterfall Model\" src=\"http:\/\/dpscomputing.com\/wordpress\/wp-content\/uploads\/2012\/04\/waterfallmodel-300x225.png\" alt=\"Waterfall Model\" width=\"300\" height=\"225\" srcset=\"https:\/\/www.dpscomputing.com\/blog\/wp-content\/uploads\/2012\/04\/waterfallmodel-300x225.png 300w, https:\/\/www.dpscomputing.com\/blog\/wp-content\/uploads\/2012\/04\/waterfallmodel-150x112.png 150w, https:\/\/www.dpscomputing.com\/blog\/wp-content\/uploads\/2012\/04\/waterfallmodel.png 350w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>The Waterfall model involves exactly one iteration of the design process. \u00a0Usually there is a requirements phase, a design phase, an<\/p>\n<p>implementation phase, a verification phase and a maintenance phase.<\/p>\n<p>During the requirements phase the actual requirements of the final system are defined. \u00a0This is formed in conjunction by the person or organisation commissioning the project &#8211; basically the customer. \u00a0During this stage you have to be careful with how you treat the customers input. \u00a0Remember, as strange as it sounds, <span style=\"text-decoration: underline;\">the customer may not actually know what they want!<\/span>\u00a0 Now<\/p>\n<p>this can sound strange, but keep it in mind. \u00a0Unless suitably qualified, the customer may suggest certain implementations that are not possible, not efficient or simply won&#8217;t work. \u00a0However, it is important to consider the customers input carefully so that you end up producing a system that the customer is both happy with and can use for its intended purpose.<\/p>\n<p>The design phase involves designing the actual application. \u00a0Usually during this stage, storyboards will be developed, the user interface will be mapped out and exactly what is in the system will be defined &#8211; as well as how the functionality in the system will work. \u00a0During the design phase it is often good to consult and show the customer your designs so that their initial ideas that they expressed during the requirements phase are fully understood and that the customer sees the designs evolving in the way in which the originally intended. \u00a0It is important to catch important misunderstandings at this stage &#8211; if found out a later stage they can be very detrimental to the project &#8211; and in some cases cause the whole project to fail.<\/p>\n<p>The implementation phase is where the designs are put into practice. \u00a0This involves the design of the multimedia elements of the system as well as the programming code for the final system. \u00a0As much as possible the implementation should fully represent the original designs. \u00a0With the Waterfall model, there is little room for manoeuvre and there is no redesign stage &#8211; you must stick to the original design!<\/p>\n<p>The verification stage is the final development process phase which would include the testing phase. \u00a0The testing may include many different types of testing including functionality and user interface testing. \u00a0During this stage there may also be an evaluation stage which reports on the project and can include the input of the customer based on the product that you have developed.<\/p>\n<p>The maintenance stage is a post development process phase which can continue for a very long time depending on the software. \u00a0This phase involves providing routine maintenance and possibly additions to the system as necessary. \u00a0It<\/p>\n<p>also can include making patches for the software to rectify errors. \u00a0Equally it can include patches to improve security or make improvements based on technological developments since the implementation of the original software.<\/p>\n<p>Overall, the Waterfall method is very inflexible. \u00a0Mistakes in the design, unless rectified at the time, become mistakes of the final system. \u00a0The use of the Waterfall method can also cause unnecessary delay on at any stage, as the designers and developers are aware that once that stage has passed, it has passed &#8211; there is no going back to it. \u00a0The Waterfall method is a traditional method of application development &#8211; and is still relatively popular. \u00a0However, companies are now embracing alternatives such as iterative design, which, although it can be more volatile, can lead to much better results for the final application.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The Waterfall model of computer application design has been around for a long time. \u00a0It has been typically favoured in the past compared with other design models &#8211; and to some extent still is&#46;&#46;&#46;<\/p>\n","protected":false},"author":1,"featured_media":0,"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":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false},"version":2}},"categories":[55],"tags":[348,339,349,350],"class_list":["post-1019","post","type-post","status-publish","format-standard","hentry","category-articles","tag-application-design","tag-application-development","tag-waterfall-method","tag-waterfall-model"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p3nsfA-gr","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/www.dpscomputing.com\/blog\/wp-json\/wp\/v2\/posts\/1019","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dpscomputing.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dpscomputing.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dpscomputing.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dpscomputing.com\/blog\/wp-json\/wp\/v2\/comments?post=1019"}],"version-history":[{"count":2,"href":"https:\/\/www.dpscomputing.com\/blog\/wp-json\/wp\/v2\/posts\/1019\/revisions"}],"predecessor-version":[{"id":1022,"href":"https:\/\/www.dpscomputing.com\/blog\/wp-json\/wp\/v2\/posts\/1019\/revisions\/1022"}],"wp:attachment":[{"href":"https:\/\/www.dpscomputing.com\/blog\/wp-json\/wp\/v2\/media?parent=1019"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dpscomputing.com\/blog\/wp-json\/wp\/v2\/categories?post=1019"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dpscomputing.com\/blog\/wp-json\/wp\/v2\/tags?post=1019"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}