소프트웨어공학 Tutorial #2: StarUML Eun Man Choi emchoi@dgu.ac.kr
Contents l StarUML 개요 l StarUML 소개및특징 l 주요기능 l StarUML 화면소개 l StarUML 설치 l StarUML 다운 & 설치하기 l 연습 l 사용사례다이어그램그리기 l 클래스다이어그램그리기 l 순서다이어그램그리기 2
StarUML 개요 l StarUML 소개및특징 l 소개 Rational Rose, Together 와같은상업적도구에준하는기능을갖춘오픈소스소프트웨어모델링도구및플랫폼 l 특징 UML 표준명세에기반한모델작성과 UML2.0 표기법을지원 완전한 UML Profile 개념을제공하여플랫폼에독립적인모델을작성할수있도록지원 뛰어난확장성과유연성을제공 모델을소스코드로생성하고, 소스코드로부터모델을 Reverse Engineering 할수있음 심플한인터페이스로학습및사용용이 개발효율증대 3
StarUML 개요 l StarUML 주요기능 4 l StarUML 를이용하면 UML Diagram 을빠르고쉽게그릴수있음 l 모델을소스코드로생성하고, 소스코드로부터모델을 Reverse Engineering 가능 l.net, J2EE 와같은플랫폼환경을적용 l StarUML 에서그릴수있는 Diagram 종류 Class Diagram Use Case Diagram Sequence Diagrams Collaboration Diagrams Statechart Diagram Activity Diagram Component Diagram Deployment Diagram Composite Structure Diagram
StarUML 개요 l StarUML 화면소개 5
StarUML 설치 l 아래의사이트에서 StarUML 을다운받아설치 l http://sourceforge.net/projects/staruml/files/staruml/5.0/sta ruml-5.0-with-cm.exe/download 6
StarUML : 다이어그램생성방법 l Step Step 1 ( 계속 ) l StarUML 을실행하고새 Project 를생성 l Approach 는 Default Approach 를선택 7
StarUML : 다이어그램생성방법 l Step Step 2 ( 계속 ) l 각다이어그램생성방법 Model Explorer 의각다이어그램에적합한 Model 선정 -> 오른쪽버튼클릭 -> Add Diagram -> 원하는다이어그램선택 -> 이름변경 8
StarUML : 다이어그램생성방법 l Step Step 3 l 선택한다이어그램이 Model Explorer 에생성되고, ToolBox 와 Main Window 가다이어그램의종류에맞게생성 9
StarUML 연습 - Use Case Diagram l 사용사례 l StarUML의기능을소개위한간단한수강신청시스템 수강신청요구사항 이시스템은수강신청페이지에접속하여수강신청을할수있도록도와주는것이다. 시스템에등록된학교학생이수강신청페이지에로그인후과목을선택하고, 수업을선택하여잔여좌석을확인한다. 만약, 잔여좌석이없을경우, 과목선택부터다시하고잔여좌석이있을경우수강신청을완료하게된다. 10
StarUML 연습 Use Case Diagram l Use Case Diagram 그리기 l Use Case Diagram 을그리기위해서 Diagram 을생성 Model Explorer 의 <<usecasemodel>> Use Case Model 선택 -> 마우스오른쪽버튼클릭 -> Add Diagram -> Use Case Diagram 선택 11
StarUML 연습 Use Case Diagram Use Case Diagram Tool Bar 12
StarUML 연습 Use Case Diagram Use Case Diagram Main 선택 13
StarUML 연습 Use Case Diagram Use Case Diagram ToolBox -> Actor 선택 14
StarUML 연습 Use Case Diagram Use Case Diagram Actor 박스이름기입 원하는이름으로기입 15
StarUML 연습 Use Case Diagram Use Case Diagram UseCase 선택 16
StarUML 연습 Use Case Diagram Use Case Diagram UseCase 이름기입 사용할이름기입 17
StarUML 연습 Use Case Diagram Use Case Diagram Association 선택 18
StarUML 연습 Use Case Diagram Use Case Diagram 두요소를선택한후 (Shift) 가운데드래그 19
StarUML 연습 Use Case Diagram Use Case Diagram 대기상태에서수강신청을하기위해수강신청페이지에접속한다. 로그인을하고과목목록을확인한뒤과목을선택한다. 선택한과목의수업을선택하면수강신청이완료된다. 20
StarUML 연습 Class Diagram 10page 의수강신청시스템의요구사항을 Class Diagram 으로.. 학교는 0 명이상의학생으로구성된집합연관이고학생은여러수업을, 수업은여러명의학생을수용할수있는다대다관계이다. 교수한명당 0 개이상의수업을담당한다. 21
StarUML 연습 Class Diagram Class Diagram Tool Bar(1/2) 22
StarUML 연습 Class Diagram Class Diagram Tool Bar (2/2) 23
StarUML 연습 Class Diagram l Use Case Diagram 을그리기위해서 Diagram 을생성합니다. Model Explorer 의 <<designmodel>> Design Model 선택 -> 마우스오른쪽버튼클릭 -> Add Diagram -> Class Diagram 선택 24
StarUML 연습 Class Diagram 시스템을구성하는학교클래스를표현합니다. Toolbox 의 Class 에서 Class 아이콘클릭 -> 마우스로 Class 크기지정 -> Class 이름입력 -> Enter 25
StarUML 연습 Class Diagram l 학교 Class 에 Attributes 를입력합니다. 학교 Class 선택 -> 마우스오른쪽버튼클릭 -> Collection Editor 클릭 Attributes 탭 -> Insert 아이콘클릭 -> Edit 클릭 -> 마우스오른쪽버튼클릭 -> Name 변경 26
StarUML 실습 Class Diagram l 학교 Class 에 Operation 를입력합니다. l 학교 Class 선택 -> 마우스오른쪽버튼클릭 -> Collection Editor 클릭 l Operations 탭 -> Insert 아이콘클릭 -> Edit 클릭 -> 마우스오른쪽버튼클릭 -> Name 변경 27
StarUML 연습 Class Diagram 학교 Class 생성방법을참고하여교수, 수업, 학생 Class 도다음과같이생성합니다. 28
StarUML 연습 Class Diagram 클래스간의관계를표현해줍니다. 집합연관관계 ( 한클래스가다른클래스를포함하는관계를의미합니다.) Toolbox 의 Class 에서 Aggregation 클릭 -> Class 와 Class 마우스로연결 29
StarUML 연습 Class Diagram 연관관계 ( 한클래스와다른클래스가연관관계가있음을의미함 ) Toolbox 의 Class 에서 Association 클릭 -> Class 와 Class 마우스로연결 30
StarUML 실습 Sequence Diagram 수강신청시스템의요구사항을 Sequence Diagram 으로표현하면 대기상태에서수강신청을하기위해수강신청페이지에접속한다. 로그인을하고과목목록을확인한뒤과목을선택한다. 선택한과목의수업을선택하면수강신청이완료된다. 31
StarUML 실습 Sequence Diagram Sequence Diagram Tool Bar 32
StarUML 실습 Sequence Diagram 수강신청시스템의요구사항을 Sequence Diagram 으로표현하면 대기상태에서수강신청을하기위해수강신청페이지에접속한다. 로그인을하고과목목록을학인한뒤과목을선택한다. 선택한과목의수업을선택하면수강신청이완료된다. 33
StarUML 실습 Sequence Diagram l 상호작용에참여하는개체들을표시합니다. Toolbox 의 Sequence 에서 Object 아이콘클릭 -> 마우스로 Object 크기지정 -> Object 이름입력 -> Enter 34
연습과제 2-1: 사용사례다이어그램 35
연습과제 2-2: 클래스다이어그램 36
연습과제 2-3: 순서다이어그램 37