#title 요구사항 [[TableOfContents]] ==== 좋은 요구사항의 조건 ==== ||구분|| 내용 || ||완성도||각각의 요구사항은 기능 전체를 설명해야 한다. 요구사항은 개발자들이 각각의 기능을 설계하고 구현하는데 필요한 모든 정보를 담고 있어야 한다.|| ||정확성||각각의 요구사항은 구현될 기능을 정확하게 설명해야 한다. 사용자 대표만이 사용자의 요구사항의 정확도를 판단할 수 있다.|| ||타당성||시스템과 운영환경의 능력과 제한 내에서 요구ㅏ항이 반영될 수 있어야 한다. 불가능한 요구사항을 명시하는 것은 삼가해야 한다.|| ||필요성||각각의 요구사항은 고객이 실제로 요구하는 능력이나 외부 시스템의 요구사항 및 표준을 준수하는 범위에서 만들어야 한다.|| ||우선순위||각각의 기능 요구사항, 기능 또는 사용자 사례에 대한 구현 우선선위를 설정해서 개발 단계에 이것들이 얼마나 필요한지를 나타낸다.|| ||분명함||요구사항의 설명을 읽는 모든 사람들이 일관성 있는 하나의 의미로 이해할 수 있도록 간단하고 요약되고 직설적인 말로 작성되어야 한다.|| ||검증가능성||몇 개의 테스트 또는 검사와 데모 등의 다른 확인방법을 사용해서 제품이 각각의 요구사항을 적절하게 구현하고 있는지를 판단해야 한다.|| ==== 요구사항 작성 활동 ==== * 시스템을 사용할 것으로 예상되는 사용자 계층 파악 * 각각의 사용자 계층을 대표하는 개인에게서 요구 유도 * 사용자의 이용 시간 목표, 그리고 이러한 활동에 대한 비즈니스 목표 이해 * 사용자 요구분석을 통한 기능 요구사항, 기능 이외의 요구사항, 비즈니스 규칙, 제안 솔루션, 외부 정보 등을 활용한 사용자 요구사항 기반의 목표 구분 * 시스템 아키텍처에서 정의된 최고 수준의 요구사항 적용 * 시스템 특성의 중요성 이해 * 구현 우선순위 협의 * 수집된 사용자 요구를 바탕으로 요구사항 명세화와 모델화 * 문서화된 요구사항을 검토하여 비즈니스 요구사항 및 목표와 비교