소프트웨어공학의개념

1. 소프트웨어공학의개념.hwp
2. 소프트웨어공학의개념.pdf
소프트웨어공학의개념

제 1 장 소프트웨어 공학의 개념

1.1 소프트웨어 공학의 정의

1.1.1 소프트웨어(Software)란
1) 넓은 의미 : 데이터를 처리하여 원하는 결과를 얻기 위한 프로그램 및 그와 관련된 서류를 일컫는 말로 더 넓은 의미로는 컴퓨터를 작동시키기 위한 기술의 총칭이다.
⇨ 컴퓨터를 작동시키는 프로그램 및 그와 관련된 모든 문서
2) 좁은 의미 : 운영체제(Operating System)의 중심이 되는 각종 프로그램을 말한다.
3) H/W는 컴퓨터 및 그 주변 기기를 의미하는 정적인 것이지만, S/W는 컴퓨터를 작동시키는 동적인 특성을 갖고 있다.

1.1.2 소프트웨어 공학이란
1) 효율이 높고 신뢰성이 있는 소프트웨어의 개발을 위해 개발 전과정에 대해서 체계적인 접근법을 연구하고 적용하는 공학
⇨ 최소의 경비로 신뢰도 높은 소프트웨어를 생산하기 위한 방법 및 도구
2) 품질이 좋은 소프트웨어를 생산하기 위한 기반을 제공해 준다.
3) IEEE의 소프트웨어 공학 표준 용어 사전 : “소프트웨어 공학이란 소프트웨어의 개발, 운영, 유지보수, 그리고 폐기에 대한 체계적인 접근”
4) Boehm의 정의 : “과학적인 지식을 컴퓨터 프로그램 설계와 제작에 실제 응용하는 것이며, 이를 개발하고 운영하고 유지 보수하는 데 필요한 문서화 작성과정이다.”

1.1.3 S/W 와 H/W의 차이점

구분
소프트웨어(S/W)
하드웨어(H/W)
수정
비교적 용이하다
비교적 불편하다
공간 점유율
거의 없다
일정한 공간을 차지한다.
오류 감응도
높다
낮다
검사(Test)
비교적 어렵다
비교적 쉽다

⇨ 소프트웨어는 하드웨어와는 달리 마모되는 것이 아니라 품질이 떨어져서 퇴화하는 것이다. 새로운 소프트웨어가 개발되어서 사용되고, 시간이 지나면 사용자의 요구를 더 이상 만족시키지 못하므로 생명을 다하고 사라지게 된다.

1.2 소프트웨어의 발전 과정

1.2.1 세대별 발전 과정

초창기(1950년 ∼ 1960년대 중반)
....
공학, 기술