프로세스는 소프트웨어 시스템을 구축하기 위해
수행되는 작업의 집합을 의미한다.
여러 작업에 집합이므로
프로세스는 여러 컴포넌트 프로세스,
즉 부프로세스로 구성될 수 있다.
각 컴포넌트 프로세스는 서로 다른 목적을 가지나
서로 협력하여 전체 소프트웨어 공학의 목적을 만족한다.
[프로세스와 프로세스 모델]
1) 프로세스
실제 프로젝트에서 수행해야 하는 작업과
수행 순서를 정의한 명세를 의미한다.
> 구체적인 작업 흐름을 나타낸 것
2) 프로세스 모델
일반적인 프로세스를 추상적으로 기술한 것으로
프로젝트를 위한 작업의 단계와 순서, 각 단계 작업 수행의
제약사항이나 조건 등을 모아 놓은 것이다.
> 알맞은 프로세스를 개발하기 위한 일반적인 가이드라인
- 프로세스
소프트웨어를 개발하는 조직 내의 관점에서 보면
소프트웨어 제품 자체를 구축하기 위한 기술 작업과
그 작업 과정을 지원하고 관리하기 위한 프로세스가 있다.
- 프로세스 정의
높은 품질의 소프트웨어를 만들기 위해서는
반드시 프로세스를 정의해야 한다.
장기적인 사고와 전략을 수립하기 위해
최소한 다음과 같은 세 가지 사항을 정의해야 한다.
[목적]
프로세스를 수행하기 위한 목적이 무엇인지,
프로세스를 효과적으로 구현하였을 때
기대되는 성과는 무엇인지 기술
▼
[작업방법]
프로세스에서 해야 할 작업이 무엇인지 명시
▼
[성과]
프로세스 작업의 결과물로 문서의 내용이나 코드,
프로토타입 등 구체적인 작업 결과를 기술
이와 같이 각 단계의 결과를 명확히 정의하고 작업하면
결과물에 유입된 결함을 찾아내는데 효과적이다.
[프로세스와 품질]
소프트웨어 분야에서는 제품의 품질을
프로세스의 능력과 관련하여 정의하고
평가하는 경우가 많다.
CMMI나 SPICE 같은 프로세스의 품질을 평가하는
모델이 제안된 이유는 프로세스가 개발된 소프트웨어
제품의 품질에 큰 영향을 미치기 때문이다.
소프트웨어 개발 작업은 실수를 제거하는 것보다
방지하는 것이 더 저렴하다는 인식 때문에
공정을 상세히 정의하고 엄격하게 지키고 확인한다.
-관리 프로세스
이와 같은 이유로 소프트웨어 개발에는
관리 프로세스가 필요하다.
대규모 소프트웨어 개발 프로젝트는
오랜 기간 동안 많은 사람이 참여하고
여러 단계로 나누어 작업한다.
비용, 품질, 일정 목표를 맞추기 위하여
각 단계의 작업에 자원을 할당하고
진척 상황을 모니터링하여 필요하면
적절한 조치를 취하는 것이 관리 프로세스이다.
다음과 같이 세 가지로 크게 분류한다.
[계획]
가장 어려운 작업으로 프로젝트 목적에 맞는 소프트웨어 개발 계획을 새우는 것
개발 작업이 시작되기 전에 작성하고 개발하면서 변경된다.
주된 작업은 비용과 일정 예측, 중간 점검에 대한 결정으로
관리 작업 중 가장 중요하며 모니터링과 제어 작업을 위한 기준이 된다.
▼
[모니터링]
개발하는 동안 수행하는 모든 작업이 프로젝트 목적에 부합되며
개발이 계획대로 진척되는지 확인하기 위하여 데이터를 수집한다.
비용, 일정, 품질에 영향을 주는 요인들을 모니터링한다.
▼
[분석과 조절]
모니터링에 의하여 확인된 사실을 분석하고,
계획과 차이나는 부분에 대하여 조정하고 조치한다.
프로젝트 모니터링과 제어는 개발 프로세스의
모든 단계를 포함하므로 가장 긴 기간동안 이루어진다.
'개주 훈련일지 > 📚 코살대 교본 학습' 카테고리의 다른 글
| 소프트웨어 개발 애자일 모델 (0) | 2025.11.30 |
|---|---|
| 소프트웨어 개발 프로세스의 전통적인 모델 (0) | 2025.11.15 |
| 다형성 / instanceof / 오버로딩과 오버라이딩 (0) | 2025.11.10 |
| 클래스 타입 변환 (0) | 2025.11.10 |
| 소프트웨어 생명주기 (0) | 2025.11.10 |