본문 바로가기
자격증/정보처리기사

요구사항 정의

by 두두리안 2022. 6. 21.
728x90

목차

  • 1.요구사항의 개념
  • 2.요구사항 도출
  • 3.유스케이스 다이어그램
  • 4.요구사항 분석
  • 5.요구사항 명세
  • 6.요구사항 검증
  • 7.요구사항 검증 방법

1.요구사항의 개념

1-1. 개념

* 소프트웨어에서 제공하는 기능에 대한 설명과 운영에 필요한 제약조건
* 요구사항 도출, 분석, 명세, 확인의 프로세스를 가진다

1-2. 요구사항의 유형

1. 기능 요구사항
    * 시스템 기능 과 입출력 및 연산에 요구사항
2. 비기능 요구사항
    * 장비, 성능, 품질 대한 요구사항
3. 사용자 요구사항
    * 사용자에게 친숙한 표현으로 이해하기 쉽게 작성
4. 시스템 요구사항
    * 개발자 관점으로 작성되며 전문적, 기술적인 용어 표현

2.요구사항 도출

2-1. 개념

* 요구사항의 출처 파악
* 개발자와 고객사이의 관계가 만들어지고 이해관계자가 식별
* 소프트웨어 개발 생명주기 동안 지속적으로 반복되는 단계

2-2. 요구사항 도출 기법

1. 인터뷰
2. 설문조사
3. 프로토타이핑
    * 기본적인 기능들만 빠르게 구현
4. 스토리 텔링
5. 유스케이스
    * 사용자의 요구사항을 기능 단위로 표현

3.유스케이스 다이어그램

3-1. 유스케이스 다이어그램의 구성요소

1. 시스템 범위
    * 시스템 범위를 사각형으로 표시
2. 유스케이스
    * 구현하고자 하는 기능을 타원으로 표시
3. 액터
    * 시스템 외부에서 상호작용하는 요소
4. 관계
    * 포함, 일반화, 확장

3-2. 유스케이스 다이어그램 관계

1. 포함관계
    * <<include>>
2. 일반화 관계
    * 실선 속이 빈 삼각형 화살표
3. 확장관계
    * <<extend>>

3-3. 유스케이스 다이어그램 작성시 주의사항

* 실행순서를 나타낼수 없기 때문에 흐름도처럼 그리면 안된다

3-4. 유스케이스 기술서 구성요소

1. 유스케이스명
    * 액터가 시스템을 이용하여 달성하고자 하는 목적을 간결하게 기술
2. 액터명
    * 시스템 업무를 수행하는 그룹의 역할을 이름으로 지정
3. 개요
    * 수행내용을 간단히 추려서 기술
4. 사전조건
    * 기본흐름이 올바르게 동작되는 조건
5. 사후조건
    * 실행후 만족조건
6. 기본흐름
    * 어떤 오류나 예외가 발생하지 안하고 완전하게 수행되는것
7. 대체흐름
    * 예외처리에 필요한 흐름

4.요구사항 분석

4-1. 요구사항 분석의 개념

* 사용자 요구사항의 타당성을 조사
* 요구사항들 중 서로 다르거나 중복, 상충되는것
* 정리된 요구사항을 문서화한다

4-2. 요구사항 분석 기법

1. 요구사항 분류
2. 개념 모델링
3. 요구사항 할당
4. 요구사항 협상
5. 정형분석

4-3. 구조적 분석

1. 구조적 분석의 원리
    * 추상화 원칙
    * 정형화 원칙
    * 분할정복의 개념
    * 계층적 구조의 개념
2. 구조적 분석의 특징
    * 이미지 중심의 형태로 표현
    * 명세서 작성이 가능
    * 중복성을 배제하고 하향식으로 분석

4-4. 구조적 분석 도구

1. 자료흐름도 (DFD)
2. 자료 사전 (DD)
3. NS차트
4. HIPO

5.요구사항 명세

5-1. 개념

* 개발자뿐만 아니라 고객도 알수 있을 정도로 쉽게 작성
* 파악된 요구사항을 체계적으로 검토, 평가하고 승인될수 있는 문서 작성

5-2. 요구사항 명세기법

1. 정형 명세 기법
    * 수학적원리, 정확하게표현, 간결하고, 도구사용 필수
2. 비정형 명세 기법
    * 자연어, 명세서로는 불충분, 상태 기능 객체 중심으로 서술

5-3. 명세서 작성시 고려사항

* 고객과 개발자가 쉽게 이해할수 있도록 작성
* 모든 기능과 모든 제약조건 기술
* 우선순위에 따른 중요도 기술

5-4 명세서 작성 원칙

* 명확성
* 완전성
* 검증기능성
* 일관성
* 수정 용이성
* 추적 가능성
* 개발후 이용성

6.요구사항 검증

6-1. 요구공학

1. 요구공학의 개념
    * 체계적이고 반복적으로 수행
    * 요구사항 명세서가 최종 산출물
2. 요구공학 관리도구
    * IBM, DOORS

6-2. 요구공학 검증기법

1. 요구사항 검토
2. 프로토타이핑
3. 모델검증
4. 인수테스트

7.요구사항 검증

7-1. 요구사항 검토

1. 동료검토
    * 2~3명 검토담당자가 수행
2. 워크스루
    * 검토자료를 회의전 배포
    * 짧은 시간동안 회의를 진행하여 오류를 검출하고 문서화
3. 인스펙션
    * 다른 전문가가 오류를 찾아내는 검토방법
4. 프로토타입
    * 견본을 개발하여 고객을 대상으로 시연하면서 요구사항 검증

7-2. 테스트 설계

* 테스트 케이스를 생성하여 요구사항이 현실적으로 테스트 가능한지 검토

7-3. CASE

1. CASE 개념
    * 소프트웨어 생명주기 전반을 지원하는 자동화 도구 혹은 방법론
    * 소프트웨어 개발과정의 일부 또는 전체를 자동화하기 위한 도구
    * 문서 자동화 기능 제공
    * 공동작업 할수있고 테스트 연계 및 결함, 형상관리등의 기능을 제공
2. CASE 특징
    * 가격은 비싸지만 개발 기간이나 인력이 감소되기때문에 전체 개발비용은 절감
    * 전문 분석가의 지원필요
    * 다양한 개발 모형과 그래픽 지원
    * CASE 툴간의 호환성이 없다
3. SADT
    * SoftTech사에서 개발
    * 블록다이어그램을 채택한 자동화 도구
4. SREM
    * TRW사가 우주 국방 시스템 그룹에의해 실시간 처리 소프트웨어 시스템
    * RSL: 요소, 속성, 관계, 구조들을 기술하는 요구사항 기술언어
    * REVS: RSL로 기술된 요구사항들을 자동으로 분석하여 요구사항 분석 명세서 출력
5. PSL/PSA
    * 미시간 대학에서 개발한것 PSL과 PSA 사용하는 자동화 도구
    * PSL: 문제기술언어
    * PSA: PSL로 기술한 요구사항을 자동으로 분석하여 다양한 보고서를 출력하는 문제 분석기
6. TAGS
    * 시스템공학 방법 응용에 대한 자동 접근 방법
    * 개발주기의 전과정에 이용할수 있는 통합 자동화 도구 

참고자료 : 이기적 환상콤비 정보처리기사

728x90

'자격증 > 정보처리기사' 카테고리의 다른 글

UI 표준  (0) 2022.06.22
UML  (0) 2022.06.21
소프트웨어 개발환경 분석  (0) 2022.06.20
소프트웨어 생명주기 모델  (0) 2022.06.20
소프트웨어 개발 방법론  (0) 2022.06.19