소프트웨어 개발 프로세스

@t189216·2024년 1월 15일
0

💻 CS

목록 보기
2/36

참고 자료

소프트웨어 개발 프로세스


: SoftWare Development Life Cycle

소프트웨어 개발 프로세스란 소프트웨어를 개발할 때 해야 하는 일의 순서를 정의하는 것이다.

보통 분석 ➡️ 설계 ➡️ 구현 ➡️ 테스트 방식 으로 이루어지며, 이 순서를 어떻게 수행하느냐에 따라 개발 프로세스의 종류가 나뉜다.

Waterfall (폭포수)


계획한대로 기획부터 디자인까지 각 단계마다 완벽히 진행 후 테스트하는 방법론. ( 한번 결정된 계획은 최대한 변동 없어야 함 ) 요즘은 많이 사용되지는 않는 편.

  • Discover ➡️ Design ➡️ Develop ➡️ Test

Agile (애자일)


이름처럼 좋은 것을 빠르게 취하고 낭비가 없게 하는 방법론.

  • "어떤 일을 언제까지 할 수 있나?" 라는 사고 방식에서
    "2주 후까지 어떤 기능을 개발할 수 있나?" 라는 사고 방식으로의 전환

  • 일정한 주기를 가지고 끊임없이 프로토 타입을 만들어내며 그 때 그 때 필요한 요구를 더하고 수정하여 하나의 커다란 소프트웨어를 개발하는 방식

TDD


애자일 방법론 중 하나로, 테스트 주도 개발을 말한다. 구현 코드를 작성하기 전에 테스트부터 작성한다. 작은 단위의 테스트 케이스를 작성하고 이를 통과하는 코드를 추가하는 단계를 반복하여 구현한다.

  • 실패하는 테스트 코드를 작성할 때까지 실제 코드를 작성하지 않는다.

  • 실패하는 테스트를 통과할 정도의 최소 실제 코드를 작성해야 한다.

책 - 테스트 주도 개발 TDD 실천법과 도구

참고 블로그

DDD


애자일 방법론 중 하나로, 도메인 주도 개발을 말한다. 소프트웨어 시스템을 개발할 때 도메인(업무 영역 또는 비즈니스 영역)을 중심으로 설계하는 소프트웨어 개발 방법론이다. 비즈니스 Domain별로 나누어 설계하는 방식이다.

DDD 에서 말하는 Domain은 비즈니스 Domain. 비즈니스 Domain은 유사한 업무의 집합입니다. ( MPRS - 마케팅,구매,연구,영업 )

💡 Domain 분해 예제: 온라인 음식 주문 업무

( 주문, 주문중계, 음식점업무, 배달대행의 최상위 도메인을 정의하고 각 도메인을 서브도메인으로 분해함. )

참고 블로그

profile
Today I Learned

0개의 댓글