소프트웨어 공학 (software engineering ) 소개 문양세 강원대학교 it 대학...

43
소소소소소 소소 (Software Engineering) 소소 소소소 소소소소소 IT 소소 소소소소소소소

Upload: tana

Post on 14-Jan-2016

157 views

Category:

Documents


0 download

DESCRIPTION

소프트웨어 공학 (Software Engineering ) 소개 문양세 강원대학교 IT 대학 컴퓨터과학전공. In this chapter …. 소개. 소프트웨어 공학을 배우기에 앞서서 , 소프트웨어 및 소프트웨어 시스템에 대해서 정의해보고 , 소프트웨어 위기와 이에 따른 소프트웨어 공학의 필요성을 생각해 본다 . 또한 , 좋은 소프트웨어란 무엇인지 정의해보고 , 소프트웨어 공학에서 사용하는 주요 모형들을 살펴본 후 , 소프트웨어 개발에 영향을 미치는 요소들을 생각해 본다 . - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 소프트웨어 공학  (Software Engineering ) 소개 문양세 강원대학교  IT 대학 컴퓨터과학전공

소프트웨어 공학 (Software Engineer-ing)

소개

문양세강원대학교 IT 대학 컴퓨터과학전공

Page 2: 소프트웨어 공학  (Software Engineering ) 소개 문양세 강원대학교  IT 대학 컴퓨터과학전공

Software Engineeringby Yang-Sae MoonPage 2

소프트웨어 공학을 배우기에 앞서서 ,• 소프트웨어 및 소프트웨어 시스템에 대해서 정의해보고 ,

• 소프트웨어 위기와 이에 따른 소프트웨어 공학의 필요성을 생각해 본다 .

또한 , • 좋은 소프트웨어란 무엇인지 정의해보고 ,

• 소프트웨어 공학에서 사용하는 주요 모형들을 살펴본 후 ,

• 소프트웨어 개발에 영향을 미치는 요소들을 생각해 본다 .

We will cover …• 소프트웨어와 시스템• 다루는 문제• 도전 과제• 접근 방법• 근본 지식

소개In this chapter …

Page 3: 소프트웨어 공학  (Software Engineering ) 소개 문양세 강원대학교  IT 대학 컴퓨터과학전공

Software Engineeringby Yang-Sae MoonPage 3

소프트웨어와 우리 생활소개

의존성 (dependability)

Page 4: 소프트웨어 공학  (Software Engineering ) 소개 문양세 강원대학교  IT 대학 컴퓨터과학전공

Software Engineeringby Yang-Sae MoonPage 4

In this chapter …

1.1 소프트웨어

1.2 다루는 문제

1.3 도전 과제

1.4 접근 방법

1.5 근본 지식

소개

Page 5: 소프트웨어 공학  (Software Engineering ) 소개 문양세 강원대학교  IT 대학 컴퓨터과학전공

Software Engineeringby Yang-Sae MoonPage 5

실생활과 소프트웨어 ( 컴퓨터 )• 리니지 ? 스타크 ? 서든어택 ? 테일즈러너 ? 블소 ? Oh, NO!

• 일상사에서… 공과금 고지서 , 항공기 예약 / 발권 , 병원 기록 , 초본 / 등본 , 스마트폰 , …

• 학교로 보면… 수강 신청 , 성적 입력 및 열람 , 학사 관리 , …

정보 혁명의 토대는 컴퓨터이며 , 그 잠재력은 ? 물론 , 소프트웨어이다 .

소프트웨어는 과거 “편리” 추구에서 현재는 “생존”에 필수적 요소가 되어가고 있다 .• 정치 , 경제 (1 차 , 2 차 3 차 산업 공통 ), 사회 , 교육 , 국방 , 예술 , 의료 , 오락 , …

• 경쟁에서의 승리 제품의 적기 공급 제품 ? 소프트웨어 자체 혹은 내재가 기본…

소프트웨어의 결함 생명과 재산에 치명적 결과• 우주왕복선 폭발• 지진해일 ( 쓰나미 ) 예보 , …

소프트웨어의 중요성소개

Page 6: 소프트웨어 공학  (Software Engineering ) 소개 문양세 강원대학교  IT 대학 컴퓨터과학전공

Software Engineeringby Yang-Sae MoonPage 6

콜롬비아 , 챌린저호 폭발소개

Page 7: 소프트웨어 공학  (Software Engineering ) 소개 문양세 강원대학교  IT 대학 컴퓨터과학전공

Software Engineeringby Yang-Sae MoonPage 7

NEIS 오류소개

Page 8: 소프트웨어 공학  (Software Engineering ) 소개 문양세 강원대학교  IT 대학 컴퓨터과학전공

Software Engineeringby Yang-Sae MoonPage 8

소프트웨어 정의• 협의 : 프로그램 자체• 광의 : 프로그램 + 프로그램의 개발 , 운용 , 보수에 필요한 정보 일체

( 소프트웨어 생산 결과물 일체 )

소프트웨어 생산• 소프트웨어는 프로그램의 동적인 실체• 프로그램은 형식 언어로 표현된 지적 노동의 결과물• 제조업 vs. 서비스업 ( 소프트웨어는 제작이 아니라 창조적 노력이 포함된 개발 )

• 닳아 없어지는 것이 아니라 소용없어 못쓰게 됨• 논리적인 요소로 구성 ( 유지보수가 어려움 )

• 소프트웨어 산업 (2012 년 국내 SW 시장은 250 억달러 규모 )

소프트웨어의 정의소개

Page 9: 소프트웨어 공학  (Software Engineering ) 소개 문양세 강원대학교  IT 대학 컴퓨터과학전공

Software Engineeringby Yang-Sae MoonPage 9

소프트웨어 산업 (1/3)소개

Page 10: 소프트웨어 공학  (Software Engineering ) 소개 문양세 강원대학교  IT 대학 컴퓨터과학전공

Software Engineeringby Yang-Sae MoonPage 10

소프트웨어 산업 (2/3)소개

Page 11: 소프트웨어 공학  (Software Engineering ) 소개 문양세 강원대학교  IT 대학 컴퓨터과학전공

Software Engineeringby Yang-Sae MoonPage 11

소프트웨어 산업 (3/3)소개

Page 12: 소프트웨어 공학  (Software Engineering ) 소개 문양세 강원대학교  IT 대학 컴퓨터과학전공

Software Engineeringby Yang-Sae MoonPage 12

비가시성 (Invisibility)

테스트 가능 (Testability)

복잡성 (Complexity) 특히 제 3 자가 보았을 경우

변형성 (Conformity)/ 변경성 (Changeability)

장수 (Longevity) 죽지 않는다 . 단지 사라질 뿐이다 .

복제 가능 (Duplicability) 생명공학의 모태 ?

응용에 의존 (Application dependability)

일반적으로 , 몇 개 핵심 부품을 만들어

조립해 쓸 수가 없다 .

소프트웨어의 특성소개

Page 13: 소프트웨어 공학  (Software Engineering ) 소개 문양세 강원대학교  IT 대학 컴퓨터과학전공

Software Engineeringby Yang-Sae MoonPage 13

유기적으로 상호 작용하는 객체들의 모임• S/W 는 독립적으로 존재하는 것이 아니라 컴퓨터를 기반으로 여러 시스템이 유기적인

관계를 맺고 있다 .

• 은행의 업무 전산화 예제 : 현금 자동 인출기 , 중앙 컴퓨터 , 계좌 DB, 은행 업무 처리 절차 , 입출금 전표 , 은행원 , …

특징• 시너지 효과 : 독립적인 의미를 갖지 않고 , 통합되었을 때 의미를 가짐• 역동적으로 발전 , 변경• 상충되는 요구와 이해 관계의 절충 ( 최적의 모범 답안이 아닌 절충안에 해당 ) 교통체계

소프트웨어 자체도 하나의 시스템임

소프트웨어 시스템소개

Page 14: 소프트웨어 공학  (Software Engineering ) 소개 문양세 강원대학교  IT 대학 컴퓨터과학전공

Software Engineeringby Yang-Sae MoonPage 14

자료의 분류 , 저장 , 검색에 초점

데이터베이스를 대화식 (interactive) 으로 접근

조직의 문제 해결을 위한 도구

정보 시스템의 예제• 항공권 예약 시스템

• 신용 카드 검색 서비스

• 뱅킹 시스템

정보 시스템의 특징• 대규모 자료를 관리하며 , ( 일반적으로 ) 정적이 아님

• 시스템 분석과 유지보수가 중요함

MIS (Management Information System, 경영 정보 시스템 ) [ 위키]• 운영 , 관리 , 의사결정을 위하여 정보를 제공하는 시스템

• DSS(Decision Support System), KDD(Knowledge Discovery in Database)

정보 시스템 (Information System)소개

Page 15: 소프트웨어 공학  (Software Engineering ) 소개 문양세 강원대학교  IT 대학 컴퓨터과학전공

Software Engineeringby Yang-Sae MoonPage 15

사건을 감지하여 처리하고 자동적으로 보고• 센서의 감지 (Ubiquitous Sensors)

• 제어 기기의 상태 보고

• 운영자의 입력 처리

• 사용자 및 운영자 인터페이스

제어 시스템 예제• 교통 제어

• 공정 제어 컨베이어 벨트 제어

• 수치 제어

• 의료 시스템 초음파 검사 , 메디슨…

• 무기 ( DARPA, FBI, … 테러 방지 )

• 항공 제어

• 재난 , 방재 산업 산불 감지 , 지진 감지

제어 시스템 (Control System)소개

Page 16: 소프트웨어 공학  (Software Engineering ) 소개 문양세 강원대학교  IT 대학 컴퓨터과학전공

Software Engineeringby Yang-Sae MoonPage 16

주된 기능이 계산이 아닌 시스템의 구성 요소의 일부(A system that is logically incorporated in a larger system whose primary function is not computation.)

탑재 시스템 예제• 전자 기계 장치 , 공정 제어 시스템• 비행기 유도 , 스위칭 시스템 ( 교환기 등 )

• 환자 감시 시스템 , 레이다 추적 시스템

탑재 시스템 특징• 대규모 , 장기 사용 , 테스트하기 어려움• 인터페이스가 복잡 , 비동기 , 병렬 , 분산• 대규모 자료를 접근 , 변경 , 출력• 실시간 제어 인터페이스• 엄격한 요구 : 실시간 반응 , 고장에 대한 안전 , 신뢰성

( 오리지널 ) 탑재 시스템 (Embedded Sys-tem)

소개

Page 17: 소프트웨어 공학  (Software Engineering ) 소개 문양세 강원대학교  IT 대학 컴퓨터과학전공

Software Engineeringby Yang-Sae MoonPage 17

소형 디바이스에 들어가는 소프트웨어• PDA, 휴대폰용 운영체제 , 게임 , 영상 재생 , …

• 소형 센서에 탑재되는 소프트웨어• …

Embedded Software 를 어떻게 배워~• 프로그램 (C, Java, Assembly, …) 을 잘하고 ,

• 운영체제 (Windows, UNIX/Linux), DBMS 를 잘 이해하는 등의• 기본에 충실하면 쉽게 적응할 수 있어요…

• 안드로이드를 배워 봅시다 .

( 요즘의 ) Embedded System소개

Page 18: 소프트웨어 공학  (Software Engineering ) 소개 문양세 강원대학교  IT 대학 컴퓨터과학전공

Software Engineeringby Yang-Sae MoonPage 18

기능적 분류• 응용 소프트웨어 (Application Software): 증권 처리 , 학사 관리 , 워드 프로세서 , …

• 시스템 소프트웨어 (System Software): 운영체제 , DBMS, Compiler, …

개발 과정에 따른 분류• Prototype

• Product: 상품화 이전이나 완성된 소프트웨어• Package: 시험을 거쳐서 상품화된 소프트웨어

( 주문형 소프트웨어 : 고객의 목적에 맞도록 패키지된 소프트웨어 )

하드웨어 환경에 따른 분류• Mainframe

• Parallel Processing or Distributed Processing

• PC & Workstation, Fault tolerant system

• 모바일 디바이스 스마트폰

소프트웨어의 분류 (1/2)소개

Page 19: 소프트웨어 공학  (Software Engineering ) 소개 문양세 강원대학교  IT 대학 컴퓨터과학전공

Software Engineeringby Yang-Sae MoonPage 19

적용 분야에 따른 분류• 통신용 , 프로그래밍 언어 , 사용자 인터페이스 , 데이터베이스 , 분산처리 , …

• 문서 작성 , 거래 처리 , 개발 도구 , 멀티미디어 , …

• 전자 정부 , 전자 상거래 , 가상 도서관 , …

소프트웨어의 분류 (2/2)소개

Page 20: 소프트웨어 공학  (Software Engineering ) 소개 문양세 강원대학교  IT 대학 컴퓨터과학전공

Software Engineeringby Yang-Sae MoonPage 20

네 가지 중요 성질• 서브 시스템 : 밀접한 연관이 있는 여러 서브시스템으로 구성• 기능적 분할 : 규모가 작은 부속 시스템 ( 서브 시스템 ) 들로 나눌 수 있음• 시스템 경계 : 시스템과 주변 환경을 구분하는 경계 , 입력과 출력이 만나는 곳• 자동화 경계 : 자동화된 부분과 수동작업 부분을 나누는 경계

시스템소개

Page 21: 소프트웨어 공학  (Software Engineering ) 소개 문양세 강원대학교  IT 대학 컴퓨터과학전공

Software Engineeringby Yang-Sae MoonPage 21

In this chapter …

1.1 소프트웨어

1.2 다루는 문제

1.3 도전 과제

1.4 접근 방법

1.5 근본 지식

소개

Page 22: 소프트웨어 공학  (Software Engineering ) 소개 문양세 강원대학교  IT 대학 컴퓨터과학전공

Software Engineeringby Yang-Sae MoonPage 22

제품으로 만든 소프트웨어

견고한 (industrial strength) 소프트웨어

• 학생이나 아마추어가 만든 소프트웨어 수준이 아님

• 이식의 용이함 , 사용의 편리함 등 품질 요소가 고려되어야 함

• 견고하지 않으면 , 사용자 불편을 넘어서 재산과 인명에 피해를 줄 수 있음

소프트웨어 ( 개발의 ) 문제점

• 고비용

• 지연과 낮은 신뢰도

• 유지보수와 재작업

소개

Page 23: 소프트웨어 공학  (Software Engineering ) 소개 문양세 강원대학교  IT 대학 컴퓨터과학전공

Software Engineeringby Yang-Sae MoonPage 23

(1) 고비용

LOC 로 계산한 소프트웨어 비용 사례• ( 작은 프로그램도 ) 5 만 라인은 넘음

5 만 라인은 4천만원 내지 1 억 2천만원 정도의 비용이 듦 ( 인건비 )

1 억원의 소프트웨어가 1천만원 정도의 하드웨어에서 실행됨

소프트웨어 위기

소개

Page 24: 소프트웨어 공학  (Software Engineering ) 소개 문양세 강원대학교  IT 대학 컴퓨터과학전공

Software Engineeringby Yang-Sae MoonPage 24

(2) 지연과 낮은 신뢰도

계획에서 벗어난 컴퓨터 관련 개발 프로젝트• 600 여 회사를 조사하였더니 35% 이상

예상대로 작동하지 않는 사례• 방위산업 보고 : 70% 이상이 소프트웨어 오류에서 기인• 아폴로 로켓의 초기 실패도 소프트웨어에서 기인• 자동차 급발진 사고도 소프트웨어 문제일 가능성이 높음

다른 요소 ( 하드웨어 ) 와 다름• 전기 , 기계 시스템 : 노후화에 의한 물리적 특성에 의해 오류가 발생함• 소프트웨어 : 노후화에 의한 것이 아니며 , 주로 설계 ,

개발 과정에 유입된 오류에 의한 것• 챌린저호 사고 : 소프트웨어 결함에서 기인

소개

Page 25: 소프트웨어 공학  (Software Engineering ) 소개 문양세 강원대학교  IT 대학 컴퓨터과학전공

Software Engineeringby Yang-Sae MoonPage 25

(3) 유지보수와 재작업

소프트웨어의 유지보수가 필요한 이유• 여느 제품처럼 부품이 마모되거나 교체할 필요가 있어서 유지보수 하는 것이 아님

• 시스템에 남아 있는 오류가 있기 때문에 유지보수가 필요함

• 많은 오류가 시스템 가동된 후에 , 혹은 오랜 사용 후에 발견됨

( 오류가 아니더라도 ) 소프트웨어는 자주 변경됨• 소프트웨어는 자주 업그레이드 됨 ( 기능 및 서비스 추가 )

• 하드웨어 등의 동작 환경이 변할 경우도 변경이 필요함

코드에 ( 사용자 및 개발자의 ) 의도가 잘 드러나지 않음• 시간이 지날 수록 의도가 숨겨지며 , 여러 사람이 관련된 경우 특히 그러함

소개

Page 26: 소프트웨어 공학  (Software Engineering ) 소개 문양세 강원대학교  IT 대학 컴퓨터과학전공

Software Engineeringby Yang-Sae MoonPage 26

소프트웨어 개발의 또 다른 문제점

개발 예산이 초과되고 , 일정이 지연되는 경우가 많다 .• 개발 일정과 비용 예측이 부정확하다 .

• 과거 프로젝트에 대한 경험이 잘 축적되지 않을 뿐 아니라 , 과거 데이터가 현재에 잘 적용되지 않는 경우가 많다 .

프로그래머 개인 역량에 따라 소프트웨어 개발 성패가 좌우된다 .• 프로그래머 개인의 능력과 경험이 중요하여 , 작업의 정량적인 분석이 어렵다 .

• 잘 키운 슈퍼 프로그래머 하나가 열 … 안 부럽다 .

소프트웨어 품질을 평가하기가 어렵다 .• 체계적인 시험이 없으면 , 운영 중에 많은 오류가 발생한다 .

• 다른 공산품과 같은 불량품 관리 , 품질 보증에 대한 확실한 정량적 개념이 없다 . 다른 공산품의 경우 , “불량률 0 에 도전 ,” “ 무재해 100 만시간 달성 목표”

소개

Page 27: 소프트웨어 공학  (Software Engineering ) 소개 문양세 강원대학교  IT 대학 컴퓨터과학전공

Software Engineeringby Yang-Sae MoonPage 27

In this chapter …

1.1 소프트웨어

1.2 다루는 문제

1.3 도전 과제

1.4 접근 방법

1.5 근본 지식

소개

Page 28: 소프트웨어 공학  (Software Engineering ) 소개 문양세 강원대학교  IT 대학 컴퓨터과학전공

Software Engineeringby Yang-Sae MoonPage 28

소프트웨어 공학

소프트웨어 공학의 정의• 질 좋은 소프트웨어를 경제적으로 생산하기 위하여 공학 , 과학 및 수학적 원리와 방법을

적용하는 것 - Watts Humphrey, SEI

• 소프트웨어의 개발 , 운용 , 유지보수 및 소멸에 대한 체계적인 접근 방법 - IEEE Computer Society

• 품질 , 효율 , 비용 , 인정에 관한 공학적인 접근 원리 - F. Brooks

소프트웨어 공학의 목표• 품질 좋은 소프트웨어를• 최소의 비용으로• 계획된 일정에 맞추어 개발한다 .

품질 (Quality), 생산성 (Productivity)

소개

Page 29: 소프트웨어 공학  (Software Engineering ) 소개 문양세 강원대학교  IT 대학 컴퓨터과학전공

Software Engineeringby Yang-Sae MoonPage 29

다루는 문제

사용자의 요구를 만족시키기 위하여 , 소프트웨어를 체계적으로

개발하는 것

소프트웨어 공학에서 다루는 주요 요소

• 규모 문제

• 품질과 생산성

• 일관성과 재현성

• 변경

소개

Page 30: 소프트웨어 공학  (Software Engineering ) 소개 문양세 강원대학교  IT 대학 컴퓨터과학전공

Software Engineeringby Yang-Sae MoonPage 30

(1) 규모 문제

수십 만 , 수백 만 줄의 프로그램은 , 수백 줄의 프로그램을 개발하는 데

사용하는 방법과는 다른 방법을 적용해야 함

엔지니어링 식 접근 방법 – 방법 , 절차 , 도구 사용

소개

Page 31: 소프트웨어 공학  (Software Engineering ) 소개 문양세 강원대학교  IT 대학 컴퓨터과학전공

Software Engineeringby Yang-Sae MoonPage 31

(2) 품질과 생산성

엔지니어링 작업에서는 비용 , 일정 , 품질과 같은 변수가 중요

비용 : Man-Month 로 측정

( 인건비와 직결 )

일정 : 짧은 time-to-market ( 기술의 급격한 발전에 따라 갈수록

짧아짐 )

품질

소개

Page 32: 소프트웨어 공학  (Software Engineering ) 소개 문양세 강원대학교  IT 대학 컴퓨터과학전공

Software Engineeringby Yang-Sae MoonPage 32

(3) 일관성과 재현성

일관성• 프로젝트의 결과를 어느 정도 정확하게 예측가능

• 더 높은 품질의 제품을 생산 ( 기관 / 회사는 일관성 있는 품질 수준을 유지해야 )

프로세스의 표준화가 필요• ISO 9001

• CMM(Capability Maturity Model)

재현성• 개발하는 시스템 마다 높은 품질과 생산성을 갖도록 만드는 것

• 개발 능력 , 결과의 재현성 일관성과 유사한 개념

소개

Page 33: 소프트웨어 공학  (Software Engineering ) 소개 문양세 강원대학교  IT 대학 컴퓨터과학전공

Software Engineeringby Yang-Sae MoonPage 33

(4) 변경

소프트웨어는 계속 진화하고 변경됨

비즈니스 환경 및 소프트웨어 기술도 빠르게 발전

변경을 조절하고 수용하는 것이 또 하나의 과제

소개

Page 34: 소프트웨어 공학  (Software Engineering ) 소개 문양세 강원대학교  IT 대학 컴퓨터과학전공

Software Engineeringby Yang-Sae MoonPage 34

In this chapter …

1.1 소프트웨어

1.2 다루는 문제

1.3 도전 과제

1.4 접근 방법

1.5 근본 지식

소개

Page 35: 소프트웨어 공학  (Software Engineering ) 소개 문양세 강원대학교  IT 대학 컴퓨터과학전공

Software Engineeringby Yang-Sae MoonPage 35

접근 방법

프로젝트를 수행하는 동안 얻은 품질과 생산성은 여러 가지 요인에 의해

좌우됨

프로젝트 삼각 균형 (triangle seesaw)

높은 품질과 생산성은 좋은 기술 , 좋은 프로세스 ( 혹은 방법 ), 잘

훈련된 인력을 사용하여 얻을 수 있음

소프트웨어 공학의 기본 접근법• 소프트웨어를 개발하는 프로세스를 개발된 제품 , 즉 소프트웨어와 분리함

• 적절한 “소프트웨어 프로세스”의 설계와 관리는 소프트웨어 공학의 중요 연구 목표임

소개

Page 36: 소프트웨어 공학  (Software Engineering ) 소개 문양세 강원대학교  IT 대학 컴퓨터과학전공

Software Engineeringby Yang-Sae MoonPage 36

단계적 프로세스소개

제 2 장에서 소개할 폭포수 모형과 유사

Page 37: 소프트웨어 공학  (Software Engineering ) 소개 문양세 강원대학교  IT 대학 컴퓨터과학전공

Software Engineeringby Yang-Sae MoonPage 37

일반적인 개발 단계소개

단계 초점 주요작업과 기술 결과물

분석 시스템을 위하여 무엇을 만들 것인가 ?

1. 분석 전략 수립 (3 장 )

2. 요구 결정 (3 장 )

3. 사용 사례 분석 (4 장 )

4. 구조적 모델링 (5 장 )

5. 동적 모델링 (6 장 )

요구 명세서

설계 시스템을 어떻게 구축할 것인가 ?

6. 설계 전략 수립 (7 장 )

7. 아키텍처 설계 (7 장 )

8. 인터페이스 설계 (9 장 )

9. 프로그램 설계10. 데이터베이스 , 파일 설계 (8 장 )

설계 명세서

구현 시스템의 코딩과 단위 시험

11. 프로그래밍 (10 장 )

12. 단위 테스팅 (10 장 )

13. 시스템 안정화 및 유지보수 (11 장 )

새 시 스 템 , 유 지 보 수

계획

테스팅 시스템이 요구에 맞게 실행되나 ?

14. 통합 테스팅 (2 장 )

15. 시스템 테스팅 (2 장 )

16. 인수 테스팅 (2 장 )

17. 시스템의 설치 (2 장 )

18. 프로젝트 관리 계획

테스팅 결과 보고서

Page 38: 소프트웨어 공학  (Software Engineering ) 소개 문양세 강원대학교  IT 대학 컴퓨터과학전공

Software Engineeringby Yang-Sae MoonPage 38

In this chapter …

1.1 소프트웨어

1.2 다루는 문제

1.3 도전 과제

1.4 접근 방법

1.5 근본 지식

소개

Page 39: 소프트웨어 공학  (Software Engineering ) 소개 문양세 강원대학교  IT 대학 컴퓨터과학전공

Software Engineeringby Yang-Sae MoonPage 39

SE 와 다른 분야와의 관계소개

Page 40: 소프트웨어 공학  (Software Engineering ) 소개 문양세 강원대학교  IT 대학 컴퓨터과학전공

Software Engineeringby Yang-Sae MoonPage 40

SWEBOK (1/2)소개

SWEBOK: Software Engineering Body of Knowledge [IEEE, 2004]

Page 41: 소프트웨어 공학  (Software Engineering ) 소개 문양세 강원대학교  IT 대학 컴퓨터과학전공

Software Engineeringby Yang-Sae MoonPage 41

SWEBOK (2/2)소개

Page 42: 소프트웨어 공학  (Software Engineering ) 소개 문양세 강원대학교  IT 대학 컴퓨터과학전공

Software Engineeringby Yang-Sae MoonPage 42

In this chapter …

1.1 소프트웨어

1.2 다루는 문제

1.3 도전 과제

1.4 접근 방법

1.5 근본 지식

소개

Page 43: 소프트웨어 공학  (Software Engineering ) 소개 문양세 강원대학교  IT 대학 컴퓨터과학전공

Software Engineeringby Yang-Sae MoonPage 43

Homework #1소개