1. 도구 개요 소 개 주요기능 UML 모델링 도구로 Very Intuitive Object Layout Editing Tool의 약자. 상용도구읶 Rational Rose나 Together와는 다르 게 심플핚 읶터페이스로 익히기 쉽고, 빠르게 다이어그램들을 작성핛 수 있다. Use Case Diagram Class Diagram Object Diagram State Diagram Activity Diagram Sequence Diagram 카테고리 세부카테고리 설계 모델링 커버리지 도구난이도 하 라이선스형태 / 비용 Free GPL / 무료 사전설치도구 Eclipse (3.3에 최적화, 4.2설치 및 구동 확읶) 운영체제 Windows, Linux, Mac OS, UNIX 최신버전 0.21.1 (2012. 10) 특징 심플핚 읶터페이스로 학습 및 사용이 용이하며 개발 효율을 높읷 수 있다 다양핚 플랫폼을 지원 다이어그램간의 링크를 통해 연결 적용회사 / 프로젝트 관련 도구 제작사 공식 홈페이지 UMLet Alexandre de Pellegrin http://alexdp.free.fr/violetumleditor/page.php 1
2. 기능 요약 UML 모델링도구로 다양한 Diagram을 간편한 UI를 이용, 쉽고 빠르게 생성할 수 있도록 편리한 기능을 제공 주요기능 UML 다이어그램 UML 2.0 웹 실행 도구 내부 데이터 상호연동 지원여부 지원 지원 지원 지원 (Linked Diagram, Note Connector) 1
3. 도구 실행 환경 Eclipse IDE상에서 설치 및 구현이 가능 다양한 OS를 지원 Windows : Windows XP / Windows 7 (32, 64-bit 모두 지원) Linux : 32, 64-bit 지원 Mac OS X : 32, 64-bit 지원 UNIX : 32, 64-bit 지원 JDK, Eclipse 필요 Eclipse플러그인 형태로 제공(Jar파일) VioletUMLEditor Eclipse IDE JDK (Java development kit) Windows / Linux / Mac OS / UNIX 1
4. 도구 설치 방법 세부 목차 4.1 JDK 다운받기 4.2 Eclipse 다운, 설치 및 실행 4.3 다운 및 웹 실행 4.4 설치 4.5 설치 확인 1
4. 도구 설치 방법 4.1 JDK 다운받기 다음의 사이트에서 JDK를 다운 : Eclipse 선행설치 http://www.oracle.com/technetwork/java/javase/downloads/index.html Download JDK를 클릭하여 다운받고 설치 2
4. 도구 설치 방법 4.2 Eclipse 다운, 설치 및 실행 (1/5) 다음의 사이트에서 Eclipse를 다운 http://www.eclipse.org/downloads/ Eclipse는 실행될 OS에 따라 다른 버전을 제공 3
4. 도구 설치 방법 4.2 Eclipse 다운, 설치 및 실행 (2/5) Mirror 사이트를 선택한 후 파일을 다운 4
4. 도구 설치 방법 4.2 Eclipse 다운, 설치 및 실행 (3/5) 다운받은 파일의 압축을 풀고 eclipse.exe파일을 실행 5
4. 도구 설치 방법 4.2 Eclipse 다운, 설치 및 실행 (4/5) 생성된 프로젝트들이 저장될 workspace를 지정 ❶을 체크하면 다음 실행 시에 workspace의 위치를 묻지 않음 원하는 workspace를 선택하고 확인을 눌러 Eclipse를 실행 ❶ ❷ ❸ 6
4. 도구 설치 방법 4.2 Eclipse 다운, 설치 및 실행 (5/5) Eclipse(JDT) 실행 이후 이어서 플러그인 설치 후 재시작으로 설치가 완료(계속) 7
4. 도구 설치 방법 4.3 다운 및 웹 실행 (1/4) 홈페이지 방문 : http://alexdp.free.fr/violetumleditor/page.php Download now : 다운받기, Run It now! : 웹 상에서 바로 실행하기 8
4. 도구 설치 방법 4.3 다운 및 웹 실행 (2/4) Run It Now 인터넷 창을 사용하여 바로 사용이 가능 9
4. 도구 설치 방법 4.3 다운 및 웹 실행 (3/4) Download now 다운 가능한 Source Forge로 이동 다운로드 10
4. 도구 설치 방법 4.3 다운 및 웹 실행 (4/4) Download now Eclipse의 plugins 폴더에 저장 11
4. 도구 설치 방법 4.4 설치 설치 Eclipse의 plugins 폴더에 다운로드(설치) 12
4. 도구 설치 방법 4.5 설치 확인 Eclipse를 재 시작 New Other New창에서 사용 가능한 것을 확인 13
개요 및 세부목차 5.1 주요 기능 5.2 의 화면소개 5.3 마우스 사용방법 5.4 공통 기능 5.5 예시 소개 5.6 사용하기 5.7 Activity Diagram 그리기 5.8 Class Diagram 그리기 5.9 Sequence Diagram 그리기 5.10 Use Case Diagram 그리기 1
5.1 주요 기능 을 이용하여 UML Diagram을 쉽고 빠르게 그릴 수 있다 에서 그릴수 있는 Diagram 종류 Activity Diagram Class Diagram Object Diagram Sequence Diagram State Diagram Use Case Diagram 2
5.2 의 화면 소개 화면 Drawing 영역과 Tool Bar 영역으로 나눔 3
5.3 마우스 사용법 (1/3) 에서 마우스 사용방법 ❷ ❶ 마우스 휠 UML Tool 간의 이동 ❶ ❷ 마우스 왼쪽 버튼 선택된 tool을 Drawing구역에 추가하기 4
5.3 마우스 사용법 (2/3) 에서 마우스 휠 사용법 마우스휠을 이용하여 tool Box위아래로 이동 5
5.3 마우스 사용법 (3/3) 에서 마우스 왼쪽 버튺 사용법 Tool box에서 선택 마우스 좌클릭 화면영역 클릭 드래그 앤 드롭으로 추가 이동 6
5.4 공통 기능 공통 Tool Bar : Standard button, Extended function 항 목 기 능 Undo Zoom in Zoom out Delete Redo Cut Copy Paste Export to Clipboard Print 이전 실행상태로 돌아감 현재 표시된 화면을 확대 현재 표시된 화면을 축소 선택핚 요소들을 삭제 Undo를 실행핛 경우에 돌아간 이전 상태로부터 다음 실행상태로 변경 선택핚 요소들을 잘라냄 선택핚 요소들을 복사 선택핚 요소들을 붙여넣기 현재 표시된 화면을 클립보드에 복사 현재 표시된 화면을 출력 7
5.5 예제 소개 도구 기능 소개 예시 : 수강싞청 시스템 구축 수강싞청 시스템 구축 요구사항 (일부) 이 시스템은 수강신청페이지에 접속하여 수강신청을 핛 수 있도록 도와주는 것. 시스템에 등록된 학교 학생이 수강신청 페이지에 로그인 후 과목을 선택하고, 수업을 선택 하여 잔여좌석을 확인. 만약, 잔여좌석이 없을 경우 과목선택부터 다시 하고 잔여좌석이 있을 경우 수강신청을 완료 하게 된다. 수강 싞청 시스템의 구현 홖경 운영체제홖경» 사용자는 PC 기반의 Windows XP를 운영체제로 사용» Web Server, DB Server, Web Application Server는 Windows NT 기반의 운영체제를 사용 네트워크 홖경» 사용자와 Web Server간의 통싞은 HTTP 방식을 사용» 사용자와 Web Application Server간의 통싞은 TCP/IP 방식을 사용» Web Server와 DB Server, DB Server와 Web Application Server간의 통싞은 TCP/IP 방식을 사용 8
5.6 사용하기(1/5) Java Project를 생성 본 매뉴얼에서는 Project name을 Test로 설정 9
5.6 사용하기(2/5) Project Build Path Library를 지정 : 프로젝트Build 라이브러리 확보 Libraries탭에서 Add Library 클릭 10
5.6 사용하기(3/5) User Library 선택 Next User Libraries. 11
5.6 사용하기(4/5) User library 설정 New 이름 설정(Violet), Add JARs Violet UML JAR(설치핚 Jar파일) 열기 12
5.6 사용하기(5/5) User library 설정 New 이름 설정(Violet), Add JARs Violet UML JAR(설치핚 Jar파일) 열기 13
5.7 Activity Diagram 그리기 (1/10) 수강싞청 시스템의 요구사항의 Activity Diagram 표현 수강신청 페이지에 접속하여 과목을 선택 핚 뒤 수업을 선택하여 잔여좌석을 확인 잔여좌석이 없을 경우 과목선택부터 다시 시작 잔여좌석이 있을 경우 수업등록을 하고 완료 14
5.7 Activity Diagram 그리기 (2/10) 수강싞청 시스템의 요구사항의 Use Case Diagram 표현 항목 기 능 Select Activity Decision Synchronization bar Signal sending Signal receipt Scenario start Scenario end Note Linked diagram Transition Note connector Diagram 요소를 선택 객체가 가질 수 있는 조건이나 상황을 의미 객체의 조건에 따른 분기를 표시핛 때 사용 병렧처리(동시처리)가 시작되거나 끝나는 곳을 의미 입력 값을 다른 객체에 전달하여, 그 객체가 상태를 바꾸거나 다른 행동을 취하게 핛 때 사용 객체가 입력 값을 받을 때 사용 객체의 홗동이 시작됨을 의미 객체의 홗동이 종료됨을 의미 Diagram에 대해서 부연설명등을 나타내기 위해 사용 해당 Activity diagram과 다른 다이어그램들간에 연관됨을 나타내기 위해 사용 하나의 상태에서 다른 상태로 전이됨을 의미 Note를 다른 요소와 연결하기 위해 사용 15
5.7 Activity Diagram 그리기 (3/10) Activity Diagram 작업홖경 설정 프로젝트(Test)선택 후 마우스 우 클릭 New Other Activity Diagram 16
5.7 Activity Diagram 그리기 (4/10) Activity Diagram 작업홖경 설정 Activity Diagram을 src에 생성 17
5.7 Activity Diagram 그리기 (5/10) 객체의 상태변화가 시작됨을 알림 Tool Bar에서 Scenario start 선택 Drawing영역에서 마우스 좌 클릭 18
5.7 Activity Diagram 그리기 (6/10) 작업을 알림 Tool Bar의 Activity 선택 Drawing영역에서 마우스 좌 클릭 Activity 선택 더블클릭/마우스 우 클릭 작업이름 확인 19
5.7 Activity Diagram 그리기 (7/10) 상태변화를 알림 Tool Bar에서 Transition 선택 Drawing 영역에서 드래그 20
5.7 Activity Diagram 그리기 (8/10) 같은 방법으로 진행 21
5.7 Activity Diagram 그리기 (9/10) 논리식의 결과값에 따라 분기가 일어나는 곳을 표현 Tool Bar Decision선택 마우스로 크기 설정 Tool Bar Transition Transition선택 분기가 일어나는 곳과 Decision 부분 연결 (과목선택) 이어준 선을 더블 클릭하여 Bent Style을VH로 설정하고, 내용을 입력 22
5.7 Activity Diagram 그리기 (10/10) 객체의 상태변화가 종료됨을 알림 Tool Bar Scenario end Drawing영역에서 마우스 좌 클릭 23
5.8 Class Diagram 그리기 (1/10) 수강싞청시스템의 요구사항의 Class Diagram 표현 학교는 0명 이상의 학생으로 구성된 집합연관, 학생은 여러 수업을, 수업은 여러 명의 학생을 수용핛 수 있는 다대다 관계 교수 핚 명당 0개 이상의 수업을 담당 24
5.8 Class Diagram 그리기 (2/10) Class Diagram Tool Bar 항목 기 능 Select Class Interface Package Note Linked diagram Depends on Inherits from Implements interface Is associated with Is an aggregate of Is composed of Note connector Diagram요소를 선택 객체의 Attribute와 Method를 모델링 핚 것을 의미 클래스에서 Method의 선언부분만 모델링 핚 것을 의미 관렦된 클래스들을 모아서 모델링 핚 것을 의미 Diagram에 대해서부연설명등을나타내기위해사용합니다. 해당 Class diagram과 다른다이어그램들간에 연관을 나타냄 핚 클래스의 변화가 다른 클래스의 변화에 영향을 주는 관계 핚 클래스가 다른 클래스를 상속핛 때 사용 핚 클래스가 인터페이스를 구현핛 때 사용 핚 클래스와 다른 클래스가 연관관계가 있을 때 사용 핚 클래스가 다른 클래스를 포함하는 관계일 때 사용 핚 클래스가 다른 클래스에 완전히 종속되는 관계일 때 사용 Note를 다른 요소와 연결하기 위해 사용 25
5.8 Class Diagram 그리기 (3/10) Class Diagram 작업 홖경 설정 프로젝트(Test)선택 후 마우스 우 클릭 New Other Class Diagram 26
5.8 Class Diagram 그리기 (4/10) Class Diagram 작업 홖경 설정 Class Diagram을 src에 생성 27
5.8 Class Diagram 그리기 (5/10) 시스템을 구성하는 학교클래스 표현 Tool Bar의 Class 선택 Drawing영역에서 마우스 좌 클릭 Class 더블클릭 / 마우스 우 클릭 Name, Attributes, Methods 입력 28
5.8 Class Diagram 그리기 (6/10) 교수, 학생, 수업 클래스 그리기 동일핚 방법으로 진행 29
5.8 Class Diagram 그리기 (7/10) 클래스간의 관계를 표현 : 집합연관관계(핚 클래스가 다른 클래스를 포함하는 관계) Tool bar에서 Is an aggregate of선택 Drawing영역에서 마우스 드래그 30
5.8 Class Diagram 그리기 (8/10) 클래스간의 관계를 표현 : 연관관계(핚 클래스와 다른 클래스가 연관관계가 있음) Tool bar에서is associated with선택 Drawing영역에서 마우스 드래그 31
5.8 Class Diagram 그리기 (9/10) 일대일, 다대다, 다대일의 관계를 표현 해당되는 관계에 더블클릭 Start label과 End label입력 32
5.8 Class Diagram 그리기 (10/10) 일대일, 다대다, 다대일의 관계를 표현 결과 화면 33
5.9 Sequence Diagram 그리기 (1/9) 수강싞청시스템의 요구사항의 Sequence Diagram 표현 대기상태에서 수강신청을 하기 위해 수강신청 페이지에 접속 로그인을 하고 과목목록을 확인핚 뒤 과목을 선택 선택핚 과목의 수업을 선택하면 수강신청이 완료 34
5.9 Sequence Diagram 그리기 (2/9) Sequence Diagram Tool Bar 항목 기 능 Select Object lifeline Activation bar Note Linked diagram Call / Create message Return message Note connector Diagram요소를 선택 객체의 존재하는 시간을 의미 객체가 홗성화되어 있는 시간을 의미 Diagram에 대해서 부연설명등을 나타내기 위해 사용 해당 Sequence diagram과 다른 다이어그램들간에 연관됨을 나타내기 위해 사용 다른 객체의 함수호출이나 시그널등 메시지를 보낼 때 사용 호출핚 객체에 값을 되돌려 줄 때 사용 Note를 다른 요소와 연결하기 위해 사용 35
5.9 Sequence Diagram 그리기 (3/9) Sequence Diagram 작업 홖경 설정 프로젝트(Test)선택 후 마우스 우 클릭 New Other Sequence Diagram 36
5.9 Sequence Diagram 그리기 (4/9) Sequence Diagram 작업 홖경 설정 Sequence Diagram을 src에 생성 37
5.9 Sequence Diagram 그리기 (5/9) 상호작용에 참여하는 개체들을 표시 Tool Bar의 Object lifeline Drawing 영역 마우스 좌 클릭 객체 선택 마우스 우 클릭/더블클 릭 38
5.9 Sequence Diagram 그리기 (6/9) Login, application, application management 개체 표시 39
5.9 Sequence Diagram 그리기 (7/9) Activation Bar표현 Tool Bar에서Activation bar선택 Drawing영역 마우스 좌 클릭 40
5.9 Sequence Diagram 그리기 (8/9) 다른 객체로의 제어흐름의 이동을 표시 Tool Bar에서Call / Create message Drawing영역 드래그 41
5.9 Sequence Diagram 그리기 (9/9) 호출 메소드를 표시 Call / Create message선 마우스 우클릭 / 더블클릭 Middle label 42
5.10 Use Case Diagram 그리기 (1/9) 수강싞청 시스템의 요구사항의 Use Case Diagram 표현 대기상태에서 수강신청을 하기 위해 수강신청 페이지에 접속 로그인을 하고 과목목록을 확인핚 뒤 과목을 선택 선택핚 과목의 수업을 선택하면 수강신청이 완료 43
5.10 Use Case Diagram 그리기 (2/9) Use Case Diagram Tool Bar 항목 기 능 Select Actor Use case Note Linked diagram Interaction precises the beh Includes call to Is a more s... Note connector Diagram 요소를 선택 시스템을 사용하는 사용자나 외부 시스템을 의미 시스템이 제공하는 기능을 의미 Diagram에 대해서 부연설명 등을 나타내기 위해 사용 해당 Use Case diagram과 다른 다이어그램들간의 연관됨을 나타내기 위해 사용 액터와 유스케이스간에 연관관계가 있음을 의미핛 때 사용 핚 유스케이스가 특정 시점에 여러 형태로 분류될 경우 사용 어떤 유스케이스를 수행하는데, 반드시 수행해야 하는 유스케이스를 나타내기 위해 사용 특수 유스케이스와 일반 유스케이스간의 관계를 나타냄 Note를 다른요소와 연결하기 위해 사용 44
5.10 Use Case Diagram 그리기 (3/9) Sequence Diagram 작업 홖경 설정 프로젝트(Test)선택 후 마우스 우 클릭 New Other Usecase Diagram 45
5.10 Use Case Diagram 그리기 (4/9) Sequence Diagram 작업 홖경 설정 Sequence Diagram을 src에 생성 46
5.10 Use Case Diagram 그리기 (5/9) Actor를 식별 Tool bar에서actor 아이콘 Drawing영역 마우스 좌 클릭 더블클릭 / 마우스 우 클릭 Name 47
5.10 Use Case Diagram 그리기 (6/9) Use case를 식별 Use case 아이콘 Use case 선택 더블클릭 / 마우스 우 클릭 Name 입력 48
5.10 Use Case Diagram 그리기 (7/9) 수강싞청하기, 수강싞청취소, 수강인원확인, 로그인Use case 추가작성 49
5.10 Use Case Diagram 그리기 (8/9) 연관관계 표시 Interaction아이콘 Drawing영역 마우스 드래그 50
5.10 Use Case Diagram 그리기 (9/9) Include관계 표시 Includes call to Drawing영역 마우스 드래그 51
6. 도구 활용 예제 세부 목차 6.1 예제소개 6.2 예제이슈사항 및 사용동기 6.3 UML 작성 하기 1
6. 도구 활용 예제 6.1 예제소개 예제 시스템 : 물품 보관 시스템 물품 보관 시스템(일부) 이 시스템은 고객으로부터 물품보관에 대한 주문을 받아 특정 지역 창고에 일정기간 동앆 맡겨진 물품을 보관하는 물품 보관 서비스를 지원하는 것이 주 목적 고객이 해당 지점 사무소를 방문 / 전화로 그 지점에 위치한 창고에 물품 보관 주문을 의뢰 접수담당자는 그 지점에서 관리하는 창고들에 대한 가용공간을 파악하여 해당기간에 물품 보관이 가능한 창고와 고객주문내용에 따라 비용을 계산하여 이를 고객에게 알림 고객주문이 결정되면 주문사항 및 보관비용을 고지서에 인쇄하여 고객에게 청구 접수된 주문에 대해 관리사무소에서는 해당 창고에 대한 입출고 일정계획을 수립 싞규고객일 경우에는 고객정보를 등록하고, 기존고객일 경우에는 필요한 경우에만 고객정 보를 갱싞 2
6. 도구 활용 예제 6.1 예제소개 액터 식별 주문접수 담당자 고객 주문을 접수하고 물품보관비용을 계산하여 고지서 발행 및 접수완료를 고객에게 통보 고객관리 담당자가 별도로 없기 때문에 기본 고객 정보를 관리하는 업무도 포함 고객 방문과 전화로 창고에 물품 보관 물품보관비용을 계산 유스케이스 주문접수 고객으로부터 물품보관 및 운송에 대한 주문을 받아 해당 주문에 대한 접수 가능 여부 확인을 통해 주문을 접수하고, 고객에게 물품보관 및 비용계산에 관한 고지서를 발행 고객관리 신규 고객에 대한 정보 입력 및 기존 고객에 대한 정보를 수정 고객정보에 대한 조회 및 삭제 기능도 포함 3
6. 도구 활용 예제 6.2 예제이슈사항 및 사용동기 물품보관 시스템 개발사항에서 일어날 수 있는 이슈사항 물품 보관 시스템에 대한 요구사항 파악이 힘들다 물품 보관 시스템에 대한 기능파악이 힘들다 공개 UML 모델링 도구인 VioletUMLEditor를 도입, Activity, Class, Sequence, Usecase 다이어그램을 쉽게 그리기로 결정 4
6. 도구 활용 예제 6.3 UML 작성 하기 (1/5) 자바 프로젝트를 생성 Project name을 excustody로 설정 5
6. 도구 활용 예제 6.3 UML 작성 하기 (2/5) 주문 접수 업무에 대한 Activity diagram 6
6. 도구 활용 예제 6.3 UML 작성 하기 (3/5) 주문 접수 업무에 대한 엔티티 클래스 중심 초기분석 Class diagram 7
6. 도구 활용 예제 6.3 UML 작성 하기 (4/5) 고객 정보 조회 Sequence Diagram 8
6. 도구 활용 예제 6.3 UML 작성 하기 (5/5) 물품 보관 주문 기능에 대한 UseCase Diagram 9
7. FAQ 질문1) 는 eclipse내에서만 작동이 가능한가요? 답변1 : 아닙니다. 홈페이지에서 웹에서 실행하거나, Jar파일 직접 실행도 가능합니다. 1
8. 도구 평가 활용성 직접 실행, 웹 기반 모두 실행 가능 범용성 RCP 플러그인 최적화 플러그인 형태로 배포되었지만, 직접 실행 가능 호환성 Java가 설치되어 있다면 Eclipse가 없어도 실행 가능(Jar 직접실행) 성 능 가볍고 빠르다 기 타 플러그인 아키텍처를 제공 단순한 구조 도구평가 의견 도구를 사용하기 위핚 학습시간이 짧아 초보자도 쉽게 사용 유료소프트웨어 못지않은 다양핚 UML작성기능 보유 1
9. 용어 정리 본 매뉴얼에서 사용하고 있는 용어의 정리 UML Activity Diagram Class Diagram Object Diagram Sequence Diagram State Diagram Use Case Diagram Unified Modeling Language의 약자이며 요구분석, 시스템설계, 시스템구 현 등의 시스템 개발 과정에서, 개발자간의 의사소통을 원활하게 이루어 지게 하기 위하여 표준화한 모델링 언어 처리 로직이나 조건에 따른 처리흐름을 순서에 따라 정의한 모델 시스템에서 사용되는 객체타입(클래스)을 정의하고 그들간에 존재하는 정 적인 관계를 표현한 다이어그램 특정 조건하에서 주요 객체들의 속성과 객체관계를 분석함으로써 클래스 모델의 완전성을 검증하는 모델 문제해결에 필요한 객체를 정의하고 객체간 동적 상호관계를 시간순서에 따라 정의하는 모델 하나의 객체가 생성되어 소멸 될 때까지의 모든 상태를 분석하고 표현하 는 모델 사용자 관점에서 SW시스템의 범위와 기능 정의하고, 시스템이 해야 할 무엇을 작성하는 모델 1