top-down+modular+design

=3.2.1 d=
 * ===explain the advantages of designing a solution to a problem by splitting it up into smaller problems (top-down/modular design);===

Top-down modular design is where the programmer will split the problem down into smaller problems and splitting these down even further and finding a solution to each individual problem, putting them all together and creating a complex working program. An example of top-down modular design would be your phones menu, this is because each section is split into smaller sections, such as there will be one icon for messages which will contain many different folders such as sent items, inbox, outbox, drafts this is modular design. This creates many advantages such as:


 * Each problem is more manageable- This is because if the problem is smaller it is easier to understand and therefore a solution will be drawn up faster, also less resources are needed to deal with a small problem.


 * It is easier to identify and correct faults- If each section of the program is split into different modules it can easily be identified which area of the program the error is occurring in and where it can be fixed from, It can also be easily isolated if need be.


 * faster for large products- Each module/ problem can be worked on by a different team of programmers this speeds up the process.


 * A higher quality product is produced- Programmers who are experts in a specific field such as graphics, sound etc... they will be put on a team where their skills will be used to the full, this will lead into a higher quality of product being created.

=3.2.1 e=
 * Each module can be re-used if an upgrade has become available, as it can be copied into to new software instead of scrolling through a long list of code to find the specific part you want which could take a long time.
 * ===produce and describe top-down/modular designs using appropriate techniques including structure diagrams, showing stepwise refinement;===