전공과목 정리/소프트웨어분석및설계

[소프트웨어분석및설계🛠️] 3장 SW 요구사항

최연재 2024. 8. 17. 21:18

출처 : 강의 교안, 시스템분석설계 with 애자일 (생능출판사, 최은만)

 

1.  SW 요구사항

1.1 요구사항의 정의

1) 요구사항(Requirements)이란?

- SW 요구사항은 시스템이 가져야 할 기능이나, 어떤 특성을 가져야 하는지를 기술한 것

- 사용자가 필요한 것

  • 어떤 기능? ➡️ 비즈니스 요구 [분석 단계]
  • 어떻게 구현? ➡️ 시스템 요구 [설계 단계]

2) 요구사항의 정의 : IEEE 610 표준

- 문제의 해결 또는 목적 달성을 위하여 고객에 의해 요구되는 기능

- 계약, 표준, 명세 등을 만족하기 위하여 시스템이 처리하거나 충족해야 하는 서비스 또는 제약사항

- 고객이 요구한 사항과 요구하지 않았더라도 당연히 제공되어야 한다고 가정되는 사항들

 

3) 요구사항의 명세

- 요구사항의 추출과 분석을 통해 얻어지는 고객이 시스템에 대해 요구하는 기능 도는 서비스와 제약사항에 대한 기술 (Specification)

- 프로젝트 수주를 위한 제안의 기초이면서 프로젝트 제약의 기초가 되므로 상세히 기술되어야 한다.

- 요구사항의 종류 ; 기능적, 비기능적

 

4) 기능적 요구 (Functional Requirement)

- 시스템으 수행해야 할 서비스나 정보 저장 등의 기능

- 시스템이 외부의 데이터나 명령을 받아들여 어떤 반응을 하는지 기술해야 한다.

- 구현 기술과는 독립적

 

5) 비기능적 요구 (Non-functional Requirement)

- 성능, 사용 용이성, 보안 등 기능 이외의 사항

- 시스템 구축이나 동작에 대한 제한사항들

- 요구분석 이후 설계 단계에서 결정해야 할 언어나 플랫폼, 구현의 선택을 까다롭게 할 수 있다.

- 기능적 요구사항보다 중요할 수 있다.

 

6) 요구사항의 결정

- 비즈니스나 IT측면에서 요구 자체를 결정

- 사용자와 엔지니어가 정보를 나누고 이해한다.

 

1.2 요구사항 조사 수행하기

1) 요구사항 조사하기

- 시스템이 수행해야 할 것들에 대한 정보를 많은 정보원(information source)을 통하여 수집한다.

- ex) 사용자, 리포트, 폼, 절차

 

2) 요구사항 조사과정의 산출물

- 사용자들로부터 수집된 정보 : 인터뷰 결과서, 관찰노트, 회의록

- 기존 문서 및 파일 : 업무양식, 절차매뉴얼, 직무기술서, 현 시스템의 흐름도

- 컴퓨터 기반 정보 : JAD 모임의 결과, 현 시스템의 저장 내용 및 레포트, 시스템 프로토타입으로부터 얻어지는 산출물 및 레포트

- 조직의 구성 요소에 대한 이해 : 사업 목표, 데이터 처리 규칙, 정책 및 지침

 

1.3 요구사항 조사를 위한 방법론

1) 인터뷰 및 탐문

(1) 인터뷰

- 운영과 현 시스템의 이슈, 앞으로의 조직 활동에 따른 시스템에 대한 요구사항 등에 관해서 인터뷰 수행

- 진술, 의견, 견해 등을 수집

- 인터뷰 질문

  • 개방형 질문 (Open-Ended) 
    • 사전에 정의된 답변이 없다/
    • 예기치 못한 답변을 이끌어내는데 사용한다.
  • 폐쇄형 질문 (Closed-Ended)
    • 응답자는 사전에 정의된 응답 중에서 답을 선택하도록 요청받는다.
    • 질문에 대한 흔한 답변이 알려져 있을 때 유용하다.
    • 많은 시간이 필요하지 않기 때문에 많은 수의 토픽들을 다룰 수 있다.

- 효과적인 인터뷰를 위한 지침

  • 인터뷰 일정의 수립 : 대상자들에게 인터뷰 목적을 설명하고, 일정을 약속, 인터뷰를 위한 체크리스트, 의사일정, 질문 등을 준비한다.
  • 중립적인 인터뷰 : 유도심문 피하기
  • 인터뷰 내용의 기록과 검토 : 인터뷰 수행 후 48시간 이내에 인터뷰 일지 검토
  • 다양한 관점을 유지 : 잠재적 사용자와 관리자 등 넓은 폭의 사용자들을 대상으로 인터뷰를 수행해야 한다.

(2) 작업자 관찰

- 정해진 시간에 작업자를 관찰하여 데이터가 어떻게 다루어지고, 업무를 위해 필요로 하는 정보가 무엇인지를 파악

- 인터뷰를 보완하는 방법

- 편견이 없는 데이터를 얻기 어렵다.

 

2) 업무 문서의 분석

- 조직에서 사용하는 데이터와 정보에 대한 구체적인 사례, 보고된 이슈, 정책, 규칙 등을 발견하기 위해 사용

- 문서를 통해 찾을 수 있는 정보의 유형

  • 기존 시스템의 문제 : 결여된 정보, 중복된 절차 등
  • 조직이 추구하는 방향
  • 주요 사용자들의 직위와 이름
  • 조직의 가치 판단 기준
  • 데이터, 데이터 처리 규칙, 조직의 운영 원리

3) 합동응용시스템설계 (JAD, Joint Application Design)

- 최종 사용자와 정보시스템 전문가가 한 자리에 모인 대화의 자리에서 시스템 설계를 논의

- 주 사용자, 관리자. 시스템 분석가를 모이게 한다.

- 목적 : 주요 사람들로부터 시스템 요구사항을 동시에 수집

- 사용자 참여를 유도하여 시스템 설계를 가속화

- 최종 결과

  • 기존 시스템에 대한 자세한 문서
  • 제안된 시스템의 특성에 대한 자세한 문서

4) 프로토타이핑 (Prototyping)

- 시스템의 초기 버전이 빠르게 구축될 수 있다.

- 요구사항 조사 프로세스를 강화시킬 수 있다.

- 목적 : 최종 시스템을 개발하는 것이 아니라 최종 시스템의 구체적인 세부 사항을 개발하는 것

 

1.4 업무 프로세스 분석

1) 업무 프로세스 분석 

- 업무 프로세스 : 사업에 필요한 요인을 기능별로 나눠 연속된 흐름으로 정리하는 것

- 업무 프로세스 분석의 3단계

1️⃣ 현재 시스템(AS-IS) 이해

2️⃣ 개선할 점 파악

3️⃣ 새로운 시스템(TO-BE)을 정의

- 업무 흐름의 효율 : 불필요한 작업 통합 및 병렬화