The correct answer is D. Both (a) and (b).

A system prototype is a working model of a system that is used to demonstrate the system's functionality and to gather feedback from users. System prototyping can help designers to understand how the system will function, to communicate the system's design to users, and to get feedback on the system's design.

Option A is correct because a system prototype can help designers to understand how the system will function. By creating a working model of the system, designers can test the system's functionality and identify any potential problems.

Option B is also correct because a system prototype can help designers to communicate the system's design to users. By showing users a working model of the system, designers can get feedback on the system's design and make changes as needed.

Option C is incorrect because a system prototype is not typically used to give a demo of the software to the system manager. Instead, a system prototype is typically used to gather feedback from users and to make changes to the system's design.

Option E is incorrect because both options A and B are correct.