소프트웨어 요구분석

Kiwoong Park·2022년 6월 15일
0

요구(Requirement)

소프트웨어 요구

소프트웨어 요구(Requirement)란 고객의 비지니스 니즈를 충족시키기 위해서 시스템이 제공해야할 역량(Capability)라고 할 수 있다.

요구분석 단계에서 파악해야할 사항

  1. 프로젝트 이해 당사자(stakeholder)들의 비지니스 우선순위와 원인 파악
    (Ex. 기술적 배경지식을 가진 당사자는 처리량(throughput)과 반응시간을 강조
    경영적 배경지식을 가진 당사자는 비용과 고객 만족에 무게 => 이해당사자 간의 우선순위와 그 우선순위를 가지게 된 원인을 파악하여 협의와 조율을 하는 것이 프로젝트 관리자의 능력)
  2. 제약(Constraint)
    (Ex. 고객이 특정한 프로그래밍 언어로 개발할 것을 요구, 특정 제품을 사용하는 것을 금기(오픈소스, 특정 벤더 제품 배제 등)
  • 제약은 소프트웨어 시스템의 해결책을 제한하기 때문에 여러 가지 설계 구현안을 줄일 수 있다는 장점이 있음.

요구의 종류

기능적 요구(functional)

  • 기능적 요구의 항목으로 제기되는 문제들은 사용자의 문제해결을 위한 구현 기술과는 독립적인 사항이 되어야 함. 즉, 시스템이 무엇을 하는지, 어떤 기능을 갖는지를 기술
  • 즉, 외부 사용자에게 직접적으로 혜택을 줄 수 있는 시스템의 기능

비기능적 요구(nonfunctional)

  • 시스템이 수행하는 기능 이외의 사항, 즉 시스템 구축에 대한 성능, 보안, 품질, 안전 등에 대한 요구사항을 일컫음
    (Ex. 데이터 조회 쿼리에 대한 결과가 0.1초 이내에 화면에 보여야 함, 구매 요청에 대한 회신이 30초 이전에 이뤄져야 함 등)

소프트웨어 요구 추출(elicitation)

사용자가 무엇을 원하는지 결정을 내리는 작업이며
요구를 추출하기 위해 다음의 세 가지 단계의 작업이 필요하다.
1. 응용에 대한 정보 출처 파악
2. 응용에 대한 정보 취합
3. 요구와 제한 사항의 정의
요구 추출은 응용 분야에 대한 정보를 모으는 것부터 시작하여 다양하고 전문성 있는 정보를 바탕으로 응용문제를 이해하고, 요구와 제한 사항을 추출하는 시작이 된다.

요구는 우선순위에 따라 다음의 세 가지로 구별하면 좋다.
1. 절대적으로 필요한 요구
2. 요망되나 꼭 필요한 것은 아닌 요구
3. 요구로 판단될 수 있으나 제외될 수도 있는 요구

예를 들어, 영화추천 웹 어플리케이션에서 사용자의 회원가입이나, 회원탈퇴 기능은 1번 요구. 회원의 프로필 설정 기능은 2번 요구, 사용자가 추천한 영화를 다른 사람에게 보여 줄 때의 아이콘을 별표로 할지 하트로 할지는 3번 요구에 해당한다.

profile
You matter, never give up

0개의 댓글

관련 채용 정보