Jiaxi Liu (Jesse)

Master’s Graduate

Software Engineer | Scalable APIs · Web Scraping · Data Integration · Code Quality & Refactoring

Back to Blog

Software Engineering Review: SDLC, DevOps, OOP, SOLID, Design Patterns, and Code Quality

Software engineering is not only about writing code. It also includes requirements, design, testing, deployment, maintenance, and collaboration.

SDLC

The software development lifecycle usually includes:

  1. Planning
  2. Requirement analysis
  3. Design
  4. Development
  5. Testing
  6. Deployment
  7. Maintenance

Common models include waterfall, iterative development, agile, and DevOps.

DevOps

DevOps emphasizes collaboration between development and operations. The goal is faster and more reliable delivery.

Core concepts:

  • CI: Continuous Integration
  • CD: Continuous Delivery/Deployment
  • IaC: Infrastructure as Code
  • Monitoring and logging
  • Automated testing

OOP

Object-oriented programming centers on encapsulation, inheritance, and polymorphism.

Encapsulation hides implementation details. Inheritance reuses and extends behavior. Polymorphism allows the same interface to have different implementations.

SOLID

SOLID principles:

  • Single Responsibility Principle
  • Open/Closed Principle
  • Liskov Substitution Principle
  • Interface Segregation Principle
  • Dependency Inversion Principle

The goal is lower coupling and better maintainability.

Design Patterns

Common patterns:

  • Singleton
  • Factory
  • Factory Method
  • Adapter
  • State
  • Strategy

Design patterns are not for decoration. They solve recurring structural problems.