Please enable JavaScript.
Coggle requires JavaScript to display documents.
Evaluation (Efficient use of Coding Constructs (When creating code, it is…
Evaluation
-
Usability
'Usability' describes how useable software is in regard to its intended purpose. A key feature of usability is the way that the human computer interface is designed. An easily understood and used interface makes using software a lot easier than an interface that requires some guess work by the user. Standards in usability are rising, so it is important for you to consider:
Learnability - how easy a user interface is to learn to use. A clear and consistent user interface is a lot easier to use than a hard to learn interface, and can stop users form feeling unable to use the software.
Memorability - how easy an interface is to return to after a time, while retaining a degree of operation of it. basically, whether or not a user can come back after a while and continue to use the program without having to relearn a large amount of it
Efficiency - if a user interface allows a user to perform a task in the smallest number of steps possible it is efficient. Navigation through different menus is not as efficient as one screen that has the features of each menu. The use of shortcut keys also improves efficiency for more experienced users.
Error Reporting/Handling - the process of designing an interface with easy access to help, and tutorials if necessary. Errors that are caused by the user should result in clear advice on how to proceed.
Customability - Users vary in experience and skill. They may have disabilities which make it hard to use some sizes of font or colour schemes. Being able to customise the user interface of a software package is important for users, even if its just for personal taste rather than a disability.
Fitness for Purpose
-
Whether or not software meets its original purpose and functional requirements could also be used to decide if a program is fit for purpose.
-
If software is not fit for purpose, you will have to revisit previous phases of the development process, refining the solution until it is fit for purpose and meets the specification agreed upon with the client at the analysis phase.
Robustness
Software is robust if it can deal with incorrect or unexpected input. Programs may encounter this type of data due to user error, or simply because they may receive unexpected data from an external file.
Input validation algorithms should include clear error messages so that users are able to understand what they need to do to enter acceptable data.
If accepting data from within a range, it is important to test normal, exceptional and extreme data.
When testing exceptional data, it is good to get into the habit of testing the values just outside the acceptable range, as programs that are not robust may accept data just outside the extremes.
Usability Testing
Usability testing is the process of testing software to measure how usable it is. A target group of users are often asked to perform a series of tasks under controlled conditions.
A list of tasks will be given to the test group and information such as the amount of time taken to navigate to a certain page will be recorded. Test users will also take a survey or questionnaire to provide feedback to the design team.
To identify a design's most important usability problems, testing five users is typically enough, often in a one to one setting. It is a more efficient use of resources to run many small tests and revise the design between each one so that usability flaws can be fixed as they are identified.
Maintainability
When you write code, you should use meaningful identifiers, indentation and internal commentary. This allows software to be easily updated or maintained at a later date. Software should be easily understood by another programmer for it to be maintainable
This is very important as you may not be working on the same code for a long period of time, or another programmer who has never seen your code before may be working on it.
If code is not readable, clear and formatted properly this would not be maintainable code.
Efficiency
'Efficiency' is used to refer to how much strain a program places upon the RAM or processor, as only using the RAM or processor leads to efficient use of system resources.
Sometimes, however, at higher level, efficiency can also be used to refer to how long it took a programmer to write the code for the program