1.3 소프트웨어 공학의 등장배경 및 소프트웨어의 위기 (Software Crisis)
SW공학의 등장 배경이 무엇일까? 우리는 SW공학의 등장 배경이전에 소프트웨어
위기에 대하여서도 알아야 할 필요가 있다.
1) 소프트웨어 위기(Crisis)의 원인
l 하드웨어
개발 기술의 발전 속도에
비해 소프트웨어 개발 기술의
발전 속도가 느림
l 새로운
소프트웨어를 요구하는 시장의 수요
감당 못함
l 다양한
소프트웨어 요구사항을 중촉 시키지
못함
l 기존
프로그램에 대한 유지보수 능력이 미숙한
설계와 부적당한 자원에 의해
위축
l 시스템이
커질수록 유지보수 어려움
l 소프트웨어의
거대화, 복잡화
l 소프트웨어
특성에 관한 이해 부족
☞ HW의 발전 속도는 계속 더욱더 빨라지고 있고 소프트웨어의
개발 기술은 이를
따라가기
바쁘다 이로 인하여 위의 위기 원인들이 발생 하게 되었고 HW 가
좋아 지고 SW의
기술이 좋아지면서 SW가 거대 복잡하게 되었다 이는 SW개발 비용의 증가로
이어 진다.
2) 소프트웨어 위기의 극복 방안
l 자동화
도구의 사용: CASE, 코드
생성/관리, Repository, 형상관리 도구
l 품질보증체계: 품질관리 정착, ISO 품질보증체제 도입, CMM/SPICE 도입,
정보시스템
감리
l 표준화: S/W / DATA의 표준화, 부품의 재사용, SW 역공학/재공학
활용, ITA,
EAP 정착 및
활용
l 공학적
접근: 구조적 방법론, 정보공학 방법론, 객체지향 방법론, CBD 방법론,
프로젝트
관리기법
☞ SW의 위기 및 개발 비용 증가 극복을 위하여 자동화
도구 사용,
품질 보증체계 확립, 표준화 수립
그리고 공학적 접근이 이루어 지게 된다.
3) 잘못된 의식구조
l 관리자의
착각
-
소프트웨어 개발방법이 문서로
상세히 기록되어 있기 때문에
개발자들이
어려움을 느낄 이유
없음
-
다양한 개발 도구
등 개발 환경이 좋아 개발자들이
불편함이 없음
-
스케줄이 지연되면 인력을
추가로 투입하면 됨
-
교육만 시키면 우수한
소프트웨어는 쉽게 확보 가능
l 사용자의
착각
-
시스템이 정의되고 개발목표가
설정되면 프로그래밍은 착수 가능
-
사용자의 요구는 지속적으로
변하지만, 소프트웨어 개발은
유연해서 쉽게
관철 가능
l 개발자의
착각
-
프로그램을 짜고 시험을
끝내면 개발자의 작업은 완료
-
프로젝트가 완료되었을 때의
결과는 작동되는 프로그램
-
개발 단계의 결과물을
심의하는 검토회의는 시간 낭비
-
소프트웨어의 유지 보수랑
결함을 찾아 수정하는 작업으로서 간단
-
프로그램이 실제로 동작할
때까지는 소프트웨어 품질을 평가하는
것이
불가능
4) 소프트웨어 개발이 어려운 문제점
데이터
수집 시간의 미비, 개발 비용의 증가, 사용자의 불만, 유지보수의 어려움,
소프트웨어
품질에 대한 의심, 소프트웨어
생산성 문제 대두,다양하고 복잡한 응용분야를 이해하고 개발하는데 많은 시간과 노력을 투자하지
않음
5) 소프트웨어 유지보수 작업
l 기능개선: 50%
l 환경적응: 25%
l 하자보수: 21%
l 예방조치: 4%
6) 소프트웨어공학긔 40 – 20 – 40
l 분석
설계: 40%
l 코딩: 20%
l 시험: 40%
7) 소프트웨어공학의 등장 배경
위 소프트웨어 위기 이유 때문에 소프트웨어 공학이 등장 하게
되었으며 다시 정리를
하면 아래 와 같다.
l 소프트웨어
개발비용, 일정 자원
예측의 어려움
l 소프트웨어
품질문제 발생
l 유지보수의
중요성
l Hw, SW 기술의 발전
l SW 복잡도 증가,
l 요구사항
증가
- 감리사, 기술사, PMP, 소프트웨어공학,
댓글 없음:
댓글 쓰기