소프트웨어 공학(Software Engineering)은 소프트웨어의 개발, 운영 및 관리 활동에 대하여 체계적, 절차적 그리고 정량적인 공학기술을 적용 하는 학문이라고 정의할 수 있으며, 보다 품질이 좋은 소프트웨어를 어떻게 개발할 것인가가 궁극적인 목표라고 할 수 있습니다.


이러한 목표를 달성하기 위해서는 소프트웨어 개발 및 관리를 체계적으로 수행하는 절차(Process)에 대한 연구와 소프트웨어 전체 생명주기 걸친 다양한 방법과 공학적 기술(Technology), 그리고 소프트웨어 개발 자원(Resource)에 대한 연구가 필요합니다.


프로세스(Process)
소프트웨어 프로세스는 다양한 환경과 프로젝트 여건에서 체계적으로 소프트웨어를 개발할 수 있도록 가이드라인을 제공해 줍니다. 소프트웨어 프로세스 분야에서는 “소프트웨어 프로세스 모델”, “정량적인 소프트웨어 프로세스 개선 및 평가”, “프로세스 변경 및 진화 관리” 등과 같은 연구 주제가 포함됩니다.


기술(Technology)
기술은 소프트웨어의 개발, 운영 및 유지보수의 전체 수명주기에 걸쳐 적용되는 방법(methods)과 기법(Techniques)을 의미합니다. Technology Process Resource 소프트웨어 프로세스 모델 소프트웨어 프로세스 개선 정량적 프로세스 관리기법소프트웨어 모델링 소프트웨어 검증 소프트웨어 적응 및 응용 인적 자원 관리 (P-CMM) 교육 및 멘터링(Mentoring)Dimensions of Software Engineering소프트웨어 기술 영역은 내장형 시스템, 실시간 시스템, 관리정보 시스템 등과 같은 시스템 특성에 따라 어떤 기술을 어떻게 적용할 것인가 하는 부분이며, 정형기법, 개발 방법론(구조적 분석, 객체지향, 컴포넌트, 제품계열 공학), 검증 및 확인, 소프트웨어 진화 등과 같은 연구 영역을 포함합니다.

자원(Resource)
자원은 소프트웨어 개발에 참여하는 스태프(Staff)에 관한 사항입니다. 소프트웨어 개발에 참여하는 사람들은 각 활동에 대하여 역할과 책임을 갖게 됩니다. 소프트웨어 개발 조직에서 인적 자원의 능력을 어떻게 개발하고 유지 관리할 것인가에 대하여 고민합니다. 이 분야에서는 특별히 People-CMM에 대한 연구 및 적용을 포함하고 있습니다. 

Designed By WebEngine.