{"id":8,"date":"2022-05-16T18:14:44","date_gmt":"2022-05-16T17:14:44","guid":{"rendered":"https:\/\/blogs.glowscotland.org.uk\/glowblogs\/phshighercomputingscience\/?page_id=8"},"modified":"2022-11-22T09:33:04","modified_gmt":"2022-11-22T09:33:04","slug":"software-design-development","status":"publish","type":"page","link":"https:\/\/blogs.glowscotland.org.uk\/glowblogs\/phshighercomputingscience\/software-design-development\/","title":{"rendered":"Software Design Development"},"content":{"rendered":"<h2><span style=\"color: #ff0000\">Development methodologies<\/span><\/h2>\n<p>Describe and compare the development methodologies:<\/p>\n<ul>\n<li>\u00a0iterative development process<\/li>\n<li>\u00a0agile methodologies<\/li>\n<\/ul>\n<h2><span style=\"color: #ff0000\">Analysis<\/span><\/h2>\n<ul>\n<li>Identify the:<\/li>\n<li>purpose<\/li>\n<li>\u00a0scope<\/li>\n<li>boundaries<\/li>\n<li>\u00a0functional requirements<\/li>\n<\/ul>\n<p>of a problem that relates to the design and implementation at this level, in terms of:<\/p>\n<ul>\n<li>\u00a0inputs<\/li>\n<li>\u00a0processes<\/li>\n<li>\u00a0outputs<\/li>\n<\/ul>\n<h2><span style=\"color: #ff0000\">Design<\/span><\/h2>\n<p>Identify the data types and structures required for a problem that relates to the implementation at this level.<\/p>\n<p>Read and understand designs of solutions to problems at this level, using the following design techniques:<\/p>\n<ul>\n<li>\u00a0structure diagrams<\/li>\n<li>pseudocode<\/li>\n<\/ul>\n<p>Illustrate and implement efficient design solutions to a problem, using a recognised design technique showing:<\/p>\n<ul>\n<li>top level design<\/li>\n<li>the data flow<\/li>\n<li>refinements<\/li>\n<\/ul>\n<p>Describe, illustrate,\u00a0and implement user-interface design, in terms of input and output, using a wireframe.<\/p>\n<h2><span style=\"color: #000000\">Implementation <\/span><\/h2>\n<h2><span style=\"color: #ff0000\">Data types and Structures<\/span><\/h2>\n<p>Describe, illustrate and implement appropriately the following structures:<\/p>\n<ul>\n<li>parallel 1D arrays<\/li>\n<li>records<\/li>\n<li>arrays of records<\/li>\n<\/ul>\n<h2><span style=\"color: #ff0000\">Computational Constructs<\/span><\/h2>\n<p>Describe, illustrate, and implement the appropriate constructs in a procedural high-level (textual) language:<\/p>\n<ul>\n<li>parameter passing (formal and actual)<\/li>\n<li>the scope of local and global variables<\/li>\n<li>sub-programs\/routines, defined by their name and arguments (inputs and outputs):\n<ul>\n<li>functions<\/li>\n<li>procedures<\/li>\n<\/ul>\n<\/li>\n<li>pre-defined functions (with parameters) to:\n<ul>\n<li>create substrings<\/li>\n<li>convert from character to ASCII and vice versa<\/li>\n<li>modulus<\/li>\n<li>convert floating-point numbers to integers<\/li>\n<\/ul>\n<\/li>\n<li>\u00a0file handling\n<ul>\n<li>sequential CSV and txt files (open, create, read, write, close)<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2><span style=\"color: #ff0000\">Standard Algorithm\u00a0<\/span><\/h2>\n<p>Describe, illustrate, and implement standard algorithms using 1D arrays or arrays of records:<\/p>\n<ul>\n<li>linear search<\/li>\n<li>find minimum and maximum<\/li>\n<li>count occurrences<\/li>\n<\/ul>\n<h2><span style=\"color: #ff0000\">Testing<\/span><\/h2>\n<p>Describe, illustrate and implement a comprehensive final test plan to show that the functional requirements are met.<\/p>\n<p>Identify syntax, execution, and logic errors at this level. Describe and illustrate de-bugging techniques:<\/p>\n<h2><span style=\"color: #ff0000\">Evaluation<\/span><\/h2>\n<ul>\n<li>dry runs<\/li>\n<li>trace tables\/tools<\/li>\n<li>\u00a0breakpoints<\/li>\n<li>watchpoints<\/li>\n<\/ul>\n<p>Describe, identify, and illustrate the evaluation of a solution in terms of:<\/p>\n<ul>\n<li>fitness for purpose<\/li>\n<li>efficient use of coding constructs<\/li>\n<li>usability<\/li>\n<li>maintainability<\/li>\n<li>robustness<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Development methodologies Describe and compare the development methodologies: \u00a0iterative development process \u00a0agile methodologies Analysis Identify the: purpose \u00a0scope boundaries \u00a0functional requirements of a problem that relates to the design and implementation at this level, in terms of: \u00a0inputs \u00a0processes \u00a0outputs Design Identify the data types and structures required for a problem that relates to the [&hellip;]<\/p>\n","protected":false},"author":79984,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-8","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/blogs.glowscotland.org.uk\/glowblogs\/phshighercomputingscience\/wp-json\/wp\/v2\/pages\/8","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.glowscotland.org.uk\/glowblogs\/phshighercomputingscience\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/blogs.glowscotland.org.uk\/glowblogs\/phshighercomputingscience\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.glowscotland.org.uk\/glowblogs\/phshighercomputingscience\/wp-json\/wp\/v2\/users\/79984"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.glowscotland.org.uk\/glowblogs\/phshighercomputingscience\/wp-json\/wp\/v2\/comments?post=8"}],"version-history":[{"count":4,"href":"https:\/\/blogs.glowscotland.org.uk\/glowblogs\/phshighercomputingscience\/wp-json\/wp\/v2\/pages\/8\/revisions"}],"predecessor-version":[{"id":342,"href":"https:\/\/blogs.glowscotland.org.uk\/glowblogs\/phshighercomputingscience\/wp-json\/wp\/v2\/pages\/8\/revisions\/342"}],"wp:attachment":[{"href":"https:\/\/blogs.glowscotland.org.uk\/glowblogs\/phshighercomputingscience\/wp-json\/wp\/v2\/media?parent=8"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}