Hi yoahn 개발블로그

#1 [소프트웨어 공학] 개요 본문

sswu/소프트웨어 공학

#1 [소프트웨어 공학] 개요

hi._.0seon 2020. 11. 12. 17:09
반응형

1.1 소프트웨어

소프트웨어 특징 4

                                         -프레드 브룩스

- 복잡성 (complexity)

 소프트웨어는 자동화하려는 대상이 복잡, 수많은 내부의 요소들로 이루어져 상호작용이 많고 복잡함

- 순응성 (conformity)

 요구나 환경, 데이터의 변화에 따라 적절히 변형되는 특징

- 변경성 (changeability)

 소프트웨어는 개발 과정에 자주 변경된다.

- 비가시성 (invisibility)

 소프트웨어는 종이나 자기 디스크 같은 매체에 저장되지만, 개념적이고 무형적이다

 소프트웨어는 구조가 코드 속에 숨어 있어 쉽게 드러나지 않는다.

- 소프트웨어는 마모되어 소멸되지는 않는다.

 

1.1.1 소프트웨어의 종류

1 ) 주문형 소프트웨어

- 특정 고객의 수요를 만족하기 위하여 개발된 SW

- 그 고객 맞춤으로 제작되는 것으로, 다른 고객에게는 잘 맞지 않는다.

- 기관 내부에서 개발하는 경우가 많다. (외부에 발주하여 개발 의뢰하기도 함)

- 개발 성패: 사용자의 요구에 절대적으로 좌우된다.

- 웹사이트, 항공기-교통제어 시스템, 재정관리 시스템

 

2 ) (범용) 패키지형 소프트웨어

- 시장에서 판매하기 위한 것. 범용 컴퓨터에서 실행된다.

- 소프트웨어에 대한 요구: 시장의 요구에 의해 결정된다.

- 장점: 비즈니스 분야에서는 주문형보다 패키지형을 많이 사용하는데, 더 저렴하고 신뢰도가 높기 때문이다.

- 단점: 특정 기관의 요구에 딱 맞지 않을 수 있다.

(범용 소프트웨어 = COTS(Commercial Off The Self))

- 개발 성패 : 시장의 반응으로 좌우된다

- 워드프로세서, 엑셀, 컴파일러, 웹브라우저, 운영체제, 게임

- 범용 소프트웨어를 구입하여 커스텀화 하는 방법 -> 비용 적음, 새 버전 출시마다 커스텀화 작업 반복 필요

 

3 ) 임베디드 소프트웨어

- 하드웨어 장치 (세탁기, VCR, 전자레인지, 자동차)에서 수행되는 소프트웨어

- 하드웨어를 교체하지 않는 한 소프트웨어를 업그레이드하기 어렵다

- 하드웨어 장치가 범용으로 판매되므로 범용 패키지 소프트웨어와 유사하지만, 개발 방법과 프로세스가 달라 별도의 분야로 취급

 

- 임베디드: 대량의 소비자와 상품을 추구해 나가므로 소프트웨어 카피의 수량이 많다.

- 범용 패키지형: 임베디드보다 카피 적음

- 주문형: 카피 수는 가장 적음. 시스템 다양, 개발 종사 인력이 많음

 

1.1.2 시스템

필요한 기능을 실현시키기 위하여 관련 요소를 어떤 법칙에 따라 조합한 집합체

 

각 서브시스템은 다른 서브시스템으로부터의 자극에 대하여 영향을 받고 반응함으로써 상호작용하고 이들이 통합되어 하나의 거대한 시스템이 형성되어 있는 것이다.

 

시스템의 4가지 성질

- 서브시스템

 : 시스템은 밀접히 관련된 서브 시스템들로 구성된다

 

- 기능적 분할

 : 시스템은 규모가 작은 부속 서브시스템들로 나눌 수 있다

 

- 시스템 경계

 : 시스템과 주변 환경을 구분할 수 있는 경계가 있다. (입력과 출력이 만나는 곳)

 

- 자동화 경계

 : 시스템이 자동화된 부분과 수동 작업 부분을 나누는 경계

 

1.2 소프트웨어 개발 작업

1.2.1 기본 활동

1 ) 명세화

2 ) 구현

3 ) 검증

4 ) 유지보수

 

반응형
Comments