게임 개발자를 향해

요구사항 분석 본문

정보처리기사/1. 요구사항 확인

요구사항 분석

뿌단이 2022. 8. 23. 22:08

1. 요구사항 분석(Requirement Analysis)

  • 요구사항 분석은 소프트웨어 개발의 실제적인 첫 단계로, 개발 대상에 대한 사용자의 요구사항을 이해하고 문서(명세)화 하는 활동을 의미한다. (????? 분석에 명세과정이 들어가있다. 이건 또 뭔..)
  • 사용자 요구의 타당성을 조사하고 비용과 일정에 대한 제약을 설정한다.

<여기서 Tip!>

"요구사항 분석" 파트 개념은 아래 2개의 개념만 있다. (중요)

 

1. 구조적 분석기법

2. 요구사항 분석용 도구인 CASE, HIPO (다음 챕터임)

 

이 두가지 이외의 외워야할 분석 기법 개념은 없다.

 

2. 구조적 분석 기법

 자료의 흐름과 처리를 중심으로 하는 요구사항 분석 방법이다.

 

  <주요 기법>

  • 자료 흐름도(DFD)
  • 자료 사전(DD)
  • 소단위 명세서(Mini-Spec) ※ 이전 챕터에서 "요구사항 명세"에 사용할 수 있다고 나왔죠? (딱히 중요하진 않을듯)
  • 개체 관계도(ERD)
  • 상태 전이도(STD)
  • 제어 명세서

 

<여기서 Tip!>

요구사항 분석 기법에는 "구조적 분석기법""아닌 기법"으로 구분하는 문제도 나온다. (종류를 외워야 한단 소리)

 

아마 "요구사항 도출"의 기법들과 "분석도구 CASE HIPO"와 같은 것들을 문제로 섞을 것이다.

요구사항 도출의 기법과 요구사항 분석의 기법들을 나눌 수 있을 정도면 된다.

 

그리고 구조적 분석 기법의 설명은 자료흐름도 자료사전만 설명해준다.

다른건 어떤 기법인지 몰라도 되니 구분만 할 줄 알자.

 

 

 

이외에 구조적 분석기법들이 나오면 책탓이다.

 

 

3. 자료 흐름도(DFD; Data Flow Diagram)

  • 요구사항 분석에서 자료의 흐름 및 변환 과정과 기능을 도형 중심으로 기술하는 방법이다.
  • 자료 흐름 그래프, 버블 차트 라고도 한다.
  • 자료 흐름과 처리를 중심으로 하는 구조적 분석 기법에 이용된다.

 

<자료 흐름도 기본 기호>

이미지 출처: https://blog.naver.com/ionebabo/221669939370

 

 

자료 흐름도의 구성요소 4가지는 아래로 정리한다.

  • 프로세스(Process) : 자료를 변환시키는 처리중 하나버블이라 부르며 원이나 둥근 사각형으로 표시하고 프로세스 이름 기입
  • 자료흐름(Data Flow): 자료의 이동을 나타내며 화살표 위에 자료의 이름을 기입한다.
  • 자료저장소(Data Store): 시스템에서 자료 저장소를 나타내며 도형 안에 자료저장소 이름을 기입한다.
  • 단말(Rerminator): 시스템과 교신하는 외부 개체로 도형안에 이름을 기입한다.

 

<여기서 Tip!>

은근 문제출제로 많이 나온 듯한 기분이 든다. 해당 요소들의 모양과 영어도 함께 외우도록 하자.

 

필자 생각회로)  이런 다이어그램은 DB에서 사용하는 "ER 다이어그램"과 비슷하게 생겨서 외우기 쉽다.

 

 

4. 자료 사전(DD; Data Dictionary)

  • 자료사전은  자료 흐름도에 있는 자료를  더 자세히 정의하고 기록한 것이다.
  • 데이터를 설명하는 데이터로 메타 데이터(Meta Data) 라고도 한다,

 

<자료 사전 표기 기호>

이미지 출처: https://blog.naver.com/ionebabo/221669939370

 

 

:  자료의 정의

:  자료의 연결

()  :  자료의 생략

[|]  :  자료의 선택(or)

{}  :  자료의 반복

* * :  자료의 설명(주석)

 

 

<여기서 Tip!>

실기에 나올지는 모르겠지만 필기에서 자주 나온다. 외우도록 하자. 

코딩과 빗대어서 생각하면 쉽다.

 

= : 변수 값 정의

+ : str + str 문자열 연결

() : 흠.. 

[|] : ||  ← OR 로 쓰인다.

{} : 음..

* * :  /* */ 주석으로 쓰인다.

 

괄호들은 "생략()" 과 "반복{}" 으로 따로 외워주자.