1. 개념
소프트웨어 제품을 계획할 때부터 시작하여 운용/유지 보수에 이르기 까지 변화의 전 과정
분석, 설계, 구현, 테스트, 확인, 유지보수 등 여러 단계가 있다.
대표적인 소프트웨어 생명 주기 모형으로 폭포수 모델, 프로토타입 모델, 나선형 모델, 애자일 모델 등이 있다.
2. 폭포수 모델
- 순차적으로 한단계씩 진행해 나가는 모델
1) 장점
- 프로세스가 단순하여 쉽게 적용 가능
- 단계별 작업 진행으로 해당 단계의 진척 관리가 용이함
- 반드시 각 단계마다 눈에 보이는 결과물이 출력됨
2) 단점
- 앞 단계로 돌아가서 처리할 작업이 많은 경우 작업 단계 변경이 비효율적.
- 초반 단계에서 중점적으로 처리할 경우 후반 단계의 구현, 테스트 등에서 시간이 부족할 수 있다.
- 사용자의 요구를 만족하는지 판별하기 위해서는 최종 결과물이 나와야한다.
3. 프로토타입 모델
- 사용자의 요구사항에 따로 프로토타입 제품을 신속히 개발하여 제공한 후 사용자의 피드백을 통해 개선하고 보완하는 모델 (폭포수 모델 단점 보안)
※ 프로토타입 : 최종 시스템의 예상 기능 중 일부를 빠르게 구현한 시스템
1) 장점
- 사용자의 참여를 유도하여 정확한 요구 도출이 가능
- 빠르게 모형을 개발하여 피드백을 통해 시스템 개선에 효율적
2) 단점
- 시제품을 최종 완제품으로 오해 가능하여, 기대심리를 유발할 수 있음.
- 시제품 폐기 시 비경제적이며, 시제품 개발에 오랜 시간을 소요할 경우 시간이 낭비될 수 있다.
4. 나선형 모델
- 시스템 개발 시 위험을 최소화 하기 위해 점진적으로 완벽한 시스템으로 개발해 나가는 모델
1) 단계별 활동
- 목표설정 : 고객의 요구사항 분석, 목표 수립
- 위험분석 : 요구사항을 기반으로 예측되는 위험 사항 추출, 대처방안 수립
- 개발과 검증 : 시스템과 개발 환경에 맞게 개발 진행, 개발 중에 검증이 이루어짐
- 고객 평가 : 개발과 테스트가 끝난 내용을 고객이 테스트하여 추가 반복 여부 결정
2) 장점
- 위험관리가 뛰어나 위험성이 큰 프로젝트 수행이 가능
- 변경되는 요구사항 적용 가능
- 최종 완제품에 대한 고객의 만족도와 품질이 높음
3) 단점
- 프로젝트 기간이 길어진다
- 반복단계가 길어지면 프로젝트 관리가 어려워 진다.
5. 반복 점증적 모델
- 요구사항이나 제품을 일부분을 개발/반복하여 최종 사용자 요구사항에 부합하는 시스템을 완성해 나가는 모델
1) 증분형 모델
사용자의 요구사항의 일부분을 하나씩 구현/반복한 후 결합하여 최종 제품을 완성하는 방법론
2) 진화형 모델
시스템의 프로토타입을 개발하면서 추가 요구사항이나 개선사항을 지속적으로 발전시켜 최종 완성품을 개발하는 방법론
6. RAD(Rapid Application Development) 모델
- 사용자의 적극적인 참여와 강력한 소프트웨어 개발 도구(CASE 도구)를 이용하여 매우 짧은 주기(60~90일)로 개발을 진행하는 순차적 모델
※ CASE 도구
- 소프트웨어에서 사용하는 자동화 도구
- 개발자의 반복적인 작업량을 줄이도록 해준다.
1) 장점
- 요구사항의 완전한 이해와 프로젝트 범위를 명확히 설정하는 경우 신속한 개발 가능
2) 단점
- 위험성이 높거나 대규모 프로젝트에는 부적합
- 사용자의 책임감이 낮을 경우 실패가능성이 높음.
'정보처리기사 > 실기' 카테고리의 다른 글
모델링 #2 (비용산정) (0) | 2024.01.15 |
---|---|
모델링 #1 (분석모델) (0) | 2024.01.15 |
소프트웨어 생명 주기 #2 (애자일 모델) (1) | 2024.01.08 |
현행 시스템 분석 - 네트워크, DBMS (0) | 2024.01.02 |
현행 시스템 분석 - 운영체제(OS : Operation System) (1) | 2023.12.01 |