Software Development Phase[Numbers] - Quiz Explanation

The correct answers are indicated below, along with text that explains the correct answers.
 
1. During which software development phase would you evaluate response time requirements?
Please select the best answer.
  A. Project initiation
  B. Problem analysis
  C. Architectural analysis
  D. Object design
  E. Construction
  F. Installation
  G. Maintenance
  The correct answer is C.
Response time requirements should be evaluated during architectural analysis because during this phase you begin to address all the constraints that could affect the success of the system.

2. During which software development phase would you define the resources of the problem domain?
Please select the best answer.
  A. Project initiation
  B. Problem analysis
  C. Architectural analysis
  D. Object design
  E. Construction
  F. Installation
  G. Maintenance
  The correct answer is B.
Defining the resources of the problem domain occurs during problem analysis.
In fact, this is the purpose of the problem analysis phase.

3. During which software development phase would you evaluate vendor class libraries?
Please select the best answer.
  A. Project initiation
  B. Problem analysis
  C. Architectural analysis
  D. Object design
  E. Construction
  F. Installation
  G. Maintenance
  The correct answer is E.
Evaluating vendor class libraries takes place during construction, when you need to find components that will satisfy your object design.


4. During which software development phase would you define the features required by the users?
Please select the best answer.
  A. Project initiation
  B. Problem analysis
  C. Architectural analysis
  D. Object design
  E. Construction
  F. Installation
  G. Maintenance
  The correct answer is A.
Defining the features required by the users is done during project initiation. These highest-level requirements are the driving criteria for the rest of the project.

5. During which software development phase would you correct a production error in the application?
Please select the best answer.
  A. Project initiation
  B. Problem analysis
  C. Architectural analysis
  D. Object design
  E. Construction
  F. Installation
  G. Maintenance
  The correct answer is G.
Correcting a production error in the application is performed during maintenance, after the application has been installed and users have had time to break it in.

6. During which software development phase would you train users on how the application works?
Please select the best answer.
  A. Project initiation
  B. Problem analysis
  C. Architectural analysis
  D. Object design
  E. Construction
  F. Installation
  G. Maintenance
  The correct answer is F.
Training the users on how the application works needs to happen during installation. The users should be involved in every phase, but focused training should be part of the installation process.

7. During which software development phase would you define the user interface classes?
Please select the best answer.
  A. Project initiation
  B. Problem analysis
  C. Architectural analysis
  D. Object design
  E. Construction
  F. Installation
  G. Maintenance
  The correct answer is D.
Defining the user interface classes is done during object design. Once the features (project initiation), the domain resources (problem analysis), and the architecture (architectural analysis) are complete, you have all the criteria for designing the needed interfaces.

8. During which software development phase would you define the internal behavior and attributes of resource classes?
Please select the best answer.
  A. Project initiation
  B. Problem analysis
  C. Architectural analysis
  D. Object design
  E. Construction
  F. Installation
  G. Maintenance
  The correct answer is D.
Defining the internal behavior and attributes of resource classes is done during object design. During problem analysis, all the classes are viewed from the outside (encapsulated) so that only their purpose and interface are visible. During design, you must choose a technique for supporting the purpose and interface of the resource classes and fully define the software elements that will make your application work.

9. During which software development phase would you establish process flow requirements?
Please select the best answer.
  A. Project initiation
  B. Problem analysis
  C. Architectural analysis
  D. Object design
  E. Construction
  F. Installation
  G. Maintenance
  The correct answer is A.
Establishing process flow requirements is a by-product of project initiation. If you define the precedence between features, then you have a map of the flow options.

10. During which software development phase would you define screen flow options?
Please select the best answer.
  A. Project initiation
  B. Problem analysis
  C. Architectural analysis
  D. Object design
  E. Construction
  F. Installation
  G. Maintenance
  The correct answer is D.
Defining screen flow options uses what was discovered in project initiation but is implemented during object design. Because you can not make an application do everything, you have to make conscious choices about which options to support in your design.