소프트웨어 위기

반응형
  • 소프트웨어 위기의 개념
    • 소프트웨어의 요구와 공급 능력간의 차이가 갈수록 심화
    • 소프트웨어 개발의 한계 상황(생산성, 품질, 비용, 일정)

       

  • 소프트웨어 공정의 문제점
    • 하드웨어와 소프트웨어 발전의 불균형
    • 소프트웨어의 품질 저하, 유지보수 기능성 저하
    • 소프트웨어 유지보수 비용의 증가

       

  • 소프트웨어 위기의 원인
    • 복잡도 증가, 소프트웨어 종류의 다양화
    • 소프트웨어의 요구사항 증가에 소프트웨어 기술이 따라가지 못함
    • 소프트웨어의 특성에 대한 이해 부족

         

  • 소프트웨어에 대한 잘못된 통념
    • 개발자
      • 프로그래밍만 끝나면 개발은 종료
      • 개발 과정 중 품질 측정은 불가능
      • 문서화는 불필요하며 코드로 충분
    • 고객
      • 간단한 요구 사항 정의로 충분
      • 소프트웨어는 탄력적이어서 쉽게 변경이 가능
    • 관리자
      • 이미 많은 표준을 보유
      • 값비싼 도구를 많이 보유
      • 시간과 투입 공수의 대체가 가능

           

  • 소프트웨어 위기의 해결책
    • 소프트웨어 공학 기법 활용
      • 전체 소프트웨어 생명주기를 통해 정형화된 방법론과 도구를 사용하여 공학적으로 소프트웨어를 개발
      • 새로운 기법(Techniques), 방법(Methods)과 도구(Tools)의 적절한 적용
      • 1970년대 1차 소프트웨어 위기(생산성 저하)의 해결
    • 소프트웨어 재사용(Reuse)
      • 컴포넌트 기반 소프트웨어 개발(근원적 소프트웨어 위기의 해결)
      • 이미 작성된 컴포넌트(Software-ICs)
      • 객체 지향 접근 방법(Object-oriented Approach)
    • 객체 지향 기술 응용
      • Seamless 개발 방법론
      • 자연스러운 모델링(Natural Modeling)
    • 소프트웨어 표준화
      • 소프트웨어 구현 프로세스, 소프트웨어의 구조, 개발 방법, 사용자 인터페이스, 통신 프로토콜 등의 표준화

       

반응형

'밥벌이 > 소프트웨어 공학' 카테고리의 다른 글

프로토타입(Prototype) 모델  (0) 2010.08.13
폭포수(Waterfall) 모델  (0) 2010.08.13
소프트웨어 프로세스 모델의 개념  (0) 2010.08.13
소프트웨어 공학의 개념  (0) 2010.08.12
소프트웨어 개념  (0) 2010.08.12