37Medium
0/1

A software engineering team is developing a complex simulation engine for a logistics drone network. They split the system into three self-contained modules: a pathfinding module, an aerodynamics solver, and a battery-consumption simulator. Concurrently, they represent the drones as simple point-masses with a constant drag coefficient rather than modeling their exact 3D geometric CAD meshes.

Which of the following correctly identifies a primary benefit of the decomposition step and a primary benefit of the abstraction step in this scenario?

Decomposition benefit: Allows separate developers to work on and test the pathfinding, aerodynamics, and battery modules concurrently. Abstraction benefit: Reduces computational complexity by representing the drone as a point-mass, omitting complex 3D mesh calculations.

Decomposition benefit: Reduces the runtime memory usage of the simulator by ignoring the 3D geometry of the drones. Abstraction benefit: Allows the aerodynamics code to be easily reused in a separate airplane simulation project.

Decomposition benefit: Ensures that the overall simulation runs with a lower mathematical complexity of O(Nlog⁡N)O(N \log N)O(NlogN) instead of O(N2)O(N^2)O(N2). Abstraction benefit: Eliminates the need for any communication or data exchange between the different simulation sub-systems.

Decomposition benefit: Ensures that the simulation model contains zero loss of physical accuracy or mathematical realism. Abstraction benefit: Prevents errors in the battery module from causing runtime failures in the aerodynamics solver.

PreviousNext

Computational thinking Questions

  1. GCSE
  2. /Computer Science
  3. /Computational thinking