초보 개발자
소프트웨어공학이란 무엇인가? 본문
** 본 글은 차성덕 교수님의 소프트웨어공학이야기 책을 정리한 글입니다. **
소프트웨어공학의 정의
- 소프트웨어의 설계, 구현, 테스트 및 문서화에 대한 과학 및 기술 지식, 방법 및 경험의 체계적인 적용
- 소프트웨어의 개발, 운영 및 유지 관리에 대한 체계적이고 규율적이며 정량화 가능한 접근 방식의 적용
- 소프트웨어 생산의 모든 측면과 관련된 엔지니어링 분야
- 안정적이고 효율적으로 작동하는 소프트웨어를 경제적으로 얻기 위한
- Multi-person construction of Multi-version software - David Parnas (information hiding)
Multi-person: 수백명의 개발자들이 협력해야 하는 크고 복잡한 소프트웨어(소프트웨어는 점점 복잡해짐)Multi-version: 지속적으로 유지, 보수, 확장이 필요한 소프트웨어 및 여러 버전으로 출시되는 소프트웨어
소프트웨어공학의 세부분야
- 소프트웨어 프로젝트 관리 기술 - 체계적인 계획 수립 (project management, cost estimation)
- 요구공학 기법 - 요구사항 분석 및 오류 수정: 개발 후반부에 오류가 발견되면 비용 증가
- 테스팅 및 품질보증 기법
- 소프트웨어 개발방법론
모든 domain, 상황에 적합한 전지전능한 소프트웨어공학 기법은 존재하지 않는다.
하지만 다양한 개발환경에서도 공통적으로 적용되는 지식들이 존재하며,
이것이 바로 소프트웨어공학의 핵심 개념이다.
'컴퓨터공학 전공 > 소프트웨어공학' 카테고리의 다른 글
요구사항을 분석할 때 생길 수 있는 어려움들 (0) | 2022.10.13 |
---|---|
요구사항의 분석과 건강한 의심 (0) | 2022.10.13 |
요구사항을 체계적으로 분석하는 방법은? (0) | 2022.10.13 |
소프트웨어의 오류와 심각한 사고 (0) | 2022.10.13 |
왜 소프트웨어공학을 잘 알아야 하는가? (0) | 2022.10.13 |