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

Slides:



Advertisements
Similar presentations
기업명 ( 담당자명, 연락처, 이메일 ) [ 첨부 2] 부산 스마트콘텐츠 마케팅 지원사업 마케팅 계획서.
Advertisements

CI(Continuous Integration) 이학성. C ontinuous I ntegration? 2 지속적으로 품질관리 를 적용하는 과정 개발자가 기존 코드의 수정 작업 을 시작할 때, 코드 베이스의복사본을 받아서 작업을 시작하면서 코드의 변경.
컴퓨터공학과. 이세돌 vs 인공지능 알파고 컴퓨터공학과 인생은 실험과 도전의 연속 인생은 실험과 도전의 연속.
프로그래밍 언어 (C 언어 ) 기초 과목 개요 문양세 강원대학교 IT 대학 컴퓨터과학전공.
소프트웨어 공학 (Software Engineering) 과목 개요 문양세 강원대학교 IT 대학 컴퓨터과학전공.
2010 서 희 명 ) 시스템 아키텍처 감리 - 강의계획서 -
미래정보통신기술 박 흠 성심관 1329 호 (055) 메일 : 홈페이지 :
컴퓨터 종합설계 2012 년 2 학기 Syllabus 개요 (1/2) 목표  실 세계의 문제를 제시하고, 이에 대한 해결책을 컴퓨터 공학적인 방법으로 해결하기 위하여 팀을 주축으로 소프트웨어 개발 프로젝트 수행  프로젝트 계획에서부터 구현까지.
과제 제안서 IT대학장 귀하 2011년 3월 일 신청자(대표자) : (인/서명) Project 명 사업본부
8조 무선 직류 모터 제어 Wireless DC Motor Control 개념설계도 KWANG WOON UNI.
서울시립대학교 전자전기컴퓨터공학부 김한준
Secure Coding 이학성.
팀 구성 : 조재민 (팀장), 고광춘, 유기민, 김대진, 이재호 발표 일자:
게임프로그래밍 입문 멀티미디어공학과 이재문.
Software Engineering (Introduction)
Software Engineering (Introduction)

소프트웨어 공학 (Software Engineering)
(Web Programming & Practice)
그래픽스 및 웹 응용설계 자기소개 멀티미디어 학과 4학년 장정환.
2014 상반기 대졸 신입/인턴 모집 모집 분야 지원접수 전형방법 지원자격
2009-1학기 프로젝트 수업 프로젝트 I, III, V, VII 학기.
로봇 소프트웨어.
2006년 컴퓨터공학실험(I) 강의 소개 002, 004분반 인공지능 연구실.
Web Service Computing and Practice_
1장. 이것이 C 언어다.. 1장. 이것이 C 언어다. 프로그래밍 언어 1-1 C 언어의 개론적 이야기 한글, 엑셀, 게임 등의 프로그램을 만들 때 사용하는 언어 ‘컴퓨터 프로그래머’라는 사람들이 제작 C 언어(C++ 포함)를 가장 많이 사용함.
콘텐츠 제작 프로젝트 [교재] - OpenGL 프로그래밍 가이드, 제4판, Dave Shreiner, Mason Woo, Jackie Neider, Tom Davis 공저, 남기혁 역, 정 보문화사, [참고자료] OpenGL Programming.
데이터베이스 및 설계 금오공과대학교 컴퓨터공학부 이 이섭.
데이터 마이닝 - 강의 개요 년 가을학기 강원대학교 컴퓨터과학전공 문양세.
Linux/UNIX Programming
C++ Programming: Sample Programs
컴퓨터과학 전공탐색 배상원.
소프트웨어 공학 (Software Engineering)
프로그래밍 언어 (C 언어) 기초 과목 개요 문양세 강원대학교 IT대학 컴퓨터과학전공.
‘2012년 정보화 사업 교육 버그추적시스템(BTS) 사용 절차 2012, 02.
강의 개요. 2014년 가을학기 손시운 지도 교수: 문양세 교수님.
Linux/UNIX Programming
소프트웨어 공학 (Software Engineering)
컴퓨터소프트웨어설계및실험 년 1학기 실험계획 -.
강좌 소개 IT기술의 이해 숙명여자대학교 임순범.
프로그래밍 언어론 - 소개 순천향대학교 컴퓨터공학과 하 상 호.
정성훈 (연219호) 웹서버프로그래밍 강의 소개 정성훈 (연219호)
Mobile braille system for the blind
Linux/UNIX Programming
공학입문설계 2008년도 1학기 임성국 공학입문설계
04. DBMS 개요 명지대학교 ICT 융합대학 김정호.
졸업 요건 충족을 위한 추가 이수 학점에 대해서는 ‘졸업요건‘ 규정 확인 바람
LabVIEW WiznTec 주임 박명대 1.
데이터 마이닝 - 강의 개요 년 가을학기 강원대학교 컴퓨터과학전공 문양세.
판매 교육 발표자: [이름].
컴퓨터 소프트웨어 설계 및 실험 년 1학기 실험계획 -.
컴퓨터공학실험 (I) 년 1학기 실험계획 -.
Self Introduction Template PowerPoint
Linux/UNIX Programming
강의 제목 강사 이름 | 강의 번호.
13차시_스마트 애플리케이션 기획 스마트 미디어의 사용환경과 사용자의 특성.
이산수학 (Discrete Mathematics)
네트워크 프로그래밍 (모바일 주문 프로그램 )
컴퓨터 소프트웨어 설계 및 실험 년 1학기 실험계획 -.
Coding for Kids.
운영체제 (Operating Systems)
객체지향 프로그래밍 (강의소개)
멀티미디어 활용 -플래시 CS3 류 정 남.
TERM PROJECT 최종 보고 발표 안내 2010 컴퓨터공학실험(Ⅰ).
1장 C 언어의 개요 C 언어의 역사와 기원 C 언어의 특징 프로그램 과정 C 프로그램 구조 C 프로그램 예제.
학부 컴퓨터공학부 교육과정 (학부) 2학년 4학년 3학년 1학년 1학기 2학기 IPP 자격과정 전공트랙
2015년 가을학기 강의소개 컴퓨터시뮬레이션학과 이형원, 장영실관304호,
1. 강의 소개 컴퓨팅적 사고와 문제해결.
소프트웨어 설계 및 실습 강기준.
Linux/UNIX Programming
Presentation transcript:

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

Software Engineering by Yang-Sae Moon Page 2 소프트웨어 공학이란 ? (1/2) 소프트웨어란 ? 프로그램, 프로그래머, 소스코드, 버그, 에러, 노가다, … 하드웨어의 반대말, 눈에 보이지 않음, … 공학 (engineering) 이란 ? 컴퓨터, 전기, 전자, 기계, 건축, … 엔지니어링, 엔지니어, 공돌이, …  공학 (engineering) 과 과학 (science) 의 차이는 무엇이지 ? 소프트웨어 공학 강의 개요

Software Engineering by Yang-Sae Moon Page 3 소프트웨어 공학이란 ? (2/2) 소프트웨어 공학이란 ? 어떻게 하면 적은 비용으로 소프트웨어를 개발할 수 있을까 ? 어떻게 하면 좋은 품질의 소프트웨어를 개발할 수 있을까 ? 어떻게 하면 적기에 소프트웨어를 개발할 수 있을까 ? 어떻게 하면 시리즈 계속 사용자 요구 만족하는 … 대박을 터트릴 수 있는 … 가장 재미있는 게임을 … 소프트웨어 공학 강의 개요

Software Engineering by Yang-Sae Moon Page 4 강의 개요 (1/2) 과목 개요 컴퓨터의 발전과 더불어 다양하고 체계적인 소프트웨어 개발 기술 및 방법론이 필요하다. 소프트웨어 개발에 있어서, 1) 초기 기획 및 설계는 어떻게 하고, 2) 실제 구현 및 시험을 어떻게 수행하며, 3) 또한 사후 관리를 어떻게 하는지 방법론을 습득한다. 특히, 소규모 그룹 단위의 프로젝트를 수행하면서, 소프트웨어 공학이 실제 상황에 어떻게 적용되는지 간접 체험한다. 소프트웨어 공학 강의 개요

Software Engineering by Yang-Sae Moon Page 5 강의 개요 (2/2) 강의 내용 요약 소개 ( 개요 ) 프로세스 계획 및 요구 분석 설계 설계 원리와 아키텍처 객체지향 설계 상세설계와 UI 설계 및 구현 코딩 테스팅 및 유지보수 품질 첨단 소프트웨어 공학 기술 소프트웨어 공학 강의 개요

Software Engineering by Yang-Sae Moon Page 6 강의 계획 (1/5) 선수 과목 (Prerequisites) 웹 프로그래밍 언어 한 가지 (PHP, ASP, JSP 등 ) 혹은 스마트폰 프로그래밍 언어 ( 안드로이드, 아이폰 등 ) 왜 ? 프로젝트를 수행해야 하니까요 ~ 담당 교수 이름 : 문양세 사무실 : 한빛관 303 호 전화 :(033) 이메일 홈피 : 조교 : 문성우 소프트웨어 공학 강의 개요

Software Engineering by Yang-Sae Moon Page 7 강의 계획 (2/5) 강의 시간 월, 목 1 교시 (09:00-10:30) 강의 교재 소프트웨어 공학, 최은만, 정익사, 5 판 (2011), 4 판 (2007), 3 판 (2005) 소프트웨어 공학 강의 개요

Software Engineering by Yang-Sae Moon 강의 계획 (3/5) 평가 기준 중간 시험 : 25~30% 기말 시험 : 30~35% 과제 및 프로젝트 : 30% 출석 : 10% (1/3 이하 출석이면 학교 정책에 의해 F 임에 유의바람 ) 소프트웨어 공학 강의 개요

Software Engineering by Yang-Sae Moon Page 9 강의 계획 (4/5) 강의 계획 Week 강의 내용교재프로젝트 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 기말시험 최종 보고서 제출 소프트웨어 공학 강의 개요

Software Engineering by Yang-Sae Moon Page 10 강의 계획 (5/5) 과제 관련 모든 과제는 프린트하여 제출하는 것을 원칙으로 함 과제는 제출 기한 이후 1 주 delay 이면 20% 감점 프로젝트 관련 중간고사 2 주 이전 (4-5 주차 ) 에 프로젝트 팀을 구성할 예정이고, 중간고사 직후 (8-9 주차 ) 에 프로젝트 계획서를 제출하며, 기말고사 직전 (15 주차 ) 에 최종 보고서를 제출한다. 주제 : 추후 결정 ( 웹 혹은 모바일 프로그래밍, 지정 혹은 자유 주제 ) 강의 사이트 강의 노트는 강의 일주일 전까지는 Upload 할 예정임 소프트웨어 공학 강의 개요

Software Engineering by Yang-Sae Moon Page 11 소프트웨어 프로젝트의 예 비행기 예약 및 발권 시스템 소프트웨어 공학 강의 개요 원자력 발전소 제어 및 통제 시스템 우주 ( 왕복 ) 선 제어, 유도, 통제 시스템 은행 전산 시스템, 전자 정부 시스템 의료 장비, 생물 정보학 시스템 음성 및 데이터 통신 네트워크 시스템 모바일, 스마트폰 애플리케이션 그 외, 대규모, 중규모, 소규모 모두 무수히 많음 … 운영체제, DBMS …

Software Engineering by Yang-Sae Moon Page 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… 소프트웨어 공학 강의 개요

Software Engineering by Yang-Sae Moon Page 13 CDMA 이동통신 개발 예제 (2/7) ( 매우 간략히 나타낸 ) CDMA 망 구조 소프트웨어 공학 강의 개요 MSC ( 교환기 ) BSC ( 제어국 ) BTS ( 기지국 ) HLR PDSN SMSC AAA MS ( 단말기 ) PC 개념으로 보면, 전체 시스템은 PC 수백 대 ~ 수천 대에 해 당하는 초대규모 시스템임

Software Engineering by Yang-Sae Moon Page 14 CDMA 이동통신 개발 예제 (3/7) 소프트웨어 공학 강의 개요 개발 인력 구성 예제 (1996 년 경, H 전자, 개략적 숫자임 ) MSC: 100 여명 BSC: 50 여명 BTS: 50 여명 HLR: 30 여명 MS: 100 여명 AAA, PDSN: 50 여명 (1999 년 이후 ) 상기 인력은 영업, 마케팅, 생산 인력은 제외한 순수 개발 인 력을 나타냄 이 같은 대형 개발 조직을 어떻게 조직하고 관리할 것인가 ?

Software Engineering by Yang-Sae Moon Page 15 CDMA 이동통신 개발 예제 (4/7) 소프트웨어 공학 강의 개요 각종 변수 개발 스펙이 자주 변한다. ( 규격 진화, 정부 / 사업자 요구사항, …) 하드웨어와 소프트웨어가 동시에 개발되어야 한다. 부족한 엔지니어를 개발하면서 교육시켜야 한다. 내부 및 외부 interworking 이 엄청 많다. 수많은 또한 복잡한 환경에서의 실험이 필요하다. 매니저는 물론 엔지니어의 변화 ( 입사, 이직 등 ) … 등등등 숫한 난제

Software Engineering by Yang-Sae Moon Page 16 CDMA 이동통신 개발 예제 (5/7) 소프트웨어 공학 강의 개요 개발 조직을 다음과 같이 엔티티별로 구성해 보았다. 개발 대장 MSC BSC BTS HLR … HardwareSoftwareSystem EngineeringTestHardwareSoftwareSystem EngineeringTestHardwareSoftwareSystem EngineeringTestHardwareSoftwareSystem EngineeringTestHardwareSoftwareSystem EngineeringTest

Software Engineering by Yang-Sae Moon Page 17 CDMA 이동통신 개발 예제 (6/7) 소프트웨어 공학 강의 개요 개발 조직을 다음과 같이 기능별로도 구성해 보았다. 개발 대장 Hardware Software System Eng. Test MSCBSCBTSHLR…MSCBSCBTSHLR…MSCBSCBTSHLR… MSCBSCBTSHLR…

Software Engineering by Yang-Sae Moon Page 18 CDMA 이동통신 개발 예제 (7/7) 소프트웨어 공학 강의 개요 System Engineering? ( 위키 ) 위키 전체 시스템 및 세부 시스템 구조 설계 개발 계획 수립 및 비용 최소화 전략 수립 신규 기술 동향 파악 및 교육, 표준화 작업 참여 마케팅 분야 기술 자료 및 제안서 작성 Software Engineering? Software Part of System Engineering

Software Engineering by Yang-Sae Moon Page 19 여러분이 개발자로 나가면 … (1/2) 처음 ( 입사 후 10 년까지 ) 에는 SE 가 어디에 있는지 잘 보이지 않음 이때, 주로 관리자가 “ 무엇을 작성해 내라 ”, “ 무슨 계획서를 써라 ”, “ 개발이 잘 되어가고 있느냐 ” 고 하는 말들에서 약간의 SE 냄새가 풍김 소프트웨어 공학 강의 개요 중간 관리자 (10 년 ~20 년 ) 가 되면, 업무의 절반이 이에 해당함 위에서 “ 언제까지 제안서를 써라 ”, “ 개발 중간 점검회의를 하자 ”, “ 어디 가서 발표하고 오너라 ”, “ 언제까지 개발할 수 있느냐 ?” 등의 말을 실천하는 것들이 곧 SE 에 해당함 고급 관리자 (20 년 ~) 가 되면, 모든 업무가 이에 해당함 사장님이 ( 혹은 고객이 ) “ 비용을 최소화한 개발 계획을 세워라 ”, “ 필요한 인력을 산출하고 배치하라 ”, “ 설계 발표회의를 갖자 ” 등의 이야기가 곧 SE 로 볼 수 있음

Software Engineering by Yang-Sae Moon Page 20 여러분이 개발자로 나가면 … (2/2) 결국, 초기에는 SE 가 그다지 중요한 작업이 아니며, 규모가 작은 과제 ( 예 : 개인 홈페이지 작성 회사 ) 의 경우 실질적으로 필요하지 않음 소프트웨어 공학 강의 개요 BUT, 중규모 이상인 경우, 관리자가 되면서 SE 관련 작업이 많아지며, 업 무 속에서 자연스럽게 실천하게 됨  대학에서 아무리 잘 배워도, 2~3 년 지나면 핵심 용어조차 다 잊어버리 므로, 관리자가 되었을 경우에, 나름대로의 재교육이 필요함

Software Engineering by Yang-Sae Moon Page 21 미국 연봉 50 위 (CNN) 소프트웨어 공학 강의 개요 수요 / 공급이 해결되면, 여러 분이 연봉 킹이 됩니다.

Software Engineering by Yang-Sae Moon Page 22 소프트웨어에 인생을 걸어라 ~ 10 년 후 여러 분 사진을 강의 TP 에 사용할 수 있기를 기대합니다. 소프트웨어 공학 강의 개요