6B: evaluating the solution Flashcards
comparing different solutions to the same problem
- design specifications can be interpreted differently by different people
- algorithm + source code may differ depending on the developer
different interpretations of the design specifications
- interpretation of specifications will be different; though each design fits the criteria, implementation will be different
- not only applies to UI, applies to algorithms + source code
questions to help evaluation process
- is it generic?: easy to modify, could be reused
- can it be understood?: difficult to understand, maintain + test
- is it efficient?: inefficient = more processing + resources + slower execution
- self contained?: should solve problem without affecting other code, testing + reusing = easy
what is wanted in different approaches
when evaluating effectiveness: assess elegance + efficiency
- efficiency: superior, cleverer, more refined, more readable(in terms of code + related documentation)
three techniques for evaluating design
- peer checking
- structured walk through
- desk checking
what is peer checking
- informal process
- allowing peers not intimately working with the project to check over your work
advantages of peer checking
- enables natural flow of ideas between developers
- encouraged through creation of teams, where it is everyone’s responsibility
- strong team atmosphere needed for criticism to be openly given + received
aim of structured walkthrough
aim: explain in a structured manner the operation of the design + development process and get feedback
walkthrough: should be demonstration of product + design
where is structured walkthrough carried out + target audience
- formal approach, therefore done in meetings where relevant documentation is prepared/given prior
- presented to interested parties; company representatives, marketing, potential users and get feedback
main function of structured walkthrough
used to evaluate design at different levels + get feedback from ranged audience
function of desk check
evaluates design of algorithms and code
advantages of desk checking
can help realize efficiency + elegance of solution; recommendations + constructive criticisms can be given
in large projects, who performs desk checks?
personnel who have expertise in algorithm/code design but not intimately involved in the project
- best performed in isolation
final solution
refers to total software product, implemented in a programming language
- must meet all requirements + design specifications
user feedback
should be obtained + acted upon