정보처리기사/정보시스템 구축관리

소프트웨어 개발방법론

glorypang 2025. 10. 16. 23:19
728x90
반응형
SMALL

1) CBD (Component-Based Development)

  • 정의: 재사용 가능한 컴포넌트(명확한 인터페이스, 독립 배포)를 조립해 시스템을 구성.
  • 핵심: 표준 인터페이스, 약결합, 재사용/조립(합성 중심).
  • 장점: 개발속도↑, 생산성↑, 품질/유지보수↑, 유지보수 비용↓, 변경 격리.
  • 적합: 대규모 엔터프라이즈, 플러그인/모듈 구조, 마이크로서비스와 궁합 좋음.

2) 객체지향 방법론 (OOAD)

  • 정의: 객체/클래스/상속/다형성을 중심으로 분석·설계(Use Case → 클래스/시퀀스/상태도).
  • 핵심: 캡슐화, 응집도↑ 결합도↓.
  • 장점: 모델-코드 대응 좋음, 확장성↑.
  • 적합: 도메인 모델 명확, 장수(長壽) 제품.

3) 서비스 지향 (SOA)

  • 정의: 업무 기능을 서비스로 분리해 재사용/조합(ESB/메시지 버스 기반).
  • 핵심: 표준 계약(Contract), 느슨한 결합, 조합성.
  • 장점: 이기종 통합, 재사용↑.
  • 적합: 대기업/레거시 통합, B2B 연계.

4) 마이크로서비스 아키텍처 (MSA)

  • 정의: 단일 기능 단위의 작은 서비스독립 배포·확장.
  • 핵심: 서비스 경계, API, CI/CD, 관측성.
  • 장점: 독립 확장/배포, 팀 자율성.
  • 주의/적합: 운영 복잡↑(DevOps 필수) / 대규모·지속交付 제품.

5) 관점지향 (AOP)

  • 정의: 로깅/보안/트랜잭션 같은 횡단 관심사관점(Aspect) 으로 분리.
  • 핵심: Join Point, Advice, Weaving.
  • 장점: 핵심 로직과 관심사 분리 → 가독성/유지보수↑.
  • 적합: 엔터프라이즈 애플리케이션, 스프링 기반.
728x90
반응형
LIST