소프트웨어 개발 방법론
소프트웨어 생명주기 모델
소프트웨어 생명주기(SDLD, Software Development Life Cycle) 모델 개념
- 시스템의 요구분석부터 유지보수까지 전 공정을 체계화한 절차
- 시스템이 개발될 때부터 운용과 유지보수를 거쳐 생애를 마칠 때까지 어떠한 순서를 밟는지에 대한 작업 프로세스를 모델화한 것
소프트웨어 생명주기 모델 프로세스
요구사항 분석
- 상충할 수도 있는 다양한 이해관계자의 요구사항을 고려하여, 새로운 제품이나 변경된 제품에 부합하는 요구와 조건을 결정하는 단계
- 개발할 소프트웨어의 기능과 제약 조건, 목표 등을 소프트웨어 사용자와 함께 명확히 정의하는 단계
- 활동 : 기능 요구사항, 비기능 요구사항
설계
- 시스템 명세 단계에서 정의한 기능을 실제로 수행할 수 있도록 수행 방법을 논리적으로 결정하는 단계
- 활동 : 시스템 구조 설계, 프로그램 설계, 사용자 인터페이스 설계
구현
- 설계 단계에서 논리적으로 결정한 문제 해결 방법을 특정 프로그래밍 언어를 사용하여 실제 프로그램을 작성하는 단계
- 프로그래밍 언어 선택, 기법, 스타일, 순서 등을 결정하는 단계
- 활동 : 인터페이스 개발, 자료 구조 개발, 오류 처리
테스트
- 시스템이 정해진 요구를 충족하는지, 예상과 실제 결과가 어떤 차이를 보이는지 검사하고 평가하는 단계
- 활동 : 단위 테스트, 통합 테스트, 시스템 테스트, 인수 테스트
유지보수
- 시스템이 인수되고 설치된 후 일어나는 모든 활동
- 활동 : 예방, 완전, 교정, 적응 유지보수
소프트웨어 생명주기 모델 종류
폭포수 모델(Waterfall Model)
- 소프트웨어 개발 시 각 단계를 확실히 마무리 지은 후에 다음 단계로 넘어가는 모델
- 가장 오래된 모델
- 선형 순차적 모형으로 고전적 생명주기 모형이라고도 함
- 모형의 적용 경험과 성공 사례가 많음
- 단계별 정의와 산출물이 명확
- 장점 : 이해 용이, 관리 편리
- 단점 : 요구사항 변경 어려움
- 절차 : 요구사항 분석 → 설계 → 구현 → 테스트
프로토타이핑 모델(Prototyping Model)
- 고객이 요구한 주요 기능을 프로토타입으로 구현하여, 고객의 피드백을 반영하여 소프트웨어를 만들어가는 모델
- 발주자나 개발자 모두에게 공동의 참조 모델을 제공
- 프로토타입은 구현 단계의 구현 골격
- 장점 : 요구분석 용이, 타당성 검증 가능
- 단점 : 프로토타입 폐기에 따른 비용 증가
- 절차 : 요구사항 분석 → 프로토타입 개발 → 프로토타입 평가 → 구현 → 테스트
나선형 모델(Spiral Model)
- 시스템 개발 시 위험을 최소화하기 위해 점진적으로 완벽한 시스템으로 개발해 나가는 모델
- 장점 : 위험성 감소와 변경에 유연한 대처
- 단점 : 단계 반복에 따른 관리 어려움
- 절차 : 계획 및 정의 → 위험 분석 → 개발 → 고객 평가
반복적 모델(Iteration Model)
- 구축 대상을 나누어 병렬적으로 개발 후 통합하거나, 반복적으로 개발하여 점증 완성하는 SDLC 모델
- 사용자의 요구사항 일부분 혹은 제품 일부분을 반복적으로 개발하여 최종 시스템으로 완성하는 모델
- 장점 : 병행 개발로 인한 일정 단축 가능
- 단점 : 병행 개발에 따른 관리 비용 증가
- 절차 : 개발 대상 → 분석 → 설계 → 구현
'정보처리 > 소프트웨어설계' 카테고리의 다른 글
요구사항 확인 현행 시스템 분석 2/3 (0) | 2025.04.03 |
---|---|
요구사항 확인 현행 시스템 분석 1/3 (1) | 2025.04.02 |
요구사항 확인 소프트웨어 개발 방법론 4/4 (1) | 2025.04.01 |
요구사항 확인 소프트웨어 개발 방법론 3/4 (0) | 2025.03.31 |
요구사항 확인 소프트웨어 개발 방법론 2/4 (0) | 2025.03.30 |