UML을 이용한 설계과정
ICONIX
사용자에게 보이는 시스템 외부 기능을 표현
- 액터의 관점에서 외부로 보이는 GUI프로토타입
- 개발될 시스템의 시나리오 ->동적인 모델링 필요
시스템을 구성하는 클래스 및 클래스 사이의 관계를 표현(구조중심)
UML다이어그램
시스템의 모델링은 기능적 구조적 동적 관점으로 구성된다
내용추가필요
UML모델링 과정
1.요구를 사용 사례로 정리하고 사용 사례 다이어그램을 작성
2.클래스 후보를 찾아내고 개념적인 객체 모형을 작성
3.사용 사례를 기초하여 순서 다이어그램을 작성
4.클래스의 속성,오퍼레이션 및 클래스 사이의 관계를 찾아서 객체 모형 완성
5.상태 다이어그램이나 액티비티 다이어그램 등 다른 다이어그램을 추가하여 UML모델 완성
6.서브 시스템을 파악하고 전체 시스템 구조를 설계
7.적당한 객체를 찾아내거나 커스텀화 또는 객체를 새로 설계
-실제 코딩할때 UML모델을 본다
성공적인 모델링을 위한 조건
복잡한 문제라면 도메인을 잘 아는 전문가와 같이 모델링을한다
각 모델의 목적을 잘 이해하고 모델링을 위하여 어떤 정보가 필요한지 잘 알아둠
한번 그린 모델로 만족하지 않고 계속 논의하고 향상시켜 나감(리팩토링)
소그룹 회의를 열어 모델을 칠판에 그리고 토의
디자인 패턴을 잘 숙지하고 필요하면 이를 이용
동적 모델링이란
클래스들의 상호작용이나 클래스의 상태 변화 등 시스템 내부의 동작을 모델링
-사용사례로 표현된 기능을 만족시키기위해 시스템 내부의 구성 요소들이 어떻게 협력하는지 나타내는것
-객체 메시지
객체가 특정 시간에 다른 객체에 어떻게 메시지를 보내 상호작용하는지를 나타내는것
-시간,메시지 호출 순서,논리적인 흐름.
동적 모델링 과정
내부 구성 요소들의 시간의 흐름에 따라 어떻게 상태가 바뀌며 상호작용하는지 동적 관점에서 표현
-순서다이어그램/커뮤니케이션 다이어그램
-상태 다이어그램
다이나믹한 구조에 초점
동적 모델이란
동적 모델의 목적
-시스템에 존재하는 객체들 사이의 인터랙션을 모델링
-서브시스템 사이의 인터랙션을 모델링
-사용 사례를 구현하는 객체 인스턴스 사이의 인터랙션을 모델링
-오퍼레이션 안에 존재하는 객체 사이의 인터랙션을 모델링
-다른 순서 다이어그램과 결합하여 사용될 수 있는 인터랙션 조각을 모델링
시스템 실행의 스냅샷
동적 모델의 내용
사용 사례에 참여하는 객체가 무엇이며 어떻게 하는지 보는것
인터랙션 다이어그램
- 시퀀스 다이어 그램
-(1)객체와 객체사이의 상호작용을 표현
-(2)시간축을 이용하여 사건흐름을 명시적 표현
- (3) 새로운 오퍼레이션을 찾을 수 있다.
- 커뮤니케이션 다이어그램
-(1) 클래스 사이의 관계도를 나타낸다
-(2) 객체와 액터의 관계에 초점을 두고 사건의 흐름을 네트워크 형태로 표현
시퀀스 다이어그램
시퀀스 다이어그램은 시스템의 동적인 측면을 모델링하는데 사용한다
-객체/액터가 교환하는 메시지 순서
-시스템이 어떻게 수행되는지 시각화하는데 도움을 준다
-시퀀스 다이어그램은 사용사례 다이어그램을 기초로 하여 초벌 클래스 다이어그램으로부터 작성된다
-(1) 객체의 집합이 액터와 어떻게 인터랙션이 이루어지는지 나타내는것이 목적
클래스의 인스턴스(객체)
- 박스안에 클래스 이름 객체 식별자를 쓰고 밑줄
액터
-사용사례 다이어그램에 그려진 막대 인간 심볼을 사용
메시지
-액터에서 객체로 객체에서 객체로 이동하는 화살표로 표시
시퀀스 다이어그램 작성
1.참여하는 객체를 파악
2.파악한 객체를 x축에 나열하고 라이브 라인을 그음
3.사용사례에 기술된 이벤트 순서에 따라 객체의 메시지 호출
객체 나타내기
객체 사이의 메시지
메시지는 수평화살표로 표시된다
-점선 화살표는 리턴을 표시
-화살표 헤드의 모양으로 정상/비동기표시
객체의 라이프 타임
생성 :새로 생성된 객체는 new라고 표시하고 기존 객체보다 조금 아래위치
삭제 : 객체 라이프 라인의 끝에 x표시한다
예시) 시퀀스 다이어그램 :수강신청
반복,회기,다중객체
반복
프레임에 반복을 표시
회귀
회귀메세지를 인터프리터에 표시한다
다중객체
객체를 뒤로 쌓아놓는이미지로 표시
제어 패턴분석
내용추가필요
자료출처 - 서울시립대학교 2019 소프트웨어공학 강의자료
'3학년2학기 > 소프트웨어공학' 카테고리의 다른 글
소프트웨어 개발 프로세스 목차 (0) | 2019.10.24 |
---|---|
커뮤니케이션 다이어그램 (0) | 2019.10.18 |
동적 모델링 목차 (0) | 2019.10.18 |
코드매핑 (0) | 2019.10.18 |
클래스 다이어그램 작성과정 (0) | 2019.10.18 |
댓글