소프트웨어 공학은 시스템 명세화의 초기 단계부터 시작하여 시스템을 사용하기 시작한 후부터 시스템을 유지보수하기까지 소프트웨어 생산의 모든 관점을 다루는 공학적인 학문입니다.
1. 공학적 원리
엔지니어는 일이 되도록 합니다. 그들은 적당하다고 생각돠는 이론, 방법, 도구 등을 적용합니다. 그러나 이것들을 선택적으로 적용하고 문제에 적합한 방법과 이론이 없을지라도 문제에 대한 해결을 찾으려고 노력합니다. 엔지니어는 조직상의 제약 조건과 재정적인 측면의 제약 조건에 따라서 일해야 한다는 것을 인식하고 있기 때문에 이러한 제약 조건 내에서 해결책을 찾습니다.
2. 소프트웨어 생산의 모든 측면
소프트웨어 공학은 단지 소프트우어 개발의 기술적 프로세스뿐만 아니라 소프트웨어 프로젝트 관리와 같은 활동 그리고 소프트웨어 생산 지원에 필요한 도구, 방법, 이론의 개발과 같은 활동을 포함합니다.
일반적으로 소프트웨어 엔지니어는 자신의 작업에 체계적이고 조직적인 방법을 선택하는데, 대게 이것은 고품질의 소프트웨어를 생산하는 가장 효과적인 방법입니다. 그러나 공학은 주어진 환경 내에서 가장 적절하고 더욱 독창적인 비형식적 개발 방법이 어떤 환경에 효과적인지를 찾아내는 것이 전부입니다. 비정형적인 개발은 소프트웨어와 그래픽 설계 기술의 혼합을 요구하는 웹 기반 시스템의 개발에 대하여 특히 적합합니다.
'소프트웨어 공학' 카테고리의 다른 글
[소프트웨어 공학] 소프트웨어 공학과 시스템 공학의 차이점은 무엇인가? (0) | 2019.10.14 |
---|---|
[소프트웨어 공학] 소프트웨어 공학과 컴퓨터 과학의 차이점은 무엇인가? (0) | 2019.10.14 |
[소프트웨어 공학] '소프트웨어'란 무엇인가? (0) | 2019.10.14 |
[소프트웨어 공학] 애자일 개발의 장점 (0) | 2019.10.02 |
[소프트웨어 공학] 애자일 개발이란? (0) | 2019.10.02 |