728x90
[1] 요구분석 기법
1. 요구분석의 개념
- 요구분석은 도출된 요구사항 간 상충을 해결하고 소프트웨어의 범위를 파악하여 외부환경과의 상호작용을 분석하는 과정
- 요구분석은 개발 대상에 대한 사용자의 요구사항 중 명확하지 않거나 모호하여 이해되지 않는 부분을 발견하고 이를 걸러내기 위한 과정
*외부환경이란?
- 광의적인 측면에서 하드웨어, 소프트웨어, 네트워크 등의 환경
2. 요구분석의 특징
- 분석 결과의 문서화를 통해 향후 유지보수에 유용하게 활용할 수 있다.
- 보다 구체적인 명세를 위해 소단위 명세서가 활용될 수 있다.
- 개발 비용이 가장 많이 소요되는 단계는 아니다.
*소단위 명세서란?
- 데이터 흐름도에 나타나있는 처리 항목을 1~2 페이지 정도의 소규모 분량으로 요약하여 작성하는 논리적 명세서
3. 요구분석 기법
요구사항 분석을 통해서 요구사항을 기술할 때에는 요구사항의 확인(Validation), 요구사항 구현의 검증 (Verification), 비용 추정이 가능하도록 충분하고 정확하게 기술해야한다.
순서 | 절자 | 설명 |
1 | 요구사항 분류 | - 요구사항이 기능인지 비 기능인지 확인 - 요구사항이 소프트웨어에 미치는 영향의 범위를 파악 - 요구사항이 소프트웨어 생명주기 동안 변경이 발생하는지를 확인 - 하나 이상의 상위 요구사항에서 유도된 것인지 또는 이해관계자나 다른 원천으로부터 직접 발생한 것인지 분류 |
2 | 개념 모델링 생성 및 분석 | - 요구사항을 더 쉽게 이해할 수 있도록 현실 세계의 상황을 단순화, 개념적으로 표현한 것을 모델이라고 하며, 모델링은 이러한 모델을 만드는 과정 - 객체 모델 (Object Model) - 데이터 모델 (Data Model) - 유스케이스 다이어그램 (Use Case Diagram) - 데이터 흐름 모델 (Data Flow Model) - 상태 모델 (State Model) - 목표기반 모델 (Goal-Based Model) - 사용자 인터랙션 (User Interactions) 등 다양한 개념 모델 작성 가능 - 모델링 표기는 주로 UML을 사용 |
3 | 요구사항 할당 | - 요구사항을 만족시키기 위한 아키텍처 구성요소를 식별하는 활동 - 다른 구성요소와 어떻게 상호작용하는지 분석을 통해 추가적인 요구사항을 발견 |
4 | 요구사항 협상 | - 두명의 이해관계자가 서로 상충되는 내용을 요구하는 경우, 어느 한 쪽을 지지하기보다는 적절한 지점에서 합의하기 위한 기법 - 요구사항이 서로 충돌되는 경우 각각 우선순위를 부여하면 무엇이 더 중요한지를 인식할 수 있으므로 문제 해결에 도움이 됨 |
5 | 정형 분석 | - 형식적으로 정의된 의미를 지닌 언어로 요구사항을 표현 - 구문(Syntax)과 의미(Semantics)를 갖는 정형화된 언어를 사용하여 수학적 기호로 표현 - 요구사항 분석의 마지막 단계에서 이루어짐 |
4. 요구사항 분석 기술
분석 기술 | 설명 |
청취 기술 | 이해관계자로부터 의견을 듣는 기술 |
인터뷰와 질문 기술 | 이해관계자를 만나 정보를 수집하고 이야기를 나누는 기숳 |
분석 기술 | 추출된 요구사항에 대해 충돌, 중복, 누락 등의 분석을 통해 완전성과 일관성을 확보하는 기술 |
중재 기술 | 이해관계자들의 상반된 요구에 대한 중재기술 |
관찰 기술 | 사용자가 작업하는 것을 관찰하면서 사용자가 언급하지 않은 미묘한 의미를 탐지할 수 있는 기술 |
작성 기술 | 문서 작성기술 |
조직 기술 | 수집된 방대한 정보를 일관성 있는 정보로 구조화하는 능력 |
모델 작성 기술 | 수집한 자료를 바탕으로 제어의 흐름, 기능 처리, 동작 행위, 정보 내용 등을 이해하기 쉽도록 모델로 작성하는 기술 |
5. 요구사항 분석에 사용하는 기능 모델링 기법
1. 데이터 흐름도 (Data FLow DiagramL DFD)
1) 데이터 흐름도 개념
- 데이터 흐름도는 데이터가 각 프로세스를 따라 흐르면서 변환되는 모습을 나타낸 그림이다.
- 시스템 분석과 설계에서 매우 유용하게 사용되는 다이어그램.
- 데이터 흐름도는 시스템의 모델링 도구로서 가장 보편적으로 사용되는 것 중 하나
- 자료 흐름 그래프 또는 버블 (Bubble) 차트라고 한다.
2) 데이터 흐름도 특징
- 구조적 분석 기법에 이용
- 데이터의 흐름에 중심을 두는 분석용 도구
- 제어의 흐름은 중요하지 않다
- 시간 흐름을 명확하게 표현할 수 없다.
3) 데이터 흐름도 구성요소
구성요소 | 설명 |
처리기 (Process) | 입력된 데이터를 원하는 형태로 변환하여 출력하기 위한 과정으로, DFD에서는 원으로 표시 |
데이터 흐름 (Data Flow) | DFD의 구성요소(프로세스, 데이터 저장소, 외부 엔티티)들 간의 주고받는 데이터 흐름을 나타내며, DFD에서는 화살표로 표시 |
데이터 저장소 (Data Store) | 데이터가 저장된 장소이고, 평행선으로 표시하며, 평행선 안에는 데이터 저장소의 이름을 넣음 |
단말 (Terminator) | 프로세스 처리 과정에서 데이터가 발행하는 시작과 종료를 나타내고, 사각형으로 표시하며 사각형 안에는 외부 엔티티의 이름을 넣음 |
2. 자료사전
1) 자료 사전(Data Dictionary: DD) 개념
- 자료 사전은 자료 요소, 자료 요소들의 집합, 자료의 흐름, 자료 저장소의 의미와 그들 간의 관계, 관계 값, 범위, 단위들을 구체적으로 명시하는 사전
- 자료 사전은 파일 혹은 데이터베이스에 있는 자료에 대한 자료 또는 각 자료 항목에 주어진 이름과 길이 그리고 서술과 같은 데이터를 포함하는 참조를 위한 작업
2) 자료 사전의 작성 목적
- 자료 사전은 조직에 속해 있는 다른 사람들에게 특정한 자료 용어가 무엇을 의미하는지를 알려주기 위하여, 용어의 정의를 조정하고 취합하고 문서로 명확히 하는 목적이 있다.
- 자료 흐름도에 나타나는 어떤 자료의 흐름도 자료 사전에 정의되어 있어야 한다.
3) 자료 사전 기호
기호 | 의미 |
= | - 자료의 정의로서 '~으로 구성되어(is Composed of)있다'는 것을 나타냄 - 정의는 주석을 사용하여 의미를 기술하며, 자료 흐름과 자료저장소에 대한 구성 내역을 설명하고, 자료 원소에 대하여 값이나 단위를 나타냄 |
+ | - 자료의 연결(and, along with)을 나타냄 |
( ) | - 자료 생략 가능함을 나타냄 |
{ } | - 자료의 반복을 나타냄 - 반복 횟수를 기록하는데 { }에서 좌측에는 최소 반복 횟수를 기록하고, 우측에는 최대 반복 횟수를 기록 - 반복 횟수를 기록하지 않을 때는 디폴트로 최소는 0, 최대는 무한대 |
[ ] | - 자료의 선택을 나타냄 - 택일 기호 [ | ] 는 |로 분리된 항목 중 하나가 선택된다는 것을 표시 |
** | - 자료의 설명을 나타냄 - 주석 |
ex) 지불방법 = [현금|가계수표|신용카드]
학번 = *학생의 고유 번호*
이수과목 = (과목번호) +과목명 +이수구분 +성격
검사철 = {환자번호 +1{검사 +검사일}3}
4) 자료 사전의 작성 원칙
작성 원칙 | 설명 |
자료의 의미 기술 | - 자료의 의미는 주석을 통해서 기술 - 자료의 의미를 기술할 때는 그 자료가 대상 시스템에서 사용되는 적합한 뜻을 표현해야 함 - 중복되는 기술을 회피하는 것은 간결하고 이해하기 쉬운 자료 사전을 작성하는 데 중요 |
자료 구성항목의 기술 | - 구성항목들을 그룹으로 묶음 - 각 그룹에 대하여 의미 있는 이름을 부여 - 이름이 붙여진 각 그룹을 다시 정의 |
동의어 규정 준수 | - 사용자마다 동일한 문서나 자료에 대해 서로 다른 이름들을 갖고 있을 수 있으며, 사용자들의 용어를 통일시키는 것보다는 사용하는 용어를 이용하여 자료를 정의하는 것이 간단함 - 분석가가 자료를 하향식으로 분할하는 과정에서 부주의하게 동의어를 사용할 수 있음 |
자료 정의의 중복 제거 | - 동일한 자료에 대해 여러 명의 분석가가 독립적으로 분석을 시행한다면, 사로 다른 이름을 사용할 수 있기 때문에 자료 정의의 중복 제거 필요 |
728x90
'정보처리기사' 카테고리의 다른 글
[정보처리기사] UI 요구사항 확인 (2) (0) | 2021.01.24 |
---|---|
[정보처리기사] UI 요구사항 확인 (1) (0) | 2021.01.13 |
[정보처리기사] 분석 모델 확인 (0) | 2021.01.13 |
[정보처리기사] 요구사항 확인 (2) (0) | 2021.01.13 |
[정보처리기사] 현행 시스템 분석 (0) | 2021.01.10 |
댓글