일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 파이썬
- 안드로이드 앱 개발
- 클래스 다이어그램
- 네트워크 프로그래밍
- 표준 라이브러리 함수
- 알고리즘
- 실습으로 다지는 c#
- 무료 동영상 강의
- 원격 제어 프로그램
- c언어
- 졸업 작품 소재
- 동영상 강의
- 독립기념관
- c#
- 언제나 휴일
- 동영상
- 추천
- 산책하기 좋은 곳
- Windows Forms
- 충남 천안
- 강의
- 유튜브 동영상 강의
- 소스 코드
- 언제나휴일
- 프로젝트
- 실습
- 표준 입출력
- 소켓 통신
- 캡슐화
- C++
- Today
- Total
프로그래밍 언어 및 기술 [언제나휴일]
2. 2 유즈케이스 다이어그램 본문
유즈케이스 다이어그램은 시스템에서 구현해야 할 기능을 개괄적으로 보여주기 위해서 수행합니다. 이를 통해 시스템이 처리해야 할 일과 외부에서 수행할 일을 결정하고 어떠한 사용자와 시스템과 상호 작용하는지를 결정합니다.
이를 위해 먼저 시스템과 상호 작용하는 사용자와 외부 시스템을 찾는 작업을 수행합니다. 유즈케이스 다이어그램에서는 시스템과 상호 작용하는 사용자와 외부 시스템을 액터라고 말합니다.
그리고 액터가 어떨 때 우리 시스템을 사용하는지 우리 시스템이 언제 액터를 사용하는지를 결정합니다. 그리고 이를 유즈케이스로 나타냅니다.
Usecase 다이어그램은 액터와 Usecase, 관계를 표현합니다.
2.2.1 액터 개요
액터는 시스템과 상호 작용하는 사용자와 외부 시스템을 말합니다.
EH WSE를 사용하는 액터에는 최종 사용자(End User)와 관리자(Manager)가 있습니다. 그리고 외부 시스템에는 DBMS가 있습니다.
번호 | 액터 이름 | 설명 |
1 | End User | 검색 서비스를 사용하는 사용자 |
2 | Manager | 검색 서비스 테스트 및 웹 수집 로봇 설정 및 모니텅링을 수행하는 관리자 |
3 | DBMS | 솔루션의 DB를 관리하는 시스템(MS SQL) |
[표 2.2] 액터
2.2.2 유즈케이스 다이어그램
먼저 최종 사용자와 상호 작용에 관한 유즈케이스 다이어그램을 작성합시다. 최종 사용자는 검색할 때만 EH WSE와 상호 작용합니다. 검색 요청하면 내부 시스템에서는 검색 질의를 형태소로 분리하는 작업을 수행합니다(MorphemeParse). 그리고 색인 데이터에서 질의 요소를 포함하는 웹 페이지 정보를 얻어옵니다(GetInvertedFile). 검색 정보를 순위화하고(Ranking) 수집한 페이지의 정보를 보여줍니다(GetPostedUrl).
번호 | 유즈케이스 이름 | 설명 |
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).
참고로 특정 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 |