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

(2019-08-01)

시스템 소프트웨어, 버전 관리

1. 소프트웨어 (Software)

  ㅇ 하드웨어를 동작하고 제어하는 역할을 하는 명령어 집합
     - 응용 소프트웨어        : 다양한 응용에 사용하기 위해 특별히 제작된 소프트웨어들
     - 시스템 소프트웨어      : 하드웨어 및 응용소프트웨어 중간에 위치
        . 운영체제            : 하드웨어와 직접 상호작용, 프로그램에 공통적인 서비스 제공
        . 유틸리티 소프트웨어 : 기본적인 활동을 수행하며 운영체제 기능을 확장시켜줌
        . 번역 프로그램       : 컴파일러, 어셈블러, 인터프리터
2. 소프트웨어 공학 (Software Engineering)

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

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

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

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


3. 버전 관리

  ㅇ 깃 (Git)
     - (공개성) 타 개발자들의 코드를 쉽게 내려받을 수 있음
     - (소스 코드 관리 도구) 코드의 버전 관리를 하여 줌
     - (소프트웨어 작성에 따른 복잡도 완화)
        . 개발자 자신의 프로그램에 대한 특정시점의 스냅샷을 저장,복원 등
        . 타 개발자와 쉽게 협력(협업)도 가능
  ㅇ 깃허브 (GitHub)
     - 깃의 기본 기능 위에 다양한 웹서비스 기능을 추가 함


[소프트웨어공학 기초] 1. 소프트웨어공학 2. CASE,CAD 3. CBD (컴포넌트기반개발) 4. MDA (모델주도형구조) 5. 역공학
  1.   기술공통
  2.   기초과학
  3.   진동/파동
  4.   방송/멀티미디어/정보이론
  5.   전기전자공학
  6.   통신/네트워킹
  7.   정보기술(IT)
        1. 정보기술
    1.   전산기초
    2.   컴퓨터구조
    3.   프로그래밍
    4.   데이터베이스
    5.   소프트웨어 공학
      1.   소프트웨어공학 기초
        1.   1. 소프트웨어공학
            2. CASE,CAD
            3. CBD (컴포넌트기반개발)
            4. MDA (모델주도형구조)
            5. 역공학
      2.   가상화기술
      3.   분산컴퓨팅
      4.   기업지원시스템
      5.   정보 스토리지
      6.   소프트웨어 기타일반
    6.   운영체제
    7.   정보보호/보안
    8.   IT 기타기술
  8.   공업일반(기계,재료등)
  9.   표준/계측/품질
  10.   기술경영

 
        최근수정     요약목록     참고문헌