1.1 소프트웨어(Software)

 

소프트웨어란?

: 프로그램과 프로그램의 개발, 운용, 보수에 필요한 관련 정보 일체를 말함.

소프트웨어 프로그램 이외의 문서와 정보도 소프트웨어 생산 작업의 결과이기 때문에

소프트웨어에 포함.

 

프로그램 vs 소프트웨어

: 프로그램은 프로그램 언어로 작성된 코드, 즉 정적인 표현을 의미하지만

소프트웨어는 프로그램이 컴퓨터를 가동시킨다는 동적인 의미를 포함.

 

소프트웨어의 특성

-invisibility(비가시성)

-complexity(복잡성)

-conformity(변형 가능)

 

 

 

1.1.1 소프트웨어의 유형

 

-주문형 소프트웨어

: 특정 고객의 수요를 만족하기 위해 개발된 소프트웨어.

 

다른 사용자나 기관에게는 쓸모없거나 잘 맞지 않음.

사용할 기관 내에서 만드는 경우가 많고 외부에 발주하여 개발을 의뢰하기도 함.

ex) 웹사이트, 항공기-교통제어 시스템, 대기업의 재정관리 시스템.

 

-패키지형 소프트웨어

:공개된 시장에 내놓고 판매하기 위한 것으로 범용 컴퓨터에서 실행되어 기능을 수행.(범용 소프트웨어)

 

소프트웨어에 대한 요구는 전적으로 시장의 요구에 의해 결정.

비즈니스 분야에서는 주문형 소프트웨어보다 패키지형 소프트웨어를 사용.(훨씬 저렴하고 신뢰도가 높아서)

(단점)특정 기관의 요구에 꼭 맞지 않을수도.

COTS(Commercial Off-The-Shelf) 소프트웨어라고도 불림.(판매하기 위해 진열된 판매대에서 뽑혀나감)

ex)워드프로세서, 스프레드시트, 컴파일러, 웹브라우저, 운영체제

 

-임베디드 소프트웨어

: 시장에서 판매되는 하드웨어 장치(세탁기, 자동차 등)에서 수행되는 소프트웨어.

 

범용 소프트웨어와는 달리 하드웨어를 교체하지 않는 한 소프트웨어를 업그레이드하기 어려움.

하드웨어 장치가 범용으로 판매된다는 점에서 임베디드 소프트웨어도 범용 패키지 소프트웨어와 유사하지만

개발방법과 프로세스가 달라 별도의 분야로 취급.

대량의 소비자와 상품을 추구해 나가므로 소프트웨어 카피의 수량이 대단히 많음.

 

*소프트웨어 카피 수량: 임베디드 > 패키지 > 주문형

(주문형이 카피 수는 가장 적지만 시스템이 다양하고 개발에 종사하는 인력이 많음)

 

범용 소프트웨어를 구입하여 커스텀화하는 방법도 있음.(비용이 적게 들지만, 범용 소프트웨어의 새 버전이

출시되면 계속 커스텀화 작업을 반복해야 하는 위험)

 

*요구되는 하드웨어 성능: 패키지 > 임베디드 > 주문형

*개발 인력: 주문형 > 패키지 > 임베디드

 

-소프트웨어가 동작되는 하드웨어 환경에 따라

: 대형, 병렬처리, PC 또는 워크스테이션, 모바일 소프트웨어

 

-운영체제 환경에 따라

: 단일 사용자, 다수 사용자, 원도우 및 인터넷 환경 소프트웨어

 

-소프트웨어가 쓰이는 분야에 따라(가장 보편적인 방법)

: 행정, 금융, 국방, 의료, 항공, ...

 

-리얼타임 소프트웨어와 자료처리 소프트웨어

리얼타임 소프트웨어: 임베디드 시스템이나 산업용 플랜트, 통신 네트워크와 같이 특수 목적의 하드웨어에

장착되어 실행.

외부로부터의 반응, 즉 사용자가 버튼을 누르거나 센서로부터 신호가 발생되었을 때 신속히 반응.

따라서 대부분의 설계 노력은 반응시간을 보장하려는 데 소모.

 

 

 

 

 

 

[출처]소프트웨어공학론(최은만 저, 정익사)

+ Recent posts