본문 바로가기
카테고리 없음

[Programming] Requirements란?

by Henry Cho 2021. 9. 28.

Requirements란?


포스트 난이도: HOO_Junior

 

[Notice] 포스트 난이도에 대한 설명

안녕하세요, HOOAI의 Henry입니다. Bro들의 질문에 대한 내용을 우선적으로 포스팅이 되다 보니 각각의 포스트에 대한 난이도가 달라서 난이도에 대한 부분을 작성하면 좋겠다는 의견을 들었습니다

whoishoo.tistory.com


 

# Requirements

Requirements는 소프트웨어 개발자가 꼭 알아두어야 하는 부분 중 하나이다. Requirements를 모르면 일단 프로젝트 진행을 할 수가 없기 때문이다. Requirements는 소프트웨어 개발이나 프로젝트 진행에 있어서 꼭 알아 두어야 하는 내용을 담고 있는 document이다. 계약서를 살펴보면 계약 조건이 쓰여 있듯이 Requirements에도 프로젝트 진행에 있어서 꼭 알아 두어야 하는 내용들이 담고 있다.

Requirements에서는 크게 2가지를 유의하여야 한다. 첫번째로는 사용자 또는 고객이 원하는 게 무엇인지이다. 소프트웨어 개발에서 사용자 또는 고객이 어떤 서비스를 소프트웨어 담고 싶은지를 알고 소프트웨어 개발을 해야 한다. 어쩌면 당연한 이야기일 수도 있지만 종종 사용자 또는 고객의 니즈와 맞지 않는 소프트웨어가 개발되기도 하는데 사람마다 생각하는 관점이나 요소가 다르기 때문이다. 소프트웨어 개발은 비슷하게 개발하는 게 아니라 요구자의 조건에 100% 부합하게 만드는 것이 중요하다. 특히 복잡한 소프트웨어일수록 정확한 개발이 이루어져야 하는데 Requirements는 이를 확인하고 서로 간의 성립하는데 중요한 요소이다.

두번째로는 소프트웨어 개발이나 유지 관리 측면에서의 제약이다. 소프트웨어 개발에 제약이 있는 이유는 우리가 사는 세상은 현실이기 때문이다. 학술적인 목적 하에 소프트웨어 개발하는 것이 아니라 실질적으로 사용하기 위해서 개발되는 것이다. 따라서 특정 제약 조건 내에서 소프트웨어 개발이 이루어져야 하기 때문에 이 부분도 Requirements에 포함된다. 예를 들어서 간단한 앱 개발을 하는데 몇 천억을 들여서 개발하지는 않는다. 사용자 또는 고객의 조건 내에서 서로 만족하는 소프트웨어를 개발하는게 중요한데 이게 바로 Requirements에서 보여주는 것이다.

#System Requirements vs User Requirements

Requirements는 크게 두가지로 나뉜다. System Requirements와 User Requirements이다. 우선 System Requirements는 개발자를 위한 Requirements이다. 개발자들이 소프트웨어 개발이나 관리를 하는 데 있어서 실질적으로 필요한 내용을 담고 있는 Requirements를 System Requirements라고 부른다. 반면에 User Requirements는 사용자 또는 고객들에게 보여주는 Requirements이다. 최종적인 사용자와 실질적으로 돈을 주고 요청하는 사람은 사용자 또는 고객이다. 그들이 원하는 목적대로 소프트웨어가 개발되거나 관리되는지를 설명을 통해 전달해야 되는데 이게 바로 User Requirements이다. User Requirement에서는 일반인도 이해할 수 있도록 decription을 작성하는 게 기본적인 방식이며, System Requirements는 개발자 입장에서 작성이 된다.

 


# In conclusion, 3줄 요약

1. Requirements는 소프트웨어 개발에서 필수적인 요소이다.

2. Requirements에는 고객이 원하는 소프트웨어 개발 목적과 개발에 유의해야되는 제약적인 부분이 포함된다.

3. Requirements는 System Requirements과 User Requirements로 나뉘어진다.


 

728x90

댓글