본문 바로가기

전공/소프트웨어공학

소프트웨어 요구사항

요구 공학(Requirements engineering)

: 고객이 시스템으로부터 필요로 하는 기능들, 그리고 시스템이 동작하고 개발되는 것에 대한 제한사항을 설정하는 과정

: 요구사항은 요구 공학 프로세스 동안 생성되는 시스템 기능 및 제한사항에 대한 설명

 

요구사항이란?

: 시스템의 기능 또는 제약 조건에 대한 고수준의 추상적 문장으로부터 상세한 수학적인 기능 명세서까지 포함

: 계약을 위한 시도(제안) or 계약서 자체(상세하게) 의 목적으로 사용됨

 

요구사항 종류

1. 사용자 요구사항 - vaild

: 시스템이 제공하는 기능과 제약 조건에 대해 자연 언어 + 다이어그램으로 작성, 고객을 위해 작성됨

: 해당 영역에 기술적 지식이 없는 사람이 이해할 수 있도록 적어줘야함

 

자연 언어의 문재점

: 명확성의 부족 - 읽기 쉬우면서 정확하게 만들기 힘듬

: 요구사항 혼란 - 기능적 & 비기능적 요구사항이 혼용되는 경향

: 요구사항 혼합 - 여러 개의 다른 요구사항이 함게 표현되는 경우

 

2. 시스템 요구사항 - verification

: 시스템 기능을 상세히 설명한 구조화된 문서. 고객과 계약자간 계약을 위해 작성됨

 

3. 소프트웨어 명세서

: 설계 또는 구현의 기초로 사용되는 소프트웨어에 대한 상세한 기술, 개발자를 위해 작성

 

 

* 기능적 요구사항

: 시스템이 제공해야 하는 기능, 특정 입력에 대한 반응, 특정 상황에 동작하는 방법들에 대한 문장들

 

* 비기능적 요구사항

: 시스템이 제공하는 서비스 또는 기능들에 대한 제약 조건들(시간 제한, 개발 프로세스 및 표준 제한 사항, 성능 제한 등)

: 프로덕트(제품 실행 속도, 신뢰도 등), 조직(사용 프로세스 표준, 구현 요구사항), 외부 요구사항(상호 운영성, 법률적 요구사항) 등으로 분류됨

 

* 도메인 요구사항

: 시스템의 응용 분야로부터 나오는 요구사항(도메인 특성을 반영한 요구사항 ex-게임, 건설 등)

: 이해도(understandability) - 특정 영역에서 사용되는 언어로 표현되어 개발자들이 이해하지 못하는 경우

: 묵시성(Implicitness) - 특정 영역의 전문가들은 해당 영역에 대해 해박하기에 너무 기초적인 내용은 생략하는 경우

 

요구사항 부정확성

: 요구사항이 정확하게 언급 안될때 문제 발생

 

요구사항 완전성과 일관성

: 완전성 - 필요로 하는 모든 기능들에 대한 설명을 포함해야 함

: 일관성 - 시스템 기능들에 대한 설명에서 충돌 또는 모순이 없어야 함

 

시스템 요구사항

: 사용자 요구사항에서 좀 더 상세화된 명세서

: 시스템 설계의 기초

: 시스템 계약서 일부

'전공 > 소프트웨어공학' 카테고리의 다른 글

시스템 모델  (0) 2021.11.09
요구 공학 프로세스  (0) 2021.10.16
요구 사항과 설계  (0) 2021.10.16
소프트웨어 프로젝트 관리  (0) 2021.10.05
소프트웨어 프로세스  (0) 2021.10.04