일종의 설계에 필요한 요소를 통합하여 하나의 언어수단으로 다른 사람과 나 자신간의 설계구조를 상호 이해하고 개발에 보다 치밀한 완성도를 이끌어 낼수 있도록 하는 설계언어입니다.
UML(Unified Modeling Language)이라는 언어의 목적은 단순한 소프웨어의 개발에 관련된 설계뿐만아니라 비지니스 프로세스, 업무처리, 네트워크 설계등의 다양한 분야를 나타낼수 있도록 만들어졌습니다. 이름에서 알수 있다 싶이 Unified라는 단어가 범용적인 목적을 나타낸다고 할수 있습니다.
여러 경우의 예를 가지고 상호 연관을 짓는 것이라 하겠습니다. 어떤것이 필요하고 또한 어떤것이 반드시는 아니지만 경우에 따라서 필요한 행위들을 기술한다고 보시면 될듯 합니다.
Actor : 행위자 자체를 나타내는 것으로 수평으로 손을 들고 다리를 벌린 상태의 아이콘(막대인간:졸라맨~)을 사용하여 Use case로의 시작과 그 행동결과를 받는 위치에 그립니다.
Use case : 쓰임새를 기술한다고 할수 있는데 대상체에 대한 명세화만 하며 행동방법은 규정하지 않는것을 원칙으로 합니다. 동그라미로 표현합니다.
System : Use case의 특정한 분석을 통하여 하나의 묶음의 Use case를 System으로 부르며 사각형으로 표기하고 그 안에 보통은 Use case의 동그라미가 있습니다. => Use case diagram에 넣는것 좀 문제가 있을듯합니다. 분석 기법적 요소가 아닐까 생각이 드는데요.. --idlock
Generalization : 같은 계통의 일반적 요소와 구체적 요소의 관계를 표시합니다. 주로 일반화라고 하죠.
Association: 2개 이상의 객체의 관계성을 표시하고, 각 관계는 연관관계(Assocation), 집합관계(Aggregate), 합성관계(Composite)로 나누워질수 있습니다.
Include : Use case가 다른 Use case를 포함하는 관계이고, 보통 공통 Use Case를 나타낼때 주로 씁니다.
Extend : Use case가 다른 Use case를 확장하는 관계이고, 이거이랑 Generalization이랑 헷갈리기가 쉬운데, 일반화와 다르다고 생각될점은 특수한 기능 확장으로 생각하시면 좋을듯합니다.
이 페이지가 혹시 UserModeLinux = UML과 추후 헷갈리거나 할수도 있을듯... 관리자님이나 다른분의 명쾌한(?) 조언 부탁드립니다. by idlock
Wikipedia의 경우에는 UML페이지가 있고, 거기서 링크된 User-mode Linux와 Unified Modeling Language 페이지들이 따로 있습니다. UML 페이지 하단에는 "이 패이지는 애매한 점을 풀기 위해 만들어진 페이지입니다,"라는 표시가 되어 있습니다. 혹시 국내에 User-mode Linux에 관심 있으신 분들이 계시면 이 페이지도 비슷하게 편집될 수 있겠죠.. --검은해