프로세스(process)
프로세스는 간단히 말해서 '일의 과정이나 공정'이다. 하지만 소프트웨어 프로세스는 소프트웨어 시스템을 개발하거나 유지보수의 목적으로 수행되는 활동들의 절차를 의미한다.
소프트웨어 프로세스의 목적
소프트웨어 공학에서 프로젝트를 수행할 때 프로세스의 존재가 왜 필요한지 생각해보자면 생산성 향상과 공통의 개발 문화와 공통의 기술을 제공하기 때문이다. 또한 조직 구성원들 간의 활발한 의사소통은 높은 추적성을 뒷받침해준다.
- 전체 프로세스를 이해하는데 도움을 줌
- 시스템 개발 진행과정 추적
- 자원 사용에 대한 사전 계획 가능
- 구조화된 방법을 개발에 적용
- 이전에 얻은 노하우를 통한 시행착오 감소
- 빠른 적응
소프트웨어 프로세스 활동
섬머 빌(Sommerville)
1. 소프트웨어 명세: 소프트웨어의 기능과 운영상의 제약 조건 설정하기
2. 소프트웨어 개발: 요구사항 명세서를 만족하는 소프트웨어 설계 & 프로그래밍
3. 소프트웨어 검증: 소프트웨어가 고객이 원하는 것을 수행하는지 검증
4. 소프트웨어 진화: 고객과 시장의 요구사항 변화를 수용하여 수정한다
위 프로세스 활동 네 가지는 영국의 섬머 빌 교수가 제시한 것으로 모든 소프트웨어 프로세스에 공통적으로 적용된다.
소프트웨어 프로세스 모델 선택 시 고려사항
- 개발 조직마다 프로세스가 다르다
- 프로젝트 유형에 따라 다른 프로세를 선택해야 한다
- 대형 시스템의 경우에는 부분마다 다른 프로세스를 적용한다
소프트웨어 공학은 원리, 방법과 기술 및 도구들이 조합된 분야이다. 소프트웨어 프로세스는 이런 것들을 적용하기 위한 절차를 정해주는 것이므로, 공학적 접근 방식으로 소프트웨어를 개발할 때 기본이 되는 과정이다.
학부에서 공부한 내용들을 정리하며 올립니다.
참고도서: 소프트웨어공학(김희천 저), 쉽게 배우는 소프트웨어 공학(한빛소프트)
'Study > Software Engineering' 카테고리의 다른 글
[소프트웨어공학] 폭포수 모델(waterfall model) (3) | 2020.04.07 |
---|---|
[소프트웨어공학] 소프트웨어 공학의 정의 (2) | 2020.04.04 |
[소프트웨어공학] 소프트웨어(Software) (3) | 2020.04.03 |