본문 바로가기
Tip/개발

소프트웨어 개발 방법론?

by 놀러와요 2019. 9. 6.
반응형

                                             소프트웨어 개발 방법론

                                   (Methodology, Method +Knowledge)란,

 

                                    소프트웨어 개발에 필요한 반복적인 과정

 

                                  (절차, 방법, 산출물, 기법, 도구)

                                   을 체계적으로 정리한 것.

 

첫번째는 '구조적 방법론' 입니다.

구조적 방법론은 절차 중심의 소프트웨어 개발 방법론으로코드를 제한된 구조에서 생성하여 순차적으로 실행시키는 특징이 있습니다.알고리즘 단위인 순차(sequencing), 선택(selection), 반복(iteration)의 구조로코드를 표현하므로써 프로세스 단위로 문제를 해결하고, 코드 보안을 유지하며 유지보수를 용이하게 합니다.

폭포수 모형 [출처 : https://ko.wikipedia.org)

두번째는 '정보 공학적 방법론' 입니다.
1980년대에는 정보 시스템이 단순 업무 지원 뿐 아니라 경영 전략을 창출하는 경영정보 시스템(MIS, Management Information System)으로 진화하여방법론이 '경영 전략을 잘 수용하기 위함' 에 맞춰 발전하게 되었습니다.
따라서, 정보 공학 방법론은 설계와 구현 단계에서 데이터를 우선적으로 개발하고,문제 영역을 세분화하고 Top-Down 방식으로 전개하여기존보다 빠르게 결과물을 낸다는 특징을 갖고 있습니다.

정보 공학 프로세스

세번째는 분석과 설계 과정의 전 단계를데이터 중심(Data-Oriented)로 개발하는 '객체 지향 방법론' 입니다.
이 방법론은 개발 단계에서 반복과 점증적(Iterative and Incremental) 모델을 사용하여사용자의 요구 사항을 반영하고, 모든 단계를 유기적으로 협력시켜전체 프로세스의 방향성을 유지하고 재사용성을 높이는 것이 특징입니다.

RUP(Rational Unified Process) 모델, Rational에서 제안한 객체지향 프로젝트 수행에 맞도록 개발된 UML 기반의 객체 지향 방법론

네번째는 'CBD(Component Based Development) 분석 방법론' 으로이 방법론은 문제를 조각으로 나누어 각각 컴포넌트를 생성한 후, 다시 조합하는 재사용성에 초점을 둔 방식입니다.
아무리 복잡한 시스템이여도 단계별로 나누어 생각하기 때문에,전체 시스템이나 프로그램에 영향을 주지 않고 빠르게 문제를 해결한다는 특징이 있습니다.

CBD(Component Based Development) 분석 설계 방법론

마지막으로, 가장 많이 쓰이는 방법론!'애자일 방법론' 인데요,
이전 방식들은 개발 과정에서 과도한 문서화나 형식적인 절차에많은 비용을 치르게 되면서최근에 애자일(Agile) 방법론이라는 적응적(Adaptive) 방법론이 새롭게 떠올랐습니다.
애자일 방법론은 고객과의 협력을 중시하고, 프로세스나 도구에 국한되지 않는자기 적응적(self-adaptive) 방식을 사용하는데일정한 주기를 가지고  프로토 타입(Prototype)을 만들어 내기 때문에고객의 요구사항을 반영하기 쉽고, 변화에도 빠르게 대응할 수 있는 장점이 있습니다.
*프로토타입(Prototype) : 정식 절차에 따라 완전한 소프트웨어를 만들기 전, 사용자 요구를 받아 만드는 모형, 이 모형을 사용자와 의사소통 하는 도구로 활용함.

Agile Development [출처: sundayapp.tistory.com]

[출처] 소프트웨어 개발 방법론의 종류.|작성자 잼코딩학원

 

 

 

 

 

반응형