세계적으로 소프트웨어 시장규모가 팽창하고 있으며 특별히 제조 및 일반 하드웨어 분야에서도 소프트웨어의 비중이 점점 높아져 가고 있는 추세이다. 이러한 상황에서 복잡하고 다양한 소프트웨어의 개발 및 관리를 위한 소프트웨어공학의 중요성이 점점 높아지고 있다. 이에 본 과정에서는 이러한 상황에 부응하기 위하여 체계적인 소프트웨어 개발기술, 프로젝트 관리기술, CMM 등의 프로세스 개선기술, 소프트웨어 검증기술, 유지보수 기술 등을 교육하여 산업체가 요구하는 고급 소프트웨어 엔지니어를 양성하는 것을 목표로 하고 있다. 소프트웨어공학 전공에서는 소프트웨어 아키텍트 분야와 프로세스 및 품질 분야의 전문가로서 역량을 배양할 수 있도록 한다.
컴퓨터 시스템은 클라우드 서비스, 데이터 센터, 모바일 기기, 인공지능 시스템과 같은 다양한 실질적 응용 기술 산업에서 컴퓨터 하드웨어와 소프트웨어의 설계, 구현, 관리, 최적화를 위한 핵심적인 역할을 하고 있다. 따라서 본 전공에서는 컴퓨터의 작동 원리 이해를 기반으로 고성능, 안정성, 확장성, 에너지 효율성을 갖춘 컴퓨터 시스템 개발 역량 배양을 목표로 한다.
구분 | 주요 교과목명 | |
기본 교과목 | GITE301 | 소프트웨어 공학 |
GITE312 | 소프트웨어 프로젝트 관리 | |
GITF302 | 고성능 컴퓨팅 시스템 | |
GITF315 | Linux 운영체제 및 응용 | |
소프트웨어공학 관련 심화 교과목 | GITE310 | 소프트웨어 요구사항 분석론 |
GITE315 | 소프트웨어 아키텍처 | |
GITE320 | 소프트웨어 품질관리 | |
시스템 관련 심화 교과목 | GITF312 | 분산처리 시스템 |
GITF343 | 사물인터넷 | |
GITF345 | 빅데이터 저장시스템 및 응용 | |
GITE301. 소프트웨어 공학(Software Engineering) 2학점
소프트웨어 공학은 적정 시간과 비용내에서 소프트웨어 제품을 개발하고 수정하기 위하여 체계적인 개발과 유지보수에 관련된 기술적인 면과 관리적인 면을 다룬다. 이 과목에서는 소프트웨어 라이프 사이클에 입각하여 프로젝트 계획, 요구사항 분석, 설계, 구현, 테스팅과 품질보증과정을 실무위주로 다룬다. 전통적인 설계기법에 부가하여 객체지향 소프트웨어 모델링 및 분석기법도 다룬다.
GITE310. 소프트웨어 요구사항 분석론(Software Requirements Analysis) 2학점
소프트웨어의 개발과정에서 필요한 요구사항 분석 및 기술방법, 요구사항 관리기법을 다룬다. 수강생들로 하여금 전반적 요구 공학의 이해, 소프트웨어 분석 기술들의 습득과 이러한 기술들의 응용을 이해시키고자 한다.
GITE311. 소프트웨어 설계론(Software Design) 2학점
소프트웨어의 설계에 대한 사항인 구조적 설계도구, 모듈 coupling 및 cohesion, 트랜잭션 분할, 구조적/객체지향적 분석 및 검증 등을 다룬다.
GITE312. 소프트웨어 프로젝트 관리(Software Project Management) 2학점
소프트웨어 공학 기법을 응용하는 실제 프로젝트 계획, 관리, 개발 과정을 다루며 소프트웨어 프로젝트 관리기술 및 기법 등을 다룬다.
GITE313. 소프트웨어 테스팅(Software Testing) 2학점
소프트웨어 개발 과정 및 개발 후 기능 및 품질의 검증에 필요한 여러가지 테스팅 기법 등을 다루며 이를 통한 소프트웨어의 평가방안 등을 다룬다.
GITE314. 소프트웨어 개발 방법론(Software Development Method) 2학점
소프트웨어 개발시 필요한 여러 가지 개발 방법론들을 다룬다. 본 방법론은 개발기술에 대한 방법들과 개발 공정에 대한 방법들을 다룬다.
GITE315. 소프트웨어 아키텍쳐(Software Architecture) 2학점
소프트웨어 시스템의 컴포넌트와 컴포넌트 간의 관계를 표현한 아키텍처는 소프트웨어 시스템 개발의 핵심적인 역할을 한다. 아키텍처의 기본 개념, 아키텍처 스타일, 아키텍처 트레이드오프 분석, 아키텍처의 멀티 뷰, 아키텍처 기술언어(Architecture Description Language) 등에 대해 다룬다.
GITE316. 소프트웨어 구현방법론(Code Craft) 2학점
실무자 중심의 대학원 학생들에게 업무에 도움을 주면서 동시에 학문적인SE의 적용을 가져올 수 있는 code 중심의 개발 practice를 설명한다. 특별히 코드 장인이 되기 위해 갖춰야 하는 사무적인 영역, 지적인 영역을 각각 개인이 성취할 수 있는 영역과 조직이 성취해야 하는 영역으로 설명하고 논의한다. 이를 기반으로 궁극에 코드 장인이 될 수 있도록 기초적인 지식과 가이드를 설명한다.
GITE320. 소프트웨어 품질관리(Software Quality Assurance) 2학점
품질시스템(quality system)이 정립되지 못하고 개개인의 기술에 의존하고 있는 소프트웨어 분야에서 소프트웨어 개발 및 사후지원(support) 분야에서 품질관리 시스템에 대하여 조사, 연구한다.
GITE321. 소프트웨어 공정향상(Software Porcess Improvement) 2학점
소프트웨어 개발 프로젝트를 효과적으로 수행하기 위하여 소프트웨어 개발 공정수립방안, 공정향상을 통한 생산성 증대방안, 소프트웨어 개발능력의 성숙도(CMM) 및 SPICE, ISO 9001 등의 소프트웨어 프로젝트 진행시 필요한 주요활동 및 국제표준들을 다룬다.
GITE323. 전산감사론(Audit of Computerized Systems) 2학점
최근 시스템 통합업체에서 수행하는 대형 시스템 개발이 일반화 되고 있다. 이러한 소프트웨어 개발의 공정감리 및 품질보증을 다룬다.
GITE325. 전산감사와 국제표준(IT Audit and International Standards) 2학점
전산감사의 핵심 개념인 **경영시스템 감사(Audit)**에 대한 이해를 바탕으로, 국내 정보시스템 감리에 활용되는 국제표준을 체계적으로 다룬다. 국제적으로 널리 사용되는 **ISO/IEC 19011(경영시스템 감사 지침)**의 이론과 실무를 학습하고, ISO/IEC 27001(정보보호 관리체계) 등 국제표준에 대한 이해를 통해 정보시스템 감사의 기반을 마련한다. 아울러, 국내 정보시스템 감리 제도와 국제표준의 비교를 통해 시사점과 개선 방향을 고찰하며, 실제 사례 분석을 통해 감사 및 감리 수행에 필요한 실무 역량을 강화하는 것을 목표로 한다.
GITE327. 소프트웨어 비용감사(FSoftware Cost Audit) 2학점
이 과목은 전공자가 아닌 학생들도 소프트웨어 비용 산정과 감사에 대한 기본적인 이해를 갖출수 있도록 설계되었다. 이를 통해 학생들은 소프트웨어 비용을 산정하는 데 필요한 기초적인 소프트웨어 개발 방법론과 데이터 모델링을 학습한다. 또한, 기능점수를 활용하여 소프트웨어 비용을 산정하는 방법을 학습하고, 산정된 비용이 적정한지 제3자의 입장에서 감사하는 방법과 실제사례를 통해 실무적인 감각을 익힙니다.
GITE328. 모바일네트워킹 기초(Fundamentals of Mobile Networking) 2학점
모바일네트워킹은 네트워크상 여러 계층별 또는 계층 간에 걸쳐 구현할 수 있는 개념이다. 이동성 개념(Mobility Concept)이 네트워크의 각 계층마다 어떻게 다른지를 컴퓨터 네트워크의 기초부터 시작하여 계층별 핵심 프로토콜들을 중심으로 설명한다. 링크 계층에서의 이동성, Mobile IP등 IP 계층에서의 이동성, Wireless TCP등 계층간 이동성 지원, 가상화(Virtualization)를 통한 이동성 지원등 인터넷 프로토콜과 이동성의 관계를 다차원적으로 다룬다. 알고리즘적인 해석을 통해 수많은 프로토콜에 공통적으로 나타내는 핵심적인 아이디어를 이해하도록 하여 실제 응용력의 향상을 도모한다.
GITE329. 고효율 AI컴퓨팅(Efficient AI Computing) 2학점
거대언어모델(LLM)을 포함한 딥러닝 알고리즘을 효율적으로 학습하고 추론하는 기법, 모델을 경량화하는 기법, GPU 및 하드웨어 가속기를 이용한 기법을 이해한다. 대표적인 딥러닝 모델들과 연산들과 살펴보고, 이를 GPU에서 효율적으로 학습/추론하는 방법, 분산병렬딥러닝, 양자화, 가지치기, 지식증류, 희소성 활용, 온디바이스 AI를 위한 신경망자동탐색(NAS), GPU와 NPU의 차이 등을 이해한다.
GITE330. AI 기반 소프트웨어 개발 방법(AI-based Software Development Methods) 2학점
본 교과목은 전통적인 소프트웨어 개발 생명주기(SDLC)를 기준으로 각 개발 단계에서 AI와 협업하는 소프트웨어 개발 방법을 학습한다. 요구사항 분석부터 테스팅까지 전 단계에서 AI의 역할을 이해하고 팀 프로젝트를 통해 실제 적용 능력을 기른다.
GITF302. 고성능 컴퓨팅 시스템(High Performance Computing Systems) 2학점
기존 고가의 슈퍼컴퓨터 혹은 병렬컴퓨터를 중심으로 고성능 컴퓨팅 시스템에 대한 기본적인 이해를 도모하고 고성능 컴퓨팅 시스템을 구축하기 위한 주요 요구 사항을 도출한 후, 각 요구 사항을 만족할 수 있는 요소 기술에 대한 고찰을 통해 해당 기술들을 저가형 클러스터 시스템에 효과적으로 접목함으로써 가격대 성능비가 우수한 클러스터 기반 고성능 컴퓨팅 시스템의 프레임워크를 마련하는 것을 목적으로 한다. 과목의 범위가 광대한 만큼 수업의 진행방향은 각 핵심 기술에 대한 세부적인 고찰보다는 기본 개념에 대한 이해 중심으로 전개되며, 전달식 강의를 가능한 한 탈피하여 토론 중심으로 진행된다.
GITF310 병렬 컴퓨팅(Parallel Computer Systems) 2학점
초고속 및 특수목적의 병렬처리 연산을 위한 연산구조의 설계 및 분석을 다룬다.
GITF312. 분산처리 시스템(Distributed Systems) 2학점
분산처리를 위한 개념 및 구조, 이의 분산 운영체제 및 하드웨어의 특성 등을 다룬다.
GITF313. 실시간 시스템(Real Time Systems) 2학점
실시간 시스템에 대한 하드웨어, 시스템 소프트웨어 프로그래밍 언어 그리고 응용 등에 대한 전반적인 내용을 다룬다. 특히 공장제어 등에 필요한 하드 실시간 시스템의 요구 분석 및 가능한 해결 방법들에 대한 내용을 중점적으로 다룬다.
GITF315. Linux 운영체제 및 응용(Linux Operating Systems and Applications) 2학점
운영체제에 대한 기본지식을 습득한 학생을 대상으로, 현재 실무에서 많이 사용되고 있는 Linux 운영체제를 이용하여, 운영체제 내부의 구조를 소개하고 Linux운영체제가 많이 적용되고 있는 응용분야에 대한 소개를 한다. 또한 현재 많이 사용되고 있는 Window 서버 운영체제와의 비교를 통하여 장점과 단점을 습득한다.
GITF322. 데이터 통신(Data Communications) - (구 GITB300) 2학점
TCP/IP 기반 컴퓨터간의 통신 또는 무선통신 단말간의 통신에서 데이터 송수신을 위한 프로토콜 및 동작 원리를 습득한다. 데이터 통신의 방식, 변조방법, 전송 매체, 링크 제어, 에러 제어방식, 다중접촉 방식 등 통신에 관련된 제반 원리를 다룬다.
GITF325. 멀티미디어 통신(Multimedia Communications)- (구 GITB330) 2학점
멀티미디어의 인코딩과 디코딩, 압축방식, 동기화 방식, 멀티미디어 전송 프로토콜 그리고 상호 연결된 멀티미디어 응용 등에 대해 다룬다.
GITF327. 인터넷 프로토콜(Internet Protocols) - (구 GITB350) 2학점
네트워크를 통해 정보를 주고받기 위한 기초가 되는 각종 프로토콜의 이해를 통해 네트워크의 기본 개념 및 특성을 이해하여 실무 능력을 함양하기 위해 TCP/IP, UDP, Address Resolution, Exterior Gateway Protocol 등 TCP/IP Protocol Suite와 RSVP, STII 등의 라우팅 프로토콜, 실시간 서비스의 제공을 위한 인터넷 프로토콜에 대해 다룬다.
GITF328. 인터넷 프로그래밍(Internet Programming) - (구 GITB351) 2학점
HTML을 이용한 홈페이지 작성, CGI 프로그래밍, 자바 언어 프로그래밍 등 인터넷에서 여러 가지 정보를 제공하기 위해 습득하여야 할 프로그래밍 기술을 다룬다.
GITF329. 인터넷 서비스품질관리(Internet Service Quality Management) - (구 GITB353) 2학점
데이터 뿐만 아니라 음성과 비디오 등 멀티미디어 서비스의 제공을 위한 인터넷구조, 다양한 트래픽 특성을 갖는 서비스의 품질보장 기술, 인터넷트래픽 제어 기술, 서비스 품질에 많은 영향을 주는 보안관련 문제점, 무선 IP QoS 기술 등을 다룸으로써 고품질, 고성능의 인터넷서비스를 제공할 수 있는 인터넷구조와 기술을 이해하도록 한다.
인터넷을 구조적인 측면에서 다룬다. RIP, OSPF, BGP 등의 라우팅 프로토콜의 분석에서 출발하여 이들 라우팅 프로토콜의 결함이 인터넷 라우팅 구조에 불안정성을 가져옴을 이해하고 이를 해결하고자 하는 최근의 연구동향을 다룬다. 계층적인 구조를 갖는 TCP/IP 네트위크의 설계 방법을 현장 전문가의 입장에서 다룬다(CISCO 네트워크 설계 기법). 인터넷 트래픽의 모델링(TCP트래픽, 웹트래픽)과 이에 기초한 WAN(Wide Area Network)설계 기법을 배경이론(그래픽 이론, Erlang 이론 등)과 함께 다룬다.
GITF330. 인터넷 구조(Internet Architecture) - (구 GITB360) 2학점
인터넷을 구조적인 측면에서 다룬다. RIP, OSPF, BGP 등의 라우팅 프로토콜의 분석에서 출발하여 이들 라우팅 프로토콜의 결함이 인터넷 라우팅 구조에 불안정성을 가져옴을 이해하고 이를 해결하고자 하는 최근의 연구동향을 다룬다. 계층적인 구조를 갖는 TCP/IP 네트위크의 설계 방법을 현장 전문가의 입장에서 다룬다(CISCO 네트워크 설계 기법). 인터넷 트래픽의 모델링(TCP트래픽, 웹트래픽)과 이에 기초한 WAN(Wide Area Network)설계 기법을 배경이론(그래픽 이론, Erlang 이론 등)과 함께 다룬다
GITF331. 이동통신망(Wireless Networks) - (구 GITB370) 2학점
무선 통신과 이동통신 관련 기초 이론과 다원접속방식, 셀 설계, 개인 휴대 통신 서비스의 제공을 위한 프로토콜, 핸드오버 및 이동성 관리 방안 등에 대해 다룬다.
GITF332. 이동인터넷 프로토콜(Mobile IP) - (구 GITB371) 2학점
TCP/IP 사용자에게 이동성을 제공하기 위한 기본개념, 이를 위한 시스템의 구조와 Home Agent, Foreign Agent, Encapsulation, Tunneling, 위치 등록, 위치 추적 등 관련 요소와 프로토콜에 대해 다룬다.
GITF333. IOT보안(IOT Security) 2학점
사물인터넷(IoT, Internet of Things)을 구성하는 많은 디바이스들은 전력이나 계산 능력면 등에서 많은 제약이 있다. 이러한 제한된 능력을 갖는 디바이스는 공격자들의 좋은 공격 대상이 되기 때문에 이에 대한 보안 위협을 분석하고 대책들을 소개한다. 그리고 관련된 표준화된 프로토콜에 대해 살펴봄으로써 사물인터넷의 보안성 확보 방안에 대한 이해를 높이도록 한다.
GITF334. 이동통신기술(Mobile Communication Technology) - (구 GITB373) 2학점
무선통신 이론과 규격 및 시스템에 대한 응용 예를 다룬다. 디지털통신의 기초 이론에서부터 현재의 이동통신 및 IoT 네트워크에서 무선 전송 속도 개선을 위해 사용하고 있는 기술들을 분석한다. 그리고 이동통신 및 IoT 네트워크에서 사용하고 있는 주요 기술들의 응용을 살펴보고 이를 통해 무선통신 기술 습득 및 응용력 향상을 목적으로 한다.
GITF335. 무선 LAN 개론(Introduction to Wireless LAN) - (구 GITB374) 2학점
WLAN구조와 네트워크, 802.11 계열의 Spec, WLAN Security 및 인증 Protocol, 802.1x, WPA, WEP, ESP, Roaming등 Wireless LAN의 기초가 되는 핵심 요소 기술들에 대해 소개한다.
GITF337. 차세대 네트워크(Next Generation Network) - (구 GITB376) 2학점
BcN 개념 및 그 구조, 방송/통신/인터넷 통합망 구조, 홈 N/W 구조 및 관련기술, FTTH 구조 및 관련 기술, 4G등과 같은 차세대 네트워크에 관련된 기반 기술들에 대하여 소개한다.
GITF339. 차세대 이동통신망(Network Generation Mobile Network)- (구 GITB378) 2학점
기존 이동 통신망의 현황, WiBro개요 및 기초기술, 4G 발전방향, WiMAX, DMB등을 소개하여 향후 유무선 통합망 발전방향, 국내외 운용현황 등을 소개한다.
GITF340. 5세대 네트워크 패러다임(Network Resource Management) - (구 GITB379) 2학점
최근 제시된 네트워크 자원관리기법들을 간략히 정리하고, 차세대서비스를 효율적으로 운용할 수 있는 유무선 네트워크 자원관리 방법의 동향을 살펴본다. 특히, 게임이론을 네트워크 자원관리 부분에 적용한 구체적인 사례를 살펴보고 네트워크 자원할당을 위한 복잡한 최적화 문제를 쉽게 풀 수 있는 새로운 접근방법에 대해 살펴본다.
GITF342. 기초 네트워크 알고리즘(Introduction to Fundamentals of Network Algorithms) 2학점
네트워크 시스템에 대한 기본적인 이해를 도모하기 위하여 그래프 자료구조를 중심으로 한 기본적인 네트워크 알고리즘들을 다룬다.
GITF343. 사물인터넷(Internet of Things) 2학점
사물인터넷의 핵심 기술들을 다룬다. 블루투스, IEEE802.15.4등 제한된 통신능력을 가진 통신기술의 프로토콜과 이들 통신망에 IPv6을 구현하는 기법, 디바이스 가상화, Web of Things, 사물인터넷 플랫폼 등을 중심으로 기초 개념부터 최근 연구 개발 동향을 다룬다.
GITF345. 빅데이터 저장시스템 및 응용(Big Data Storage System and Application) 2학점
빅데이터 저장시스템으로 저장 미디어, SSD 펌웨어 동작, 리눅스 파일 시스템, 분산 저장 시스템 및 NoSQL 데이터베이스 시스템의 구조와 응용을 배운다.
GITF370. 임베디드 소프트웨어 개론(Introduction to Embedded Software) 2학점
최근 소프트웨어의 핵심 분야로 대두되고 있는 임베디드 소프트웨어에 대한 기본 개념을 설명하고 임베디드 소프트웨어의 중요 분야와 이를 개발하고 관리하는데 필요한 다양한 기술들에 대해 교육한다. 특히 본 강의는 임베디드 소프트웨어를 개발하기 위해 필요한 임베디드 OS, 임베디드 소프트웨어 프로세스, 요구사항 분석, 아키텍쳐, 테스팅을 중심으로 교육하며 그 외 임베디드 소프트웨어 획득, 관리 및 재활용 방안에 대해서도 고찰한다.
