Software Engineering


       Hukeun Kwak
  gobarian@pumpkinnet.com
   Pumpkin Networks Inc.
contents


  • 소프트웨어 공학 ?
  • 세부 분야




10/23/12         2
소프트웨어 공
 학?
  • 소프트웨어의 개발 , 운용 , 유지보수 등의 생명
    주기 전반을 체계적이고 서술적이며 정량적으로
    다루는 학문
  • 공학을 소프트웨어에 적용하는 것
  • 1968 년 ( 나토 소프트웨어 공학 학회 ) 이후로 하
    나의 직업으로서 , 또한 학문의 한 분야로서 꾸준
    히 품질 , 비용 , 유지 보수성 , 빌드 속도가 개선
    된 소프트웨어를 창조하는데 전념
  • 소프트웨어를 단순히 프로그래밍으로만 보는 한
    계를 벗어나는 것으로부터 유기적으로 성장한 분
    야
  • 최근의 흐름으로는 관점 지향 (Aspect), 애자일
    (Agile), 모델 주도 (Model-Driven) 등

10/23/12                              3
세부 분야
 (1/2)
  • 소프트웨어 요구사항 : 소프트웨어 요구 사항의
    채집 , 분석 , 명세 , 검증 .
  • 소프트웨어 설계 : 보통 전산 지원 소프트웨어 공
    학 (CASE) 도구로 이루어지고 , UML 과 같은 표
    준 형식을 사용 .
  • 소프트웨어 개발 : 프로그래밍 언어로 소프트웨어
    를 구축 .
  • 소프트웨어 시험
  • 소프트웨어 유지 보수 : 소프트웨어 시스템은 때
    때로 처음 완료된 후 긴 시간이 지난 후에 문제
    를 일으켜 향상시켜야 할 필요가 있음 .



10/23/12                              4
세부 분야
 (2/2)
  • 소프트웨어 형상 관리 : 소프트웨어 시스템은 매
    우 복잡하므로 , 그 형상 ( 버전과 소스 제어 ) 이
    표준화되고 구조적인 방법으로 관리 받아야 함 .
  • 소프트웨어 공학 관리 : 프로젝트 관리에 매우 밀
    접하나 , 다른 관리 분야와는 다른 , 소프트웨어
    고유의 미묘한 뉘앙스가 있음 .
  • 소프트웨어 개발 프로세스 : 소프트웨어를 구축하
    는 과정에 관하여 실무 종사자들 사이에서는 열
    띤 논쟁이 오가고 있으며 주요한 패러다임은 애
    자일 과정과 폭포 과정이다 .
  • 소프트웨어 공학 도구 , CASE 참조 .
  • 소프트웨어 품질


10/23/12                             5

Software engineering

  • 1.
    Software Engineering Hukeun Kwak gobarian@pumpkinnet.com Pumpkin Networks Inc.
  • 2.
    contents •소프트웨어 공학 ? • 세부 분야 10/23/12 2
  • 3.
    소프트웨어 공 학? • 소프트웨어의 개발 , 운용 , 유지보수 등의 생명 주기 전반을 체계적이고 서술적이며 정량적으로 다루는 학문 • 공학을 소프트웨어에 적용하는 것 • 1968 년 ( 나토 소프트웨어 공학 학회 ) 이후로 하 나의 직업으로서 , 또한 학문의 한 분야로서 꾸준 히 품질 , 비용 , 유지 보수성 , 빌드 속도가 개선 된 소프트웨어를 창조하는데 전념 • 소프트웨어를 단순히 프로그래밍으로만 보는 한 계를 벗어나는 것으로부터 유기적으로 성장한 분 야 • 최근의 흐름으로는 관점 지향 (Aspect), 애자일 (Agile), 모델 주도 (Model-Driven) 등 10/23/12 3
  • 4.
    세부 분야 (1/2) • 소프트웨어 요구사항 : 소프트웨어 요구 사항의 채집 , 분석 , 명세 , 검증 . • 소프트웨어 설계 : 보통 전산 지원 소프트웨어 공 학 (CASE) 도구로 이루어지고 , UML 과 같은 표 준 형식을 사용 . • 소프트웨어 개발 : 프로그래밍 언어로 소프트웨어 를 구축 . • 소프트웨어 시험 • 소프트웨어 유지 보수 : 소프트웨어 시스템은 때 때로 처음 완료된 후 긴 시간이 지난 후에 문제 를 일으켜 향상시켜야 할 필요가 있음 . 10/23/12 4
  • 5.
    세부 분야 (2/2) • 소프트웨어 형상 관리 : 소프트웨어 시스템은 매 우 복잡하므로 , 그 형상 ( 버전과 소스 제어 ) 이 표준화되고 구조적인 방법으로 관리 받아야 함 . • 소프트웨어 공학 관리 : 프로젝트 관리에 매우 밀 접하나 , 다른 관리 분야와는 다른 , 소프트웨어 고유의 미묘한 뉘앙스가 있음 . • 소프트웨어 개발 프로세스 : 소프트웨어를 구축하 는 과정에 관하여 실무 종사자들 사이에서는 열 띤 논쟁이 오가고 있으며 주요한 패러다임은 애 자일 과정과 폭포 과정이다 . • 소프트웨어 공학 도구 , CASE 참조 . • 소프트웨어 품질 10/23/12 5