연관토픽
- [상위] 요구공학(Requirement Engineering)
- [하위] 요구사항 관리(Requirement Management)
- [하위] 요구사항 명세서(SRS, Software Requirement Specification)
개념
- 시스템이 제공해야 할 서비스와 시스템의 제약(Constraint)에 대한 고수준의 추상적인 문장
- IT 개발에서 시스템이 제공해야 할 서비스와 제약사항에 대해 정의한 문장
- 문제의 해결 또는 목적 달성을 위하여 사용자에 의해 요구되거나, 표준이나 명세 등을 만족하기 위해 시스템이 가져야 하는 서비스 또는 명시적,묵시적 제약 사항
- 시스템의 동작 방법과 속성 등에 대한 설명, 시스템으로부터 고객이 요구하는 서비스로 시스템 설계의 기반이며 제품 구현의 정확성을 판단하는 기준
- 고객이 요구한 사항과 요구하지 않았더라도 당연히 제공되어야 한다고 가정되는 사항들
요구사항의 특징
특징 | 설명 |
완전성 | - 요구사항은 누락된 기능이 없이 빠짐없이 작성 |
정확성 | - 논리적으로 정확하게 기술 |
명확성 | - 요구사항명세서에 기술한 용어가 이해관계자들에게 명확하게 의미 전달 |
특이성 | - 중요도, 난이도, 변경가능성 등 특이사항 관리 |
검사 가능성 | - 요구사항명세서에 대한 검증 기준 및 방법을 제시 |
수정 용이성 | - 요구사항 항목에 대한 쉬운 식별 - 수정이 용이하고 수정에 대한 영향도 분석이 용이 |
추적성 | - 식별된 요구사항 항목, 요구사항명세서, 관련산출물간 추적 용이 |
이해 가능성 | - 표준형식을 따르는 적절한 문법과 단순한 문장 |
요구사항 파악 목적
목적 | 설명 |
지식획득 | 해당 시스템 분석가가 신규 시스템을 개발하는데 필요한 지식을 획득하기 위한 목적 |
신규 시스템에 대한 협업 |
기존 시스템을 통해 사용하고 있는 입, 출력 보고서를 사용자가 신규 시스템으로 변환하였을 경우에 대한 이견이나 의견, 신규 시스템에 대한 기대 및 협조 정도를 개략적으로 파악하기 위한 목적 |
업무 분석 | 신규 시스템으로 전환할 업무 기능과 시스템 사양을 정확하게 파악하기 위한 목적으로 전체 프로젝트 범위의 기초 자료 |
개선 | 기본의 시스템이나 수작업 등의 업무의 문제점을 식별 이에 대한 대안을 수립하고 개선하기 위한 목적 |
프로젝트 범위추정 |
고객의 요구하는 정확하고 효과적인 엔터프라이즈 어플리케이션 구축의 토대 프로젝트 범위의 기준선을 설정하는 기본, 기초 자료로 활용 |
조직 이해 | 조직의 구조나 사용자 및 환경에 대한 이해 조직을 지원하기 위한 요구사항의 식별 |
시스템 기능 식별 |
시스템이 무엇을 해야 하는지에 대한 기능 식별 반복의 계획과 기술적인 내역(technical contents)을 위한 기초 제공 시스템이 무엇을 해야 하는가에 대한 고객과 사용자의 동의 획득 |
요구사항의 역할
역할 | 내용 |
추적성 제공 |
|
범위기준선 제공 |
|
일정과 원가에 영향 |
|
요구사항의 중요성
- 참여자들로 하여금 개발되는 소프트웨어 제품을 전체적으로 파악하도록하여 의사소통 시간을 절약하게 해주는 것
- 상세한 요구사항이 있어야만 산정이 가능하고, 이를 기반으로 계획을 세울수 있기때문
요구사항 관리의 어려움
문제점 | 상세항목 |
문제 영역에 대한 명확한 이해 부족 |
|
참여자 이해 문제 |
|
의사소통 문제 |
|
요구사항의 변경 |
|
사용자 요구사항과 시스템 요구사항
구분 | 내용 |
사용자 요구사항 |
|
시스템 요구사항 |
|
기능적 요구사항과 비기능적 요구사항
구분 | 설명 |
기능적 요구사항 |
|
비기능적 요구사항 |
|
요구사항의 분류
구분 | 분류 | 설명 |
기능 요구사항 |
기능 요구사항 |
|
비기능 요구사항 |
성능 요구사항 |
|
시스템 장비 구성 요구사항 |
|
|
인터페이스 요구사항 |
|
|
데이터 요구사항 |
|
|
테스트 요구사항 |
|
|
보안 요구사항 |
|
|
품질 요구사항 |
|
|
제약사항 |
|
|
프로젝트 관리 |
|
|
프로젝트 지원 |
|
|
기타 요구사항 | 유지관리 수행 |
|
유지관리 인력 |
|
|
컨설팅 요구사항 |
|
|
공사 요구사항 |
|
기능적 요구사항(functional requirement)
- 시스템 외부요소들 간의 인터렉션이나 시스템에서 제공되어야할 특정기능을 정의
- 시스템기능을 입출력, 예외상황과 함께 상세하게 기술하고 사용자 문제를 해결하기 위한 구현기술과 독립적인 사항
- 기능적 요구사항 명세서는 완전성(사용자의 요구한 모든 서비스가 정의)과 일관성(요구사항에 모순되는 정의를 가지면 안됨)을 반드시 확보
요구사항요소 | 상세 항목 |
기능 | - 시스템이 무엇을 하는가? - 시스템이 언제 그 일을 하는가? - 시스템이 운용될 때 여러 가지 다른 모드가 있는가? - 언제 어떻게 시스템이 변경되거나 확장되는가? |
자료 | - 입력, 출력이 무엇이며 어떤 형태를 갖는가? - 얼마나 자주 자료를 받고 내보내는가? - 자료가 얼마나 정확하여야 하는가? - 시스템에 유입되는 자료의 양은 어느 정도인가? - 데이터는 일정 기간 동안 보관되어야 하나? |
인터페이스 | - 다른 시스템에서 유입, 유출되는 입력은 무엇인가? - 데이터의 특정한 형태가 있는가? - 자료 전달에 사용되는 특정 미디어가 있는가? |
사용자 | - 누가 시스템을 사용할 것인가? - 사용자가 여러 그룹인가? - 각 사용자 그룹의 컴퓨터 사용 경험은 어느 수준인가? - 각 사용자 그룹에 따라 필요한 교육은 무엇인가? |
비기능적 요구사항(non-functional requirement)
- 시스템이 수행하는 기능 이외의 사항, 시스템 구축에 대한 제한 사항으로 성능이나 효율, 반응시간, 보안, 품질 등의 제약 조건
- 시스템의 전체 품질 또는 특성을 정의하기 위하여 기술된 기능이 가져야 하는 성능, 사용 가능성과 같은 행위적 특성
요구사항 요소 | 상세 항목 |
자원 | - 시스템을 구축, 유지보수 하는 데 필요한 자원, 인력은 무엇인가? - 개발자가 갖추어야 할 기능인가? - 어떤 하드웨어가 사용될 것인가? - 시스템이 차지하는 공간 - 전력, 온도, 습도에 대한 요구 - 개발된 시스템이 저장될 기억 공간의 제약 유무 |
성능 | - 시스템의 속도, 반응 시간, 처리율 - 시스템에 의하여 처리되는 자료의 크기 |
보안 | - 자료와 시스템에 대한 접근 통제 - 타인의 데이터 또는 프로그램 접근 방지 - 시스템의 백업 기간 및 책임자 - 화재, 홍수, 도난 등의 재난을 대비할 방지책 - 물리적 보안 대책 |
품질 | - 신뢰성, 가용성, 유지보수성, 보안 등 품질 특성에 대한 요구 - 시스템 결함을 찾아내고 격리시켜야 하나? - 시스템이 가동되는 평균 시간 - 시스템의 작업이 중단된 후 다시 복구할 때까지의 허용시간 - 설계 변경 용이성 여부 - 유지보수의 특성(단순오류 개선인지 시스템 향상인지 여부) - 자원의 사용과 반응시간을 측정하는 효율적인 방법? - 위치나 플랫폼 변동의 용이성 |
요구사항 파악활동
활동 | 상세 활동 | 설명 |
시스템 환경 조사 |
업무 현황파악 |
- 경영에 대한 정보를 파악 - 회사명, 회사위치, 업종, 취급품목, 주력제품 등 회사 개요와 기업 목표, 경영전략, 활동계획 등을 분석 |
조직정보 | - 개발 대상 업무에 대해 현재 정보처리가 어떤 과정으로 진행되고 있는지 조사 - 조직 정보는 기업 단위별, 사업 단위별, 개발업무 단위별로 단계적으로 접근 |
|
시스템 제약사항 | - 경영조건, 법적 조건, 업무 조건, 시간 조건, 공간 조건 등 - 시스템 개발과 운영 시에 영향을 미치게 되는 요건 조사 |
|
업무 현황조사 |
문제점 조사 | - 기존 시스템 운영에 있어서의 문제점과 이슈 조사 |
시스템 특성 |
- 업무 효율의 한계성, 시스템의 목적과 도입효과, 시스템의 적용 범위와 작동에 영향을 미치는 제한사항, 개발 추진 계획 등을 조사 | |
기존 시스템조사 |
시스템 정보조사 | - 입력 정보의 조사, 출력 정보의 조사, 파일 정보의 조사 - 처리 절차의 조사 및 코드 정보의 조사 필요 |
시스템 조사 | - 기능분석이나 요구사항 분석을 수행하기 전이나 또는 병행해서 시스템 조사 실시 - 도입 예정 회사에 RFI 발송 또는 현업 운영자에게 자료 요청 |
요구사항 조사 후 산출물
산출물 | 설명 |
면담결과서 | 면담 내용을 자료 흐름도 등을 이용하여 작성하여 면담 결과 후 이를 보완하여 면담 결과서 작성 |
업무 조사 결과표 |
업무별 입력원, 입력시간, 처리 절차, 출력 정보, 사용처 등에 대한 정보 항목으로 구성된 업무 조사 결과표 |
입출력 정보 조사 결과표 |
입출력 대상 항목별 구성 항목, 데이터의 발생량, 증가량, 시간,형태, 입력원 또는 사용원에 대한 정보 |
파일정보 결과표 |
파일이름, 구성항목, 처리율, 증가량, 갱신시기, 저장방법, 저장 위치 등의 파일 정보 사용 현황 |
서식조사표 | 서류명, 업무명, 관련 서류, 처리내용, 보관처, 작성주기, 처리 주기, 보존 연한 등 기업 환경에서 사용하고 있는 서식에 대한 조사 결과표 |
업무 흐름도 | 전반적인 업무 흐름은 시스템 흐름도나 업무 흐름도로 정리하고 세부적인 업무 절차는 순서도를 이용하여 작성 |
설문조사 결과표 |
많은 사람들이 가지고 있는 일반적인 생각과 변화를 이해하는 데 효율적이어서 시스템이나 서비스에 대한 사용자에 대한 만족도, 불편사항, 건의 사항 등을 취합하는 데 유용 |
시스템 구성도 |
기존 시스템이 구성하고 있는 구성요소들,구성요소들간의 관계, 환경 등에 대한 시스템 구성도 |
요구사항 모델링 언어
- 요구사항 모델링언어는 개발 방법론에 따라 달라지게 됨
방법론 | 모델링 언어 |
구조적 방법론 | 자료흐름도, 자료사전, 처리명세서를 사용하여 요구사항 결과 표현 |
정보공학 방법론 | 개체-관계 다이어그램(ERD) |
객체지향 방법론 | 유스케이스 다이어그램(Usecase diagram) |