SlideShare a Scribd company logo
1 of 29
Evaluation
What is evaluation?
The British Computer Society define evaluation as:
“An objective review of what has been achieved to establish whether it meets the
required criteria. The evaluation might also look at the wider context, the user
needs and whether there are any undesirable consequences introduced into the
solution.”
Burdett, Arnold. BCS Glossary of Computing (Kindle Locations 999-1001). BCS Learning &
Development Limited. Kindle Edition.
What criteria will we use to evaluate?
❏ Fitness for purpose
❏ Efficient use of coding constructs
❏ Usability
❏ Maintainability
❏ Robustness
Fitness for Purpose
Fitness for purpose is establishing whether or not your software fulfills all the
requirements detailed in the specification
Any omissions or issues should be described here.
For example:
❏ Optional requirements
❏ Any requirement that is met but there is perhaps a concern.issue or it is “just met”
Efficiency
Efficiency can be defined as:
“achieving maximum productivity with minimum wasted effort or expense”
Just because all functional requirements have been met does not that it has been done
in the most efficient manner
This does meet the requirement but...
Is it the most efficient solution?
http://i.dailymail.co.uk/i/pix/2012/03/14/article-2114836-122979B3000005DC-328_634x411.jpg
Efficient use of coding constructs
This aspect of evaluation looks at whether the most appropriate programming
constructs or data types have been used:
❏ Suitable Data Types
❏ Conditional or Fixed Loops
❏ Arrays
❏ Nested Selection Statements
❏ Procedures/functions with parameter passing
Efficiency does not always mean speed of execution - it could be memory footprint or
limiting access to files/databases
Suitable Data Types and Structures
❏ Have you used appropriate variable types
❏ Certain functions can only be carried out on certain variable types - such as
concatenation on strings
❏ Have you used arrays/records suitably?
❏ Arrays may not be faster at execution but with regards to memory size they
can make code more compact
Fixed and Conditional Loops
❏ Where possible have you used a loop?
❏ A loop may not always be faster for a small number of iterations but over
larger iterations would be more efficient
If you are using a fixed loop - is that the most efficient option?
❏ What if you are searching through a list of 100,000 items and you have found an
item
❏ A conditional loop could be more efficient as you could use logic to halt the
loop from running unnecessarily, preventing needless iterations
Nested Selection Statements
Consider the following code:
IF mark < 50 THEN
SET grade TO D
END IF
IF mark>=50 AND mark<=59 THEN
SET grade TO C
END IF
IF mark>=60 AND mark<=69 THEN
SET grade TO B
END IF
IF mark>=70 THEN
SET grade TO A END IF
This condition is always checked
This condition is always checked
This condition is always checked
This condition is always checked
Nested Selection Statements
We can use nested selection statements to (potentially) limit the amount of comparisons:
IF mark>=70 THEN
SET grade=A
ELSE
IF mark>=60 THEN
SET grade=B
ELSE IF mark>=50 THEN
SET grade=C
ELSE
SET grade=D END IF
END IF
END IF
This condition is always checked
Only checked if grade A condition
wasn’t met
Only checked if grade B condition wasn’t met
Only assigned if grade C wasn’t met
Modularity and Parameter Passing
Modularity should allow you to reuse functions such as if you have written a FindMin
subroutine which returns the lowest value in a list
def FindMin(arrayname):
min = 0
for counter in range(len(arrayname)):
if arrayname[counter] < arrayname[minposition]:
min = arrayname[minposition]
return min
Modularity (cont)
Then we can re-use this function within a program more than once by calling it with
different parameters
Minvalue = FindMin(array1)
Minvalue2 = FindMin(array2)
But what about the usability
You can have a functioning product but if it is not usable then it isn't really very useful
❏ You need to test and evaluate the usability of your product
You can ask participants to perform specific or routine tasks using your product
❏ Such as installing the product
❏ Saving a file etc.
Then the important factor is the observation of the user under controlled conditions
and the feedback that is given
What info can you collect to evaluate?
There are multiple measures that can be measured to evaluate the experience of a user
❏ Successful Task Rate
❏ Critical/Non Critical Errors
❏ Error Free Rate
❏ Task Times
❏ Subjective ratings or Likes/Dislikes and recommendations
❏ Eye Tracking Data
Source
www.usability.gov.uk/how-to-and-tools/methods/planning-usability-testing.html
Think Aloud Protocol
Think Aloud Protocol is when a user will be invited to think out loud whilst using a
product.
They will say what they are thinking and try to describe their thought processes whilst
using a piece of software
❏ This can provide instant feedback
❏ Direct Observation
❏ There is chances for an observer to assist users
❏ Can be instant after task dialogue
Doesn’t even have to work yet
Usability testing can even be conducted at the design stage using wireframe models.
It would usually be conducted using a high fidelity wireframe
Usability - General User Interface
The User interface is the primary means by which the user will interact with your
software.
It has to be intuitive and user friendly - the user experience (UX design is becoming of
increasing importance) is as crucial as the functionality
You are expected to be able to identify features of software that enhance the
usability for the user
Visual Layout
Is it eye catching?
First impressions count!
White Space
Too much, too little?
Location of individual elements
Can everything be seen clearly?
Consider the age and ability
Navigation
How can the user navigate around the product or website
1. Breadcrumbs
2. Menus/Sub Menus
3. Return to home page
4. Home Page
5. Favourites/Bookmarks
Navigation
Menu’s and sub-menus
Is there a way to navigate back to the home page
The ‘3 click rule’
Navigation (cont.)
If it’s a multimedia product/web page are there buttons to navigate:
Forward/Back
Home
Are there scroll Bars?
Vertical/Horizontal
Is there a history of pages/sections viewed.
Breadcrumbs
Use of breadcrumbs
These allow the user to navigate their way back up the tree structure
Allows the user to click on
the previous pages
Usability - prompts
There will be times when the user is prompted to provide ( or be given) information
Are these prompts particualrly useful?
Usability - Layout
Is it eye catching?
First impressions count!
White Space
Too much, too little?
Location of individual elements
Can everything be seen clearly?
Consider the age and ability
Usability - Help Provided
Are you providing any help screens/informative messages
Even context sensitive help such as what type of input is expected can be helpful
There may even be accompanying websites/email address to ask for support
Maintainability
How readable is your code?
Meaningful variable names/identifiers assist you (and other developers) to identify
the function of programs.
Indentation and the use of white space are also extremely useful
❏ Remember that Python uses indentation instead of delimiters such as { } or ( ) and
end if/next loop etc
Robustness
A piece of software is robust if it can deal with exceptional or incorrect data or unusual
situations
You cannot deal with every possible scenario but you should aim to test those that may
happen - even if you cannot deal with them as yet
Summary
Your evaluation should:
❏ Identify any discrepancies between the software specification and the completed
software
❏ Identify where you’re coding has been efficient
❏ Identify features of your software that have enhanced the usability for the user
❏ Describe the features in your code that helps with the maintainability of the
software
❏ Reflect and comment on the testing that was undertaken to meet the specification
and demonstrate the robustness of your software.

More Related Content

What's hot

AVB201.2 Microsoft Access VBA Module 2
AVB201.2 Microsoft Access VBA Module 2AVB201.2 Microsoft Access VBA Module 2
AVB201.2 Microsoft Access VBA Module 2Dan D'Urso
 
AVB201.1 MS Access VBA Module 1
AVB201.1 MS Access VBA Module 1AVB201.1 MS Access VBA Module 1
AVB201.1 MS Access VBA Module 1guest38bf
 
Expressive Testing ...and your Code For Free?
Expressive Testing ...and your Code For Free?Expressive Testing ...and your Code For Free?
Expressive Testing ...and your Code For Free?ESUG
 
Boundary value analysis and equivalence partitioning
Boundary value analysis and equivalence partitioningBoundary value analysis and equivalence partitioning
Boundary value analysis and equivalence partitioningSneha Singh
 
PATTERNS05 - Guidelines for Choosing a Design Pattern
PATTERNS05 - Guidelines for Choosing a Design PatternPATTERNS05 - Guidelines for Choosing a Design Pattern
PATTERNS05 - Guidelines for Choosing a Design PatternMichael Heron
 
How I Learned To Apply Design Patterns
How I Learned To Apply Design PatternsHow I Learned To Apply Design Patterns
How I Learned To Apply Design PatternsAndy Maleh
 
RecSys 2016 Talk: Feature Selection For Human Recommenders
RecSys 2016 Talk: Feature Selection For Human RecommendersRecSys 2016 Talk: Feature Selection For Human Recommenders
RecSys 2016 Talk: Feature Selection For Human RecommendersKatherine Livins
 
Real Life Unit Testing
Real Life Unit TestingReal Life Unit Testing
Real Life Unit TestingDror Helper
 

What's hot (11)

AVB201.2 Microsoft Access VBA Module 2
AVB201.2 Microsoft Access VBA Module 2AVB201.2 Microsoft Access VBA Module 2
AVB201.2 Microsoft Access VBA Module 2
 
TURF Analysis
TURF Analysis TURF Analysis
TURF Analysis
 
AVB201.1 MS Access VBA Module 1
AVB201.1 MS Access VBA Module 1AVB201.1 MS Access VBA Module 1
AVB201.1 MS Access VBA Module 1
 
Expressive Testing ...and your Code For Free?
Expressive Testing ...and your Code For Free?Expressive Testing ...and your Code For Free?
Expressive Testing ...and your Code For Free?
 
Boundary value analysis and equivalence partitioning
Boundary value analysis and equivalence partitioningBoundary value analysis and equivalence partitioning
Boundary value analysis and equivalence partitioning
 
PATTERNS05 - Guidelines for Choosing a Design Pattern
PATTERNS05 - Guidelines for Choosing a Design PatternPATTERNS05 - Guidelines for Choosing a Design Pattern
PATTERNS05 - Guidelines for Choosing a Design Pattern
 
How I Learned To Apply Design Patterns
How I Learned To Apply Design PatternsHow I Learned To Apply Design Patterns
How I Learned To Apply Design Patterns
 
Debbuging
DebbugingDebbuging
Debbuging
 
Testing techniques
Testing techniquesTesting techniques
Testing techniques
 
RecSys 2016 Talk: Feature Selection For Human Recommenders
RecSys 2016 Talk: Feature Selection For Human RecommendersRecSys 2016 Talk: Feature Selection For Human Recommenders
RecSys 2016 Talk: Feature Selection For Human Recommenders
 
Real Life Unit Testing
Real Life Unit TestingReal Life Unit Testing
Real Life Unit Testing
 

Similar to Evaluation

The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web TestingThe Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web TestingPerfecto by Perforce
 
Testing 2 - Thinking Like A Tester
Testing 2 - Thinking Like A TesterTesting 2 - Thinking Like A Tester
Testing 2 - Thinking Like A TesterArleneAndrews2
 
The Automation Firehose: Be Strategic and Tactical by Thomas Haver
The Automation Firehose: Be Strategic and Tactical by Thomas HaverThe Automation Firehose: Be Strategic and Tactical by Thomas Haver
The Automation Firehose: Be Strategic and Tactical by Thomas HaverQA or the Highway
 
The "Evils" of Optimization
The "Evils" of OptimizationThe "Evils" of Optimization
The "Evils" of OptimizationBlackRabbitCoder
 
Introduction to programming by MUFIX Commnity
Introduction to programming by MUFIX CommnityIntroduction to programming by MUFIX Commnity
Introduction to programming by MUFIX Commnitymazenet
 
Smas Hits May 11, 2009 Sensex Down 193 Points On Profit Booking
Smas Hits May 11, 2009 Sensex Down 193 Points On Profit BookingSmas Hits May 11, 2009 Sensex Down 193 Points On Profit Booking
Smas Hits May 11, 2009 Sensex Down 193 Points On Profit BookingJagannadham Thunuguntla
 
Recsys 2016 tutorial: Lessons learned from building real-life recommender sys...
Recsys 2016 tutorial: Lessons learned from building real-life recommender sys...Recsys 2016 tutorial: Lessons learned from building real-life recommender sys...
Recsys 2016 tutorial: Lessons learned from building real-life recommender sys...Xavier Amatriain
 
Evaluating User Interfaces
Evaluating User InterfacesEvaluating User Interfaces
Evaluating User InterfacesNancy Jain
 
Design process design rules
Design process  design rulesDesign process  design rules
Design process design rulesPreeti Mishra
 
Structured Software Design
Structured Software DesignStructured Software Design
Structured Software DesignGiorgio Zoppi
 
Writting Better Software
Writting Better SoftwareWritting Better Software
Writting Better Softwaresvilen.ivanov
 
Testing Software Solutions
Testing Software SolutionsTesting Software Solutions
Testing Software Solutionsgavhays
 
Universal usability engineering
Universal usability engineeringUniversal usability engineering
Universal usability engineeringAswathi Shankar
 
Managing Data Science Projects
Managing Data Science ProjectsManaging Data Science Projects
Managing Data Science ProjectsDanielle Dean
 
5-Ways-to-Revolutionize-Your-Software-Testing
5-Ways-to-Revolutionize-Your-Software-Testing5-Ways-to-Revolutionize-Your-Software-Testing
5-Ways-to-Revolutionize-Your-Software-TestingMary Clemons
 
Design-Principles.ppt
Design-Principles.pptDesign-Principles.ppt
Design-Principles.pptnazimsattar
 
6months industrial training in software testing, jalandhar
6months industrial training in software testing, jalandhar6months industrial training in software testing, jalandhar
6months industrial training in software testing, jalandhardeepikakaler1
 
6 weeks summer training in software testing,ludhiana
6 weeks summer training in software testing,ludhiana6 weeks summer training in software testing,ludhiana
6 weeks summer training in software testing,ludhianadeepikakaler1
 

Similar to Evaluation (20)

The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web TestingThe Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
 
Testing 2 - Thinking Like A Tester
Testing 2 - Thinking Like A TesterTesting 2 - Thinking Like A Tester
Testing 2 - Thinking Like A Tester
 
The Automation Firehose: Be Strategic and Tactical by Thomas Haver
The Automation Firehose: Be Strategic and Tactical by Thomas HaverThe Automation Firehose: Be Strategic and Tactical by Thomas Haver
The Automation Firehose: Be Strategic and Tactical by Thomas Haver
 
The "Evils" of Optimization
The "Evils" of OptimizationThe "Evils" of Optimization
The "Evils" of Optimization
 
Introduction To Programming (2009 2010)
Introduction To Programming (2009 2010)Introduction To Programming (2009 2010)
Introduction To Programming (2009 2010)
 
Introduction to programming by MUFIX Commnity
Introduction to programming by MUFIX CommnityIntroduction to programming by MUFIX Commnity
Introduction to programming by MUFIX Commnity
 
Smas Hits May 11, 2009 Sensex Down 193 Points On Profit Booking
Smas Hits May 11, 2009 Sensex Down 193 Points On Profit BookingSmas Hits May 11, 2009 Sensex Down 193 Points On Profit Booking
Smas Hits May 11, 2009 Sensex Down 193 Points On Profit Booking
 
Recsys 2016 tutorial: Lessons learned from building real-life recommender sys...
Recsys 2016 tutorial: Lessons learned from building real-life recommender sys...Recsys 2016 tutorial: Lessons learned from building real-life recommender sys...
Recsys 2016 tutorial: Lessons learned from building real-life recommender sys...
 
Evaluating User Interfaces
Evaluating User InterfacesEvaluating User Interfaces
Evaluating User Interfaces
 
Design process design rules
Design process  design rulesDesign process  design rules
Design process design rules
 
Structured Software Design
Structured Software DesignStructured Software Design
Structured Software Design
 
Ooad
OoadOoad
Ooad
 
Writting Better Software
Writting Better SoftwareWritting Better Software
Writting Better Software
 
Testing Software Solutions
Testing Software SolutionsTesting Software Solutions
Testing Software Solutions
 
Universal usability engineering
Universal usability engineeringUniversal usability engineering
Universal usability engineering
 
Managing Data Science Projects
Managing Data Science ProjectsManaging Data Science Projects
Managing Data Science Projects
 
5-Ways-to-Revolutionize-Your-Software-Testing
5-Ways-to-Revolutionize-Your-Software-Testing5-Ways-to-Revolutionize-Your-Software-Testing
5-Ways-to-Revolutionize-Your-Software-Testing
 
Design-Principles.ppt
Design-Principles.pptDesign-Principles.ppt
Design-Principles.ppt
 
6months industrial training in software testing, jalandhar
6months industrial training in software testing, jalandhar6months industrial training in software testing, jalandhar
6months industrial training in software testing, jalandhar
 
6 weeks summer training in software testing,ludhiana
6 weeks summer training in software testing,ludhiana6 weeks summer training in software testing,ludhiana
6 weeks summer training in software testing,ludhiana
 

More from missstevenson01

Lesson 3 - Coding with Minecraft - Variables.pptx
Lesson 3 -  Coding with Minecraft -  Variables.pptxLesson 3 -  Coding with Minecraft -  Variables.pptx
Lesson 3 - Coding with Minecraft - Variables.pptxmissstevenson01
 
Lesson 2 - Coding with Minecraft - Events.pptx
Lesson 2 - Coding with Minecraft - Events.pptxLesson 2 - Coding with Minecraft - Events.pptx
Lesson 2 - Coding with Minecraft - Events.pptxmissstevenson01
 
Lesson 1 - Coding with Minecraft -Introduction.pptx
Lesson 1 - Coding with Minecraft -Introduction.pptxLesson 1 - Coding with Minecraft -Introduction.pptx
Lesson 1 - Coding with Minecraft -Introduction.pptxmissstevenson01
 
Lesson2 - Coding with Minecraft - Events.pptx
Lesson2 - Coding with Minecraft - Events.pptxLesson2 - Coding with Minecraft - Events.pptx
Lesson2 - Coding with Minecraft - Events.pptxmissstevenson01
 
Ethical hacking trojans, worms and spyware
Ethical hacking    trojans, worms and spywareEthical hacking    trojans, worms and spyware
Ethical hacking trojans, worms and spywaremissstevenson01
 
Ethical hacking anti virus
Ethical hacking   anti virusEthical hacking   anti virus
Ethical hacking anti virusmissstevenson01
 
Ethical hacking introduction to ethical hacking
Ethical hacking   introduction to ethical hackingEthical hacking   introduction to ethical hacking
Ethical hacking introduction to ethical hackingmissstevenson01
 
S1 internet safety-chattingonline
S1 internet safety-chattingonlineS1 internet safety-chattingonline
S1 internet safety-chattingonlinemissstevenson01
 
Video Games and Copyright laws
Video Games and Copyright lawsVideo Games and Copyright laws
Video Games and Copyright lawsmissstevenson01
 

More from missstevenson01 (20)

S3 environment
S3 environmentS3 environment
S3 environment
 
The Processor.pptx
The Processor.pptxThe Processor.pptx
The Processor.pptx
 
How Computers Work
How Computers WorkHow Computers Work
How Computers Work
 
Lesson 3 - Coding with Minecraft - Variables.pptx
Lesson 3 -  Coding with Minecraft -  Variables.pptxLesson 3 -  Coding with Minecraft -  Variables.pptx
Lesson 3 - Coding with Minecraft - Variables.pptx
 
Lesson 2 - Coding with Minecraft - Events.pptx
Lesson 2 - Coding with Minecraft - Events.pptxLesson 2 - Coding with Minecraft - Events.pptx
Lesson 2 - Coding with Minecraft - Events.pptx
 
Lesson 1 - Coding with Minecraft -Introduction.pptx
Lesson 1 - Coding with Minecraft -Introduction.pptxLesson 1 - Coding with Minecraft -Introduction.pptx
Lesson 1 - Coding with Minecraft -Introduction.pptx
 
Lesson2 - Coding with Minecraft - Events.pptx
Lesson2 - Coding with Minecraft - Events.pptxLesson2 - Coding with Minecraft - Events.pptx
Lesson2 - Coding with Minecraft - Events.pptx
 
Ethical hacking trojans, worms and spyware
Ethical hacking    trojans, worms and spywareEthical hacking    trojans, worms and spyware
Ethical hacking trojans, worms and spyware
 
Ethical hacking anti virus
Ethical hacking   anti virusEthical hacking   anti virus
Ethical hacking anti virus
 
Ethical hacking introduction to ethical hacking
Ethical hacking   introduction to ethical hackingEthical hacking   introduction to ethical hacking
Ethical hacking introduction to ethical hacking
 
S1 internet safety-chattingonline
S1 internet safety-chattingonlineS1 internet safety-chattingonline
S1 internet safety-chattingonline
 
S3 wireframe diagrams
S3 wireframe diagramsS3 wireframe diagrams
S3 wireframe diagrams
 
Sql
SqlSql
Sql
 
Alien database
Alien databaseAlien database
Alien database
 
Video Games and Copyright laws
Video Games and Copyright lawsVideo Games and Copyright laws
Video Games and Copyright laws
 
Games Design Document
Games Design DocumentGames Design Document
Games Design Document
 
Video game proposal
Video game proposalVideo game proposal
Video game proposal
 
H evaluation
H evaluationH evaluation
H evaluation
 
H testing and debugging
H testing and debuggingH testing and debugging
H testing and debugging
 
H file handling
H file handlingH file handling
H file handling
 

Recently uploaded

The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionSafetyChain Software
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon AUnboundStockton
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxOH TEIK BIN
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
Class 11 Legal Studies Ch-1 Concept of State .pdf
Class 11 Legal Studies Ch-1 Concept of State .pdfClass 11 Legal Studies Ch-1 Concept of State .pdf
Class 11 Legal Studies Ch-1 Concept of State .pdfakmcokerachita
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesFatimaKhan178732
 
How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17Celine George
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdfssuser54595a
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactdawncurless
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTiammrhaywood
 
Science 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsScience 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsKarinaGenton
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docxPoojaSen20
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsanshu789521
 

Recently uploaded (20)

The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
9953330565 Low Rate Call Girls In Rohini Delhi NCR
9953330565 Low Rate Call Girls In Rohini  Delhi NCR9953330565 Low Rate Call Girls In Rohini  Delhi NCR
9953330565 Low Rate Call Girls In Rohini Delhi NCR
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory Inspection
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon A
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptx
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
Class 11 Legal Studies Ch-1 Concept of State .pdf
Class 11 Legal Studies Ch-1 Concept of State .pdfClass 11 Legal Studies Ch-1 Concept of State .pdf
Class 11 Legal Studies Ch-1 Concept of State .pdf
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and Actinides
 
How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
 
Science 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsScience 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its Characteristics
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docx
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha elections
 
Staff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSDStaff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSD
 

Evaluation

  • 2. What is evaluation? The British Computer Society define evaluation as: “An objective review of what has been achieved to establish whether it meets the required criteria. The evaluation might also look at the wider context, the user needs and whether there are any undesirable consequences introduced into the solution.” Burdett, Arnold. BCS Glossary of Computing (Kindle Locations 999-1001). BCS Learning & Development Limited. Kindle Edition.
  • 3. What criteria will we use to evaluate? ❏ Fitness for purpose ❏ Efficient use of coding constructs ❏ Usability ❏ Maintainability ❏ Robustness
  • 4. Fitness for Purpose Fitness for purpose is establishing whether or not your software fulfills all the requirements detailed in the specification Any omissions or issues should be described here. For example: ❏ Optional requirements ❏ Any requirement that is met but there is perhaps a concern.issue or it is “just met”
  • 5. Efficiency Efficiency can be defined as: “achieving maximum productivity with minimum wasted effort or expense” Just because all functional requirements have been met does not that it has been done in the most efficient manner
  • 6. This does meet the requirement but... Is it the most efficient solution? http://i.dailymail.co.uk/i/pix/2012/03/14/article-2114836-122979B3000005DC-328_634x411.jpg
  • 7. Efficient use of coding constructs This aspect of evaluation looks at whether the most appropriate programming constructs or data types have been used: ❏ Suitable Data Types ❏ Conditional or Fixed Loops ❏ Arrays ❏ Nested Selection Statements ❏ Procedures/functions with parameter passing Efficiency does not always mean speed of execution - it could be memory footprint or limiting access to files/databases
  • 8. Suitable Data Types and Structures ❏ Have you used appropriate variable types ❏ Certain functions can only be carried out on certain variable types - such as concatenation on strings ❏ Have you used arrays/records suitably? ❏ Arrays may not be faster at execution but with regards to memory size they can make code more compact
  • 9. Fixed and Conditional Loops ❏ Where possible have you used a loop? ❏ A loop may not always be faster for a small number of iterations but over larger iterations would be more efficient If you are using a fixed loop - is that the most efficient option? ❏ What if you are searching through a list of 100,000 items and you have found an item ❏ A conditional loop could be more efficient as you could use logic to halt the loop from running unnecessarily, preventing needless iterations
  • 10. Nested Selection Statements Consider the following code: IF mark < 50 THEN SET grade TO D END IF IF mark>=50 AND mark<=59 THEN SET grade TO C END IF IF mark>=60 AND mark<=69 THEN SET grade TO B END IF IF mark>=70 THEN SET grade TO A END IF This condition is always checked This condition is always checked This condition is always checked This condition is always checked
  • 11. Nested Selection Statements We can use nested selection statements to (potentially) limit the amount of comparisons: IF mark>=70 THEN SET grade=A ELSE IF mark>=60 THEN SET grade=B ELSE IF mark>=50 THEN SET grade=C ELSE SET grade=D END IF END IF END IF This condition is always checked Only checked if grade A condition wasn’t met Only checked if grade B condition wasn’t met Only assigned if grade C wasn’t met
  • 12. Modularity and Parameter Passing Modularity should allow you to reuse functions such as if you have written a FindMin subroutine which returns the lowest value in a list def FindMin(arrayname): min = 0 for counter in range(len(arrayname)): if arrayname[counter] < arrayname[minposition]: min = arrayname[minposition] return min
  • 13. Modularity (cont) Then we can re-use this function within a program more than once by calling it with different parameters Minvalue = FindMin(array1) Minvalue2 = FindMin(array2)
  • 14. But what about the usability You can have a functioning product but if it is not usable then it isn't really very useful ❏ You need to test and evaluate the usability of your product You can ask participants to perform specific or routine tasks using your product ❏ Such as installing the product ❏ Saving a file etc. Then the important factor is the observation of the user under controlled conditions and the feedback that is given
  • 15. What info can you collect to evaluate? There are multiple measures that can be measured to evaluate the experience of a user ❏ Successful Task Rate ❏ Critical/Non Critical Errors ❏ Error Free Rate ❏ Task Times ❏ Subjective ratings or Likes/Dislikes and recommendations ❏ Eye Tracking Data Source www.usability.gov.uk/how-to-and-tools/methods/planning-usability-testing.html
  • 16. Think Aloud Protocol Think Aloud Protocol is when a user will be invited to think out loud whilst using a product. They will say what they are thinking and try to describe their thought processes whilst using a piece of software ❏ This can provide instant feedback ❏ Direct Observation ❏ There is chances for an observer to assist users ❏ Can be instant after task dialogue
  • 17. Doesn’t even have to work yet Usability testing can even be conducted at the design stage using wireframe models. It would usually be conducted using a high fidelity wireframe
  • 18. Usability - General User Interface The User interface is the primary means by which the user will interact with your software. It has to be intuitive and user friendly - the user experience (UX design is becoming of increasing importance) is as crucial as the functionality You are expected to be able to identify features of software that enhance the usability for the user
  • 19. Visual Layout Is it eye catching? First impressions count! White Space Too much, too little? Location of individual elements Can everything be seen clearly? Consider the age and ability
  • 20. Navigation How can the user navigate around the product or website 1. Breadcrumbs 2. Menus/Sub Menus 3. Return to home page 4. Home Page 5. Favourites/Bookmarks
  • 21. Navigation Menu’s and sub-menus Is there a way to navigate back to the home page The ‘3 click rule’
  • 22. Navigation (cont.) If it’s a multimedia product/web page are there buttons to navigate: Forward/Back Home Are there scroll Bars? Vertical/Horizontal Is there a history of pages/sections viewed.
  • 23. Breadcrumbs Use of breadcrumbs These allow the user to navigate their way back up the tree structure Allows the user to click on the previous pages
  • 24. Usability - prompts There will be times when the user is prompted to provide ( or be given) information Are these prompts particualrly useful?
  • 25. Usability - Layout Is it eye catching? First impressions count! White Space Too much, too little? Location of individual elements Can everything be seen clearly? Consider the age and ability
  • 26. Usability - Help Provided Are you providing any help screens/informative messages Even context sensitive help such as what type of input is expected can be helpful There may even be accompanying websites/email address to ask for support
  • 27. Maintainability How readable is your code? Meaningful variable names/identifiers assist you (and other developers) to identify the function of programs. Indentation and the use of white space are also extremely useful ❏ Remember that Python uses indentation instead of delimiters such as { } or ( ) and end if/next loop etc
  • 28. Robustness A piece of software is robust if it can deal with exceptional or incorrect data or unusual situations You cannot deal with every possible scenario but you should aim to test those that may happen - even if you cannot deal with them as yet
  • 29. Summary Your evaluation should: ❏ Identify any discrepancies between the software specification and the completed software ❏ Identify where you’re coding has been efficient ❏ Identify features of your software that have enhanced the usability for the user ❏ Describe the features in your code that helps with the maintainability of the software ❏ Reflect and comment on the testing that was undertaken to meet the specification and demonstrate the robustness of your software.