본문 바로가기
헝클어진 알고리즘

1. 소프트웨어 생명 주기

by 배굿맨 2020. 5. 10.

소프트웨어 생명 주기는 소프트웨어 개발 방법론의 바탕이 되는 것으로, 소프트웨어를 개발하기 위해 정의하고 운용, 유지보수 등의 과정을 각 단계별로 나눈것이다.

 

소프트웨어 개발 방법론? 소프트웨어 어떻케 만들어야 잘 만들었다고 할까? 그래서 여러 방법들이 나오고 이것들을 나열해서 설명하려고 합니다.

 

1.1 폭포수 모형(Waterfall Model)

 

폭포에서 한 번 떨어진 물은 거슬러 올라갈 수 없듯이 소프트웨어 개발도 이전 단계로 돌아갈 수 없다는 전제하에 각 단계를 확실히 매듭짓고 그 결과를 철저하게 검토하여 승인 과정을 거친 후에 다음 단계를 진행하는 개발 방법론이다.

 

건물을 올리는데 1, 2층없이 3층 올리나요?

 

1.2 프로토타입 모형(Prototype Model, 원형 모델)

 

사용자의 요구사항을 정확히 파악하기 위해 실제 개발될 소프트웨어에 대한 견본(시제품)을 만들어 최종 결과물을 예측하는 모형이다.

 

건물 다 지었는데.. 아차! 계단이 없네? 이런 경우를 방지하기 위해서 프로토타입 모델(프라모델)을 만들어서 확인 후, 이것을 참조해서 소프트웨어를 완성해 갑니다.

 

1.3 나선형 모형(Spiral Model, 점진적 모형)

 

폭포수 모형와 프로토타입 모형의 장점에 위험 분석 기능을 추가한 모형이다.

 

보헴씨가 누군지는 모르겠는데, 수학을 꽤나 좋아하나 봅니다. 직각좌표계의 각 4분면을 이용해서 나선형 모델을 제안했는데 보면 정말 그럴 듯 합니다.

 

 

1.4 애자일 모형(Agile Model)

 

애자일은 '민첩한', '기민한'이라는 의미로, 고객의 요구사항을 변화에 유연하게 대응할 수 있도록 일정한 주기(스프린트)를 반복(이터레이션)하면서 개발과정을 진행한다.

애자일 모형은 어느 특정 방법론이 아니라, 좋은 것을 빠르고 낭비 없게 만들기 위해 고객과의 소통에 초점을 맞춘 방법론을 통칭한다.

 

스크럼(Scrum)과 XP(eXtreme Programming)등이 있다.

 

날밤 새면서 소프트웨어를 개발하게 만드는 원흉입니다.  고객이 원하는 바를 빠르게 만들어 주는 것이 목적입니다. 고객도 힘듭니다. 왜냐하면, 고객도 일을 안하면 개발이 늦어집니다.

 

'헝클어진 알고리즘' 카테고리의 다른 글

정보처리기사 최종 합격  (0) 2020.09.04
git cli(command line interface)  (0) 2020.09.03
요구사항 확인하기  (0) 2020.06.23
XP(eXtreme Programming)  (0) 2020.05.12
2. 스크럼(Scrum) 기법  (0) 2020.05.11