12.1.3 시퀀스 다이어그램

Usecase 다이어그램에서 약속한 Usecase 단위로 시퀀스 다이어그램을 작성합시다.

Navigation 에서는 최종 사용자가 탐색할 사이트 주소를 입력하여 이동 버튼을 누르면 입력한 사이트 주소를 확인하여 웹 브라우저 컨트롤을 이용하여 입력한 사이트로 탐색합니다. RSS Browser에서는 탐색 도중 웹 페이지 내용에 RSS 피드가 있으면 이를 사용자에게 알려주기로 하였는데 이는 RSS Find 시퀀스 다이어그램을 참고하세요.

Navigation 시퀀스 다이어그램
[그림 12.7] Navigation 시퀀스 다이어그램

 웹 브라우저의 탐색 완료 이벤트 핸들러에서는 웹 브라우저의 HtmlDocument 내용을 분석하여 하이퍼 링크 중에 RSS 피드가 있는지 확인하여 이를 RSS 피드 항목에 추가합니다. 이렇게 추가한 RSS 피드 항목은 최종 사용자에 의해 즐겨찾기에 등록할 수 있습니다.

RSS Find 시퀀스 다이어그램
[그림 12.8] RSS Find 시퀀스 다이어그램

 최종 사용자가 즐겨찾기에 추가 버튼을 누르면 RSS Browser는 RSS BrowserLib를 이용하여 RSS Favorite를 생성 요청합니다. RSS BrowserLib 내부에서는 입력 인자로 받은 링크 주소로 Xml 문서를 로딩하고 분석한 항목을 항목 컬렉션에 추가하고 RSS Favorite 개체를 생성하여 반환합니다.

Add Favorite 시퀀스 다이어그램
[그림 12.9] Add Favorite 시퀀스 다이어그램

 최종 사용자는 RSS Browser의 즐겨찾기 항목을 선택할 수 있습니다. 이 때 RSS Browser는 선택한 주소의 RSS Favorite 개체를 찾아 각 속성 정보를 얻어와 컨트롤의 속성을 설정하여 최종 사용자가 상세 정보를 볼 수 있게 합니다. 그리고 RSS Favorite의 세부 항목을 조사하여 보여주는 작업을 수행합니다.

Select Favorite 시퀀스 다이어그램
[그림 12.10] Select Favorite 시퀀스 다이어그램

 최종 사용자가 즐겨 찾기 항목을 선택하면 선택한 즐겨 찾기 항목의 내용을 보여주는 것과 함께 RSS 피드의 세부 항목을 찾아 이를 리스트 박스와 같은 컨트롤의 데이터 소스로 설정하여 세부 항목을 볼 수 있게 합니다. 여기에서는 RSS 피드의 세부 항목을 Item이라 정하였습니다.

ListFavoriteItem 시퀀스 다이어그램
[그림 12.11] ListFavoriteItem 시퀀스 다이어그램

 최종 사용자가 Item 항목을 보여주는 컨트롤에서 항목을 선택하면 선택한 항목의 속성을 얻어와 항목의 각 속성 정보를 시각화할 컨트롤의 속성을 설정하여 정보를 보여줍니다.

SelectItem 시퀀스 다이어그램
[그림 12.12] SelectItem 시퀀스 다이어그램

 질의어를 입력하여 검색을 요청하면 RSS Browser에서는 질의어를 형태소 분석하여 질의어에 포함하고 있는 질의어 별로 포함하고 있는 역 파일 요소를 찾고 사이트 별로 점수를 계산하여 랭커 개체를 생성합니다. 그리고 이 정보를 결과 항목을 보여주는 컨트롤에 추가하여 최종 사용자가 검색 결과를 확인할 수 있게 해 줍니다.

Search 시퀀스 다이어그램
[그림 12.13] Search 시퀀스 다이어그램

 형태소 분석, 역 파일 생성, 역 파일 검색, 랭킹은 검색 엔진 만들기의 내용과 큰 차이가 없으므로 설명을 생략할게요.