UML Unified Modeling Language
- 업무, 어플리케이션, 아키텍처 모델링에 사용하는 모델링 언어로 다양한 언어 코드 생성에 사용
UML 구성
- 사물, 관계, 다이어그램으로 구성
1. 사물 things
1.1 구조사물 structual
- UML 모델의 정적인 부분, 개념적/물리적 요소 표현. 클래스 class, 유스캐이스 use case, 컴포넌트 component, 노드
1.2 행동 사물
- 시스템 행위. 상호작용 interaction, 상태 state
1.3 그룹 사물
- 개념을 그룹화하는 사물. 패키지 package
1.4 어노테이션 사물
- 부가적 개념 설명. 노트 note
2. 관계
2.1 연관 관계 association : 다른 사물과 연관 있음
2.2 집합 관계 aggregation : 전체와 부분간 관계
2.3 포함 관계 coposition : 큰 부분이 소멸시 포함 부분도 함께 소멸됨
2.4 일반화 관계 generalization : 부모/자식 관계로 상속을 나타냄
2.5 실체화 관계 realization : 인터페이스 구현 관계
2.6 의존 관계 dependency : 한사물 변화가 타사물에 영향주는 관계
3. 다이어그램
3.1 구조적 다이어그램
- 클래스 다이어그램 : 비슷한 객체들의 그룹
- 객체 다이어그램 : 객체의 인스턴스 사이 관계
- 컴포넌트 다이어그램 : 소프트웨어 물리적 단위(exe, dll 등)의 구성과 연결상태 표현
- 배치 다이어그램 deployment diagram : 결과물, 프로세서, 하드웨어 등 물리적연결 표현
- 패키지 다이어그램 package diagram : 유스케이스나 클래스 등 모델 요소들을 그룹화한 패키지들의 관계 표현
3.2 행동 다이어그램
- 유스케이스 다이어그램 usecase : 사용자 입장에서 본 시스템
- 시퀀스 다이어그램 sequence : 객체간 메시지 시간 흐름에 따른 표현
- 상태 다이어그램 state : 객체의 상태 변화를 나타냄
- 활동 다이어그램 activity : 유스캐이스 내부나 객체 동작 중 발생활동 표현
- 커뮤니케이션 다이어그램 communication : 객체간 메시지 표현
유스케이스
- 타원으로 표시하고 안에 유스케이스명 작성
클래스
- 클래스 : 공통의 속성, 오퍼레이션 및 관계를 갖는 객체들의 집합
1. 클래스 정의
- 클래스 이름은 대문자로 시작, 속성과 오퍼레이션은 소문자로 시작
- 패키지와 함께 표현시 패키지명::클래스이름 -> Dog::Bulldog
2; 속성 정의
- 속성이름:속성타입[=초기값]
- 가시성 visibility : +(public), #(protected), -(private)
- 밑줄 : 해당 클래스에 유일한속성
3. 기능 정의
- 오퍼레이션이름(파라미터 리스트):리턴타입
- visibility name(parameter-list):return-type-expression
4. 가시성 visibility
- +(public) : 외부 클래스에서도 사용 가능
- #(protected) : 하위 클래스와 해당 클래스 내에서만 가능
- -(private) : 해당 클래스에서만 가능
- ~(package, default) : 패키지 내에서만 사용 가능
5. 추상 클래스 abstract class
- 추상메소드가 1개 이상 존재하는 클래스
*이탤릭체로 표기하여 추상 메소드임을 알림
객체
- 클래스의 인스턴스
- 특정한 속성 값 가짐
- 객체 이름은 밑줄로 표현 ex) 클래스이름:객체이름
협력 collaboration
- 목적 달성하기 위한 일련의 행위
- 타원을 점선 표기, 안에 역활 내용 기입
상태
- 객체 상태를 순서로 명시
- 이벤트에 대한 객체의 반응
액티브 클래스
- 하나 이상의 프로세스나 스레드 같는 객체를 파생하는 클래스 기술
- 클래스 표기와 비슷하지만, 양옆에 세로라인 추가
컴포넌트
- 시스템을 구성하는 물리적인 단위로 독립적인 실행단위 혹은 배포단위
- 배치 컴포넌트 deployment compoenent : dll, exe 같이 실행가능한 구성요소
- 작업 결과물 컴포넌트 word product compoenent : 실행에 쓰이지않으나 개발 작업에 만들어지며, 실행 시스템 생성
-> ex) 분석/설계 문서, 소스코드 파일, 데이터 파일
- 실행 컴포넌트 executable component : 실행 결과로 생성되는 컴포넌트로 객체, DB레코드, 파일
노드
- 물리적인 요소로 시스템 실행때 존제
- 메모리와 처리능력을 가진 자원
- 육면체로 표현하여 필요시 컴포넌트 표기
'컴퓨터과학 > SW, DB' 카테고리의 다른 글
어플리케이션 테스트 - 2 테스트 프로세스 (0) | 2020.05.19 |
---|---|
어플리케이션 테스트 - 1 어플리케이션 테스트 (0) | 2020.05.19 |
소프트웨어 공학 활용 - 8 데이터 모델 (0) | 2020.05.19 |
소프트웨어 공학 활용 - 6 소프트웨어 요구사항 (0) | 2020.05.18 |
소프트웨어 공학 활용 - 4 애자일 방법론 (0) | 2020.05.18 |