| Lesson 2 ||Review the project life cycle |
| Objective ||Synthesize the project phases and their relationships. |
Project initiation and problem analysis
In Object-Oriented Design and Analysis Fundamentals I you learned about the first two phases, project initiation and problem analysis .
By the end of these two phases, you had created and tested complete models of the problem domain. You defined all of the goals and resources that the finished system has to support. These work products represent your target.
- Project initiation: The first phase of the project life cycle in which the clients establish their expectations for the system.
- Problem analysis: This is the second phase of the project life cycle in which the analyst researches the resources of the problem domain and defines their purpose and interfaces.
Design is when you take aim at the target.
Keeping with this analogy, it is important that you do not shoot until you finish taking aim. In other words, design is about planning how to accomplish the goals defined
in the analysis work products. The planning process identifies the desired solution, not the completed solution. Design addresses functionality, as well as performance, flexibility, and maintainability.
Design versus implementation
You are probably asking, doesn't the implementation language and environment dictate the design?"
To some extent it does. There will be a concerted effort during implementation to reconcile the desired design and what the technology will support.
The value of separating the two steps comes from the fact that your design retains the picture of the desired outcome, while the implementation must conform to the limitations of the current technology and environment. Technologies and environments change rapidly, presenting new opportunities to improve the implementation. The design provides a framework against which to measure these new opportunities and plan for their introduction into the implementation.
If you would like to review the phases of the project life cycle, use the Slidewhobelow. This SlideShow names and describes the phases making up the project life cycle for developing software.