2013년 9월 14일 토요일

StarUML - The Open Source UML/MDA Platform

이전 블로그에서 이전 함 (원본 글 2013/09/14 작성)


UML을 지원하는 소프트웨어 모델링 플랫폼으로 버전 1.4에 기반을 두고 있으며 버전 2.0도 지원
UML 프로파일 개념과 템플릿 기반의 문서 및 코드 생성을 지원, MDA(Model Driven Architecture) 접근방법 지원.

유로 UML 모델링 툴이야 좋은 것들이 많지만 무료 중에서는 StarUML이 단연 최고일듯 하다 ArgoUML은 UI interface가 StartUML 보다는 좋지만 안정성이나 기능면에서 좀 못 미더웠음.

하지만 StarUML은 2005년 오픈소스로 전환되고 개발사가 망한 뒤 더이상 개발은 되지 않아 major한 기능 추가는 없는 상태 임.


[특징]
  • 정확한 UML 표준 모델 : OMG 표준 명세에 따라 모델 작성 가능
  • 개방적 소프트웨어 모델 포맷 : 모든 파일 포맷은 XML로 구성, 변환 사용 용이
  • 진정한 MDA 지원 도구 : UML profile을 완벽 지원, Platform Independent Model의 작성 가능
  • 방법론 및 플랫폼의 적응성 : 여러 접근법을 지원(UML, 4+1, StartUML 등)
  • 뛰어난 확장성 : Microsoft COM 자동화를 지원하는 언어에서도 StartUML을 제어하고 통합된 추가 모델 개발 가능
  • 소프트웨어 모델 검증 기능
  • 유용한 Add-In들

[모델링 Documentation]

- Diagram 종류
이어그램 종류설명
 Class Diagram클래스 다이어그램(Class Diagram)은 클래스관련 요소들의 여러 가지 정적인 관계를 시각적으로 표현한 것입니다. 클래스 다이어그램은 클래스(Class) 뿐만 아니라 인터페이스(Interface), 열거형(Enumeration), 패키지(Package) 및 여러 가지 관계들 뿐만 아니라 인스턴스(Instance)와 그것들의 연결(Link) 등도 포함할 수 있습니다.
 Use Case Diagram유스케이스 다이어그램(Use Case Diagram)은 특정 시스템 혹은 개체내의 유스케이스(Use Case)들과 그 외부의 액터(Actor)들 간의 관계를 표현한 것입니다. 유스케이스는 해당 시스템의 기능을 표현하며 그것들이 어떤 외부 액터들과 상호작용하는지를 나타냅니다.
 Sequence Diagram시퀀스 다이어그램(Sequence Diagram)은 인스턴스들이 어떻게 상호작용을 하는지를 묘사합니다. 하나의 협동-인스턴스집합(CollaborationInstanceSet)에 포함된 인스턴스(Instance)들 상호간에 주고받는 자극(Stimulus)들의 집합인 상호작용-인스턴스집합(InteractionInstanceSet)을 직접적으로 표현합니다. 시퀀스 역할 다이어그램(Sequence Role Diagram)은 역할(ClassifierRole) 중심의 관점을 반영한 반면, 시퀀스 다이어그램(Sequence Diagram)은 인스턴스(Instance) 중심의 관점을 반영한 것입니다.
 Sequence Diagram (Role)시퀀스 역할 다이어그램(Sequence Role Diagram)은 역할 개념들이 어떻게 상호작용을 하는지를 묘사합니다. 하나의 협동(Collaboration)에 포함된 역할(ClassifierRole)들 상호간에 주고받는 메시지(Message)들의 집합인 상호작용(Interaction)을 직접적으로 표현합니다. 시퀀스 다이어그램(Sequence Diagram)은 인스턴스(Instance) 중심의 관점을 반영한 반면, 시퀀스 역할 다이어그램(Sequence Role Diagram)은 역할(ClassifierRole) 중심의 관점을 반영한 것입니다.
Collaboration Diagram협동 다이어그램(Collaboration Diagram)은 인스턴스들이 어떻게 협동하는지를 묘사합니다. 하나의 협동-인스턴스집합(CollaborationInstanceSet)에 포함된 인스턴스(Instance)들의 협동 모델을 직접적으로 표현합니다. 협동 역할 다이어그램(Collaboration Role Diagram)은 역할(ClassifierRole) 중심의 관점을 반영한 반면, 협동 다이어그램(Collaboration Diagram)은 인스턴스(Instance) 중심의 관점을 반영한 것입니다.
Collaboration Diagram (Role)협동 역할 다이어그램(Collaboration Role Diagram)은 역할 개념들이 어떻게 협동하는지를 묘사합니다. 하나의 협동(Collaboration)에 포함된 역할(ClassifierRole)들의 협동 모델을 직접적으로 표현합니다. 협동 다이어그램(Collaboration Diagram)은 인스턴스(Instance) 중심의 관점을 반영한 반면, 협동 역할 다이어그램(Collaboration Role Diagram)은 역할(ClassifierRole) 중심의 관점을 반영한 것입니다.
Statechart Diagram상태 다이어그램(Statechart Diagram)은 특정 개체의 동적인 행위를 상태(State)와 그것들간의 전이(Transition)를 통해 묘사합니다. 일반적으로 클래스의 인스턴스에 대한 행위를 묘사하는데 사용되지만 그 밖의 요소들에 대해서도 얼마든지 사용될 수 있습니다.
 Activity Diagram액티비티 다이어그램(Activity Diagram)은 상태 다이어그램의 특별한 형태로써, 활동들의 수행 흐름을 묘사하는데 적합합니다. 일반적으로 작업흐름(Workflow)을 표현하기 위해 많이 사용되며, 클래스, 패키지 혹은 연산 등의 개체에 대해 주로 사용됩니다.
Component Diagram컴포넌트 다이어그램(Component Diagram)은 소프트웨어 컴포넌트 사이의 의존관계를 묘사합니다. 소프트웨어 컴포넌트를 구성하는 요소들과 그것들을 구현하는 요소들도 모두 표현될 수 있습니다.
Deployment Diagram디플로이먼트 다이어그램(Deployment Diagram)은 물리적인 컴퓨터 및 장비 등의 하드웨어 요소들과 그것에 들이 배치되는 소프트웨어 컴포넌트, 프로세스 및 객체들의 형상을 묘사합니다.
Composite Structure Diagram
복합구조 다이어그램(Composite Structure Diagram)은 분류자(Classifier)의 내부 구조를 표현하는 다이어그램입니다. 여기에는 Classifier가 시스템의 다른 부분들과의 상호작용하는 지점 등을 포함합니다.



- Project 생성 시 
  4+1 View Model (Scenarios, Logical View, Development View, Process View, Physical View),
  Default Approach (Use Case Model, Analysis Model, Design Model, Implementation Model, Deployment Model) 등을 선택할 수 있다.
- 물론 각 Model에서 원하는 View를 별도 추가 가능하다. 

Architectural Blueprints—The “4+1” View Model of Software Architecture - Philippe Kruchten


[Screen Shots]


 



댓글 없음:

댓글 쓰기