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

22
소소소소소 소소 (Software Engineering) 소소 소소 소소소 소소소소소 IT 소소 소소소소소소소

Upload: shania

Post on 05-Jan-2016

53 views

Category:

Documents


0 download

DESCRIPTION

소프트웨어 공학 (Software Engineering ) 과목 개요 문양세 강원대학교 IT 대학 컴퓨터과학전공. 소프트웨어 공학이란 ? (1/2). 소프트웨어 공학 강의 개요. 소프트웨어란 ? 프로그램 , 프로그래머 , 소스코드 , 버그 , 에러 , 노가다 , … 하드웨어의 반대말 , 눈에 보이지 않음 , … 공학 (engineering) 이란 ? 컴퓨터 , 전기 , 전자 , 기계 , 건축 , … 엔지니어링 , 엔지니어 , 공돌이 , … - PowerPoint PPT Presentation

TRANSCRIPT

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

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

과목 개요

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

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

Software Engineeringby Yang-Sae MoonPage 2

소프트웨어 공학이란 ? (1/2)

소프트웨어란 ?• 프로그램 , 프로그래머 , 소스코드 , 버그 , 에러 , 노가다 , …

• 하드웨어의 반대말 , 눈에 보이지 않음 , …

공학 (engineering) 이란 ?• 컴퓨터 , 전기 , 전자 , 기계 , 건축 , …

• 엔지니어링 , 엔지니어 , 공돌이 , …

공학 (engineering) 과 과학 (science) 의 차이는 무엇이지 ?

소프트웨어 공학 강의 개요

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

Software Engineeringby Yang-Sae MoonPage 3

소프트웨어 공학이란 ? (2/2)

소프트웨어 공학이란 ?• 어떻게 하면 적은 비용으로 소프트웨어를 개발할 수 있을까 ?

• 어떻게 하면 좋은 품질의 소프트웨어를 개발할 수 있을까 ?

• 어떻게 하면 적기에 소프트웨어를 개발할 수 있을까 ?

• 어떻게 하면 시리즈 계속 사용자 요구 만족하는 … 대박을 터트릴 수 있는 … 가장 재미있는 게임을 …

소프트웨어 공학 강의 개요

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

Software Engineeringby Yang-Sae MoonPage 4

강의 개요 (1/2)

과목 개요• 컴퓨터의 발전과 더불어 다양하고 체계적인 소프트웨어 개발 기술 및

방법론이 필요하다 .

• 소프트웨어 개발에 있어서 , 1) 초기 기획 및 설계는 어떻게 하고 , 2) 실제 구현 및 시험을 어떻게 수행하며 , 3) 또한 사후 관리를 어떻게 하는지 방법론을 습득한다 .

• 특히 , 소규모 그룹 단위의 프로젝트를 수행하면서 , 소프트웨어 공학이 실제 상황에 어떻게 적용되는지 간접 체험한다 .

소프트웨어 공학 강의 개요

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

Software Engineeringby Yang-Sae MoonPage 5

강의 개요 (2/2)

강의 내용 요약• 소개 ( 개요 )

• 프로세스• 계획 및 요구 분석• 설계

• 설계 원리와 아키텍처• 객체지향 설계• 상세설계와 UI 설계 및 구현

• 코딩• 테스팅 및 유지보수• 품질• 첨단 소프트웨어 공학 기술

소프트웨어 공학 강의 개요

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

Software Engineeringby Yang-Sae MoonPage 6

강의 계획 (1/5)

선수 과목 (Prerequisites)• 웹 프로그래밍 언어 한 가지 (PHP, ASP, JSP 등 )• 혹은 스마트폰 프로그래밍 언어 ( 안드로이드 , 아이폰 등 )• 왜 ? 프로젝트를 수행해야 하니까요 ~

담당 교수• 이름 : 문양세• 사무실 : 한빛관 303 호• 전화 : (033) 250-8449• 이메일 : [email protected]• 홈피 : http://cs.kangwon.ac.kr/~ysmoon/• 조교 : 문성우 ([email protected])

소프트웨어 공학 강의 개요

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

Software Engineeringby Yang-Sae MoonPage 7

강의 계획 (2/5)

강의 시간• 월 , 목 1 교시 (09:00-10:30)

강의 교재• 소프트웨어 공학 , 최은만 , 정익사 ,

5 판 (2011), 4 판 (2007), 3 판 (2005)

소프트웨어 공학 강의 개요

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

Software Engineeringby Yang-Sae Moon

강의 계획 (3/5)

평가 기준• 중간 시험 : 25~30%• 기말 시험 : 30~35%• 과제 및 프로젝트 : 30%• 출석 : 10% (1/3 이하 출석이면 학교 정책에 의해 F 임에 유의바람 )

소프트웨어 공학 강의 개요

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

Software Engineeringby Yang-Sae MoonPage 9

강의 계획 (4/5)

강의 계획Wee

k강의 내용 교재 프로젝트

1 강의 개요 , 소개 Ch1

2 프로세스 Ch2

3 계획 Ch3

4 요구 분석 Ch4

5 설계 원리와 아키텍처 Ch5

6 객체지향 설계 Ch6

7 상세 설계와 UI 설계 Ch7

8 중간시험

9 코딩 Ch8 프로젝트 계획서 제출

10 테스팅 Ch9

11 유지 보수 Ch10

12 품질 Ch11

13 첨단 소프트웨어 공학 기술 Ch12 진도상황에 따라 결정

14 프로젝트 발표 - 프로젝트 발표

15 기말시험 최종 보고서 제출

소프트웨어 공학 강의 개요

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

Software Engineeringby Yang-Sae MoonPage 10

강의 계획 (5/5)

과제 관련• 모든 과제는 프린트하여 제출하는 것을 원칙으로 함• 과제는 제출 기한 이후 1 주 delay 이면 20% 감점

프로젝트 관련• 중간고사 2 주 이전 (4-5 주차 ) 에 프로젝트 팀을 구성할 예정이고 ,

중간고사 직후 (8-9 주차 ) 에 프로젝트 계획서를 제출하며 ,기말고사 직전 (15 주차 ) 에 최종 보고서를 제출한다 .

• 주제 : 추후 결정 ( 웹 혹은 모바일 프로그래밍 , 지정 혹은 자유 주제 )

강의 사이트• http://cs.kangwon.ac.kr/~ysmoon/courses/2014_2/se/se.html• 강의 노트는 강의 일주일 전까지는 Upload 할 예정임

소프트웨어 공학 강의 개요

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

Software Engineeringby Yang-Sae MoonPage 11

소프트웨어 프로젝트의 예

비행기 예약 및 발권 시스템

소프트웨어 공학 강의 개요

원자력 발전소 제어 및 통제 시스템

우주 ( 왕복 ) 선 제어 , 유도 , 통제 시스템

은행 전산 시스템 , 전자 정부 시스템

의료 장비 , 생물 정보학 시스템

음성 및 데이터 통신 네트워크 시스템

모바일 , 스마트폰 애플리케이션

그 외 , 대규모 , 중규모 , 소규모 모두 무수히 많음…

운영체제 , DBMS …

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

Software Engineeringby Yang-Sae MoonPage 12

CDMA 이동통신 개발 예제 (1/7)

CDMA?Code Division Multiple Access

• AMPS(Advanced Mobile Phone Service)

• TDMA(Time Division …), SC-FDMA, …

이동통신 인구 : 수십만 (90 년대 초 ) 5,000 만 ( 누구나 )

CDMA 이동통신 Brief History• 1993 년 : 개발 착수• 1996 년 : 세계 최초 상용화

(ETRI+ 삼성 /LG/ 현대 한국이동통신 (SK Telecom), 신세기통신 )

• 1997 년 : CDMA PCS 세계 최초 상용화 (KTF, LGT, HansolM.com)

• 그 후 : CDMA 1x, CDMA 1xEV-DO/1xEV-DV, W-CDMA, LTE, LTE-A…

소프트웨어 공학 강의 개요

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

Software Engineeringby Yang-Sae MoonPage 13

CDMA 이동통신 개발 예제 (2/7)

( 매우 간략히 나타낸 ) CDMA 망 구조

소프트웨어 공학 강의 개요

MSC( 교환기 )

BSC( 제어국 )

BTS( 기지국 )

HLR

PDSN

SMSC

AAA

MS( 단말기 )

PC 개념으로 보면 , 전체 시스템은 PC 수백 대 ~ 수천 대에 해당하는 초대규모 시스템임

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

Software Engineeringby Yang-Sae MoonPage 14

CDMA 이동통신 개발 예제 (3/7)

소프트웨어 공학 강의 개요

개발 인력 구성 예제 (1996 년 경 , H 전자 , 개략적 숫자임 )• MSC: 100 여명• BSC: 50 여명• BTS: 50 여명• HLR: 30 여명• MS: 100 여명• AAA, PDSN: 50 여명 (1999 년 이후 )

상기 인력은 영업 , 마케팅 , 생산 인력은 제외한 순수 개발 인력을 나타냄

이 같은 대형 개발 조직을 어떻게 조직하고 관리할 것인가 ?

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

Software Engineeringby Yang-Sae MoonPage 15

CDMA 이동통신 개발 예제 (4/7)

소프트웨어 공학 강의 개요

각종 변수• 개발 스펙이 자주 변한다 . ( 규격 진화 , 정부 / 사업자 요구사항 , …)

• 하드웨어와 소프트웨어가 동시에 개발되어야 한다 .

• 부족한 엔지니어를 개발하면서 교육시켜야 한다 .

• 내부 및 외부 interworking 이 엄청 많다 .

• 수많은 또한 복잡한 환경에서의 실험이 필요하다 .

• 매니저는 물론 엔지니어의 변화 (입사 , 이직 등 )

• … 등등등 숫한 난제

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

Software Engineeringby Yang-Sae MoonPage 16

CDMA 이동통신 개발 예제 (5/7)

소프트웨어 공학 강의 개요

개발 조직을 다음과 같이 엔티티별로 구성해 보았다 .

개발 대장

MSC BSC BTS HLR …

Hard

ware

Soft

ware

Syst

em

Engin

eer-

ing

Test

Hard

ware

Soft

ware

Syst

em

Engin

eer-

ing

Test

Hard

ware

Soft

ware

Syst

em

Engin

eer-

ing

Test

Hard

ware

Soft

ware

Syst

em

Engin

eer-

ing

Test

Hard

ware

Soft

ware

Syst

em

Engin

eer-

ing

Test

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

Software Engineeringby Yang-Sae MoonPage 17

CDMA 이동통신 개발 예제 (6/7)

소프트웨어 공학 강의 개요

개발 조직을 다음과 같이 기능별로도 구성해 보았다 .

개발 대장

Hardware SoftwareSystem

Eng.Test

MSC

BSC

BTS

HLR …

MSC

BSC

BTS

HLR …

MSC

BSC

BTS

HLR … MSC

BSC

BTS

HLR …

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

Software Engineeringby Yang-Sae MoonPage 18

CDMA 이동통신 개발 예제 (7/7)

소프트웨어 공학 강의 개요

System Engineering? ( 위키)• 전체 시스템 및 세부 시스템 구조 설계• 개발 계획 수립 및 비용 최소화 전략 수립• 신규 기술 동향 파악 및 교육 , 표준화 작업 참여• 마케팅 분야 기술 자료 및 제안서 작성

Software Engineering?• Software Part of System Engineering

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

Software Engineeringby Yang-Sae MoonPage 19

여러분이 개발자로 나가면 … (1/2)

처음 (입사 후 10 년까지 ) 에는 SE 가 어디에 있는지 잘 보이지 않음이때 , 주로 관리자가 “무엇을 작성해 내라” , “ 무슨 계획서를 써라” , “ 개발이 잘 되어가고 있느냐”고 하는 말들에서 약간의 SE 냄새가 풍김

소프트웨어 공학 강의 개요

중간 관리자 (10 년 ~20 년 ) 가 되면 , 업무의 절반이 이에 해당함 위에서 “언제까지 제안서를 써라” , “ 개발 중간 점검회의를 하자” , “ 어디 가서 발표하고 오너라” , “ 언제까지 개발할 수 있느냐 ?” 등의 말을 실천하는 것들이 곧 SE 에 해당함

고급 관리자 (20 년 ~) 가 되면 , 모든 업무가 이에 해당함사장님이 ( 혹은 고객이 ) “ 비용을 최소화한 개발 계획을 세워라” , “ 필요한 인력을 산출하고 배치하라” , “ 설계 발표회의를 갖자” 등의 이야기가 곧 SE 로 볼 수 있음

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

Software Engineeringby Yang-Sae MoonPage 20

여러분이 개발자로 나가면 … (2/2)

결국 , 초기에는 SE 가 그다지 중요한 작업이 아니며 , 규모가 작은

과제 ( 예 : 개인 홈페이지 작성 회사 ) 의 경우 실질적으로 필요하지 않음

소프트웨어 공학 강의 개요

BUT, 중규모 이상인 경우 , 관리자가 되면서 SE 관련 작업이 많아지

며 , 업무 속에서 자연스럽게 실천하게 됨

대학에서 아무리 잘 배워도 , 2~3 년 지나면 핵심 용어조차 다

잊어버리므로 , 관리자가 되었을 경우에 , 나름대로의 재교육이 필요함

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

Software Engineeringby Yang-Sae MoonPage 21

미국 연봉 50 위 (CNN)소프트웨어 공학 강의 개요

수요 / 공급이 해결되면 , 여러 분이 연봉 킹이 됩니다 .

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

Software Engineeringby Yang-Sae MoonPage 22

소프트웨어에 인생을 걸어라 ~

10 년 후 여러 분 사진을 강의 TP 에 사용할 수 있기를 기대합니다 .

소프트웨어 공학 강의 개요