소프트웨어 공학이란 클라이언트의 요구사항을 만족시키는 결함이 없는 소프트웨어를 주어진 시간과 예산 범위내에서 생성하는 것을 목적으로 하는 학문 분야.
고전적인 소프트웨어 개발방법으로 '폭포수 모델'이다. 폭포수 모델은 마치 각각의 과정이 폭포수 처럼 흘러내리는 것에 비유하여 붙여진 이름이다. 고전적인 방법이라고 해서 나쁜 것은 아니다. 이보다 더 단순한 모델은 없으며, 중/소규모의 프로젝트에는 아직까지 매우 쓸만하다. 하지만 폭포수 모델은 매우 큰 단점이 존재한다. 전 단계들의 산출물에 현 단계가 너무 큰 영향받는 것이 그것이다. 특히, 요구사항 조사/분석과정에서 사용자의 요구사항을 조사/분석가가 제대로 얻어내지 못하면 프로젝트가 큰 어려움을 격게 된다.
다음과 같은 장/단점이 존재한다.
- 장점
- 가장 오래 사용되어 폭넓게 사용되고 성공사례도 풍부하다.
- 매우 단순하여 전체 과정의 이해가 쉽다.
- 진행과정을 세분화하면 관리가 용이해 진다.
- 가장 오래 사용되어 폭넓게 사용되고 성공사례도 풍부하다.
- 단점
- 초기 요구사항 조사/분석과정이 매우 어렵다.
- 중요한 결함이 늦게 발견된다.
- 전 단계가 마무리되어야 다음 단계로 진행된다. (직렬성)
- 초기 요구사항 조사/분석과정이 매우 어렵다.
나선형 모델은 폭포수 모델의 장점과 프로토타입 모델의 반복적인 특성을 결합시킨 모델이다. 특이한 것은 폭포수 모델 및 프로토타입 모델의 장점에 위험 분석 단계가 추가되었다는 것이다. 그래서 대규모 시스템 및 리스크가 큰 시스템 개발에 적합하다고 알려져 있다.
다음은 장/단점이다.
- 장점
- 요구사항 파악이 용이하다.
- 리스크를 관리하므로 위험 부담이 감소된다.
- 소프트웨어의 품질을 높일 수 있다.
- 요구사항 파악이 용이하다.
- 단점
- 많은 시간이 소모된다.
- 프로젝트 일정이 길어지므로 프로젝트 관리의 어려움이 따른다.
- 충분히 검증되지 않은 방법으로 성공사례가 적다.
- 많은 시간이 소모된다.
기타 발전된 모델로는 다음과 같은 것들이 있다.
- 반복 개발 모델
- RAD(Rapid Application Development)
- 4세대 모델
- 컴포넌트 어셈블리 모델
'IT > Database' 카테고리의 다른 글
[NoSQL] MongoDB (문서, 콜렉션 ,데이터베이스) (0) | 2018.04.26 |
---|---|
[NoSQL] Mongo DB 설치 법입니다 (0) | 2018.04.26 |
[DB] 데이터모델링이란 (0) | 2018.04.21 |
[DB] 개발방법론과 정보공학 (0) | 2018.04.20 |
[DB] 집합적사고방식 (0) | 2018.04.19 |
[DB] 3단계스키마구조 (0) | 2018.04.18 |
[DB] 데이터베이스 시스템 (0) | 2018.04.18 |
[DB] 데이터의 중복과 고립화 (0) | 2018.04.17 |