본문 바로가기
Study/Software Engineering

[소프트웨어공학] 소프트웨어 프로세스 개요

by dbxxrud 2020. 4. 5.

 

프로세스(process)

프로세스는 간단히 말해서 '일의 과정이나 공정'이다. 하지만 소프트웨어 프로세스는 소프트웨어 시스템을 개발하거나 유지보수의 목적으로 수행되는 활동들의 절차를 의미한다.

 

 

소프트웨어 프로세스의 목적

 

소프트웨어 공학에서 프로젝트를 수행할 때 프로세스의 존재가 왜 필요한지 생각해보자면 생산성 향상과 공통의 개발 문화와 공통의 기술을 제공하기 때문이다. 또한 조직 구성원들 간의 활발한 의사소통은 높은 추적성을 뒷받침해준다.

 

  • 전체 프로세스를 이해하는데 도움을 줌
  • 시스템 개발 진행과정 추적
  • 자원 사용에 대한 사전 계획 가능
  • 구조화된 방법을 개발에 적용
  • 이전에 얻은 노하우를 통한 시행착오 감소
  • 빠른 적응

 

소프트웨어 프로세스 활동

 

섬머 빌(Sommerville)

1. 소프트웨어 명세: 소프트웨어의 기능과 운영상의 제약 조건 설정하기

2. 소프트웨어 개발: 요구사항 명세서를 만족하는 소프트웨어 설계 & 프로그래밍

3. 소프트웨어 검증: 소프트웨어가 고객이 원하는 것을 수행하는지 검증

4. 소프트웨어 진화: 고객과 시장의 요구사항 변화를 수용하여 수정한다

 

위 프로세스 활동 네 가지는 영국의 섬머 빌 교수가 제시한 것으로 모든 소프트웨어 프로세스에 공통적으로 적용된다.

 

 

소프트웨어 프로세스 모델 선택 시 고려사항

 

  • 개발 조직마다 프로세스가 다르다
  • 프로젝트 유형에 따라 다른 프로세를 선택해야 한다
  • 대형 시스템의 경우에는 부분마다 다른 프로세스를 적용한다

 

소프트웨어 공학은 원리, 방법과 기술 및 도구들이 조합된 분야이다. 소프트웨어 프로세스는 이런 것들을 적용하기 위한 절차를 정해주는 것이므로, 공학적 접근 방식으로 소프트웨어를 개발할 때 기본이 되는 과정이다.

 

 

 

학부에서 공부한 내용들을 정리하며 올립니다.

 

 

참고도서: 소프트웨어공학(김희천 저), 쉽게 배우는 소프트웨어 공학(한빛소프트)