이번시간에는 이전에 요구사항을 반영하여 Use Case Diagram을 그려보도록 하겠다.
Use Case Diagram 이란?
시스템과 상호작용하는 것을 Actor라 칭하고, 시스템에서 발생하는 각 행동들을 Use Case라 칭하여 Actor와 Use Case간의 연관관계를 그림으로 표현한 다이어그램이다. 가장 추상적이며 개발자 뿐만 아니라 일반 사람들까지도 전체 시스템을 쉽게 파악할 수 있도록 하기 위해 작성하는 다이어그램이다.
자, 그럼 이제 Use Case Diagram을 그리기 위해 StarUML 프로그램을 시작해 보도록 하자.
최초 프로그램이 실행되면 위와 같은 선택화면이 나타난다.
위와 같은 형식으로 Use Case Diagram을 만들어 보았다. 어떤가? 잘 만든것 같은가? 음.... ZemnaDev가 원하는 모든것을 반영하고 있는것 처럼 보인다. 그러나 계속 보고 있자니 무엇인가 이상한 느낌이 든다. 무엇일까? UML을 우리가 사용하는 목적이 무엇인가? 소프트웨어를 추상화 하여 그림으로 표현한것이 아닌가? 그러나 위의 Use Case Diagram은 너무 자세히 표현된 듯한 생각이 든다. 각각의 기능들은 사용자가 탐색기에서 마우스 오른쪽 버튼을 클릭하였을 때 실행된다. 또한 명시된것 이외의 기능들을 Add-In 할 수 있는 기능도 포함되어야 한다. 그러므로 생각을 달리해야 한다. 즉, ZemnaDev가 요구한 각각의 기능들에 집중하지 말고 전체적인 시스템을 바라보고 디자인 해야 할 때가 되었다.
전체적인 의미에서 시스템을 다시 되짚어 보도록 하자.
프로그램은 최초 설치시에 기본적인 기능을 제공한다. 그리고 그 이외의 기능은 사용자가 제작하거나 다운로드를 받아 설치할 수 있다. 설치된 기능은 탐색기에서 마우스 오른쪽 버튼을 누르면 나오는 메뉴에 등록이 되며, 사용자는 그 메뉴를 클릭함으로써 해당 기능을 실행할 수 있다.
즉, 위의 Use Case Diagram이 아닌 아래와 같은 전체적인 구조의 Use Case Diagram이 시스템을 더 잘 표현 할 수 있을 것이다.
어떤가? 상당히 추상적인 내용으로 바뀌게 되었다. 그리고 ZemnaDev 프로그램이 요구하는 사항은 전부 반영되었다.
다음 시간에는 ZemnaDev에 대한 Class Diagram을 그려보도록 하겠다.