title: **"[SWEBOK 2004 요약/번역] 2. S/W 요구사항(Software Requirements)"**
description: "**[SWEBOK 2004 요약/번역] 2. S/W 요구사항(Software Requirements)**"
cleanUrl: /sw-engineer/swebok2004-software-requirements
floatFirstTOC: right
<aside>
💡 IEEE에서 제작한 본 SWEBOK에는 무시하기 어려운 비판론이 제기된 상황입니다. 주된 비판 주체로 초기에 본 문서 제작에 참여했다 철수한 ACM이 있으며, Grady Booch, Cen Kaner가 보입니다. 비판의 핵심은 본 문서가 주장하는 바인 'Generally accepted'가 사실이 아니라는 점과 본 문서와 밀접히 연계된 licensing(CSDP)의 무효성입니다.
상기 비판론을 염두하여 문서에 대한 내용을 받아들이길 권장합니다.
</aside>
Introduction
- S/W 요구사항 KA(Knowledge Area)는 S/W 요구사항의 추출, 분석, 명세, 명세로 이루어져. 이들 활동이 적절히 이루어지지 않으면 SWE(Software Engineering) 프로젝트가 심각하게 취약해짐은 S/W 산업계에 잘 알려진 사실임.
- S/W 요구사항은 S/W 제품에 대한 요구와 제한사항을 표현하여 실세계 문제의 해결책에 대한 일부를 담당.
- '요구 공학'이란 용어는 많이 사용되지만, 일관성을 위해 여기서는 사용되지 않음. 전체에 걸쳐 '공학(engineering)'이란 용어는 'S/W 공학'을 제외하고는 사용되지 않을 것임
- KA 분할(KA breakdown)는 IEEE12207에서 언급한 요구사항 활동 섹션과 호환됨.
- 문제는 제시된 분할(breakdown)이 폭포수적(waterfall-like) 프로세스를 연상시킨다는 건데, 이를 방지하기 위해 '요구사항 공정' 장은 요구사항 공정에 대한 고수준 조감(overview)을 제시.
- 또 다른 분류 방법으로 제품 기반 구조(시스템 요구사항, S/W 요구사항, 프로토타입, Use Case 등)에 기반하는 방법이 있음. 하지만 프로세스 기반 분할은 요구사항 공정이 복잡하고 강하게 엮인 활동(순차적, 동시적 모두)인 사실을 강조하는 데 유효.
- S/W 요구사항 KA는 S/W 설계, 시험, 유지보수, 구성관리, SWE 관리, SWE 공정, 품질 KA에 연계됨.
Breakdown of topics
![Untitled](https://prod-files-secure.s3.us-west-2.amazonaws.com/7570d2fc-66b1-4e23-bb3c-ff7b56842b0d/97422d30-b461-4489-a575-590922e4ad97/Untitled.png)
1. S/W 요구사항 기본(Software Requirements Fundamentals)
1.1 S/W 요구사항의 정의(Definition of a Software Requirement)
- A property which must be exhibited by software developed or adapted to solve a particular problem
- 특정 문제를 해결하기 위해, S/W 개발 또는 적용을 통해 외부로 드러나야 하는 속성
- 요구사항은 주어진 자원 내에서 반드시 검증 가능하여야(verifiable)
1.2. 제품 및 공정 요구사항(Product & Process Requirements)
- Product Requirement : 개발될 S/W 자체에 관계