품질과 생산성, 비용이라는 목표를 달성하기 위해
소프트웨어 공학은 크게 세 가지 작업으로 나눈다.
1) 단계적 프로세스 (생산성 달성)
2) 품질 보증 (품질 달성)
3) 프로젝트 관리 (비용과 시간 달성)
[단계적 프로세스]
소프트웨어 개발을 코딩에 치중하지 않고
요구 분석, 설계, 코딩, 테스팅 등
정해진 절차를 따라 작업하는 것.
이를 통해 개발하는 동안 정해진 시점에
품질과 생산성을 효율적으로 점검할 수 있다.
*소프트웨어 개발주기
1) 계획
2) 분석
3) 설계
4) 구현
5) 테스팅 및 통합
6) 유지보수
[품질 보증]
소프트웨어 제작은 대부분 사람의 지적 활동이다.
따라서 개발 작업과는 별도로 품질 수준을 높이려는 노력이
필요한데, 이를 위해 검토하고 확인, 테스팅하는 작업이다.
- 검토
- 확인
- 테스팅
- 유지보수성
- 신뢰성
- 효율성
- 유용성
[프로젝트 관리]
소프트웨어의 특수성으로 인하여 개발 사업에
위험을 초래하므로 프로젝트를 효율적으로
관리하는 것은 필수적이다.
이를 위해 프로젝트의 세 가지 제약 조건을 적절한 수준에서
관리하여 프로젝트 결과에 영향을 미치지 않아야 한다.
*프로젝트 관리 삼각형
- 프로젝트의 범위
- 프로젝트의 시간
- 프로젝트의 비용
위 세 가지는 조건은 서로 영향을 줄 수 있다.
만약 범위를 변경할 수 없다면 비용이나 일정을 변경하여
적절한 수준을 맞추어야 좋은 소프트웨어 개발이 가능하다.
[소프트웨어 공학 지식 체계]
소프트웨어 개발 분야의 엔지니어가 알아야 할 지식 체계를
공공성 있는 기관에서 누구나 동의할 만큼 잘 정의한 것.
Software Engineering Body of Knowledge, 줄여서 SWEBOK
▼ SWEBOK
S/W 엔지니어링 측면
- 요구사항
- 설계
- 개발
- 테스트
- 유지보수
S/W관리 측면
- 형상 관리
- 관리
- 프로세스
- 툴, 방법론
- 품질
'개주 훈련일지 > 📚 코살대 교본 학습' 카테고리의 다른 글
| 소프트웨어 공학의 발전 (0) | 2025.11.05 |
|---|---|
| 클래스(class) (0) | 2025.11.04 |
| 배열(array) (0) | 2025.11.03 |
| SQL) 속성 (0) | 2025.11.02 |
| 제어문2 - 반복문 (0) | 2025.11.02 |