Back to 课程

Computer Science AS CIE

0% Complete
0/0 Steps
  1. data-representation as
    5 主题
  2. multimedia as
    3 主题
  3. compression as
    2 主题
  4. networks-and-the-internet as
    11 主题
  5. computers-and-components as
    5 主题
  6. logic-gates-and-logic-circuits as
    2 主题
  7. central-processing-unit-cpu-architecture as
    6 主题
  8. assembly-language- as
    4 主题
  9. bit-manipulation as
    1 主题
  10. operating-systems as
    3 主题
  11. language-translators as
    2 主题
  12. data-security as
    3 主题
  13. data-integrity as
    1 主题
  14. ethics-and-ownership as
    3 主题
  15. database-concepts as
    3 主题
  16. database-management-systems-dbms- as
    1 主题
  17. data-definition-language-ddl-and-data-manipulation-language-dml as
    1 主题
  18. computational-thinking-skills as
    1 主题
  19. algorithms as
    4 主题
  20. data-types-and-records as
    2 主题
  21. arrays as
    2 主题
  22. files as
    1 主题
  23. introduction-to-abstract-data-types-adt as
    1 主题
  24. programming-basics as
    1 主题
  25. constructs as
    2 主题
  26. structured-programming as
    1 主题
  27. program-development-life-cycle as
    1 主题
  28. program-design- as
    2 主题
  29. program-testing-and-maintenance as
    3 主题
课 Progress
0% Complete

Exam code:9618

Stepwise refinement

What is stepwise refinement?

  • Stepwise refinement is the process of breaking down a complex problem into smaller, more manageable sub-problems in a logical order

  • Each sub-problem is refined step by step until it is simple enough to be solved with a single subroutine or module

  • This method ensures that the overall problem can be solved by addressing each part individually, in a structured and efficient way

Relationship to decomposition and top-down design

  • Decomposition is the general concept of breaking a problem down into smaller parts

  • Top-down design is the strategy used to perform decomposition

  • Stepwise refinement is the process used in top-down design to gradually refine each major task into simpler sub-tasks

  • In other words, stepwise refinement is how top-down design is implemented

Benefits of stepwise refinement

  • Helps developers understand and organise the structure of a program

  • Makes testing and debugging easier through unit testing of individual subroutines

  • Encourages code reuse by breaking tasks into reusable components

  • Supports collaborative development, as tasks can be divided between team members

  • Each subroutine should:

    • Be clear and focused on a single task

    • Be simple enough to implement directly

    • Not need further breakdown

Example: Calculating student grades

  • Here’s how stepwise refinement could be applied to a program designed to calculate student grades for a teacher’s classes:

Top-level task:

  • Calculate grades for all students in all classes

Stepwise refinement:

  • Step 1 – Calculate the grade for each assessment

    • For each question:

      • Mark the question

      • Store the mark

    • Sum the marks for all questions in the assessment

  • Step 2 – Calculate the average grade for each student

    • Add together grades from all assessments

    • Divide by the number of assessments

    • Store the average

  • Step 3 – Repeat for each class

    • For every student in the class:

      • Perform Steps 1 and 2

  • This structured breakdown allows each task to be turned into a subroutine, simplifying the design, implementation, and testing of the overall program

Responses

您的邮箱地址不会被公开。 必填项已用 * 标注