소프트웨어 공학의 패러다임, SDLC

    1. 소프트웨어 공학의 패러다임, SDLC의 개요


    가. SDLC(Software Development Life Cycle)의 개념

    타당성 검토부터 시작하여, 개발, 폐기등 전 과정을 생명주기로 간주하고, 정의하여 단계별 공정을 체계화한 모델


    나. SDLC의 등장배경

    • SW의 Crisis에 따라 획기적인 대처 방법이 필요
    • 생산성 향상 및 고품질을 위한, 개발 모델 필요


    소프트웨어 위기 참조



    2. SDLC의 개념도 및 프로세스


    가. SDLC의 개념도

    타당성 조사, 요구사항 분석, 설계, 개발, 테스트, 유지보수가 반복이 된 후, 폐기 된다


    나. SDLC의 프로세스


    3. SDLC의 선택방법 및 발전방향


    SDLC는 폭포수 모델 -> 프로토타이핑 모델 -> 나선형 모델 -> 반복적 모델 -> 클린룸 모델 등으로 발전했으며, 초기의 모델이 후기의 모델보다 좋다 나쁘다의 문제가 아닌, 프로젝트의 성격에 따라서 SDLC의 모델을 선택해야 한다.



    최근에는 Agile이 뜨고 있는 추세이나, Agile은 SDLC라고 보기가 어렵다. SDLC는 타당성 조사부터 폐기까지 이르는 모든 과정이 담겨져 있어야 하나, Agile은 분석부터 테스트까지가 단계인, 개발 방법론이기 때문이다.


    하지만, SDLC와 Agile을 비교하는 문제는 종종나오고 있기 때문에, 각자의 장단점등을 파악하여, 순발력있게 문제를 풀 수 있어야 한다. 비교 대상이 아니라고 안심하면 안되고, 이럴때는 타당성 조사와 폐기를 제외한 개발단계 부분을 비교해서 문제를 풀어야 할 것이다.

    댓글

    Designed by JB FACTORY