전산.정보처리.정보보안/소프트웨어공학

[소프트웨어 공학의 개념] 소프트웨어의 개념

Ethelnoth 2014. 6. 12. 20:16

1. 소프트웨어( Software )

1) 정의

① 실행 시 요구되는 컴퓨터의 명령어들의 모임이나 프로그램이다.

② 프로그램이 자료를 적절히 조작할 수 있게 해주는 데이터구조이다.

③ 프로그램들의 사용과 운영을 기술하는 문서이다.

* TIP : 소프트웨어란?

S/W = Program + 실행성 + 모든 문서 + 설치데이터


2) 속성

① 개발, 설계되며 제조되지는 않는다.

② 마모되는 것이 아니라 잦은 변경으로 인해 기능이 퇴화될 뿐이다.

③ 기존의 구성요소로 조립되기 보다는 요구에 의해 항상 새로 제작된다.

④ 수학이나 물리학에서 볼 수 있는 규칙적이고, 정형적인 구조가 없다.

⑤ 요구나 환경의 변화에 따라 적절히 변형 시킬 수 있는 특징이 있다.

⑥ 극히 적은 비용으로 복제가 가능하다.

⑦ 언제나 시험이 가능하고 수정이 가능하다.


3) 특징

① 비마모성 : 유지보수 과정에서 소프트웨어 변화를 요구하므로 고장 발생률이 높아진다.

② 비가시성 : 하드웨어와 달리 소프트웨어는 무형으로 형체가 없다.

③ 동적 행위성 : 정적인 프로그램 + 하드웨어 -> 동적인 소프트웨어화

④ 상품성 : 프로그램이 제품인데 반해 소프트웨어는 상품이다.

⑤ 견고성 : 소프트웨어 구조의 파괴는 유지보수를 어렵게 하고, 또한 소프트웨어의 행위는

예측하기 힘들고, 수정이 용이하지 못하다.

⑥ 제조가 아닌 개발 : 하드웨어는 제조되며 소프트웨어는 인간의 두뇌에 의한 개발이다.


4) 공학적으로 잘 작성된 소프트웨어

① 사용자가 원하는 대로 동작해야 한다.

② 가능한 한 잠재적 오류가 적어야 한다.

③ 유지보수가 용이해야 한다.

④ 신뢰도가 높아야 한다.

⑤ 효율적이어야 한다.

⑥ 사용하기 쉬워야 한다.