새소식

카테고리 없음

[소프트웨어 공학] 지원 프로세스와 방법론

  • -
728x90

 

소프트웨어 공학에 있어서 개발 이외에 다른성격(관리나 지원)의 프로세스가 병렬로 진행되어야 한다. 이런 프로세스를 지원 프로세스 혹은 우산(umbrella) 프로세스라 한다.

 

 

 

1. 관리 프로세스

비용과 품질 목표를 달성하기 위해 프로젝트 관리에 필요한 모든 작업

- 계획 : 비용과 일정 예측, 중간 점검에 대한 결정을 내리는 단계

- 모니터링 및 제어 : 계획 대비 진행상황 점검, 위험 요소 모니터링 및 제어하는 단계(가장 긴 기간이 필요)

- (사후) 분석 : 결과 분석을 통한 배운 점 정리 > 프로세스의 개선으로 이루어 진다.

 

 

2. 품질보증 프로세스

목적 : 프로세스와 프로덕트에 대한 품질을 관리시키고 향상시키는 단계

종류 : 인스펙션 프로세스 , 프로세스 관리 프로세스

인스펙션 프로세스 : 개발 결과에서 결함을 찾아 방지하는 단계 (코드 인스펙션, 설계 인스펙션 등) / 정의된 절차에 따라 동료 그룹이 작업 결과를 서로 크로스 체킹 하는 것

 

단계별 인스펙션 프로세스

작업 결과물 인스펙션 주의점  참여점
요구 명세서 고객의 요구를 만족하는가
요구는 구현 가능한가
요구에 생략된 것이나 통일되지 못한것이 있는가
고객
설계자
테스트 엔지니어
개발자
설계서 구조 설계가 요구를 구현하는가
설계가 구현 가능한가
설계에 생략된 것이나 결함이 없는가
요구 분석가
설계가
개발자
코딩 코드는 설계를 잘 구현하는가
코드는 완벽하고 정확한가
결함은 없는가
설계가
테스트 엔지니어
개발자
시스템 테스트 케이스 테스트 케이스가 요구의 모든 조건을 체크하는가
테스트 케이스가 실행 가능한가
요구분석가
테스트 엔지니어
프로젝트 관리자\
프로젝트 관리계획 계획은 완벽한가
프로젝트 관리 계획은 구현 가능한가
생략되거나 애매모호한 것이 없는가
프로젝트 관리자
SEPG담당자
기타 리더

 

 

 

3. 프로세스 관리 프로세스

 

- 프로세스 관리 : 프로세스 자체를 개선하여 생성된 결과의 품질과 생산성을 향상시킨다.

- 프로세스 개선을 통해, 프로세스 상태가 변화하고, 이를 통해 새로운 능력이 생긴다.

 

 

형상 관리 프로세스

- configuration management

- 개발 작업과 독립작업을 의미한다.

- 개발 중에 발생하는 변경 사항을 체계적으로 제어, 관리하는 프로세스를 뜻한다.

- 개발 과정에서 어떤 자원 하나라도 잃지 않고 문서의 정확한 버젼을 원시적인 코드와 함께 제공하려 하는 프로세스이다.

- 형상관리 메커니즘 : 프로젝트에서 변경이 발생되었을때, 처리하는 시나리오를 다루는 메커니즘을 제공한다.

 

필요 이유 

 

- 프로그램의 최신 버전 유지

- 지정된 버전으로 되돌아 갈 수 있는 기능

- 무허가 변경이나 삭제를 방지(권한/접근 제어)

- 현 시스템에 대한 모든 정보, 문서 등의 정보를 모아 보관한다

ex) git hub, google cloud, MicroSoft Team 등등

 

 

 

 

 

방법론
  • 소프트웨어 프로세스의 각 작업을 어떻게 수행할지 정의
  • 방법론은 프로세스의 구현이라 생각할 수 있으며, 프로세스는 하나 이상의 방법론으로 구현될 수 있음
  • 프로세스는 입력 자료와 산출물은 정하나 어떻게 표현되영 하는지 규정하지 않는 방면, 방법론은 어떻게 표현해야 하는지 정의 내린다.

 

 

방법론의 종류

  1. 구조적 방법론
  2. 객체지향 방법론
  3. 정보공학 방법론
  4. 애자일 방법론

 

구조적 방법론

- 분리와 정복 원리 적용

- 자료 흐름도DFD를 구조도로 변경하는 과정

- 자료 흐름도 : 실질적 문제를 처리하는 관점으로 리모델링한 그래프

 

 

 

 

객제지향 방법론

- 자료와 함수를 가까운 곳에 정의하여 객체로 묶어 두고 객체 사이에 메시지를 호출하여 원하는 기능을 담당하게 하는 것

- 객체지향 패러다임이란

실세계를 객체와 객체간 인터랙션으로 모델링 하는 방법을 뜻한다. 자료와 함수를 가까운 곳에 정의하여 객체로 묶어 객체 사이의 메시지를 호출하여 원하는 기능을 담당하게 하는 방법

 

 

애자일 방법론

- 진화적 모델 / 나선형 모델처럼 점증적인 프로세스를 채택

- 짧은 반복 주기를 반복하며 제품을 점증적으로 자주 출시

- 세가지 애자일 방법론

  • 익스트림 프로그래밍
  • 스크럼
  • 기능 중심

 

익스트림 프로그래밍이란?

- 소규모 개발 조직이 불확실하고 변경이 많은 요구를 접하는경우 시스템을 자주 통합하고 빌드하는것을 뜻한다

XP프로세스의 여섯단계

  1. 탐구
  2. 계획
  3. 반복
  4. 제품화
  5. 유지보수
  6. 종료
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.