- 클래스 다이어그램
클래스 간 상호 관계를 나타내며 논리적/물리적 구성요소 설계 시 사용
클래스 박스를 생성하고 마우스 우클릭으로 add - attribute, operation 을 할 수 있는데 다이어그램에서는 멤버변수
를 속성(attribute), 메서드를 연산(operation) 이라고 칭한다.
접근 제한자 기호
+ : public # : protected ~ : default - : private
우측 properties 에서 visibility 로 접근 제한자 설정하거나 속성, 연산 작성 시 직접 작성 가능
프로퍼티에서 스테레오 타입도 설정 할 수 있다. (interface, constructor, isAbstract 등)
<관계>
1. 연관 관계(Association)
: 한 클래스가 다른 클래스를 속성으로 가지면서 클래스 간의 관련성을 가지는 것을 의미.
메시지 전달의 통로 역할을 수행
2. 방향성이 있는 연관 관계(Directed Association)
: 연관 관계에서 메시지 전달의 방향을 한 방향으로만 이루어지게 하기 위한 의미로 사용
3. 집합 관계(Aggregation) ─────◇
: 연관 관계가 세분화하여 양 클래스의 관계를 1:N 의 관계로 나타냄
부분 객체가 다수의 전체 객체에 의해 공유 될 수 있음을 의미
4. 포함 관계(Composition) ─────◆
: 연관 관계가 세분화하여 양 클래스의 관계를 1:1 의 관계로 나타냄
부분 객체가 오직 하나의 전체 객체에 포함 될 수 있음을 의미
5. 의존 관계(Dependency)
: 두 클래스의 연산간 호출 관계를 표현한 것으로 제공자의 변경이 이용자에 영향을 미칠 수 있음을 의미
이용자는 의존 관계를 통해 제공자의 연산을 호출 가능
6. 일반화 관계(Generalization)
: 한 클래스(상위클래스)가 다른 클래스(하위클래스) 보다 일반적인 개념임을 의미
단순하게 상속 관계를 나타내기 위해 사용
7. 실체화 관계(Realization) - toolbox의 Classes(Advanced) 탭에서 확인
: 인터페이스를 실체화하여 사용하는 관계를 의미
* 문제
쇼핑몰 사이트를 사용하는 사용자는 회원과 관리자가 있다.
회원은 이름, 나이, 아이디, 비밀번호, 주소 속성을 가지고 있다.
관리자는 이름, 나이, 아이디, 비밀번호, 주소, 권한 속성을 가지고 있다.
회원은 필요한 경우 자신의 비밀번호를 변경할 수 있으며 비밀번호 변경에는 현재 사용중인 비밀번호와
변경할 비밀번호가 필요하다. 관리자도 필요한 경우 자신의 비밀번호를 변경할 수 있으며 회원과 동일한
정보가 필요하다. 추가로 관리자는 회원의 비밀번호를 강제로 변경할 수 있으며 이때에는 회원의 아이디와
변경할 비밀번호만 있으면 된다. 모든 클래스는 캡슐화 해야한다.
- 시퀀스 다이어그램
시스템 내부에서 동작하는 객체들 사이에서 주고 받는 메시지를 시간 순서대로 표현
생명선
상호작용에 참여하는 대상을 나타내고 해당 대상의 생명 시간을 수직적으로 표현하여 나타냄
수직선 끝에 X 표시가 있는 경우 해당 대상이 소멸하였음을 명시한다.
메시지
생명선 간에 전달되는 메시지
- 동기 메시지(Message)
: 메시지를 송신한 객체는 메시지를 수신한 객체의 응답이 있기 전까지 어떠한 동작도 하지 못하고 응답 메시지
를 받은 이후에 동작을 할 수 있는 경우 사용
- 비동기 메시지(Async message)
: 메시지를 송신한 객체는 메시지를 수신한 객체의 응답이 없어도 동작을 계속 할 수 있는 경우 사용
- 응답 메시지(Reply message)
: 송신한 메시지에 대한 수신 메시지
CombinedFragment : 일반적인 시간 순서대로 진행되지 않고 if문, 반복문 등이 필요한 경우 사용
상호작용 연산자 alt(=if), loop(=반복), break(=중단) 이 있다
* 문제
모든 사용자는 게시판의 게시글을 볼 수 있으며 게시글을 보기 위해서는 해당 게시글의 번호를 웹 서비스에
요청하면 된다.
웹 서비스는 사용자가 요청한 게시글이 있는지 데이터베이스에 질의 후 게시글 정보가 있다면 해당 글을
사용자에게 제공을 하고 없다면 '해당 게시글이 존재하지 않습니다' 라는 메시지를 가지는 페이지를 제공한다.
추가로 관리자에 의해 블락 처리가 된 게시글인 경우 '관리자에게 문의하세요' 라는 메시지를 가지는 페이지를
제공해야 한다.
- ER 다이어그램 - Entity(개체) Relation(관계) 다이어그램
데이터베이스에서 사용하는 개체(테이블)의 속성과 개체 간의 관계를 표현하기 위해 사용하는 모델
데이터 모델링 방법론에 따르면 개념 설계 → 논리 설계 → 물리 설계 단계로 나아가지만, 보통 논리 설계에서
물리 설계로 진행하게 된다.
개념 설계 : 핵심 개체와 개체간의 관계를 바탕으로 다이어그램을 생성. 많은 부분이 추상화되어 있다.
논리 설계 : 개념 설계를 좀 더 구체화하여 개체에 속성을 테이블화 하고 상세화 한다.
물리 설계 : 논리 설계를 실제 프로그램에 어떻게 표현할 것인지를 다루는 과정. 테이블, 컬럼을 구성하고 실체화 함
관계를 나타내기 위해 사용하는 화살표 : 까마귀 발 화살표 / IE 표기법
'국비' 카테고리의 다른 글
01.09 국비학원 68일차 (Github Pages 정적웹페이지, Servlet/JSP) (0) | 2023.01.10 |
---|---|
01.06 국비학원 67일차 (ER다이어그램, 정규화) (0) | 2023.01.07 |
01.04 국비학원 65일차 (starUml 설치, 유스케이스 다이어그램) (0) | 2023.01.05 |
01.03 국비학원 64일차 (평가7) (0) | 2023.01.04 |
01.02 국비학원 63일차 (전체 복습 홈페이지) (0) | 2023.01.03 |