Digital design principles Flashcards
(19 cards)
What is decomposition?
Breaking a large problem down into smaller, more manageable problems called sub problems.
What is pattern recognition?
Involves observing key characteristics, patterns and trends in the data that is being considered
What is abstraction?
Involves removing specific details from a problem that are not needed to solve it.
What is an algorithm?
Used to design a solution. This is a step by step set of instructions that specifies how the problem is going to be solved. The order of the instructions in an algorithm is important. Both flowcharts and pseudo-code can be used in algorithm design
What is a flowchart?
A graphical representation that includes special symbols and flow lines to represent the solution to a problem
What is pseudo-code?
A set of English-like,language independent instructions that use keywords and control structures to represent the solution to a problem.
How can algorithms be evaluated?
The speed at which it sorts large amounts of data
The amount of memory used during the sorting process
The number of comparisons carried out within a sort
The number of exchanges carried out during the sort
The stability of the sort
Disadvantage of bubble sort?
Inefficient for sorting large amounts of data - the time taken to sort data is related to the square of the number of items to be sorted
Advantages of insertion sort?
Adaptive - the performance adapts to the initial order of the elements, this algorithm may be used when the data items are nearly sorted
Stable - retains the relative order of the same elements
What is refinement?
The process of reviewing the design for a solution and making necessary changes so that the design meets the user’s requirements efficiently and accurately
Why would you refine a design?
To ensure that the user will receive a product that meets their needs.
How can you identify if something needs refinement?
Possible refinements can be identified by examining the solution and by using a test plan to test the solution prior to writing the code.
Who can make additional refinements?
The user as long as they are part of the design team
What can a test plan be used for?
The test plan will specify extreme, valid and invalid values to be input
The test plan is used to test the functionality of the solution and the accuracy and appropriateness of the output to be produced from the solution
What are the steps of the traditional development model?
Analysis - where the user requirements are determined
Design - Where the solution is designed and refined
Implementation - Where the design is coded
Testing - Where the coded solution is tested using a variety of different methods
Maintenance - Where the system is changed or tweaked after it has been released to the user
What is meant by data requirements?
The data that a program or system uses, including data input, information output and any values to be stored temporarily during processing
They can be used to help create a test plan
What should the user interface be like?
Easy to use/User friendly
Designed using colours, icons and messages in a consistent manner, placing menus, messages and buttons in the same place throughout the system
Responsive and not have lengthy loading times
Supportive of the user if they make a mistake, by providing helpful messages and feedback
Focused on the user experience, have visual appeal and be attractive to the user
It should be drawn using wireframes and sketches, it should be shown to the user who can make suggestions to improve it
How do you create a trace table?
Number each line of code or pseudo-code
Create a table structure
Create a column for each variable in the section of code
Add an output column to show any output generated from the code
What is a dry run?
A paper-based exercise that allows the programmer to go through the solution on a step-by-step basis. The dry run highlights any errors in the logic of the solution