정보처리기사 실기 공부log - 20200922

2020. 9. 22. 13:32컴퓨터언어

728x90
반응형

 

연관관계

public class Player {
    private Uniform theUniform;
}

public class Uniform {
}

/*
Player는 Uniform 클래스를 이용하여 객체변수 theUniform을 생성하였지만,
Uniform 클래스는 Player 클래스를 이용하지 않는다.
즉 Player 클래스는 Uniform 클래스를 알고 있지만 Uniform 클래스는 Player 클래스를 알지 못하므로
한쪽 방향으로만 관계가 있다.
*/

 

public class Player {
    private Game theGame;
}

public class Game {
    private Player thePlayer;
}

/*
Player 클래스는 Game 클래스를 이용하여 객체변수 theGame을 생성하고,
Game 클래스도 Player 클래스를 이용하여 객체변수 thePlayer를 생성한다.
즉 두 클래스는 서로를 알고 있으므로 서로 관계가 있으며 서로 사용할 수 있다.
*/

 

집합관계

public class Player {
    private Fan theFan;
    public Player(Fan theFan) {
        this.theFan = theFan;
    }
}

public class Fan {
}

/*
Player 클래스의 Player() 메소드는 Fan 클래스의 객체변수 theFan을 매개변수로 사용한다.
이와 같이 외부 클래스의 객체 변수에 대한 주소만 받아 사용하는 관계가 집합관계다.
*/

 

포함관계

public class Team {
    private Player thePlayer;
    
    public Team() {
        thePlayer Player2 = new thePlayer(); // 객체변수로 또다른 객체변수 생성
    }
}

public class Player {
}

/*
Team 클래스의 Team() 메소드는 Player 클래스를 이용하여 생성한 객체변수 thePlayer를 이용하여
새로운 객체 변수 Player2를 생성한다.
이와 같이 외부 클래스를 이용해 객체 변수를 생성하는 관계를 포함관계라고 한다.
*/

 

일반화관계

public class Player {
}

public class M_Player extends Player {
}

public class C_Player extends Player {
}

/*
M_Player와 C_Player는 Player 클래스를 상속받는다.
*/

 

의존관계

public class Player {
    private Int Playpoint;
    
    public void FindSalary(SalaryCount p) {
        p.GetSalary(PlayerPoint);
    }
}

public class SalaryCount {
}

/*
SalaryCount 클래스는 Player 클래스의 FindSalary() 메소드가 수행되는 경우에만 사용된다.
이와 같이 필요에 의해 짧은 시간 동안만 연관을 유지하는 관계를 의존 관계라고 한다.
*/

 


액티비티 다이어그램 = 액션 + 액티비티 + 노드 + 스윔레인 

각각의 유스케이스에 대해 그 기능이 처리되는 흐름을 순서에 맞게 사용자의 관점에서 자세한 그림으로 표현한 것 

 

액션(둥근 사각형) 

더 이상 분해될 수 없는 단일 작업 

 

액티비티(둥근 사각형) 

몇 개의 액션으로 분리될 수 있는 작업 

 

스윔레인 

액티비티 수행을 담당하는 주체를 가로/세로 실선으로 구분 

 

 

정적 모델링 

사용자가 요구한 기능을 구현하는 데 필요한 자료들의 논리적인 구조를 개발자의 관점에서 표현한 것 

UML을 이용한 정적 모델링의 대표적인 것이 클래스 다이어그램 

 

클래스 다이어그램 

시스템을 구성하는 클래스 

클래스의 특성인 속성과 오퍼레이션 

속성과 오퍼레이션에 대한 제약조건 

클래스 사이의 관계 

 

연관 클래스 

두 클래스가 연관 관계에 있을 때 추가적으로 표현해야 할 속성이나 오퍼레이션이 있는 경우 사용되는 클래스 

두 클래스를 잇는 선의 가운데로부터 점선을 이어 표시 

이름은 연관 관계의 이름을 이용해 지정 

 

집합관계 : 다른 클래스의 객체 변수를 매개변수로 받아옴 

포함관계 : 다른 클래스의 객체 변수를 현재 클래스 내에서 new 키워드로 생성 

 

동적 모델링 

시스템 설계자가 시간의 흐름에 따라 변하는 시스템 내부 구성요소의 상태 변화를 파악하기 위해 그림으로 표현하는 것 

시퀀스 다이어그램, 커뮤니케이션 다이어그램, 상태 다이어그램 

 

시퀀스 다이어그램 

시스템이나 객체들이 메시지를 주고받으며 시간의 흐름에 따라 상호작용하는 과정을 액터, 객체, 라이프라인, 활성상자, 메시지 등 요소를 사용하여 그림으로 표현한 것 

 

액터 

시스템으로부터 서비스를 요청하는 외부 요소로, 사람이나 외부 시스템을 의미 

 

객체 

메시지를 주고받는 주체 

: 앞이 객체명, 뒤쪽이 클래스명 

 

라이프라인 

객체가 메모리에 존재하는 기간으로, 객체 아래쪽에 점선을 그어 표현 

 

활성상자 

객체가 메시지를 주고받으며 구동되고 있음을 표현 

라이프라인 상에 겹쳐 직사각형 형태로 표현 

 

메시지 

객체가 상호작용을 위해 주고받는 것 

메시지를 받는 쪽으로 화살표를 그린다. 

 

--- 

 

커뮤니케이션 다이어그램 

시스템이나 객체들이 메시지를 주고받으며 시간의 흐름에 따라 상호작용하는 과정을 액터, 객체, 링크, 메시지 등 그림으로 표현한 것. 

시퀀스 다이어그램의 라이프라인과 활성상자 대신 “링크"가 객체 간 관계를 표현 

 

상태 다이어그램 

객체들 사이에 발생하는 이벤트에 의한 객체들의 상태 변화를 상태, 이벤트, 상태전환 등 그림으로 표현한 것 

 

+ (Public) : 어떤 클래스에서라도 접근이 가능 

- (Private) : 해당 클래스 내부에서만 접근이 가능 

# (Protected) : 동일 패키지 내의 클래스 또는 해당 클래스를 상속 받은 외부 패키지의 클래스에서 접근이 가능 

~ (Package) : 동일 패키지 내부에 있는 클래스에서만 접근이 가능 

 

데이터 모델 

현실세계의 정보들을 컴퓨터에 표현하기 위해서 단순화, 추상화하여 체계적으로 표현한 개념적 모형 

 

데이터 모델의 구성요소 

개체 :  데이터베이스에 표현하려는 것으로, 사람이 생각하는 개념이나 정보 단위 같은 현실 세계의 대상체 

속성 : 데이터의 가장 작은 논리적 단위로서 파일 구조상의 데이터 항목 또는 데이터 필드 

관계 : 개체 간의 관계 또는 속성 간의 논리적 연결 

데이터 모델의 종류 = 개념적 데이터 모델 + 논리적 데이터 모델 + 물리적 데이터 모델 

데이터 모델에 표시할 요소 = 구조 + 연산 + 제약조건 

 

728x90
반응형