컴퓨터(Computer Science)/소프트웨어공학(Software engineering)

지원 프로세스 개념과 특징 [소프트웨어공학]

게임이 더 좋아 2020. 4. 15. 16:49
반응형
728x170

앞에서는 개발 프로세스에 관한 글이었다면

이제는 개발을 도와주는 프로세스인 지원 프로세스에 대해 알아보겠다.

 

 


 

지원 프로세스는 개발을 도와주는 프로세스로 

프로젝트 관리 프로세스

형상 관리 프로세스

품질 관리 프로세스

프로세스 관리 프로세스 등이 있다.

(이 외에도 있다)

 

 

 

 

 

이런 작업들은 개발을 하면서 꾸준히 필요한 프로세스다.

 

*지원 프로세스를 우리는 우산(umbrella) 프로세스라고도 부른다.

 

 


 

 

 

관리 프로세스들을 알아보자면

 

 

비용을 낮추고 품질을 높이고 프로젝트를 관리하는 데 필요한 모든 작업

(ex 모니터링, 자원 할당 등)

 

관리 프로세스의 작업은 크게 3가지 단계가 있다.

계획, 모니터링 및 제어, 분석 3가지가 있다.

 

계획 단계에서는 비용, 일정 예측, 중간 점검에 대한 결정을 하고

이 계획을 바탕으로 모니터링 및 제어의 작업 기준을 정한다.

 

 

프로젝트 모니터링과 제어는 개발 프로세스 모든 단계에서 수행됨(가장 긴 기간 수행)

 

 

 


 

 

 

그 다음 품질 보증 프로세스에 대해서 알아보자

프로세스와 프로덕트 자체의 품질을 관리하고 향상시키는 작업이다.

다시 말하면 소프트웨어 개발 과정이 올바로 되어 있는지 확인하고 개선하는 작업을 말한다.

 

** 개발 프로세스 모델을 구축할 때 개발 각 단계마다 관리 프로세스를 위한 정보를 생성하도록 정의해야한다.

*개발 프로세스와 관리 프로세스는 밀접한 관계가 있다.

(그래야 프로세스를 개선할 수 있다) 

(아래 그림에 나와있듯이 ex 요구분석서, 설계서 같은 것들)

 

 

여기에는 인스펙션 프로세스와 프로세스 관리 프로세스가 쓰인다.

 

 

인스펙션 프로세스는

개발 결과에서 결함을 찾거나 결함을 방지하기 위한 작업이고

정의된 프로세스에 따라 작업 결과를 확인하고 검사한다.

(이는 초기에 결함을 찾아야 생산성도 높아지고 비용도 줄어들기 때문이다)

 

 

 

예를 들면 아래의 표를 바탕으로 inspection을 진행한다. 

아래 표에는 참여자가 단계마다 다른데

이는 정확한 inspection을 위한 것이다.

 

 

 

 

 

 

프로세스 관리 프로세스는 그림에서 보다시피 개발 과정 중 프로세스의 효율이 좋지 않으면

교체하거나 다른 방법을 찾아서 프로세스가 개선될 수 있도록 하는 작업

 

역시 비용을 낮추고 품질을 높이는데 목적이 있다.

 

 

 

프로세스 관리 프로세스의 그림

 

 

 


형상 관리 프로세스 (configuration) 

* s/w + version이라고 보면된다.

 

소프트웨어는 지속적인 변경을 요구하기 때문에 이러한 변경, 즉 형상 관리를 개발 중에 체계적으로 컨트롤 하는 작업이다.

 

 

품질 관리 프로세스는 개발 작업과 밀접한 관련이 있었지만

형상 관리 프로세스는 개발 작업과 독립적인 작업이다.

 

형상 관리의 목적은 높은 품질의 소프트웨어 프로덕트 개발이다.

여기서 소프트웨어란 "원시코드" 와 "목적코드"를 포함하는 파일 포함 시스템을 빌드하기 위한 스크립트 및 관련 문서 모두를 의미한다. 

 

즉 프로젝트 진행되는 동안 파일이 변경되어 많은 버전들이 만들어지지만

모든 버전에 대한 원본 파일을 가지고 있다는 것이다.

v1, v2, v3 다 각각 가지고 있다는 것이다. 

 

형상 관리 프로세스의 특징을 보자면

 

 프로그램의 최신 버전 유지 //최신 포함 다가짐
 지정된 버전으로 되돌아 갈 수 있는 기능 // 다 가지고 있으니까
 무허가 변경이나 삭제를 방지 // 형상 관리 기능, 그래야 원본 유지 가능하지
 현 시스템에 대한 모든 정보, 문서 등의 정보를 모아 보관 // 다 가지고 있음

 


형상 관리가 그럼 어떤 방식으로 진행되느냐??

 

밑에 그림을 보면서 이해하자

 

 

3가지 기능정도를 한다

 

형상 관리 대상 파악과 베이스라인 지정

 

/*

 

++ 소프트웨어 형상 아이템은 형상 관리 대상으로 , 기본 단위가 되는 여러문서나 결과물이다.

(그러한 아이템이 형상 관리 대상이 되는 것이다. 문서가 바뀌면 아이템도 변경이 되었다는 것이겠다)

 

++아이템의 올바른 버전을 시스템의 현 상태로 묶어놓는 것, 그것을 베이스라인 이라고 한다

(현 상태를 유지한 상태에서 다음 버전을 짜야지 작업한 것 그대로 놓으면 다른 사람 작업할 때 말썽날 수 있다)

*** git에서 바로 master를 안하고 merge한 후 master에 올리는 것과 비슷하다 ㅎㅎ


*/

*버전 관리 // 개발 중에 있는 모듈이 만족되고 승인 되면 형상 관리로 넘어감 (version)

물론 이전 버전도 자동 보관한다.

 

*접근 제어 // 동시에 작업 시 파일의 손상을 막기 위해 접근을 제어함

승인 대기 중인 작업물을 변경시키면 안되겠지??

반응형
그리드형