2020. 10. 15. 18:07ㆍCS 필기 노트/소프트웨어 공학
소프트웨어의 생명주기
1. 계획
소프트웨어 개발에 필요한 자원과 비용을 측정하고 계획한다.
2. 요구사항 분석
사용자가 요구한 문제를 상세하고 정확하게 분석한다.
3. 설계
소프트웨어의 구조, 알고리즘을 작성하는 단계
4. 구현
설계한 문서들을 기초로 코딩하고 번역하는 단계
5. 테스트
구현된 소프트웨어에 내재되어 있는 오류를 찾아주는 단계
6. 유지보수
여러 환경에 따라 소프트웨어를 적응 및 유지시키는 단계
폭포수 모형 (waterfall model)
선형 순차 모형으로, 각 단계가 끝날 경우 결과물이 명확히 나와야한다.
개발 단계는 위의 생명 주기와 같으며 총 6단계의 과정을 거친다.
상위 단계를 완료하지 않으면 후에 심각한 영향을 준다는 것이 특징이며 고객의 요구가
개발 단계의 후반이 되서야 확인 할 수 있다는 점이 있다.
프로토타입 모형 (prototype model)
폭포수 모형의 요구사항 변경에 따른 어려움을 보완한 모형으로 사용자의 요구사항을 충실히 반영한다.
실제 상황 전에 가상의 시뮬레이션을 통하여 최종 결과물에 대한 예측을 할 수 있다.
프로젝트의 관리가 용이하고, 노력과 비용을 절감한다.
나선형 모형 (spiral model)
폭포수 모형과 프로토타입 모형의 장점을 융합한 모델
각 단계별 진행되면서 발생하는 문제점에 대해 개발자와 사용자가 적절히 대응할 수 있는것이 특징이다.
비용이 많이 들거나 시간이 많이 소요되는 대규모 프로젝트에 구축 시 유리하다.
과정은 밑 그림과 같다.
RAD (Rapid Application Development)
짧은 개발 주기 동안 소프트웨어를 개발하기 위한 선형 프로세스 모델로
요구사항 일부분을 반복적으로 개발하여 최종제품을 만든다.
요구사항을 완전히 이해하고 목표가 명확할때 신속히 개발을 할 수 있다는 장점이 있지만
요구사항이 변하거나 팀원이 책임감이 없을 경우 위험해진다.
'CS 필기 노트 > 소프트웨어 공학' 카테고리의 다른 글
소프트웨어 공학의 3R, 형상관리 (0) | 2020.10.16 |
---|---|
소프트웨어 테스트 (0) | 2020.10.15 |
개발 방법론 (0) | 2020.10.15 |
객체 지향 소프트웨어 (0) | 2020.10.15 |
프로젝트 비용 산정 모델 (0) | 2020.10.15 |