사용자가 문제를 해결하거나 목표를 달성하는 데 필요한 조건 또는 기능 (IEEE Std. Glossary)
• 요구사항이란 무엇이 구현되어야 하는가에 대한 명세
• 요구사항은 시스템이 어떻게 동작하여야 하는지 또는 시스템 특징이나 속성들에 대한 설명
• 요구사항은 시스템 개발 프로세스 상의 제한 사항 (Sommerville & Sawyer 1997)
• 요구사항은 설계를 선택하게 하는 모든 것 (Brain Lawrence)
• 원하는 시스템의 외부에서 관찰 가능한 특성 (Alan Davis)
프로젝트 발생원인, 프로젝트 관리 출발점, 개발 활동근간, 품질 판단 기준, 변경의 근본 원인
“소프트웨어를 구축하는데 있어서 가장 어려운 부분은 무엇을 구축할 것인지를 정확하게
판단하는 것이다. 개념적인 작업의 다른 어떤 부분도 사람, 컴퓨터, 연계되는 다른 시스템
등을 포함한 상세한 기술적인 요구사항을 결정하는 것보다 어려운 것은 없다. 이 부분이 잘
못된다면 다른 어떤 부분보다도 좋지 않은 결과를 가져오며 수정하는 것은 훨씬 더 어렵다.”
“요구사항은 작업의 우선 순위를 결정하고, 프로젝트에 필요한 노력과 자원을 예측할
수 있게 해 준다.”
“요구사항은 가정해서는 안되며, 정확한 내용을 기술하여야 한다.”
Referenced by “Frederick Brooks”
제약사항, 품질, 성능, 기능요구사항 → 아키텍처
기능 요구사항
‐ 시스템에서 입력을 받아들여 처리하고 출력을 만들어 내는 기능에 관련된 요구사항
비기능 요구사항 - 일반적으로 품질을 결정할 수 있는 요소들
‐ 기능적 요구사항 외 시스템이 가져야 하는 속성에 대한 요구사항
‐ 개발 프로세스, 관련 표준 등의 제약 사항도 포함
기능 요구사항
소프트웨어가 무엇(What)을 해야 하는지에 대해 정의한 요구사항
시스템이나 소프트웨어가 무엇(What)을 얼마나(How much) 잘 해야 하는지에 대
해 정의한 요구사항
• 사용자의 만족도와 연관
• 개발에 필요한 아키텍처나 설계 등의 기술적인 제약사항들도 포함
• 품질속성(Quality Attribute), 제약사항(Constraints), 제한사항(Limitation)
여러가지 분류가 존재, ISO/IEC 9126, ISO/IEC 25010
Solution constraints
‐ 구현 기술에 대한 제약
‐ Architecture mechanism, implementation technique 등의 engineering decision
• Boundary constraints
‐ 개발되는 시스템의 외부 요건이나 내부 인터페이스에 의해 시스템의 기능이나 비기능
에 영향
Resource
‐ 비용, 예산, 일정 등에 의한 제약 사항
• Standards
‐ 산업 표준에 의한 제약 사항
• Cultural & Political
‐ 문화나 정치에 의한 제약사항
• Regulations
‐ 법률이나 사규에 의한 제약사항
Company & System Vision
‐ 회사 및 시스템의 비전
• Market
‐ 출시하고자 하는 마켓의 제약사항(Time-to-Market, etc.)
• Competitor
‐ 경쟁 업체의 동향 및 특허 등에 의한 제약사항
참고 : https://www.codepresso.kr/ 'SW공학기초' 강의