- 1 - 요구사항 확인
5. 요구사항 분석 기법
1) 요구사항 분석 기법
개발 대상에 대한 사용자의 요구사항 중 명확하지 않거나 모호한 부분을 걸러내기 위한 방법
- 요구사항 분류 + 개념 모델링 + 요구사항 할당 + 요구사항 협상 + 정형 분석
2) 요구사항 분류
요구사항을 보다 쉽게 이해할 수 있도록 현실 세계의 상황을 단순화하여 개념적으로 표현한 것을 모델이라고하며,
이러한 모델을 만드는 과정을 모델링이라 함.
- 개념 모델은 문제의 주체인 개체(Entity)들과 그들 간의 관계 및 종속성을 반영.
- 이해관계자별로 관점이 다르기 때문에 개념 모델도 다양화되어야 함.
- 유스케이스 다이어그램, 데이터 흐름 모델, 상태 모델, 목표기반 모델, 사용자 인터랙션, 객체 모델, 데이터 모델 등.
- 주로 UML을 통해 모델링을 표기.
3) 요구사항 할당
요구사항을 만족시키기 위한 구성요소를 식별
- 분석 과정 중 추가적인 요구사항 발견 될 수 있음.
4) 요구사항 협상
요구사항 협상은 요구사항이 서로 충돌 될 경우 이를 적절히 해결하는 과정임.
* 한 쪽으로 맞추기 보단 적절한 기준점을 찾아 합의!
5) 정형 분석
구문(Syntax)과 의미(Sementics)를 갖는 정형화된 언어를 이용해 요구 사항을 수학적 기호로 표현 한 후 이를 분석하는 과정임.
* 요구사항 분석의 마지막 단계에서 이루어짐.
* 요약 : 요구사항에 대한 모델과 모델 간의 관계를 UML로 그려서 도식화(개념 모델링) 하는 거죠. 요구사항에 대한 구성요소를 식별하고, 협상하며 수학적 기호를 통한 정형분석을 진행합니다!
6. 요구사항 확인 기법
1) 요구사항 확인 기법
요구사항 개발 과정을 거쳐 문서화된 요구사항 관련 내용을 확인하고 검증하는 방법.
- 자원이 배정 되기 전에 문제파악을 위한 검증을 수행.
- 요구사항 검토 + 프로토타이핑 + 모델 검증 + 인수 테스트
2) 요구사항 검토
문서화된 요구사항을 훑어보면서 확인하는 것으로 가장 일반적인 요구사항 검증 방법.
명확하지 않은 내용이 있는지, 가정이 잘못되지는 않았는지, 정해놓은 기준을 벗어나지 않는지 확인.
시스템 정의서, 시스템 사양서, 소프트웨어 요구사항 명세서(SRS) 등을 완성한 시점에 이루어짐.
3) 프로토타이핑
초기 도출된 요구사항을 토대로 프로토타입을 만든 후 대상 시스템의 개발이 진행되는 동안 도출되는 요구사항을 반영하면서 지속적으로 프로토타입을 재작성하는 과정.
프로토타입이 수행 중 새로운 요구사항 도출 될 수 있음
장점 : 빠르게 제작 가능, 추가/변경 요구사항에 대해 피드백이 가능, 사용자와 개발자 사이의 의사소통이 원활해짐.
단점 : 사용자의 관심이 핵심에서 벗어나 프로토타입 개발에만 집중 될 수 있음.
4) 모델 검증
요구사항 분석 단계에서 개발된 모델이 요구사항을 충족시키는지 검증
- 객체 모델인 경우 객체들 사이에 존재하는 의사소통 경로를 검증하기 위해 정적 분석(Static Analysis)을 수행
5) 인수 테스트
사용자가 실제로 사용될 환경에서 요구사항들이 모두 충족되는지 사용자 입장에서 확인하는 과정.
종류 : 사용자 인수 테스트, 운영상의 인수 테스트, 계약 인수 테스트, 규정 인수 테스트, 알파검사, 베타검사.
*요약 : 요구사항 문서를 먼저 확인(검토)하고, 요구사항 문서에 따른 프로토타입을 제작해서 시스템이 개발 되는 동안 어? 요구사항이 추가가 되었네? 라는 상황이 나타나면 프로토타입에 반영(프로토타이핑)합니다. 후에 모델들이 상호작용을 잘 하고 있는지 정적 분석을 통해 검증(모델 검증)합니다. 마지막으로 이러한 요구사항들이 실제 환경에서 적용될 수 있는지 인수 테스트를 진행합니다.
7. UML(Unified Modeling Language)
1) UML
시스템 분석, 설계, 구현 등 시스템 개발 과정에서 시스템 개발자와 고객 또는 개발자 상호간의 의사소통이 이루어지도록한 객체지향적 모델링 언어임.
- 시스템의 구조를 표현하는 6개의 구조 다이어그램
- 시스템의 동작을 표현하는 7개의 행위 다이어그램
- 사물과 사물간의 관계를 표현
UML 구성 요소 : 사물, 관계, 다이어그램
2) 사물
모델을 구성하는 가장 중요한 요소, 다이어그램 안에서 관계가 형성될 수 있는 대상
구조 사물 : 개념적 + 물리적 요소 표현, 클래스, 유스케이스, 컴포넌트, 노드
행동 사물 : 시간과 공간에 따른 요소들의 행위를 표현, 상호작용, 상태머신
그룹 사물 : 요소들을 그룹으로 묶어서 표현, 패키지
주해 사물 : 부가적인 설명이나 제약조건을 표현, 노트
3) 관계
사물과 사물 사이의 연관성을 표현 하는 것, 연관 관계, 집합 관계, 포함 관계, 일반화 관계, 의존 관계, 실체화 관계
4) 다이어그램
사물과 관계를 도형으로 표현한 것
- 정적 모델링에서는 주로 구조적 다이어그램을 사용하고, 동적 모델링에서는 주로 행위 다이어그램을 사용
구조적 다이어그램
- 클래스 : 클래스 사이의 관계
- 객체 : 인스턴스를 특정 시점의 객체와 객체 사이의 관계로 표현
- 컴포넌트 : 컴포넌트 간의 관계와 인터페이스(구현 단계에서 사용)
- 배치 : 물리적 요소. 노드 + 의사소통 경로의 위치 표현(구현 단계에서 사용)
- 복합체 구조 : 복합 구조일 경우 내부 구조로 표현
- 패키지 : 그룹화한 패키지 간의 관계.
행위적 다이어그램
- 유스케이스 : 요구 분석 -> 기능 모델링 작업에 사용, 사용자와 사용자의 사용 사례로 구성
- 시퀀스 : 상호작용하는 시스템과 객체들이 주고받는 메시지
- 커뮤니케이션 : 객체 간의 연관 관계 표현
- 상태 : 상호 작용에 따른 상태변화 표현
- 활동 : 객체의 처리 로직, 조건의 처리 흐름 표현
- 상호작용 개요 : 상호작용 다이어 그램 간의 제어 흐름 표현
- 타이밍 : 객체 상태 변화, 시간 제약 명시적 표현
'2020 정보처리기사 필기 > 1과목 - 소프트웨어 설계' 카테고리의 다른 글
[2020 정보처리기사 필기 요약] 1과목 - 소프트웨어 설계(애플리케이션 설계, 인터페이스 설계) (0) | 2020.05.28 |
---|---|
[2020 정보처리기사 필기 요약] 1과목 - 소프트웨어 설계 요약(애플리케이션 설계) (0) | 2020.05.26 |
[2020 정보처리기사 필기 요약] 1과목 - 소프트웨어 설계 요약(화면설계_2) (0) | 2020.05.26 |
[2020 정보처리기사 필기 요약] 1과목 - 소프트웨어 설계 요약(화면설계) (0) | 2020.05.25 |
[2020 정보처리기사 필기 요약] 1과목 - 소프트웨어 설계 요약(요구사항 확인) (0) | 2020.03.10 |