본문 바로가기
IT/시스템설계

02. 기능 요구 사항 - 단계적 과정

by 노오-력 2023. 9. 27.

요구사항을 분석할 때 나타나는 문제점 중 하나는

요구사항이 모호하고 범위가 넓다는 것이다.

이 문제를 해결할 수 있는 쉬운 방법은 고객에게 직접 묻는것이다.

하지만 기능이 많고 액터가 다양한 상황에서 복잡한 시스템을 설계할 땐 좋은 방법이 아니다.

 

요구사항을 정확하고 체계적으로 모으고 중요한 기능을 분석해서 시스템을 만들려면

사용 사례(Use Cases)와 유저 플로우(User Flows)를 사용해야한다.

1. 사용 사례(Use Cases)는 요구 사항을 정리한 시나리오로 사용자 목적에 맞춘 시스템기능이다.

2. 유저 플로우(User Flows)는 더 세밀한 단계이고, 사용 사례를 시각화한것이다.

 

기능 요구사항을 분석하는 방법

1. 액터/사용자를 모두 확인해야한다.

2. 액터/사용자가 원하는 시스템에 해당하는 usecase나 시나리오를 모두 설계한다.

3. 설계한 usecase를 이용해서 작업의 흐름이나 시스템에서 액터의 상호작용을 시각적으로 표현

    작업이나 상호작용 과정에서 Action과 Data를 확인할 수 있다., 시스템에서 데이터가 어떻게 흘러가는지 알 수 있다.

 

 

example

히치하이킹 서비스가 있다.

운전자가 차를 몰고 가는 도중에 어떤사람을 태운다.

운전자는 자신의 목적지로 가면서 돈을 받고 승객을 태운다.

1. 액터/사용자 확인

- 이 경우 액터는 두명이다. 운전자와 승객

 

2. usecase를 설계

운전자와 승객은 히치하이킹 서비스와 연결되어있다.

usecase1

승객이 등록되고, 첫번째 시스템이된다.

usecase2

새로운 운전자가 등록, 시스템에 로그인

usecase3

운전자가 로그인하고 승객을 태운다.

승객과 운전자가 성공적으로 연결되고

히치하이킹을 시작하거나 끝낼 수 있다.

usecase4

연결에 실패한 경우도 있다.

등등이있다.

 

3. User Flow 으로 사용자 행동을 표현

표현 방법은 다양하지만 UML을 이용한 시퀀스 다이어그램이 있다.

UML다이어그램은 소프트웨어 디자인에 사용되고

그 중 시퀀스 다이어그램은 개체 간 상호작용을 타나내고,
시간 순서로 나열한다.

Driver -> App : Ready to Pick Up
Rider -> App : Look For Driver
note over App : Match Rider to a Driver
App --> Rider : Driver is Found
App --> Driver : Rider is Found
Driver -> App : Start Ride

운전자, 승객 매칭 유스케이스

Driver -> App : Finish Ride
note over App : Charge Rider
App -> Rider : Show Ride Reciept
note over App : Take Server Fee
note over App : Pay Driver
App --> Driver : Show Driver Earnings

히치하이킹 종료 유스케이스

위와 같이 시퀀스 다이어그램을 그리면
유저 플로우의 일부인 이 시스템에서 액터 간 상호작용을 분석하면

시스템의 API를 나중에 확인할 수 있다.

 

액터의 상호작용은 액터 간 API 호출이기 때문이다.

그리고 시스템 액터 간에 주고받은 데이터는 API 호출에 있는 인수이다.



 

'IT > 시스템설계' 카테고리의 다른 글

01. 요구사항 분석,분류  (0) 2023.09.25