정보처리기사

[정보처리기사]요구사항 확인

아놀드금자 2022. 7. 5. 20:02
728x90

요구사항 유형

기능 요구사항: 시스템이 갖춰야할 필수적인 기능에 대한 요구사항

비기능 요구사항: 필수 기능 외의 품질이나 제약사항에 관한 요구사항

사용자 요구사항: 사용자 관점에서 본 시스템이 제공해야 할 요구사항

시스템 요구사항: 개발자 관점에서 본 시스템 전체가 사용자와 다른 시스템에 제공해야 할 요구사항

 

요구사항 개발 프로세스

요구사항 도출: 시스템, 사용자, 그리고 시스템 개발에 관련된 사람들이 서로 의견을 교환하여 요구사항이 어디에 있는지, 어떻게 수집할 것인지를 식별하고 이해하는 과정(주요기법: 인터뷰, 설문, 브레인스토밍, 워크샵, 프로토타이핑, 유스케이스)

요구사항 분석: 개발 대상에 대한 사용자의 요구사항 중 명확하지 않거나 모호하여 이해되지 않는 부분을 발견하고 이를 걸러내기 위한 과정. 비용과 일정에 대한 제약 설정, 타당성 조사

요구사항 명세: 요구사항을 체계적으로 분석한 후 승인될 수 있도록 문서화하는 것

요구사항 확인: 개발 자원을 요구사항에 할당하기 전에 요구사항 명세서가 정확하고 완전하게 작성되었는지를 검토하는 활동

 

요구사항 분석 기법

요구사항 분류: 요구사항을 명확히 확인할 수 있도록 요구사항을 분류함

개념 모델링: 요구사항을 보다 쉽게 이해할 수 있도록 현실 세계의 상황을 단순화하여 개념적으로 표현한 것을 모델이라고 하며, 이러한 모델을 만드는 과정을 모델링이라고 함(ex. 유스케이스다이어그램, 데이터 흐름모델, 상태모델, 목표기반 모델, 사용자인터액션, 객체모델, 데이터모델 등)

요구사항 할당: 요구사항을 만족시키기 위한 구성 요소를 식별하는 것

요구사항 협상: 요구사항이 서로 충돌될 경우 이를 적절히 해결하는 과정

정형분석: 구문과 의미를 작는 정형화된 언어를 이용해 요구사항을 수학적 기호로 표현한 수 이를 분석하는 과정

 

자료흐름도(DFD)

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

자료흐름도 구성 요소 표기법

프로세스, 자료 흐름, 자료 저장소, 단말

 

요구사항 확인 기법

요구사항 검토: 문서화된 요구사항을 훑어보면서 확인하는 것으로 가장 일반적인 방법

프로토타이핑: 초기 도출된 요구사항을 토대로 프로토타입을 만든 후 대상 시스템의 개발이 진행되는 동안 도출되는 요구사항을 반영하면서 지속적으로 프로토타입을 재작성하는 방법

모델검증: 요구사항 분석 단계에서 개발된 모델이 요구사항을 충족시키는지 검증하는 것

인수 테스트: 사용자가 실제로 사용될 환경에서 요구사항들이 모두 충족되는지 사용자 입장에서 확인하는 과정

 

UML의 구성요소 - 사물

모델의 구성하는 가장 중요한 기본 요소로, 다이어그램 안에서 관계가 형성될 수 있는 대상들이다.

구조 사물: 시스템의 개념적, 물리적 요소를 표현

행동 사물: 시간과 공간에 따른 요소들의 행위를 표현

그룹 사물: 요소들을 그룹으로 묶어서 표현

주해 사물: 부가적인 설명이나 제약조건 등을 표현

 

UML의 구성요소 - 관계

연관 관계: 2개 이상의 사물이 서로 관련되어 있음을 표현

집합 관계: 하나의 사물이 다른 사물에 포함되어 있는 관계를 표현함

포함 관계: 집합 관계의 특수한 형태로, 포함하는 사물의 변화가 포함되는 사물에게 영향을 미치는 관계를 표현함

일반화 관계: 하나의 사물이 다른 사무레 비해 더 일반적인지 구체적인지를 표현함

의존 관계: 연관 관계와 같이 사물 사이에 서로 연관은 있으나 필요에 의해 서로에게 영향을 주는 짧은 시간 동안만 연관을 유지하는 관계를 표현함

실체화 관계: 사물이 할 수 있거나 해야하는 기능(행위, 인터페이스)으로 서로를 그룹화 할 수 있는 관계를 표현함

 

클래스 다이어그램

클래스와 클래스가 가지는 속성, 클래스 사이의 관계를 표현한다.

구성요소: 클래스, 제약조건, 관계

 

시퀀스 다이어그램

시스템이나 객체들이 메시지를 주고받으며 시간의 흐름에 따라 상호 작용하는 과정을 그림으로 표현한 것

구성요소: 액터, 객체, 라이프라인, 활성상자, 메시지, 객체 소멸, 프레임 등

(라이프라인: 객체가 메모리에 존재하는 기간, 객체 아래쪽에 점선을 그어 표현

활성상자: 객체가 메시지를 주고받으며 구동되고 있음을 라이프 라인 상에 겹쳐 직사각형 형태로 표현)

 

커뮤니케이션 다이어그램

시퀀스 다이어그램과 같이 동작에 참여하는 객체들이 주고받는 메시지를 표현하는데, 메시지 뿐만 아니라 객체들 간의 연권까지 표현

구성요소: 액터, 객체, 링크, 메시지 등

 

상태 다이어그램

하나의 객체가 자신이 속한 클래스의 상태변화 혹은 다른 객체와의 상호 작용에 따라 상태가 어떻게 변화하는지를 표현함

구성요소: 상태, 이벤트(조건, 외부신호, 시간의 흐름 등 상태에 변화를 주는 현상), 상태전환 등

 

유스케이스 다이어그램

개발될 시스템과 관련된 외부 요소들, 즉 사용자와 다른 외부 시스템들이 개발될 시스템을 이용해 수행할 수 있는 기능을 사용자의 관점에서 표현한 것

구성요소

시스템범위: 시스템 내부에서 수행되는 기능들을 외부 시스템과 구분하기 위해 시스템 내부의 유스케이스들을 ㅏ각형으로 묶어 시스템의 범위를 표현

액터: 시스템과 상호작용을 하는 모든 외부 요소로, 사람이나 외부 시스템을 의미

유스케이스: 사용자가 보는 관점에서 시스템이 액터에게 제공하는 서비스 또는 기능을 표현한 것

관계

 

활동 다이어그램

자료흐름도와 유사한 것으로, 사용ㅈ의 관점에서 시스템이 수행하는 기능을 처리 흐름에 따라 순서대로 표현한 것

구성요소

액션,액티비티: 더이상 분해할 수 없는 단일작업, 몇 개의 액션으로 분리될 수 있는 작업

노드: 시작노드, 종료 노드, 조건(판단)노드, 병합노드, 포크노드, 조인노드

스윔레인: 액티비티 수행을 담당하는 주체를 구분

 

 

728x90