자격증 취득을 위해 소프트웨어 공학을 학습하면서 내용 정리를 하고자 한다.
▣ 소프트웨어 공학의 정의
'지식이라기 보다는 문제에 접근하는 방식'
▣ 소프트웨어 공학의 구성 Layer
* 품질 기반(Quality Focus)
소프트웨어 공학은 모든 초점은 품질이다.
총괄적인 품질관리와 그에 따른 방침들은 프로세스 향상을 위한 지속적인 도움을 주고, 결과적으로 성숙한 접근 방법을 향상 시킨다.
* 프로세스(Process)
공학 기술의 효과적인 반영을 위한 중요 프로세스 영역(Key Process Area) 정의 한다.
1) 프로젝트를 관리하기 위한 기초사항을 구성하고
2) 사용될 기술적 방법을 확정
3) 어떠한 산출물이 만들어 질것인지 결정하고
4) 품질의 보장, 변화 사항에 대한 대처등을 확정한다.
*메소드(Method)
소프트웨어를 어떻게 만들 것인지에 대한 기술적인 방법 정의한다.
모델링 작업, 서술을 위한 기법등 기본원리를 충실히 적용하며,
요구사항 분석, 설계, 프로그램 개발, 테스트, 지원 등 모든 작업을 포함한다.
* 도구(Tool)
프로세스와 메소드의 자동화, 혹은 반 자동화를 지원한다.
한 도구에서 나온 정보들이 다른 도구에서도 사용될 수 있게 한다.
지식이 아닌 접근 방식이다라...
서적이나 다른 사이트 등 설명하는 이에 따라 다소 두리뭉실한 표현으로 설명되어 개념의 이해가 완벽히 되지 않는다..
시스템을 구축함에 있어 기본적으로 소프트웨어의 구축 단계는 요구분석, 설계, 구현, 유지보수 단계로 놓고 볼 수 있고, 이때 각 단계에서 어떠한 방법으로 접근을 해야하는지 고민하게 하는 학문으로 생각된다.
차츰 깨우침이 생기게 되면 별도로 정리해보겠다.