프로그래밍 언어 및 기술 [언제나휴일]

2. 2 유즈케이스 다이어그램 본문

프로젝트/웹 검색엔진 만들기

2. 2 유즈케이스 다이어그램

언휴 2025. 1. 25. 10:59

 유즈케이스 다이어그램은 시스템에서 구현해야 할 기능을 개괄적으로 보여주기 위해서 수행합니다. 이를 통해 시스템이 처리해야 할 일과 외부에서 수행할 일을 결정하고 어떠한 사용자와 시스템과 상호 작용하는지를 결정합니다.

 

 이를 위해 먼저 시스템과 상호 작용하는 사용자와 외부 시스템을 찾는 작업을 수행합니다. 유즈케이스 다이어그램에서는 시스템과 상호 작용하는 사용자와 외부 시스템을 액터라고 말합니다.

 

[ 그림 2.1] 액터

 

 그리고 액터가 어떨 때 우리 시스템을 사용하는지 우리 시스템이 언제 액터를 사용하는지를 결정합니다. 그리고 이를 유즈케이스로 나타냅니다.

 

[ 그림 2.2] Usecase

 

 Usecase 다이어그램은 액터와 Usecase, 관계를 표현합니다.

 

 2.2.1 액터 개요  

 액터는 시스템과 상호 작용하는 사용자와 외부 시스템을 말합니다.

 

 EH WSE를 사용하는 액터에는 최종 사용자(End User)와 관리자(Manager)가 있습니다. 그리고 외부 시스템에는 DBMS가 있습니다.

[ 그림 2.3] 액터 개요

 

번호 액터 이름 설명
1 End User 검색 서비스를 사용하는 사용자
2 Manager 검색 서비스 테스트 및 웹 수집 로봇 설정 및 모니텅링을 수행하는 관리자
3 DBMS 솔루션의 DB를 관리하는 시스템(MS SQL)

[ 2.2] 액터

 2.2.2 유즈케이스 다이어그램

 

 먼저 최종 사용자와 상호 작용에 관한 유즈케이스 다이어그램을 작성합시다. 최종 사용자는 검색할 때만 EH WSE와 상호 작용합니다. 검색 요청하면 내부 시스템에서는 검색 질의를 형태소로 분리하는 작업을 수행합니다(MorphemeParse). 그리고 색인 데이터에서 질의 요소를 포함하는 웹 페이지 정보를 얻어옵니다(GetInvertedFile). 검색 정보를 순위화하고(Ranking) 수집한 페이지의 정보를 보여줍니다(GetPostedUrl).

[ 그림 2.4] End User와 상호 작용 usecase 다이어그램

 

번호 유즈케이스 이름 설명
1 Search 검색
2 MorphemeParser 형태소 분석
3 GetInvertedFile 역 파일 생성
4 Ranking 순위 부여
5 GetPostedUrl 수집한 결과 페이지 얻어오기

[ 2.3] End User와 상호 작용하는 Usecase

 

 관리자는 최종 사용자처럼 검색할 수 있습니다. 그리고 이 외에도 Seed 사이트 주소를 추가(AddSeedSite)하거나 수집 주기를 설정(SetInterval), 웹 로봇이 수집하는 것을 가동시키거나(Start) 멈추게 하고(Stop) 수집해야 할 사이트를 확인(NeedGetUrls), 수집한 색인 데이터를 확인(GetMorphemes)합니다.

 

 관리자가 웹 수집을 가동하면 주기적으로 웹 페이지를 수집(WebCollect)합니다. 그리고 수집한 웹 페이지의 내용을 분석(MorphemeParse)하고 색인 데이터를 만드는 작업을 수행합니다(MakeInvertedFile).

 

[ 그림 2.5] Manager와 상호 작용 usecase 다이어그램

 

 참고로 특정 Usecase를 수행하면서 반드시 수행해야 하는 Usecase<<include>> 스테레오 관계로 표시하며 선택적으로 수행할 때는 <<extend>> 스테레오 관계로 표시합니다. <<include>> 스테레오는 반드시 수행해야 하는 Usecase로 화살표 방향을 표시하며 <<extend>> 스테레오는 선택적으로 수행하는 Usecase에서 시작하는 방향으로 표시합니다.

  [표 2.4]는 Usecase별로 어떠한 역할을 수행하는지와 관련 액터 및 상호 작용 방향을 표로 정리한 것입니다.

 

 이와 같이 작업한 내용을 파악하기 쉽게 문서로 작성해 놓으면 효과적으로 관리할 수 있습니다. 프로젝트의 종류와 목적에 따라 어느 수준으로 회의와 문서화, 개발 방법론 적용이 다를 수 있는데 중요한 것은 모든 작업이 개발에 득이 되는 수준으로 행해야 한다는 것입니다. 그 어떠한 작업도 많이 하면 독이 되고 부족하면 품질 수준 저하 및 전체 개발 비용이 많아질 수 있습니다. 어느 수준으로 적용해야 최소 비용으로 최대 품질의 서비스를 제공할 수 있을지 고민하고 상황에 맞는 개발 방법론을 판단할 수 있는 능력을 키우셔야 합니다. 

Usecase 설명 관련 액터 및 방향
Search 검색 요청 EndUser(),
Manager()
GetInvertedFile 역 파일 요청 ()DBMS
Ranking 검색 결과 순위 부여 ()DBMS
GetPostedUrl 수집한 웹 페이지 요청 ()DBMS
AddSeedSite Seed 사이트 추가 Manager()
SetInterval 수집 주기 설정 Manager()
Start 웹 수집기 가동 Manager()
Stop 웹 수집기 멈춤 Manager()
NeetGetUrls 수집 후보 Url들을 요청 Manager()
GetMorphemes 모든 형태소 요청 Manager()
WebCollect 웹 수집  ()DBMS
MorpemeParse 형태소 분석  
MakeInvertedFile 역 파일 생성 ()DBMS

[2.4] Usecase 리스트


언제나휴일 여행 및 산책

에버랜드 판다월드, 엄마 아이바오와 쌍둥이 루이와 후이

 

'프로젝트 > 웹 검색엔진 만들기' 카테고리의 다른 글

2. 3 요구 사항 및 유즈케이스 매핑  (0) 2025.01.26
2. 요구 분석 및 정의 2.1 요구 리스트  (0) 2025.01.25
1. 7 .NET 리모팅  (0) 2025.01.22
1. 6 Windows Form  (0) 2025.01.20
1. 5 라이브러리  (0) 2025.01.19
1. 4 요구 기술  (0) 2025.01.19
1. 3 시나리오  (1) 2025.01.19
1. 2 개요  (1) 2025.01.19