S/W   Software, Software Engineering   소프트웨어, 소프트웨어 공학

(2023-10-13)

시스템 소프트웨어, S/W 공학


1. 소프트웨어 (Software)컴퓨터 하드웨어를 동작하고 제어하는 역할을 하는 명령어 집합

  ㅇ 구분
     - 응용 소프트웨어        :  다양한 응용에 사용하기 위해 특별히 제작된 소프트웨어들
     - 시스템 소프트웨어      :  하드웨어 및 응용소프트웨어 중간에 위치
        . 운영체제            :  하드웨어와 직접 상호작용, 프로그램에 공통적인 서비스 제공
        . 유틸리티 소프트웨어 :  기본적인 활동을 수행하며 운영체제 기능을 확장시켜줌
        . 시스템 데몬         :  백그라운드에서 계속 실행 상태를 유지하는 프로세스
        . 언어 번역 프로그램  :  컴파일러, 어셈블러, 인터프리터, 디버거 등


2. 소프트웨어 공학 (Software Engineering)

  ㅇ 대규모/복잡한 소프트웨어 시스템의 개발시에,
     - 그 지침이 되는 원리들을 모색하는 컴퓨터과학의 한 분야

  ㅇ 소프트웨어 공학의 대상
     - 주로, 소프트웨어의 설계, 품질, 테스트를 다룸
     - 이외에도, 프로그래머 인력 관리, 프로젝트 관리경영과학적인 것도 포함될 수 있음

  ㅇ 소프트웨어 공학의 목표
     - 더 큰 규모의 재사용을 통한 생산성 및 품질 향상, 
     - 빠른 응용 개발을 통한 시장경쟁력 강화 등


3. 소프트웨어 개발 패러다임 및 시대적 변화

  ㅇ 1970년대  :  구조적 프로그래밍, 하향식 설계
     - 기능, 절차 중심의 개발 방식
  ㅇ 1980년대  :  객체지향 방법론
     - 코드 재사용성, 수정 용이성 등
  ㅇ 2000년대  :  컴포넌트 기반 방법론
  ㅇ 2010년대  :  서비스 지향 방법론


4. [참고사항]애자일 개발 방식
     - 작은 단위로 구현과 테스트를 반복하는 개발 방식

소프트웨어공학 기초
   1. 소프트웨어 공학   2. 버전 관리   3. 요구 분석   4. 소프트웨어 설계   5. 소프트웨어 아키텍처   6. CBD (컴포넌트기반개발)   7. MDA (모델주도형구조)   8. 순기/생명주기   9. 분할 후 정복  


Copyrightⓒ written by 차재복 (Cha Jae Bok)
"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"