Problem Analysis - Quiz Explanation

The correct answers are indicated below, along with text that explains the correct answers.
 
1. What is the purpose of problem analysis?
Please select the best answer.
  A. To understand how the users expect to interact with the system
  B. To understand how to design the software
  C. To understand the resources used by the problem domain
  D. To understand the objects that make up the finished application
  The correct answer is C.
The purpose of problem analysis is to understand the resources used by the problem domain. A is incorrect because this describes the scope of project initiation. B is incorrect because design issues are handled in architectural analysis and object design. D is incorrect because problem analysis excludes anything that has to do with software solutions.

2. What is the scope of problem analysis?
Please select the best answer.
  A. Define the implementation of the resources of the problem domain
  B. Define the attributes and operations of the resources of the problem domain
  C. Define the attributes, interfaces, and operations of the resources of the problem domain
  D. Define the purpose and interfaces of the resources of the problem domain
  The correct answer is D.
The scope of problem analysis is to define the purpose and interfaces of the resources of the problem domain. A is incorrect because the implementation decisions are postponed until object design. B and C are incorrect because attributes and operations (at least the operations not part of the interface) are postponed until object design.

3. Which of the following criteria should be used in selecting domain classes?
Please select the best answer.
  A. Recognized by users, a person, system, or device, and a resource of the problem domain
  B. Recognized by users, within project scope, and a resource of the problem domain
  C. Needed for the user interface, within project scope, and a resource of the problem domain
  D. Required by the selected architecture, within project scope, and a resource of the problem domain
  The correct answer is B.
A domain class should be recognized by users, be within project scope, and be a resource of the problem domain. A is incorrect because "a person, system, or device" describes an actor, not a domain class, and the answer does not include the project scope. C is incorrect because the user interface is not used until the object design phase. It might be useful to mock up a user interface to help the users think about how they use the system, but the real user interface design is outside the scope of this phase. D is incorrect because the architecture will not be selected until the next phase, so it cannot be used as a criterion yet. This answer also leaves out the important test that the users should recognize the classes.

4. What is meant by a "problem domain resource"?
Please select the best answer.
  A. Materials and/or supplies used by the problem domain
  B. Items purchased, used, or sold by the users
  C. People, materials, supplies, and products required by the system
  D. Actors, user interfaces, hardware, and communications
  The correct answer is C.
A problem domain resource refers to people, materials, supplies, and products required by the system because these resources would be required by the system even in a manual implementation. A is incorrect because it leaves out actors (people, systems, or devices) who participate in the system and products made by the system. B is incorrect because it leaves out actors (people,systems, or devices) who participate in the system. D is incorrect because user interfaces are part of object design; hardware is part of the architectural decision; and communications is too vague. If communication means messaging between objects, then it could help in the interface definition. If it means physical communication, then this is part of the architecture and the implementation design.

5. What is not included in the definition of a problem domain class during problem analysis?
Please select the best answer.
  A. The attributes of the problem domain class
  B. The implementation of the problem domain class
  C. The methods of the problem domain class
  D. The implementation of the interfaces
  The correct answer is B.
The implementation of the problem domain class is not included in the definition of a problem domain class during problem analysis. A is incorrect because the attributes are not included. C is incorrect because the methods (the implementation of the operations) are not included as well. Actually, there is an exception to this that we will cover later, but for now let's stick with what you have learned so far. D is incorrect because the implementation of the interfaces means the methods that implement the interface operations, so this answer does not exclude the attributes as it should.