Problem Analysis  «Prev  Next»
Lesson 2Review: project life cycle
Objective Review the Phases of the Project Life Cycle

Review Project Life Cycle Phases

Review the Phases of the Project Life Cycle

As you learned in the first course in this series, there is no standard software development process. The process that you will use in this course is a generalization of the common elements of the leading software development methodologies.
If you understand these essential elements, you will be able to customize the application of the general methodology to your specific domain or even choose one of the current methodologies that best supports your needs. Let us review the phases of the project life cycle. The following series of images below names and describes the phases making up the project life cycle for developing software:

7 Phases of Project Life Cycle

1) Project initiation: Document the expectations of the user
1) Project initiation: Document the expectations of the user

2) Problem analysis: Define the resources of the problem domain
2) Problem Analysis: Define the resources of the problem domain

3) Architectural analysis: Select the architectural approach for the solution
3) Architectural analysis: Select the architectural approach for the solution

4) Object design: Select and define the implementation for the software solution.
4) Object design: Select and define the implementation for the software solution.

5) Construction: Build, buy, integrate code to satisfy the design
5) Construction: Build, buy, integrate code to satisfy the design

6) Installation: Put the application into production
6) Installation: Put the application into production

7) Maintenance: Enhance/revise the production application
7) Maintenance: Enhance and revise the production application


  1. Project initiation: Document the expectations of the user
  2. Problem analysis: Define the resources of the problem domain
  3. Architectural analysis: Select the architectural approach for the solution
  4. Object design: Select and define the implementation for the software solution
  5. Construction: Build, buy, integrate code to satisfy the design
  6. Installation: Put the application into production
  7. Maintenance: Enhance/revise the production application

Phases of the Project Life Cycle

The Project Life Cycle refers to a series of activities which are necessary to fulfill project goals or objectives. Projects vary in size and complexity and all projects can be mapped to the following life cycle structure: Starting the project
  1. Organizing and preparing
  2. Carrying out project work
  3. Closing the project
Projects are broken down into phases so that extra control can be applied to effectively manage the processes.
These phases are further divided into subsets for easy management, control, and planning.
For a project to be successful, the project team must:
  1. Select the appropriate processes to meet project goals and objectives.
  2. Use a defined approach focused on meeting the requirements of the project.
  3. Clearly define and agree upon stakeholder/customer needs and expectations.
  4. Balance the competing demands of scope, time, cost, quality, resources, and risk to produce the specified product, service, or result.

Writing Effective Use Cases
  1. Project initiation:
  2. The Project Initiation Phase is the 1st phase in the Project Management Life Cycle, as it involves starting up a new project.
  3. Problem Analysis
  4. Achitectural Analyis: Architectural analysis is used in software architecture to evaluate a system architecture.
  5. Object Design: Object-oriented design is the process of planning a system of interacting objects for the purpose of solving a software problem. It is one approach to software design.
  6. Construction:
  7. Installation
  8. Maintenance: Software maintenance in software engineering is the modification of the software after it has been delivered, to correct faults and improve performance or other attributes.

For example, in Figure 2-2 the name attribute is assigned the UML data type String using the format name : String.
end_date is assigned a class called Date from a library of classes provided by the Java programming language. The Date data type actually holds a reference to an object designed to represent information about a date and time.
status is assigned a reference to an application-specific enumeration called Event_Status, which defines a set of valid literal values for event status, such as scheduled and cancelled.

Figure 2-2 the name attribute is assigned the UML Data Type String using the format name
Figure 2-2 the name attribute is assigned the UML data type String using the format name