개발자 끄적끄적
요구사항과 유형 본문
<사용자 요구사항(User Requirements)>
- 사용자가 가치 제공을 받기 위해 사용자가 시스템을 통해 달성하고자 하는 목표나 수행하는 태스크
- 사용자로부터 비지니스 요구사항을 달성하기 위한 요구사항을 도출
- ex
비즈니스 요구사항
- 사용자 요구사항1
- 사용자 요구사항2
- 사용자 요구사항...
- 사용자 요구사항m
- ex) 카페테리아 주문 시스템
비즈니스 요구사항(목표)
- 음식 낭비비용을 6개월 이내40% 감소
- 운용비용을 12개월 이내에 15%감소
- 평균 업무 집중 시간을 6개월 이내 직원당 15분 증가
사용자 요구사항
- 식자주문
- 메뉴생성
- 급여공제 등록 등
기능적 요구사항
- 고객이 급여공제에 등록되어 있는지 확인
- 고객이 선택한 날짜에 이용가능한 메뉴 표시
- 결제 금액 계산
<기능적 요구사항>
- 사용자 요구사항을 달성할 수 있도록 개발자가 구현하는 것
<품질 속성에 대한 비기능적 요구사항>
- 품질 속성
- 사용성(Usability) : 얼마나 쉽게 사용할 수 있는가?
- 성능 : 기능이 필요로 하는 만큼 빠르게 수행되는가?
- 가용성 : 사용자가 원하는 시간에 접근 및 사용할 수 있는가?
- 보안 : 사용자에게 서비스가 제공되는 동안 승인되지 않는 사용에 대응하는 시스템 능력의 정도
- 안전성(safety) : 소프트웨어 결함 및 안전기능 미비 등으로 발생할 수 있는 사고로부터 사람의 생명이나 신체에 대한 위험에 얼마나 대비되어 있는가?
*안전기능 : 사전 위험분석 등을 통하여 위험발생을 방지하는 기능을 말한다
- 견고성 : 시스템이 잘못된 입력이나 악조건에서도 기능을 계속해서 얼마나 잘 수행할 수 있는가?
<비기능적 요구사항 예>
- 95%의 신규 사용자가 첫번째 시도에서 오류없이 식사를 주문할 수 있어야 한다
- 시스템이 생성하는 웹 페이지의 95%는 20Mbps 이상의 인터넷 환경에서 사용자 요청 시점으로부터 4초 이내에 다운로드가 완료되어야 한다
- 시스템의 고객 본인의 주문 건만 볼 수 있도록 허용해야 한다
- 사용자는 모든 메뉴의 색재료 목록을 볼 수 있어야 하며 국내 인구의 0.5% 이상에게 알레르기를 유발할 수 있다고 알려진 것은 강조해서 알려주어야 한다
- 시스템은 정해진 관리시간 외에 오전 5시부터 자정까지 최소 98%시간동안 이용할 수 있어야 한다
- 신규 주문 확인이나 종료전에 사용자와 시스템 간의 연결이 단절되는 경우 시스템은 사용자의 주문을 복구하고 계속진행 할 수 있게 해야 한다
<Data Requirements>
- 시스템이 조작하는 데이터 개체 및 데이터 개체 간의 관계 정의
- 데이터 개체 구성 요소(속성) 파악
- 데이터 보관 및 폐기에 관한 요구사항
- 데이터를 얼마나 오래 보관하고 어떻게 폐기를 해야 하는지를 기술
- 데이터를 오용하지 않고 적절한 보안을 유지하더라도, 정해진 기간을 넘겨 보관하는 것은 위반 행위
<그 밖의 요구사항 유형>
- 외부 인터페이스 요구사항
- 비지니스 규칙
- 설계 및 구현에 관한 제약조건
<외부 인터페이스 요구사항>
- 사용자 인터페이스(User Interface) 요구 사항
- 사용자 인터페이스에 대한 상세 설명은 사용자 인터페이스 설계 등과 같은 다른 문서를 이용하여 기술할 수 있다
- 하드웨어 인터페이스(Hardware Interface) 요구 사항
- 외부 하드웨어 장비(센서, 바코드 인식기, 지문 인식장치, 프린터 등) 유형
- 소프트웨어와 하드웨어 간의 상호 작용(주고 받는 메시지나 데이터 등)
*TBD(To-Be-Determined) : 추후 결정하여 작성
*NA(Not Applicable) : 해당 사항이 없음
*None : 해당 사항이 있지만 하지 않는다
- 외부 하드웨어 장비(센서, 바코드 인식기, 지문 인식장치, 프린터 등) 유형
- 소프트웨어와 하드웨어 간의 상호 작용(주고 받는 메시지나 데이터 등)
*TBD(To-Be-Determined) : 추후 결정하여 작성
*NA(Not Applicable) : 해당 사항이 없음
*None : 해당 사항이 있지만 하지 않는다
- 소프트웨어 인터페이스(Software Interface) 요구 사항
- 데이터베이스, 외부 라이브러리, 도구, 운영체제, 외부 소프트웨어 시스템과의 통신에 관한 인터페이스 요구사항을 기술한다
- ex) 이 시스템은 급여 시스템과 등록할 수 있도록 프로그래밍 인터페이스를 통해 통신하여야 한다
- 커뮤니케이션스 인터페이스(Communications Inferface) 요구 사항
- 통신기능(이메일, 문자 메시지 전송 등)
- 시스템에 필요한 전자 우편, 웹 브라우저, 네트워크 서버 통신 프로토콜 등 통신 기능과 관련된 모든 요구사항을 기술
- 통신 보안, 암호화 문제, 데이터 전송 속도 등을 기술
- ex)
- 이 시스템은 서버와 통신할 떄 HTTP 프로토콜을 사용하며 80 포트가 방화벽에 열려 있어야 한다
- 이 시스템은 매월 말일에 결산 정보를 관리자에게 이메일로 전송해야 한다
<사용자 인터페이스 요구사항>
- 프로젝트가 따르는 UI 표준이나 가이드
- 웹 적합성 : 모든 사용자가 신체적, 환경적 조건에 관계 없이 웹에 접근하여 이용할 수 있도록 보장하는 것
- 웹 호환성 : OS, 브라우저에 상관없이 유사한 화면으로 동일한 정보에 접근이 가능해야 한다
- 도움말 버튼처럼 모든 화면에 나타나는 표준 버튼이나 기능, 탐색 링크
- ex)
- 이 시스템은 "전자정부 웹사이트 UI, UX 가이드라인"을 준용해야 한다
- 이 시스템은 각 웹 페이지 화면에 해당 페이지의 이용법을 설명하는 도움말 링크를 제공해야 한다
- 웹 페이지는 마우스와 키보드 조합과 더불어 키보드만 이용하는 경우에도 완전한 네비게이션과 음식 선택을 허용해야 한다
<비즈니스 규칙과 제약>
- 비즈니스 규칙(Business rule)
- 사업 운영의 특정 측면을 정의하거나 제한
- 사용자나 소프트웨어 시스템의 행위에 영향을 주는 회사 정책, 법률, 산업 표준 등
- 조직은 회삭 정책, 법률, 산업 표준 등을 준수해야 한다. 따라서 시스템도 이에 따라야 한다
- 사용자 요구사항이나 솔루션 요구 사항 등에 영향
- ex) 소매점 환불 정책
- 고객은 제품에 대한 환불을 받기 위해 영수증을 제시해야 한다
- 반품되기 30일이 지난 제품에 대해서는 마일리지로만 적립될 수 있다
- 설계 및 구현 제약(constraints)
- 설계나 구현 등의 행위에 가하는 제약
- ex) 특정 프로그래밍 언어나 DB사용
'소프트웨어공학' 카테고리의 다른 글
요구사항 도출 (0) | 2024.03.27 |
---|---|
스크럼(Scrum) (1) | 2024.03.21 |
RAD(Rapid Application Development), Lean Startup (0) | 2024.03.12 |