5-+Implementation+of+Software+Solutions

= **Implementation for software solutions.** =

In the implementation phase of the software development cycle, previously developed algorithms are converted to a form that can be processed by a computer. Students will need to learn the syntax of the language, macro or script being used, to successfully implement their solutions. The translation method being used should be recognised, particularly in the case of code. Students will need to recognise the approach being used (that is, sequential or event-driven) and will need to make appropriate decisions about the design of interfaces and the documentation produced. Relevant social and ethical issues should be considered during this implementation process.


 * **Students learn about:** || **Students learn to:** ||
 * **Interface design in software solutions**

• the design of individual screens, including: – identification of data required – current popular approaches – design of help screens – audience identification – consistency in approach


 * Language syntax required for software solutions**

• use of BNF, EBNF and railroad diagrams to describe the syntax of new statements in the chosen language • commands incorporating the definition and use of: – multi-dimensional arrays – arrays of records – files (sequential and relative/random) – random number generators


 * The role of the CPU in the operation of software**

• machine code and CPU operation – instruction format – use of registers and accumulators – use of program counter and fetch-execute cycle – addresses of called routines – linking, including use of DLL’s


 * Translation methods in software solutions**

• different methods include: – compilation – incremental compilation – interpretation • the translation process • advantages and disadvantages of each method || • select either a sequential or event-driven approach and an appropriate language to effectively solve the problem • design and evaluate effective screens for software solutions • utilise the correct syntax for new commands using the metalanguage specification • produce syntactically correct statements • implement a solution utilising a complex algorithm • recognise and interpret machine code instructions • choose the most appropriate translation method for a given situation • utilise the features of both a compiler and an interpreter in the implementation of a software solution ||

• structured approach to a complex solution, including: – one logical task per subroutine – stubs – flags – isolation of errors – debugging output statements – elegance of solution – writing for subsequent maintenance • the process of detecting and correcting errors, including: – syntax errors – logic errors – peer checking – desk checking – use of expected output – run time errors, including: - arithmetic overflow - division by zero - accessing inappropriate memory locations • the use of software debugging tools, including: – use of breakpoints – resetting variable contents – program traces – single line stepping
 * **Students learn about:** || **Students learn to:** ||
 * **Program development techniques in software solutions**

• forms of documentation, including: – process diary – user documentation – self-documentation of the code – technical documentation, including source code, algorithms, data dictionary and systems documentation – documentation for subsequent maintenance of the code • use of application software to assist in the documentation process – use of CASE tools || • justify the use of a clear modular structure with separate routines to ease the design and debugging process • use drivers to test specific modules, before the rest of the code is developed • differentiate between the different types of errors encountered during the testing phase • recognise the cause of a specific error and determine how to correct it • effectively use a variety of appropriate error correction techniques to locate the cause of a logic error and then correct it
 * Documentation of a software solution**

• produce user documentation (utilising screen dumps) that includes: – a user manual (topics presented in order of difficulty) – a reference manual (all commands in alphabetic order) – an installation guide – a tutorial to introduce new users to the software • identify the personnel who would be likely to use the different types of documentation ||

Attached is a summary of the chapter.

media type="custom" key="9787226"

Each one of you need to find and insert a related question with the suggested solution.
 * = **Your Name** ||= **HSC Year the Question**
 * was published** ||= **Question** ||= **The Suggested Solution** ||
 * John S ||  ||   ||   ||
 * Joseph T ||  ||   ||   ||
 * Robinson L ||  ||   ||   ||
 * Victor W ||  ||   ||   ||
 * Brendan B ||  ||   ||   ||
 * Peter T ||  ||   ||   ||
 * Jessie A ||  ||   ||   ||
 * Andre G ||  ||   ||   ||
 * Kyle M ||  ||   ||   ||
 * Matthew A ||  ||   ||   ||
 * John T ||  ||   ||   ||
 * Thomas B ||  ||   ||   ||