🔹요구공학이란 무엇인지?
고객의 요구를 체계적으로 수집, 분석, 명세화하고
이를 검증 및 관리하기 위해 추적성과 변경 관리를 포함하는 기법
🔹 왜 필요한가?
↳ 요구사항 오류는 개발 단계가 지나갈수록 수정 비용이 기하급수로 증가
↳ 요구가 계속 변경될 수 있는데 추적성(Traceability) 확보하면 변경에 대응하기 쉬움.
↳ 고객과 개발자 사이 합의점 도출
애매모호할 수 밖에 없는 문제
• 이해 관계자 (Stakeholders)는 스스로 무엇을 원하는지 정확히 모른다.
• 이해 관계자는그들만의 용어로 요구 사항을 제시한다.
• 여러 이해 관계자들의 요구사항이 충돌될 수 있다.
• 산업 특성상 새로운 이해 관계자가 나타날 수 있다.
📌 기능 요구사항 (FR, Functional Requirements)
• 시스템이 "무엇을 해야 하는지(What the system should do)"
• 사용자가 원하는 기능이나 서비스 중심으로 기술
• 각 요구사항이 시스템 구현되거나 그렇지 못하거나, 한가지 경우로 판단 가능 (Pass/Fail)
• 예시) 보통 입력 → 처리 → 출력 형태
↳ 사용자가 회원가입을 할 수 있어야 한다.
↳ 예약 내역을 조회할 수 있어야 한다.
↳ 결제 요청 시 신용카드, 계좌이체, 간편결제를 지원해야 한다.
↳ 관리자는 숙소 정보를 등록·수정·삭제할 수 있어야 한다.
📌 비기능 요구사항 (Non-Functional Requirements)
• 시스템이 "어떻게 동작해야 하는지(How the system should be)"
• 성능, 보안, 품질, 제약 조건 등과 같이 시스템 특성
• SW Architecture에 영향을 주는 것은 비기능 요구사항인 경우가 많다.
• 주요 카테고리
↳ 성능(Performance): 응답 시간, 처리량, 동시 사용자 수
ex) 검색 결과는 2초 이내에 표시되어야 한다.
↳ 보안(Security): 인증, 접근 제어, 암호화
ex) 모든 비밀번호는 암호화 저장해야 한다.
↳ 신뢰성(Reliability) & 가용성(Availability)
ex) 시스템은 연간 99.99% 가동률 유지해야 한다.
↳ 사용성(Usability): UI/UX 편의성, 학습 곡선
ex) 신규 사용자는 10분 이내에 기본 예약 절차를 완료할 수 있어야 한다.
정리하면,
• 기능 요구사항은 “시스템의 동작(What)”
• 비기능 요구사항은 “시스템의 품질(How)”
'까망 동네 > OOAD & UML' 카테고리의 다른 글
| [OOAD] UP Inception 단계 (1) | 2024.10.20 |
|---|---|
| [OOAD] UP Elaboration 단계 - OOD (1) | 2024.10.19 |
| [UML] Class Diagram (3) | 2024.10.17 |
| [OOAD] UP Elaboration 단계 - OOI (1) | 2024.10.15 |
| [OOAD] UML이란 (1) | 2024.10.14 |
댓글