Gidhub BE Developer

소프트웨어(SW)의 특징

2018-09-07
goodGid

소프트웨어(S/W, SoftWare) 개념

  • 소프트웨어(S/W, SoftWare)는 하드웨어를 동작시켜 사용자가 작업을 편리하게 수행하도록 하는 프로그램과 자료 구조 등을 총칭한다.

  • 소프트웨어는 프로그램 자체뿐만 아니라 프로그램의 개발, 운용 및 유지보수에 관련된 모든 문서와 정보를 포함한다.


소프트웨어의 특성

  • 비가시성(Invisibility)
    • 소프트웨어 구조는 외관으로 나타나지 않고 코드로 숨어 있다.
    • 구조가 외부에 노출되지 않고 코드에 내재되어 있음(개념적, 무형적)
  • 복잡성(Complexity)
    • 개발과정이 복잡, 비표준화
    • 정형적 구조가 없이 복잡하고 비규칙적, 비정규적임
  • 변경성(Changeability)
    • 필요에 따라 항상 수정이 가능한 진화
  • 순응성(Comformity)
    • 사용자요구, 환경변화에 적절히 변형가능
  • 무형성(Intangible)
    • 사실 형제가 없으며 FP(기능점수)등으로 유형화 하고자 함
  • 복제성(Duplicability)
    • 적은 비용(무상)으로 간단하고 쉽게 다양한 경로와 노력으로 복제가 가능
  • 개발(Developed)
    • 제조(조립)가 아닌 개발(developed not manufactured)
  • 유형성(有型性)
    • 소프트웨어는 논리적이며 보고 만질 수 없는 것이 아니라, 프로그램 코드를 인쇄시켜 볼 수도 있고 분석/설계 산출물로 가시화시킬 수 있으므로 유형이다.
  • 동적행위성(動的行爲性)
    • 프로그램은 정적인 반면 소프트웨어는 정적이다.
    • 프로그램이 하드웨어에 의해 수행되고 사용자와 상호작용할 때 비로소 소프트웨어가 된다.
  • 상품성(商品性)
    • 개발된 소프트웨어는 상품화되어 판매된다.
    • 개발된 프로그램은 제품에 불과하고 포장이 되고 사용자가 사용할 가치가 생기므로써 상품이된다.
  • 견고성(堅固性)
    • 일부 수정으로 소프트웨어 전체에 영향을 줄 수 있다.
    • 소프트웨어의 행위는 예측이 어렵고 수정이 용이하지 않다.
    • 따라서 소프트웨어가 한번 구조성을 잃으면 유지보수는 점점 어려워지므로 ‘소프트’라는 단어 처럼 그리 유연하지 못하다는 것이다.
  • 비마모성(非磨耗性)
    • 외부의 환경에 의해 마모되지 않고 다만 품질이 나빠질 뿐임
    • 마모되거나 소멸되지 않는다.
    • 소프트웨어는 하드웨어와 달리 마모되지 않고 품질이 저하되는 특징이 있다.
  • 비제조성
    • 하드웨어처럼 제작이 아니라 논리적인 절차에 맞게 개발
    • 소프트웨어는 제조, 생산 되어지는 것이 아니라 개발되어진다.
      하드웨어와 같이 소프트웨어도 좋은 설계를 바탕으로 만들어지지만 생상과정이 품질에 큰 영향을 주지는 않는 하드웨어에 비해 소프트웨어 개발과정은 그 과정 자체가 곧 품질로 연결된다.
  • 비조립성
    • 하드웨어는 부품의 조립으로 이루어지는 반면 소프트웨어는 대부분의 경우에 개발에 머물뿐 조립의 단계는 아직 아니다.
  • 비과학성
    • 과학적이 아니라 조직, 인력, 시간, 절차 등 중심
    • 소프트웨어 개발 자체는 수학적이거나 과학적인 것이 아니라 조직, 인력, 시간, 비용, 절차 등이 중심이되는 관리기술이 중요하다.

Reference

*소프트웨어 공학 정리


Index