본문 바로가기

개발/소프트웨어공학

소프트웨어 개발 방법론

소프트웨어 개발 방법론의 구성
작업절차: 소프트웨어를 진행할 때 이루어지는 작업의 순서
작업방법: 각 단계별 작업마다 수행해야 할 일(누가, 언제, 무엇을)
산출물: 단계별로 나오는 산출물(설계서, 명세서)
관리: 개발 진행을 어떻게 제어하고 감독할 것인지
기법: 단계별 작업 시 사용하는 기술, 기법(DFD, ERD, Use Case)
도구: 사용하는 기법 별 지원 도구(PowerPoint, Excel, ERWin)

 

소프트웨어 생명주기 관리 모델에서는 포르젝트가 어떤 순서로 진행될지 그리고 중간에 어떤 산출물을 점검할 지에 대해 주로 관심을 가졌다면, 소프트웨어 개발 방법론은 소프트웨어를 어떻게 만들지에 대해 관심을 가진다. 따라서 개발 방법론에서는 단계별 산출물 뿐만 아니라 산출물은 누가 어떤 순서로 어떻게 만들어야 하는지 그리고 어떤 도구를 사용해야 하는지 구체적으로 정의하고 있다. 학교에서 배우는 소프트웨어 공학이 산업계에서 실무적으로 구현된 결과물이 개발방법론이라고 할 수 있다.

 

소프트웨어 개발 방법론의 종류
정보공학 방법론
객체지향 방법론
CBD 방법론
애자일 방법론

 

소프트웨어 개발방법론은 정보공학 방법론, 객체지향 방법론, CBD(Component Base Development) 방법론, 애자일 방법론이 이렇게 크게 4가지로 나눌 수 있다. 산업계에는 다양한 개발방법론이 나와있고 대규모 IT회사에는 자체적인 개발방법론을 보유하고 있지만, 이는 완전히 새로운 개념이 아니라 앞서 열거한 4가지 개발 방법론의 단점을 보완하거나 각각의 방법론의 장점을 따와 합성한 것들이 대부분이다.