[프리즘]SW공학

Photo Image

지난 1996년 11월 마르스글로벌 서베이어가 화성으로 발사됐다. 화성사진 24만장과 화성에 물이 흘렀다는 소식을 지구에 전했다. 2005년 11월 돌연 통신이 두절되고 서베이어는 실종된다. 사고발생 5개월 전 업데이트한 소프트웨어(SW) 오류가 원인이다.

2012년 8월 미국 대형 증권 중개업체 N사는 하루 만에 파산 위기에 몰린다. 새로 개발한 알고리즘 SW가 문제였다. 이 SW를 자동주문시스템서버 여덟 대에 설치하는 과정에서 실수로 한 대를 빼먹었다. 이날 사고로 회사는 5000억원 규모 손해를 보았다.

2007년 8월 재정경제부는 상반기 재정적자가 6조1000억원이라고 밝혔다. 2주 뒤 이 적자는 11조3000억원 흑자로 돌변한다. 600억원을 들여 개발한 디지털예산회계시스템 결함 때문이다. 결함 보수 중 프로그래머가 잘못 수정한 프로그램이 화근이다. 작은 SW 오류가 불러온 대형 사고사례를 찾는 것은 어렵지 않다.

SW는 통상 요구사항분석-설계-구현-테스트 순서대로 개발된다. 무엇보다 발주자 요구사항을 정확히 이해하고 설계하는 게 중요하다. 정확한 요구사항 분석과 탄탄한 설계가 전제돼야 결함 적은 SW를 개발한다. 이를 위한 전반적 과정·방법을 체계적으로 정리한 것이 ‘SW공학’이다.

한국 SW공학 수준은 100점 만점에 65.7점이다. 원활한 SW 개발 시 필요한 프로세스와 시스템 인프라가 일부만 구성됐다. SW개발에 필요한 기술기법과 표준이 제대로 갖춰지지 않았다. 정보관리·공유가 체계적으로 이뤄지지 않는다.

수출 SW도 마찬가지다. 수출 SW 업체 열 개 가운데 일곱 개는 현지화 테스트베드가 없다. 폰트나 글자가 깨지는 등 개발 단계에서 결함이 발생한다. 초기 요구사항이 불명확해 과업 진행 도중에 추가·변경 요구가 빈번한 SW사업 관행까지 한몫 더한다. 정부와 업계는 건전한 SW산업 생태계를 만드는 데 주력했다. 우수인력 양성에 힘을 기울인다. 덧붙여 고민할 한 가지가 있다. 바로 SW공학이다.


윤대원기자 yun1972@etnews.com

브랜드 뉴스룸