X. 소프트웨어 요구관리

핵심 키워드 : 요구사항 관리 프로세스, 요구사항 명세기법, 요구사항 변경 관리

 

01. 프로젝트 성공의 핵심요소, 요구사항 관리

  . 정의

    - 정의된 요구 사항의 반영과 진행을 확인하고, 요구사항의 변경에 대한 지속적인 관리를 수행하는 활동

    * 요구사항 공학(Requirement Engineering) 구성 : 요구사항 개발(목표 설정), 요구사항 관리(목표 관리)

 

 나. 요구사항 관리의 중요성

    - 의사소통 수단 제공, 납기지연 및 예산초과 방지, 사용자 요구 명세 수행 및 관리

 

 다. 요구사항 관리의 목적

    - 고객 요구의 명확한 파악 및 만족, 고품질 소프트웨어 일정내 생산

 

 라. 요구사항 관리 공정  

  - 소프트웨어 개발 생명주기 전체에서 명확한 요구 사항 정의 및 지속적인 관리 활동이 중요함

    

 . 요구사항 공정별 관리활동

공정 관리활동 산출물
요구 추출 - 비즈니스 요구사항 정의
- 참여자 식별, 초기 요구사항 추출
Candidate Requirement
요구 분석 - 후보 요구사항 모델링
- 요구사항 우선순위 산정, 요구사항 협의
Agreed Requirement
요구 명세 작성 - 요구사항 명세 기준 정의 및 작성
- 요구사항 추적성 관련 정보 저장
Formal Requirement
요구 명세 검증 - 명세서 검토, 용어 검증
- Baseline 설정
Baselined Requirement
변경 관리 - 변경제어, 추적성 제어
- 버전제어(이력관리)
Consistent Requirement

        - 실무측면에서는 변경제어, 추적성/버전 제어가 매우 중요하며 철저한 관리 원칙 준수가 필요함

 

  바. 요구사항 관리 원칙

    - 요구 우선순위 부여(고객 가치기반), 이해관계자의 동의

    - 요구 시스템의 목표 식별(기대/범위 관리)

    - CCB운영 통해 변경의 영향 분석 및 Baseline 설정

 

02. 요구사항 명세

  . 요구사항 명세 기법

구분 명세기법 설명
정형 명세 - VDM - Vienna Development Method
- 상태 기반 그래픽 명세 방법
- 수학적 기반 기술 - 명세 개발 및 체계적 시스템 검증 프레임워크 제공
비정형 명세 - FSM - Finite State Machine
- 입력 신호에 의한 상태 전이 표현
- SADT - Structured Analysis and Design Technique
- 그래픽 기반의 구조적 분석모델
- Usecase - 사용자 기반 모델링
- Decision Table - 의사결정을 위한 확률과 사례표기
- ER 모델링 - Entity 관계표현

      - 명세 방식에 따라 정형 명세, 비정형 명세로 구분 가능

 

  나. 명세 원칙

     - 명확성, 검증성, 추적성, 수정성, 일관성, 완전성, 정확성, 이해성, 해석성

 

  다. IEEE 표준 요구사항 명세서 목차

구분 목차 내용
Overview 1. 개요 - 목적, 관련부서/관계자, 개발범위
2. 전체 개관 - 프로젝트 개요, 제품 기능(List), 사용자 특성, 운영환경, 규약과 배포, 가정과 의존성, 데이터 요구사항, 사용 시나리오
상세요구사항 3. 인터페이스 - 사용자 인터페이스, HW 인터페이스, SW 인터페이스
4. 기능 요구사항 - Function Name
5. 비기능 요구사항 - 성능 / 보안 / SW품질 요구사항, 비즈니스 룰

      - 공공 SW 사업의 경우 ‘요구사항 상세화 실무 가이드’ 참조 필요

 

03. 요구사항 변경 및 추적 관리

  . 요구사항 변경 관리 개요

     - 정의 : 요구사항의 Baseline 기준, 모든 변경의 공식적 통제 프로세스

     - 목적 : 변경에 대한 일관성, 무결성 확보

 

  나. 요구사항 변경에 따른 오류 발생 원인

구분 원인 설명
환경 측면 이해, 지식 변화 - 참여자의 새로운 이해, 지식 증가
시스템, 조직 변화 - 운영환경 및 조직의 변화
요구 측면 충돌, 불일치 - 요구사항의 상호 충돌/불일치
에러, 불충분 - 요구사항의 오류 및 상세화 부족
자원 측면 기술, 시간, 비용 문제 - 변경에 따른 필요 자원 변화 및 부족

    - 요구 사항 추적성을 통해 오류 감소 및 예방

 

 다. 요구사항 변경의 추적성 관리

   - 정의 : 요구 사항 문서내의 요구사항 단위별로  추적성을 정의하고 구성하는 프로세스

   - 특징 : 수직적/수평적 추적성, 순방향/역방향 추적성

  라. 추적 관리의 효과

구분 효과 설명
비용 - 재작업 감소 - 요구사항 누락 방지
- 생산성 증대 - 변경의 영향, 범위 검증
품질 - 요구사항 품질 향상 - 요구 사항의 명확성, 추적성, 테스트 가능성 향상
- 제품 품질 증가 - 요구사항과 테스트케이스 커버리지 확보
의사소통 - 일관성 확보 - 산출물 일관성 확보
- 협업 촉진 - 이해관계자간 의사소통 명확

 

[참고]

    * VDM (Vienna Development Method)

      - 시스템의 기능적인 요구사항만 한정하여 요구 명세와 검증 설계에 관한 검증 방법 제공하는 정형 명세 기법

 

   *  수학적 기반 기술

      - 수리, 논리 기반으로 시스템을 명세하는 기법, Z notation, B method, 수학적 기호 사용

 

   * FSM(Finite State Machin, 유한 상태 기계)

      - 여러 제한된 상태가 존재하며, 그 존재들이 특정 조건에 따라 상태 전이하는 개념적 모델

         . 장점 : ① 가질 수 있는 상태가 한정되며 한 번에 한 가지 상태만 보유

                      ② 내부 구조와 구현 용이

                      ③ 오류의 수정 용이, 유연성 보유

          . 단점 : 규모가 커지면 설계가 복잡, 제한된 범위의 문제에만 적용 가능

   * SADT(Structured Analysis and Design Technique, 구조적 분석 및 설계기법)

        -  시스템을 기능의 계층 구조로 설명하기 위한 시스템 엔지니어링 및 소프트웨어 엔지니어링 방법론

           . 장점 : 대규모 복잡한 문제 구조적 접근, 분할/통합 가능, 명료한 표기

 

+ Recent posts