사이언스올

통합검색

찾기

소프트웨어엔지니어링(software engineering)

작성일 2010-08-18

컴퓨터 소프트웨어의 계획·개발·검사·보수·관리 등을 위한 기술 및 그것을 연구하는 공학의 한 분야. 컴퓨터 시스템의 가격 중에서 소프트웨어를 위한 가격이 차지하는 비율은 컴퓨터가 탄생한지 얼마 안된 1955년경에는 20% 미만이었다.

그 후 급속히 소프트웨어의 비중이 커져 현재는 80~90%가 되었다.

이것은 소프트웨어의 규모가 커지고 복잡해졌기 때문이다.

또 요구되는 소프트웨어가 점점 복잡해지는데 그에 대처하기 위한 소프트웨어 기술이 그것을 따라가지 못하고 있는 데도 원인이 있다.

그 결과 ① 소프트웨어는 항상 납기를 지키지 못하고 비용이 너무 들며 처음의 시방서(示方書)를 충족시키지 못한다.

② 소프트웨어는 신뢰성이 없어 영구히 보수할 필요가 있다.

③ 소프트웨어는 투명도가 낮아 보수할 수 없고 수정·개량하기 어렵다는 이른바「소프트웨어 위기」의 조짐이 나타나고 있다.

그 원인으로 모든 공학 분야에서 공통적인 기본적인 설계절차를 밟지 않았기 때문이라는 지적이 있어 소프트웨어의 개발에 구조화 프로그래밍 같은 공학적 접근을 도입하게 되었다.

소프트웨어에 소요되는 비용을 계획에서 보수에 이르는 각 단계별 비율로 보면 요구의 정의 및 시방서 기술의 단계에 약 10%, 설계의 단계에 약 10%, 프로그래밍의 단계에 약 10%, 테스트 및 디버그(수정)의 단계에 약 20%, 그리고 보수에 소요되는 비용이 약 50%를 차지하고 있다.

공공누리 공공저작물 자유이용허락 출처표시, 상업용금지

본 저작물은 공공누리  출처표시+상업적 이용금지 에 따라 이용할 수 있습니다.

다음
세슘(caesium, cesium) 2010.08.18
이전
소프트웨어(software) 2010.08.18
통합검색으로 더 많은 자료를 찾아보세요! 사이언스올(www.scienceall.com)과학백과사전
The Science Times
과학문화바우처
사이언스 프렌즈
STEAM 융합교육
CreZone 크레존
문화포털
과학누리
교육기부
EDISON
과학기술인재 진로지원센터