본문 바로가기
개발/소프트웨어 공학

소프트웨어 개발방법론 (1)

by re-hwi 2022. 1. 1.

오늘은 2022년의 시작이다. 나중에 이 글을 보면 신기하려나 ㅋㅋ 아침엔 친구들이랑 해뜨는거 보러갔는데 진짜 예뻤다. 이제부터 23살이 되었으니 진짜 찐어른이 된것 같다. 이제 말도 어른처럼 하고 좀 애티를 벗어나야겠다. ㅎㅎ 

 

이 단원은 너무 길어서 2개의 글로 나누어서 쓸 예정이다. 

 

먼저 이 단원에서 배우는 내용은 개발의 다양한 방법에 대해서 배운다.

 

전에는 분석 - 설계 - 구현 - 시험 - 유지보수 단계의 가장 기초적인 개발 방법에 대해 배웠다면 이번 단원은 각 상황에 따른 새로운 개발 방법에 대해 알려준다.

 

먼저 가장 기초적인 폭포수 모델이다.

 

앞에서 말했듯 폭포수 모델은 '고전적 라이프 사이클 패터다임' 이라고도 하며 가장 기본이 되는 방법이다.

 

이것에 대해선 앞에서 많이 설명했으니 간단히 요약만 하겠다.

 

폭포수 모델의 핵심은 분석 단계에서 완성작품을 이렇게 만들겠다 하고 실행에 옮기는 것이다.

 

그래서 고객이 필요한 점이 무엇인지 무엇을 원하는지 아는 센스도 필요하다고 생각한다.

 

두번째 방법으로는 원형 패러다임이다.

 

이 방법은 고객에게 맛보기? 를 주는 것이다.  많은 고객이 자신이 무슨 프로그램을 원하는지 정확히 어떤 기능을 원하는지 모르는 경우가 많다.

 

원형 모델

 

원형 패러다임은 이러한 고객에게 먼저 시제품을 보여줌으로서 개발자는 고객이 무슨 기능을 원하는지 정확히 알 수 있고, 고객은 자신이 받아볼 프로그램이 어떤 느낌인지 미리 알아볼 수 있는 방법이기도 하다.

 

다음은 원형 패러다임의 장점만을 나열해 보겠다.

  • 시스템의 기능이 사용자에게 보여짐으로써 개발자와 사용자(고객)의 오해가 규명된다. 
  • 생각하지 못하였던 기능과 서비스가 발견된다. 
  • 사용하기 어렵거나 불완전하거나 일치하지 않는 요구사항을 시제품을 통하여 발견할 수 있다. 
  • 분석가나 개발자는 불완전하거나 일치하지 않는 요구사항을 시제품을 통하여 발견할 수 있다. 

원형 패러다임을 이해하는 다른 방법은 자동차의 견본 (concept car) 이다. 자동차를 프로그램에 대입했을 때 컨셉카를 시제품이라고 생각하면 이해가 쉽다.

 

나선형 패러다임

처음에 나는 당연히 나선형 패러다임이 가장 좋은 개발의 방법이라고 생각했다. 그래서 나는 이 방법이 제일 안전하고 각 방법의 단점만을 보완한 방법인데 사람들이 왜 다른 방법을 쓰는지 의아했다.

 

하지만 가장먼저 새로운 기술을 선보여야 하는 스타트업에서는 이러한 방법은 시간, 비용의 이유로 많이 채택 하지 않는다는 것을 깨달았다.

 

나선형 패러다임은 폭포형, 원형 패러다임에 분석이라는 단계를 추가한 것이다.

 

이 분석단계에 대한 설명은 개발중에 있을 위험에 대하여 분석을 하는 것이다. 

 

나선형 모델

이렇게 나선형 패러다임은 목표를 보다 안전하게, 고객의 만족도를 높일 수 있는 방법이기도 하다.

 

하지만 많은 시간 및 비용으로 인해 거의 대형 프로젝트에서만 사용한다고 한다. 

 

마지막으로는 4세대 기법이다. 

 

개인적인 생각으로는 이 기법은 사실상 내가 살아있을 때에는 빛을 보기 어려울 것 같다. 물론 기술의 진화가 매우 빠른 시대에 뭘 못하겠냐고 할수도 있겠지만, 이 기법은 인공지능이 코딩을 대신 해주는 기법이라고 생각하면 될 것 같다.

 

개발자는 고객의 요청을 분석만 한 상태로 컴퓨터에 입력을 하면 결과물이 산출되는 기법인데 현재까지 개발은 사람이 하는 인간공학적인 측면이 강하고 기술이 그만큼 발전하지 못하였기 때문에 성능면에서는 뛰어나지 않는 기법이다. 

 

 

 

 

반응형

댓글