소프트웨어 공학의 정의
- 실제 효과적으로 작동할 수 있는 우수한 sw를 최적의 비용으로 얻기 위한 엔지니어링 원칙
- 경영학, 경제학, 전산학 및 시스템 공학전인 문제 해결 원리에 기초
- 허용 예산과, 시간 범위 안에서 효과적으로 sw를 개발
- 주요목표는 소프트웨어 제품의 품질을 향상시키고 생산성 및 사용자 만족도를 증진시키는데 있다.
소프트웨어 위기의 원인
- 소프트웨어 품질이 향상되지 못하고 유지보수가 힘들다
- 제안서만으로 사용자의 요구사항을 재대로 파악할 수 없는 경우가 많다.
- 프로젝트 시작시 확실한 요구사항과 목표를 세우기가 어렵다.
- 사용자가 볼 수 있는작동하는 시스템은 공정 후반부에 가서야 얻을 수 있다.
- 주요한 결점들이 후반부에 발견되어 시스템 전체에 큰 재난을 초래하는 경우가 많다.
- 소프트웨어를 유지 보수하는 것이 매우 힘들며 많은 비용이 든다.
- 컴퓨터에 하드웨어의 데이터 처리 및 저장능력이 급속도로 증가
- 소프트웨어의 유지 보수에 소요되는 비용 증가
- 소프트웨어 개발에 드는 비용이 하드웨어 비용을 대부분 능가함
- 소프트웨어의 품질 관리는 하드웨어보다 더 어렵다.
- 관리자나 엔지니어들이 새로운 기법들에 대하여 잘 모르며, 과거의 경험에 의한 코딩에 접근하는 경우가 많다.
- 기업에서는 장기적인 안목에서 관리자와 개발자들에게 교육과 훈련을 지속적으로 제공해야 한다.
- 소프트웨어의 경우 체계적인 접근 방법이 적어 소프트웨어의 품질 향상을 어렵게 하는 한 요인이다.
- 프로젝트 개발 일정과 소요비용 예측이 매우 부정확
댓글 없음:
댓글 쓰기