Comprehensive and Detailed Explanation From Exact Extract:
Describing objects (e.g., classes) and functions for a file compression program involves planning the technical structure and coding it. According to foundational programming principles, this occurs in the design phase (specifying objects and functions) and the implementation phase (writing the code).
Waterfall Phases Analysis:
Analysis: Defines requirements (e.g., “compress files and split them”).
Design: Specifies objects (e.g., FileCompressor class) and functions (e.g., compressFile(), splitFile()) to meet requirements.
Implementation: Codes the described objects and functions.
Testing: Verifies the program works as intended.
Option A: "Analysis and implementation." This is incorrect. Analysis defines high-level requirements, not specific objects or functions, which are detailed in design.
Option B: "Design and implementation." This is correct. Design involves describing the objects and functions (e.g., class diagrams, function signatures), and implementation involves coding them.
Option C: "Implementation and testing." This is incorrect. Testing verifies the coded objects and functions, not their description.
Option D: "Design and testing." This is incorrect. Testing occurs after implementation, not when describing objects and functions.
Certiport Scripting and Programming Foundations Study Guide (Section on Waterfall Methodology).
Sommerville, I., Software Engineering, 10th Edition (Chapter 2: Waterfall Design and Implementation).
Pressman, R.S., Software Engineering: A Practitioner’s Approach, 8th Edition (Waterfall Phases).