홍차의 미로찾기

[정보처리기사/정처기] 소프트웨어 설계 - 요구사항 확인(1) 본문

프로그래밍/정보처리기사

[정보처리기사/정처기] 소프트웨어 설계 - 요구사항 확인(1)

홍차안디 2022. 2. 7. 22:25
반응형

제 1과목. 소프트웨어 설계 - 요구사항 확인 (1)

 


소프트웨어의 생명주기

 

1. 폭포수형 모형

2. 프로토타입 모형

3. 나선형 모형

4. 애자일

 


 

소프트웨어의 생명주기

나무와 같은 생명에도 시작과 끝이 있는 것처럼 소프트웨어도 시작과 끝을 가지고 있다.

 

소프트웨어 개발도 단계를 가지고 있다.

대표적인 것들이 폭포수형 모형, 프로토타입 모형, 나선형 모형, 애자일 이다.

 

이러한 모형들은 아래와 같은 장점을 가지고 있다.

 

- 소프트웨어의 비용과 개발 계획의 골격을 제공해주며,

- 표준화를 가능하게 한다.

- 또한 관리에 용이하다

 


1. 폭포수형 모형

- 가장 오래된 전통적인 방식

- 순차적으로 한 단계씩 진행해 나가는 방식

- 폭포수 모델은 전 단계가 수행되어 완료되기 전에는 다음 단계를 진행할 수 없도록 제한 함.

 

- 요구 사항이 명확할 때 사용 (중간단계 수정 불가하기 때문)

- 새 요구사항을 받아들이기 어려움

 

계획 -> 요구분석 -> 설계 -> 구현 -> 테스트 -> 유지보수

계획

   - 타당성 여부 판단 (ex. 작은 땅에 30층 건물 세워줘! -> 불가능)

   - 비용, 자원, 기간 산정

설계

   - 요구를 문서화하는 단계

설계

   - 데이터 구조, 알고리즘 등의 세부사항 만든다.

   - 설계도를 만드는 단계

구현

   - 프로그래밍 언어로 코드화함.

테스트

   - 오류 없고, 잘 동작하는지 확인하는 단계

유지보수

   - SW가 고객에게 전달된 후 잘 되는지, 오류는 없는지, 변화 수용 여부 판단

 

 

2. 프로토타입 모형

- 개발 초기에 시스템의 모형(원형, 프로토타입, prototype)을 간단히 만들어 사용자가 직접 정보시스템을 사용하게 함

- 사용자가 만족할 때까지 프로토타입을 재구축을 반복해나가면서 시스템을 개선시켜 나가는 방식

- ex. 모델하우스

 

- 사용자의 요구사항이 불분명할 때 사용

- 모형을 만들어주고 -> 사용하게 함 -> 요구사항을 받음 -> 즉시 추가/변경/삭제 반영 

 

- 장점 : 변경에 용이

- 단점 : 별도 모형 개발/폐기 비용과 시간이 많이 듦

 

요구분석 -> 프로토타입 설계 -> 프로토타입 개발 -> 고객평가

 

3. 나선형 모형

- 고객과의 소통을 통해 계획수립, 위험분석, 구축(개발), 고객평가의 과정으로 SW 개발하는 방식

- 복잡해지고 있는 SW 개발 환경의 위험요소를 분석하고 해결할 수 있도록 지원하는 모델

- ex. 건물을 지을 때, 비나 눈이 많이 올때의 위험에 대비하여 이미 다 메뉴얼이 존재함

 

- 대규모 시스템에 적합 

- 비용↑ / 시간 ↑ (요구사항을 계속 추가하기 때문 -> 과정을 반복하며 위험요소 예측 후 해결)

- 정밀하게 요구 사항 적용 가능

 

계획수립 -> 위험분석 -> 개발 -> 고객평가 (-> 계획수립 ...)
(반복)

 

- 위험적 요소/ 방해 요소가 무엇인지 예측해서 해결해나가며 개발

- 이에따른 평가를 받고 또 다시 같은 과정을 반복

 

4. 애자일

- 고객과의 소통에 초점을 맞춘 방법론

 

- 소규모 프로젝트에 적합

- 많은 요구사항을 받고, 우선순위를 부여하여 개발

 

- 핵심가치

   1) 개인(요구자)과의 상호작용에 더 가치를 둠.

   2) 문서보다는 실행되는 SW에 더 가치를 둠

   3) 계약적인 것보다는 고객과의 협업에 더 가치를 둠

   4) 계획보다는 변화 대응에 더 가치를 둠.

 

- 애자일의 12가지 지침 (일부)

   1) 고객을 만족 시킨다.

   2) 개발의 막바지여도 고객 요구 적극 수용

   3) 따로 프로젝트 기간을 두지 않고, 매주 고객에게 SW를 제공해서 평가받음

   4) 고객, 개발자가 함께 일함.

   5) 얼굴을 맞대고 의견교환

   6) 작동하는 SW를 보며 진척여부 판단

   7) 단순화 추구

 

 

<생명 주기 모델 비교>

폭포수형 프로토타입 나선형 애자일
순차적 -> 수정X 모형물 제공 위험분석 반복 -> 비용↑ 문서X -> 소통형 고객중심
요구사항 명확할 때 적합 요구사항 불분명할 때 적합 대규모 프로젝트 적합 소규모 프로젝트 적합

 

 

<폭포수형 모형과 애자일의 차이>

폭포수형 모형 애자일
순차적 진행 고객 소통형
문서 위주 문서 X
소통 X -> 수정 X 소통0 -> 고객 중심
프로젝트 마지막에 TEST 진행 일정한 주기로 TEST 진행

 

반응형
Comments