옐그's 코딩라이프

[TOPCIT][01] X. 소프트웨어 요구관리 (에센스 정리 요약) 본문

TOPCIT

[TOPCIT][01] X. 소프트웨어 요구관리 (에센스 정리 요약)

옐그멍이 2023. 2. 24. 12:29

학습 목표

1. 소프트웨어 요구관리 개념과 프로세스에 대하여 설명할 수 있다.

2. 요구사항 추적관리와 변경관리 활용을 위한 프로세스를 설명할 수 있다.

 

핵심 키워드

- 요구사항 관리 프로세스

- 요구사항 명세 기법

- 요구사항 변경 관리

 

01 요구사항 관리

요구사항 관리의 정의

- 요구사항 공학은 크게 요구사항 개발과 요구사항 관리로 나눌 수 있음

- 요구사항 개발이란? 무엇을 할 것인가를 정의하는 것

- 요구사항 관리란? 하기로 정의된 요구사항이 제대로 반영되어 진행되는지를 확인하며, 최초 요구사항 변경에 대한 지속적인 관리를 수행하는 것

 

요구사항 관리의 중요성

- 다양한 이해 관계자 간에 효과적인 의사소통의 수단 제공

- 프로젝트 초반부터 체계적인 요구관리로 납기지연 및 예산초과를 방지

- 사용자 요구 명세 수행 및 관리를 가능하게 함

 

요구사항 관리의 목적

- 고객의 관점에서 고객의 요구를 정확히 파악하여 만족시키기

- 제한된 일정과 기간 내에 품질 높은 소프트웨어를 생산하는 것

 

요구사항 관리 공정

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

 

요구사항 관리 원칙

- 고객가치기반의 요구 우선 순위 부여, 이해관계자의 요구사항에 대한 동의 획득

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

- 요구사항 변경관리 위원회(CCB, Change Control Board) 운영을 통한 요구 변경의 영향 분석 및 변경 단계별 베이스라인(Baseline) 설정

 

02 요구사항 명세

요구사항 명세 기법

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

 

요구사항 명세 원칙 및 주요 내용

원칙 설명
검증성 요구 명세는 증명 가능
수정성  요구사항은 수정 가능
명확성 요구 명세는 이해당사자별 명확히 제시
정확성 요구 명세는 정확히 기술
추적성 요구사항은 근원, 원리가 추정 가능
일관성 요구 명세는 요구사항 간에 충돌이 없어야 함
완전성 기능성, 성능 및 제약사항 등 모든 중요한 내용이 문서화
해석성 해석의 일관성 제공
이해성 이해 당사자 간에 이해가 용이 해야 함

 

요구사항 명세서

목차 설명
1. 개요 - 소프트웨어의 일반적인 소개
- SW요구 명세 목적 기술
- SW요구 명세를 읽는 관계자
- SW 목적, 제한사항, 특징, 이익, 사업전략, 공동목표와의 관계 (SW 대략적 설명)
    1.1 목적
    1.2 관련부서  / 관계자
    1.3 개발 범위
2. 전체 개관  
    2.1 프로젝트 개요 SW의 지원, 기존 시스템 대체, 독립적 제품 여부 등을 기술
    2.2 Product Function  Function List만 기술하고 4장에서 상세 기술
    2.3 사용자 특성 - 사용자 특징 기술(경험, 교육 정도, 성향 등)
- 사용자별 사용 빈도 기술
    2.4 소프트웨어 운영 환경 SW 동작할 HW 환경, OS, SW 환경 등을 기술
    2.5 Decision과 배포 - HW 제약사항, 메모리 제약사항, 특정기술사용, 다국어 지원, 보안
- 디자인 규약, 프로그래밍 규약
    2.6 가정과 의존성 이 소프트웨어에 영향을 주는 가정
(외주 컴포넌트에 대한 의존성, 다른 프로젝트 컴포넌트의 의존성 기술)
    2.7 데이터 요구사항 사용자 관점에서의 기능별 Input/Output 데이터
    2.8 사용 시나리오 이 시스템을 설명할 수 있는 사용자 관점의 시나리오
3. 인터페이스  
    3.1 사용자 인터페이스 Sample Screen Image, 표준 버튼, 표준 에러 메시지, Keyboard Short-cut 등
    3.2 하드웨어 인터페이스 프로토콜 교류, 시스템의 HW 컴포넌트와 SW제품의 상호작용
    3.3 소프트웨어 I/F 다른 SW컴포넌트에서 이 SW로 출입하는 데이터나 메시지 정의
4. 기능 요구사항 - 목차 2에서 나열한 Function에 대해 상세요구사항 기술
- Purpose: Function의 목적/이유
- Inputs: Function으로 들어오는 데이터
  (Validation Check, 오류조치사항)
- Outputs: Function에서 나오는 데이터
  (프로세스 에러 메시지, 파라미터 범위, Form, Shape, 거리, 볼륨 출력)
    4.1 <Function Name>
5. 비기능 요구사항  
    5.1 성능 요구사항 접속 유저수, 반응시간, 파일/테이블 사이즈, 단위시간당 발생 트랜잭션수
    5.2 보안 요구사항 데이터 및 통신 암호화, 접근제어, 권한관리 등
    5.3 SW품질 요구사항 가용성, 유연성, 상호호환성, 유지보수성, 이식성, 신뢰성, 사용성 등
SW 품질 요구사항 기술
    5.4 비즈니스룰 운영 룰, 개인/조직이 SW로 업무를 진행할 때 규격들
CBP(Current Biz Process)와 FPM(Future Process Model)

 

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

요구사항 추적성 개요

- 프로젝트 진행 과정에서 발생하는 요구사항 변경에 대해 공식적인 변경 통제와 추적 등의 활동으로 변경에 대한 일관성과 무결성 제공

 

요구사항의 변경 오류 원인

- 요구사항의 에러, 충돌, 불일치

- 참여자의 시스템에 대한 새로운 이해 및 지식 증가

- 시스템 환경 및 조직의 변화

- 기술적, 시간적, 비용적 문제 발생

728x90