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 |