요구사항
: 시스템이 '무엇을 해야 하는가'를 나타낸다. 고객의 문제를 해결하기 위한 것들이며, 단순 명료하게 표현해야 한다.
요구사항의 유형
- 기능적 요구사항
시스템이 무엇을 해야 하는가를 기술 | ex) ATM 시스템은 입금, 출금을 해야 함
시스템에 주어지는 특정 입력에 대한 시스템이 산출하는 출력을 통해 정의된다.
- 비기능적 요구사항
개발과정에 대한 제약조건
성능, 효율, 반응시간, SW품질 특성에 대한 수준
비기능적 요구사항이 충족되지 않으면 시스템의 이용가치가 없다.
기능적, 비기능적 요구사항에 어떤 것이 포함되는지 아래 정리하겠다.
기능적 요구사항
- 입력
- 출력
- 저장
(DB에 저장 등)
- 컴퓨팅
(시스템에서 이루어지는 계산들을 의미)
- 타이밍과 동기화
(하드웨어 장치를 제어, 실시간 작업 수행 시스템에서 중요)
비기능적 요구사항
개발시 지켜야할 제약조건이다.
모든 요구사항은 측정/검증 가능해야한다는 것을 유의해야 한다.
세가지 주요 유형
1. 소프트웨어 품질 특성 측면
반응시간 / 처리량 / 자원 사용량 / 신뢰성 / 가용성 / 고장에서의 회복 / 유지보수성과 확장의 허용 / 재사용성의 허용
2. 시스템 환경 & 기술적 측면
플랫폼 : 동작할 HW, OS
사용 기술 : 프로그래밍 언어, 프레임워크 등
3. 프로젝트 계획 & 개발방법 측면
사용하는 개발 프로세스 (방법론)
비용, 납기일 등
기능적 요구사항과 비기능적 요구사항 예시
- 기능적 요구사항
사용자는 초기 데이터베이스의 모든 정보를 검색하거나, 일부를 선택할 수 있어야 한다.
모든 주문(order)은 고유번호인 ORDER_ID를 가져야 하며, 이것을 사용자가 영구 저장소에 복사할 수 있어야 한다.
담당 의사는 자신이 담당한 환자의 진로 내용을 입력 또는 수정한다.
환자 정보 관리자는 환자의 정보를 등록, 삭제할 수 있다.
환자는 자신이 진료한 내역을 조회할 수 있다.
예약 시 고객의 정보를 입력하는 방법을 결정해야 한다.
영수증과 예약 확인서에 어떤 정보를 표시할 지 결정해야 한다.
예약 대행 여행사와 고객이 호텔 정보 데이터베이스에 접근할 때 어떤 정보를 얻을 수 있는지를 결정해야 한다.
- 비기능적 요구사항
시스템 장애로 인한 정지시간이 한달에 1시간을 넘지 않아야 한다.
해외 분점 호텔의 고객 정보까지 관리하기 위해 시스템을 확장할 수 있도록 설계해야 한다.
동시에 100명 이상이 주문을 요청해도 처리할 수 있어야 한다.
참고) 기능과 비기능 모두 아닌 것도 잘 파악할 수 있도록 하자
'기타' 카테고리의 다른 글
모각코_1회차 (3) | 2024.01.09 |
---|---|
[혼공컴운] 1주차_미션 (0) | 2024.01.07 |
[소프트웨어공학] 클래스 모델링의 방법과 절차 (0) | 2022.10.23 |
[소프트웨어공학] UML 다이어그램 중 클래스 다이어그램 이해하기 (0) | 2022.10.23 |
[소프트웨어공학] 소프트웨어 개발 프로세스 주요 모델 6가지 요약정리 (2) | 2022.10.23 |