Chapter 03. 요구사항 확인
01. 요구사항(1)
요구공학 개념
사용자의 요구가 반영된 시스템을 개발하기 위하여 사용자 요구사항에 대한
도출, 분석, 명세, 확인 및 검증 하는 구조화된 활동
요구공학의 목적
- 이해관계자 사이에 효과적인 의사소통 수단 제공
- 시스템 개발의 요구사항에 대한 공통된 이해 설정
- 요구사항 누락 방지 및 이해 오류로 인한 불필요한 비용 절감
- 요구사항 변경 추적 가능
★요구공학의 분류★
1. 기능적 요구사항
- 시스템이 제공하는 기능, 서비스에 대한 요구사항
- 특정 입력에 대해 시스템 반응 기술
- 특정 상황에 대한 시스템 동장 기술
- 특징(기완일) : 기능성, 완전성, 일관성
- 예시 : 온라인 홈페이지에서 쇼핑카트에 주문하고자 하는 품목 저장하기 위한 장바구니 기능 제공
2. 비기능적 요구사항
- 시스템이 수행하는 기능 이외의 사항, 시스템 구축에 대한 제약사항에 관한 요구사항
- 품질 속성에 고나련하여 시스템이 갖춰야 할 사항에 관한 기술
- 시스템이 준수해야 할 제한 조건에 관한 기술
- 특징(신사효유이 보품제) : 신뢰성, 사용성, 효율성, 유지보수성, 이식성, 보완성, 품질 관련, 제약
- 예시 : 특정 함수 호출시간은 3초 이내여야 함
요구공학 프로세스
- 요구사항 개발 단계 / 요구사항 관리 단계 구분
-
요구사항 개발(CMM 레벨3)
- 도출 → 분석 → 명세 → 확인 및 검증
-
요구사항 관리(CMM 레벨2)
- 요구사항 변경 관리, 추적 관리로 협상, 기준선 정의, 변경관리, 확인 및 검증
요구사항 분석단계 기법
순서 | 기법 | 설명 |
---|
1 | 자료흐름 지향분석 | 데이터 흐름도 및 자료 사전으로부터 소프트웨어 구조를 유도하는 방법 |
2 | 객체 지향 분석 | 시스템의 기능과 데이터를 함께 분석, UML로 표준화 |
1. 자료흐름 지향 분석 예시
2. 객체 지향 분석 예시
02. 요구사항(2)
요구사항 명세 단계 주요 기법 (비정형/정형 차이 확인)
★1. 비정형 명세기법★
- 사용자의 요구를 표현할 때 자연어를 기반으로 서술
- 사용자와 개발자의 이해가 용이
- 명확성 및 검증 문제
★2. 정형 명세 기법★
- 사용자 요구를 표현할 때 수학적 원리 및 표기법으로 서술
- Z-스키마, Petri Nets 등 활용
- 표현 간결, 명확성 및 검증 용이, 이해의 어려움
요구사항 명세서
소프트웨어 개발 프로세스의 시작인 소프트웨어의 요구사항을 분석하고 정의하는 단계에서 작성되는 최종 산출물
요구사항 확인 및 검증 단계의 주요 기법
- 요구사항 검토(단순 검토)
- 여러 검토자들이 에러, 잘못된 가정, 불명확성, 표준과의 차이 검토
- 고객 중심 프로젝트로 대표자 1명 이상 포함 필요
- ★정형 기술 검토 활용(FTR) - 각 종류와 특징에 대해 기억하기★
- 동료 검토
- 미리 결함을 발견하는 형태
- 2~3명이 진행하는 리뷰 형태
- 워크스루 (비공식 검토)
- 오류를 조기에 검출하는 데 목적
- 검토 자료를 회의 전 배포하여 회의에서 오류를 검출하고 문서화
- 인스펙션 (공식 검토)
- 소프트웨어 요구, 설계, 원시 코드 등의 저작자 외의 다른 전문가 또는 팀이 검사하여 오류를 찾는 방식
- 프로토타이핑 활용
- 개발할 시스템에 대한 주요 기능을 고객 대상으로 시연하면서 요구사항 확인
- 모델 검증
- 테스트 케이스, 테스트 확인
- CASE 도구 활용 검증 (대규모 개발 프로젝트에서 활용)
- 베이스라인을 통한 검증
- 체계적으로 추적하고 통제하는 시점인 베이스라인을 통한 요구사항을 지속적 검증 수행
- 요구사항 추적표(RTM)
- 최종 산출물이 어떻게 반영되고, 변경되었는지 확인 가능한 문서인 RTM을 통한 검증