Software is deemed fit for purpose if it meets the requirements determined at the analysis phase.
The original purpose and functional requirements can be used to decide if a program is fit for purpose.
It is often necessary to look at test table data to ensure the software is working as expected.
If software is not fit for purpose, it will be necessary to revisit previous phases of the development process, refining the solution until it is fit for purpose and meets the specification agreed upon at the analysis phase.
At this level, it is important to consider the following when creating code:
If the answer to all of the above is yes, then the programmer has created software that makes efficient use of constructs.
If the answer is no, then the programmer should be encouraged to go back to previous phases of development to make more efficient use of coding constructs.
The term efficiency is usually used to refer to the demands that code places on RAM or the processor. Only using RAM and the processor when necessary leads to efficient use of system resources.
However, at Higher level it is also important to take account of how long it takes to create code. Sometimes it may be possible to make more efficient use of programmer time without impacting on efficiency as it relates to RAM or the processor.