IT/CS

[소프트웨어공학] 요구사항 분석

Terriermon 2021. 8. 8. 02:26

요구사항 분석은 책이 없이 인터넷으로만 공부하기엔 어려운 것 같다..

요구사항 분석

- 시스템의 목표를 확립하는 과정

- 시스템이 만족시켜야 할 요구사항의 발견, 정제, 모델링, 명세화하는 과정

- 새롭게 만들고자하는 시스템의 명세를 만들어내는 과정 ▶ 시스템이 만족시켜야 할 기능, 성능, 다른 시스템과 인터페이스 규명

- 요구사항 분석의 최종 산출물: 요구사항 명세서 = 기능 명세서 = 목표 문서

 

특징

- "How" 대신 "What"에 초점이 맞춰져 있음

- 고객들과 협상하여 공동의 목표를 끌어내야 함

- 실패나 실수를 방지하고 프로젝트 초기 단계의 중대한 실수를 최소화

 

요구사항 종류

- 고객 요구사항: 개발의 이유, 목적, 제한조건, 환경, 변경의 유효성, 적합성 관점에서 기대사항을 정의, 사실 및 가정을 이야기

- 기능 요구사항: 필수적인 동작 정의

- 비기능 요구사항: 품질, 편의성 등 눈에 보이지 않는 것

- 성능 요구사항: 어떤 기능이 동작해야하는 한계를 정의

 

시스템 분석가의 자질과 임무

- 비즈니스나 응용분야에 대한 지식이 필수적

- 하드웨어, 소프트웨어를 포함한 컴퓨터에 대한 기술 이해

- 의사소통 능력

- 사용자들로부터 모순되는 요구사항 해결

- 시스템을 만들어야하므로 상대의 관점에서 문제를 바라봐야 함

- 쉬운 용어로 설명

- 주도적으로 일을 처리(시스템 개발의 최전방)

- 사용자의 요구사항과 전문지식을 뽑아내야 함

 

요구사항 명세서

요구사항 분석의 최종 목표, 초기에 완벽한 요구사항 명세서를 만드는 것이 필수적

▶ 요구사항이 잘못 분석되었을 때, 시간과 노력을 들여도 원하는 결과가 나오지 않을 수 있음

요구사항 명세서의 만족 조건

1. 고객과 개발자 모두 쉽게 이해할 수 있어야 함

2. 명시되어있는 조건들은 고객과 개발자가 동의한 것

3. 제안된 시스템이 수행할 모든 기능을 명확하게 기술 ▶ 요구사항 명세서의 핵심

4. 제안된 시스템에 영향을 미치는 모든 제약조건을 요구사항 명세서에 명시

5. 시스템을 사용하기 위해 필요한 조항을 검증할 수 있도록 명세서에 검증 기준 제시

6. 원하는 시스템의 품질, 상대적인 중요선, 품질의 측정 및 검증 방법 등을 명시

7. 시스템의 포용성과 오류 조건의 명시

 

분석의 문제점

- 의사소통 문제

- 요구사항의 계속적인 변화

- 분석 도구 미비

- 문서화 어려움

- 정치적 문제

- 일 할당 문제

📌 해결책: 구조적 분석 기법, 상태변화도, ER 모델 등 ▶ 시스템이 클수록 분할정복하여 분석의 복잡도 해결

 

요구사항 분석 단계에서의 주요 활동

1. 사용자 인터뷰 정리

- 사용자, 요구자와의 인터뷰 ▶ 구현될 소프트웨어나 시스템에 반영될 기능/비기능적 요구사항을 회의록, 인터뷰 내용에 기입

- 해당 관련자의 확인 및 요건 정의 확정(변경 최소화)이 필수적으로 이루어져야 함

2. 요구사항 정의

- 사용자, 요구자의 요구사항을 정리하여 순서대로 ID를 부여하여 리스트 작성

3. 요구사항 추적 관리

- 각 항목의 반영여부 추적할 수 있도록 요구사항 정의서에 반영된 항목 ID, 구현 소스명, 테스트 결과서 항목 ID등 기술

4. 기존 업무 분석

- 현재 구현할 소프트웨어와 관련된 업무 분석, 정의

- 업무 메뉴얼 참고, 해당 업무에 대한 프로세스, 동선 분석 작업 수행 결과 작성

5. 기본 정보 시스템 분석

- 현재 갖춰진 시스템 환경, 소프트웨어, 네트워크 구성도, 데이터베이스 분석 등 작성

- 새로운 소프트웨어나 시스템의 구축 및 운영 시 영향도를 평가하고 예측

 

 

'IT > CS' 카테고리의 다른 글

[DB] SQL 정리  (0) 2021.08.12
[소프트웨어공학] 소프트웨어 아키텍처 설계  (0) 2021.08.08
[DB] 엔터티, 속성, 관계  (0) 2021.08.03
[DB] 데이터 모델링2 - 데이터 독립성  (0) 2021.08.02
[DB] 데이터 모델링1  (0) 2021.07.24