Project Life Cycle  «Prev  Next»
Lesson 1

Project Life Cycle Requirements

Welcome to Object-Oriented Analysis I: Project Life Cycle and Requirements. This is the first course in the Object-Oriented Analysis and Design Fundamentals Series. This first course describes the individual phases making up the project life cycle for developing software, a process that is iterative and incremental.
The key concepts and fundamental principles guiding the quality of the software development are covered.
The development of use cases as the primary means of documenting user expectations is explained. You will learn how to decompose use case dialogs to identify scenarios, from which you will discover interfaces and define test cases. The object-oriented analysis and design concepts and techniques you learn in this course will be reinforced in the course project, where you will model an online ticket sales system.

Phases of the Software Development Project Life Cycle (SDLC)

The Software Development Project Life Cycle (SDLC) is a systematic and well-defined process consisting of distinct phases that guide the development of software applications. Each phase of the SDLC has a clear objective and plays a pivotal role in ensuring the successful development, deployment, and maintenance of software products.
  1. Initiation (or Conceptualization) Phase:
    1. Objective: To define the high-level vision and scope of the software project.
    2. Activities:
      1. Identify initial requirements and constraints.
      2. Perform feasibility studies to gauge technical, operational, and financial feasibility.
      3. Define key stakeholders and their roles.
  2. Planning Phase:
    1. Objective: To establish a detailed plan for executing the project.
    2. Activities:
      1. Detail the project scope and boundaries.
      2. Develop a detailed project schedule with milestones and deliverables.
      3. Allocate resources, including personnel, tools, and technologies.
      4. Identify potential risks and draft risk mitigation strategies.
  3. Design Phase:
    1. Objective: To define the software architecture and design the system components.
    2. Activities:
      1. Translate requirements into system architecture and software designs.
      2. Define database schemas, user interfaces, and system interfaces.
      3. Validate designs against requirements to ensure alignment.
      4. Produce detailed design documents to guide the development team.
  4. Implementation (or Development) Phase:
    1. Objective: To construct the actual software product.
    2. Activities:
      1. Write source code according to the design specifications.
      2. Integrate various software components.
      3. Conduct unit testing to validate individual components against their specifications.
  5. Testing (or Verification) Phase:
    1. Objective: To ensure that the software functions correctly and meets the specified requirements.
    2. Activities:
      1. Execute systematic and comprehensive testing, which may include functional, integration, system, and acceptance testing.
      2. Identify defects, anomalies, or discrepancies and debug the code.
      3. Validate software behavior against requirements.
  6. Deployment (or Implementation) Phase:
    1. Objective: To deliver the software to the end-user and make it operational in a live environment.
    2. Activities:
      1. Install or deploy the software in the target environment.
      2. Train end-users, if necessary.
      3. Transition the software to maintenance mode or operations teams.
  7. Maintenance (or Operations) Phase:
    1. Objective: To ensure the continued effective performance of the software post-deployment.
    2. Activities:
      1. Monitor and rectify any post-deployment issues or bugs.
      2. Implement updates or patches as required.
      3. Enhance the software based on evolving user needs or technological advancements.
  8. Closure (or Decommissioning) Phase:
    1. Objective: To retire the software when it is no longer needed or viable.
    2. Activities: 1) Archive essential project artifacts and data. 2) Release project resources and perform a formal project closure. 3) Remove software from operational status and ensure secure disposal of sensitive information.
In summation, the Software Development Project Life Cycle is an orchestrated series of phases that collectively ensure the effective and efficient creation, deployment, and eventual decommissioning of software products. Adhering to these phases is paramount to the delivery of robust, high-quality software that aligns with user requirements and business objectives.

Course Goals

After completing this course, you will have the knowledge and skills to:
  1. Draft a data dictionary for key terms in a problem statement
  2. Build a use case diagram
  3. Write use case descriptions
  4. Build an activity diagram
  5. Identify scenarios from a use case narrative activity diagram
  6. Create test data for scenarios

Refactoring

Object-Oriented Analysis I

Object-Oriented Analysis I: Project Life Cycle and Requirements is the first course in the Object-Oriented Analysis and Design Fundamentals series. The series is designed to teach you practical object-oriented business analysis. After taking all three courses, you will know how to fully define the scope, requirements, analysis and design for a business application using object-oriented models and techniques.

Course Structure

Each major concept is represented by a module. Modules are broken down into individual lessons.