Comprehensive and Detailed Explanation From Exact Extract:
In Agile, the design phase focuses on creating technical specifications and plans for implementing the software, including identifying functions, classes, or modules. According to foundational programming principles, this phase bridges requirements (from analysis) to coding (in implementation).
Option A: "Determining the functions that need to be written." This is correct. During the design phase, the team specifies the functions, methods, or components (e.g., function signatures, class methods) required to meet the requirements. For example, designing a calculateTotal() function for an e-commerce system occurs here.
Option B: "Determining the goals of the project." This is incorrect. Project goals are established during the analysis phase, where requirements and user stories are defined.
Option C: "Writing the required objects." This is incorrect. Writing code (e.g., implementing classes or objects) occurs during the implementation phase, not design.
Option D: "Deciding on the name of the program." This is incorrect. Naming the program is a minor decision, typically made earlier (e.g., during project initiation or analysis), and is not a primary focus of the design phase.
Certiport Scripting and Programming Foundations Study Guide (Section on Agile Design Phase).
Agile Alliance: “Agile Design” (https://www.agilealliance.org/glossary/design/).
Fowler, M., Refactoring: Improving the Design of Existing Code (design principles in Agile).