Download presentation
Presentation is loading. Please wait.
1
소프트웨어 공학 (Software Engineering) 과목 개요 문양세 강원대학교 IT 대학 컴퓨터과학전공
2
Software Engineering by Yang-Sae Moon Page 2 소프트웨어 공학이란 ? (1/2) 소프트웨어란 ? 프로그램, 프로그래머, 소스코드, 버그, 에러, 노가다, … 하드웨어의 반대말, 눈에 보이지 않음, … 공학 (engineering) 이란 ? 컴퓨터, 전기, 전자, 기계, 건축, … 엔지니어링, 엔지니어, 공돌이, … 공학 (engineering) 과 과학 (science) 의 차이는 무엇이지 ? 소프트웨어 공학 강의 개요
3
Software Engineering by Yang-Sae Moon Page 3 소프트웨어 공학이란 ? (2/2) 소프트웨어 공학이란 ? 어떻게 하면 적은 비용으로 소프트웨어를 개발할 수 있을까 ? 어떻게 하면 좋은 품질의 소프트웨어를 개발할 수 있을까 ? 어떻게 하면 적기에 소프트웨어를 개발할 수 있을까 ? 어떻게 하면 시리즈 계속 사용자 요구 만족하는 … 대박을 터트릴 수 있는 … 가장 재미있는 게임을 … 소프트웨어 공학 강의 개요
4
Software Engineering by Yang-Sae Moon Page 4 강의 개요 (1/2) 과목 개요 컴퓨터의 발전과 더불어 다양하고 체계적인 소프트웨어 개발 기술 및 방법론이 필요하다. 소프트웨어 개발에 있어서, 1) 초기 기획 및 설계는 어떻게 하고, 2) 실제 구현 및 시험을 어떻게 수행하며, 3) 또한 사후 관리를 어떻게 하는지 방법론을 습득한다. 특히, 소규모 그룹 단위의 프로젝트를 수행하면서, 소프트웨어 공학이 실제 상황에 어떻게 적용되는지 간접 체험한다. 소프트웨어 공학 강의 개요
5
Software Engineering by Yang-Sae Moon Page 5 강의 개요 (2/2) 강의 내용 요약 소개 ( 개요 ) 프로세스 계획 및 요구 분석 설계 설계 원리와 아키텍처 객체지향 설계 상세설계와 UI 설계 및 구현 코딩 테스팅 및 유지보수 품질 첨단 소프트웨어 공학 기술 소프트웨어 공학 강의 개요
6
Software Engineering by Yang-Sae Moon Page 6 강의 계획 (1/5) 선수 과목 (Prerequisites) 웹 프로그래밍 언어 한 가지 (PHP, ASP, JSP 등 ) 혹은 스마트폰 프로그래밍 언어 ( 안드로이드, 아이폰 등 ) 왜 ? 프로젝트를 수행해야 하니까요 ~ 담당 교수 이름 : 문양세 사무실 : 한빛관 303 호 전화 :(033) 250-8449 이메일 :ysmoon@kangwon.ac.kr 홈피 :http://cs.kangwon.ac.kr/~ysmoon/ 조교 : 문성우 (swmoon@kangwon.ac.kr) 소프트웨어 공학 강의 개요
7
Software Engineering by Yang-Sae Moon Page 7 강의 계획 (2/5) 강의 시간 월, 목 1 교시 (09:00-10:30) 강의 교재 소프트웨어 공학, 최은만, 정익사, 5 판 (2011), 4 판 (2007), 3 판 (2005) 소프트웨어 공학 강의 개요
8
Software Engineering by Yang-Sae Moon 강의 계획 (3/5) 평가 기준 중간 시험 : 25~30% 기말 시험 : 30~35% 과제 및 프로젝트 : 30% 출석 : 10% (1/3 이하 출석이면 학교 정책에 의해 F 임에 유의바람 ) 소프트웨어 공학 강의 개요
9
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 기말시험 최종 보고서 제출 소프트웨어 공학 강의 개요
10
Software Engineering by Yang-Sae Moon Page 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 할 예정임 소프트웨어 공학 강의 개요
11
Software Engineering by Yang-Sae Moon Page 11 소프트웨어 프로젝트의 예 비행기 예약 및 발권 시스템 소프트웨어 공학 강의 개요 원자력 발전소 제어 및 통제 시스템 우주 ( 왕복 ) 선 제어, 유도, 통제 시스템 은행 전산 시스템, 전자 정부 시스템 의료 장비, 생물 정보학 시스템 음성 및 데이터 통신 네트워크 시스템 모바일, 스마트폰 애플리케이션 그 외, 대규모, 중규모, 소규모 모두 무수히 많음 … 운영체제, DBMS …
12
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… 소프트웨어 공학 강의 개요
13
Software Engineering by Yang-Sae Moon Page 13 CDMA 이동통신 개발 예제 (2/7) ( 매우 간략히 나타낸 ) CDMA 망 구조 소프트웨어 공학 강의 개요 MSC ( 교환기 ) BSC ( 제어국 ) BTS ( 기지국 ) HLR PDSN SMSC AAA MS ( 단말기 ) PC 개념으로 보면, 전체 시스템은 PC 수백 대 ~ 수천 대에 해 당하는 초대규모 시스템임
14
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 년 이후 ) 상기 인력은 영업, 마케팅, 생산 인력은 제외한 순수 개발 인 력을 나타냄 이 같은 대형 개발 조직을 어떻게 조직하고 관리할 것인가 ?
15
Software Engineering by Yang-Sae Moon Page 15 CDMA 이동통신 개발 예제 (4/7) 소프트웨어 공학 강의 개요 각종 변수 개발 스펙이 자주 변한다. ( 규격 진화, 정부 / 사업자 요구사항, …) 하드웨어와 소프트웨어가 동시에 개발되어야 한다. 부족한 엔지니어를 개발하면서 교육시켜야 한다. 내부 및 외부 interworking 이 엄청 많다. 수많은 또한 복잡한 환경에서의 실험이 필요하다. 매니저는 물론 엔지니어의 변화 ( 입사, 이직 등 ) … 등등등 숫한 난제
16
Software Engineering by Yang-Sae Moon Page 16 CDMA 이동통신 개발 예제 (5/7) 소프트웨어 공학 강의 개요 개발 조직을 다음과 같이 엔티티별로 구성해 보았다. 개발 대장 MSC BSC BTS HLR … HardwareSoftwareSystem EngineeringTestHardwareSoftwareSystem EngineeringTestHardwareSoftwareSystem EngineeringTestHardwareSoftwareSystem EngineeringTestHardwareSoftwareSystem EngineeringTest
17
Software Engineering by Yang-Sae Moon Page 17 CDMA 이동통신 개발 예제 (6/7) 소프트웨어 공학 강의 개요 개발 조직을 다음과 같이 기능별로도 구성해 보았다. 개발 대장 Hardware Software System Eng. Test MSCBSCBTSHLR…MSCBSCBTSHLR…MSCBSCBTSHLR… MSCBSCBTSHLR…
18
Software Engineering by Yang-Sae Moon Page 18 CDMA 이동통신 개발 예제 (7/7) 소프트웨어 공학 강의 개요 System Engineering? ( 위키 ) 위키 전체 시스템 및 세부 시스템 구조 설계 개발 계획 수립 및 비용 최소화 전략 수립 신규 기술 동향 파악 및 교육, 표준화 작업 참여 마케팅 분야 기술 자료 및 제안서 작성 Software Engineering? Software Part of System Engineering
19
Software Engineering by Yang-Sae Moon Page 19 여러분이 개발자로 나가면 … (1/2) 처음 ( 입사 후 10 년까지 ) 에는 SE 가 어디에 있는지 잘 보이지 않음 이때, 주로 관리자가 “ 무엇을 작성해 내라 ”, “ 무슨 계획서를 써라 ”, “ 개발이 잘 되어가고 있느냐 ” 고 하는 말들에서 약간의 SE 냄새가 풍김 소프트웨어 공학 강의 개요 중간 관리자 (10 년 ~20 년 ) 가 되면, 업무의 절반이 이에 해당함 위에서 “ 언제까지 제안서를 써라 ”, “ 개발 중간 점검회의를 하자 ”, “ 어디 가서 발표하고 오너라 ”, “ 언제까지 개발할 수 있느냐 ?” 등의 말을 실천하는 것들이 곧 SE 에 해당함 고급 관리자 (20 년 ~) 가 되면, 모든 업무가 이에 해당함 사장님이 ( 혹은 고객이 ) “ 비용을 최소화한 개발 계획을 세워라 ”, “ 필요한 인력을 산출하고 배치하라 ”, “ 설계 발표회의를 갖자 ” 등의 이야기가 곧 SE 로 볼 수 있음
20
Software Engineering by Yang-Sae Moon Page 20 여러분이 개발자로 나가면 … (2/2) 결국, 초기에는 SE 가 그다지 중요한 작업이 아니며, 규모가 작은 과제 ( 예 : 개인 홈페이지 작성 회사 ) 의 경우 실질적으로 필요하지 않음 소프트웨어 공학 강의 개요 BUT, 중규모 이상인 경우, 관리자가 되면서 SE 관련 작업이 많아지며, 업 무 속에서 자연스럽게 실천하게 됨 대학에서 아무리 잘 배워도, 2~3 년 지나면 핵심 용어조차 다 잊어버리 므로, 관리자가 되었을 경우에, 나름대로의 재교육이 필요함
21
Software Engineering by Yang-Sae Moon Page 21 미국 연봉 50 위 (CNN) 소프트웨어 공학 강의 개요 수요 / 공급이 해결되면, 여러 분이 연봉 킹이 됩니다.
22
Software Engineering by Yang-Sae Moon Page 22 소프트웨어에 인생을 걸어라 ~ 10 년 후 여러 분 사진을 강의 TP 에 사용할 수 있기를 기대합니다. 소프트웨어 공학 강의 개요
Similar presentations