: SoftWare Development Life Cycle
소프트웨어 개발 프로세스란 소프트웨어를 개발할 때 해야 하는 일의 순서를 정의하는 것이다.
보통 분석 ➡️ 설계 ➡️ 구현 ➡️ 테스트 방식
으로 이루어지며, 이 순서를 어떻게 수행하느냐에 따라 개발 프로세스의 종류가 나뉜다.
계획한대로 기획부터 디자인까지 각 단계마다 완벽히 진행 후 테스트하는 방법론. ( 한번 결정된 계획은 최대한 변동 없어야 함 ) 요즘은 많이 사용되지는 않는 편.
이름처럼 좋은 것을 빠르게 취하고 낭비가 없게 하는 방법론.
"어떤 일을 언제까지 할 수 있나?" 라는 사고 방식에서
"2주 후까지 어떤 기능을 개발할 수 있나?" 라는 사고 방식으로의 전환
일정한 주기를 가지고 끊임없이 프로토 타입을 만들어내며 그 때 그 때 필요한 요구를 더하고 수정하여 하나의 커다란 소프트웨어를 개발하는 방식
애자일 방법론 중 하나로, 테스트 주도 개발
을 말한다. 구현 코드를 작성하기 전에 테스트부터 작성한다. 작은 단위의 테스트 케이스를 작성하고 이를 통과하는 코드를 추가하는 단계를 반복하여 구현한다.
실패하는 테스트 코드를 작성할 때까지 실제 코드를 작성하지 않는다.
실패하는 테스트를 통과할 정도의 최소 실제 코드를 작성해야 한다.
애자일 방법론 중 하나로, 도메인 주도 개발
을 말한다. 소프트웨어 시스템을 개발할 때 도메인(업무 영역 또는 비즈니스 영역)을 중심으로 설계하는 소프트웨어 개발 방법론이다. 비즈니스 Domain별로 나누어 설계하는 방식이다.
DDD
에서 말하는 Domain은 비즈니스 Domain. 비즈니스 Domain은 유사한 업무의 집합입니다. ( MPRS - 마케팅,구매,연구,영업 )
💡 Domain 분해 예제: 온라인 음식 주문 업무
( 주문, 주문중계, 음식점업무, 배달대행의 최상위 도메인을 정의하고 각 도메인을 서브도메인으로 분해함. )