*은 개인적으로 외우는 방식으로 개인적 의견입니다.
정리 혹은 급한 경우에 참고하세요.
제목에 ⭐이 있으면 해당 내용 꼭 외우세요 시험에 잘나옵니다.
정적 모델링의 개념
- 사용자가 요구한 기능을 구현하는데 필요한 자료들의 논리적인 구조를 표현한 것
-정적 모델링은 객체들은 클래스로 추상화하여 표현한다.
클래스(Class) 다이어그램
1. 개념
- 시스템을 구성하는 클래스, 클래스의 특성인 속성과 오퍼레이션, 속성과 오퍼레이션에 대한 제약조건, 클래스 사이의 관계를 표현한 것이다.
- 코딩에 필요한 객체의 속성, 함수 등의 정보를 잘 표현하고 있어 시스템을 모델링하는데 자주 사용된다.
- 클래스 다이어그램은 클래스, 제약조건, 관계 등으로 구성된다.
예제) 프로야구 리그에 필요한 정보의 일부를 표현한 클래스 다이어그램입니다.
- 리그에는 10개의 팀이 참가한다.
- 리그는 한개 이상의 경기장에서 경기가 진행된다.
- 매 경기는 두 팀이 진행하며 두팀은 한번 이상의 경기를 진행한다.
- 한 팀에는 한명 이상의 선수가 있다.
- 한 경기장에서는 한 경기 이상이 진행되며 경기는 여러 경기장에서 진행된다.
- 한 팀에서 최소 9명 이상의 선수가 한 경기에 출전하며, 경기에 출전하지 못하는 선수도 있고 여러경기에 출전하는 선수도 있다.
- 선수는 주전선수와 후보선수가 있다.
- 선수의 경력은 0보다 큰 값이 입력되어야 한다,
- 승점이 5 이상인 선수들은 연봉을 조정할 수 있으며, 연봉은 승점만큼 증가한다.
2. 클래스(Class)
- 클래스는 각각의 객체들이 갖는 속성과 오퍼레이션(동작)을 표현한다.
- 속성이나 오퍼레이션은 생략할 수 있지만 이름은 반드시 명시해야 한다.
- 속성이나 오퍼레이션이 생략된 경우에는 구획선을 그리지 않아도 된다.
클래스 이름 : 야구선수
속성: - 선수코드: String
- 이름: String
- 포지션: String[2]
- 경기수: Int=0
-경력 : Int{경력 > 0}
#승점 : Int
오퍼레이션: +연봉조정(승점:Int) : Int
* 속성이랑 오퍼레이션 표현 외우기!!
야구선수 클래스의 Java 코드 표현 입니다.
Class 야구선수 {
Private String 선수코드;
Private String 이름;
Private String[] 포지션 = new String[2];
Private Int 경기수 = 0;
Private Int 경력;
Protected Int 승점;
public Int 연봉조정(Int 승점);
}
속성(Attribute)
- 속성은 클래스의 상태나 정보를 표현한다.
[접근제어자]속성명 : 자료형 [다중성] [=초기값]
- 접근제어자 : 속성과 오퍼레이션을 어느 정도 까지 클래스 외부에 노출시킬지를 제어한다.
- 속성명 : 속성의 이름으로 사용자가 임의로 작성한다.
- 자료형 : UML에서 기본적으로 제공하는 자료셩 또는 사용자가 필요에 의해 새롭게 정의한 자료형을 사용할 수 있다.
- 다중성 : 동일한 속성명으로 여러 개의 속성 값을 가질 수 있는 것으로 배열과 같은 의미이다.
- 초기값 : 데이터를 입력하지 않았을 때 기본적으로 입력되는 값을 지정한다.
접근제어자
접근제어자 |
표현법 |
내용 |
public |
+ |
어떤 클래스에서라도 접근이 가능합니다. |
private |
- |
해당 클래스 내부에서만 접근이 가능합니다. |
protected |
# |
동일 패키지 내의 클래스 또는 해당 클래스를 상속 받은 외부 패키지의 클래스의 접근이 가능합니다. |
package |
~ |
동일 패키지 내부에 있는 클래스에서만 접근이 가능합니다. |
자료형
종류 |
자료형 |
문자형 |
String |
정수형 |
Integer, Int |
자연수 |
UnlimitedNatural |
논리형 |
Boolean |
실수형 |
Real, Float |
*접근제어자, 자료형은 기본으로 외우기
오퍼레이션(Operation, 연산)
- 오퍼레이션은 클래스가 수행할 수 있는 동작으로 함수라고도 한다.
[접근제어자]오퍼레이션명(매개변수1 : 자료형1, 매개변수2: 자료형2,...): 반환자료형
- 오퍼레이션명 : 오퍼레이션의 이름으로, 사용자가 임의로 작성한다.
- 매개변수 : 오퍼레이션으로 어떤 작업을 할 때 해당 오퍼레이션 수행에 필요한 값을 전달하기 위해 사용된다.
- 반환자료형 : 오퍼레이션 수행 후 반환되는 값에 대한 자료형으로 반환되는 값이 없으면 반환자료형을 Void로 지정한다.
3. 제약조건
- 속성에 입력될 값에 대한 제약조건이나 오퍼레이션 수행 전후에 지정해야 할 조건이 있다며 이를 적는다.
- 주석 도형안에 제약조건을 적은 후 제야고건이 적용될 속성이나 오퍼레이션을 점선으로 연결한다.
- 클래스안에 제약조건을 적을 때는 중괄호 {}를 이용한다.
4. 관계(Relationships)
- 관계는 클래스와 클래스 사이의 연관성을 표현한다.
- 관계에 참여하는 객체의 수를 연관관계 선 위에 표기한다.
- 클래스 다이어그램에 표현하는 관계에는 연관 관계, 집합 관계, 포함 관계, 일반화 관계, 의존 관계
연관(Relationships) 관계 - 두 클래스 간의 관계를 명확하게 표현하기 위해 관계 표현 실선의 중간 지점에 관계의 이름을 표현할 수 있다. (실전 + > , 실선으로 표현)
집합(Aggregation) 관계 - 두 클래스가 서로 집합 관계에 있을때는 집합 관계에 있는 클래스의 객체 변수를 매개변후로 사용 할수 있다. (빈마름모 + 실선으로 표현)
포함(Composition) 관계 - 두 클래스가 서로 포함 관계에 있을때는 포함 관계에 있는 클래스를 이용하여 생성된 객체 변수를 이용하여 새로운 객체 변수를 생성할 수 있다. (색이 채워져 있는 마름모 + 실선으로 표현)
일반화(Generalization) 관계 - 두 클래스가 서로 일반화 관계에 있을 때는 하위 클래스가 상위 클래스의 속성이나 메소드를 사용할 수 있다. (빈 삼각형 + 실선으로 표현)
의존(Dependency) 관계 - 두 클래스가 의존 관계에 있을 때는 영향을 주는 클래스의 특정 오퍼레이션이 수행 될때만 영향을 받는 클래스가 사용된다. (실선 + >)
* 관계 표현 할줄 알아야함
관계를 표현할려면 UML의 다중도도 같이 표기 해야하므로 아래 링크에 있는 다중도 표현방식을 참고하세요!!
정보처리기사 실기 정리& 요약 - UML_⭐
*은 개인적으로 외우는 방식으로 개인적 의견입니다. 정리 혹은 급한 경우에 참고하세요. 제목에 ⭐이 있으면 해당 내용 꼭 외우세요 시험에 잘나옵니다. UML(Unified Modeling Language) - UML은 시스템 분..
kyungi.tistory.com
본 포스팅은 시나공을 기준으로 개인적인 정리본 으로 kyung i 에게 글에 대한 모든 저작권이 있으며 무단으로 사용 및 배포시 법적인 책임을 받을 수 있습을 알려드립니다
'자격증' 카테고리의 다른 글
네트워크 관리사 2급 필기 시험정보_ 독학으로 합격하는 방법 (0) | 2020.05.20 |
---|---|
정보처리기사 실기 정리& 요약 - 시퀸스(Sequence) 다이어그램 (0) | 2020.05.03 |
정보처리기사 실기 정리& 요약 - 활동(Activity) 다이어그램 (0) | 2020.04.28 |
정보처리기사 실기 정리& 요약 - 유스케이스(Use Case)_⭐ (0) | 2020.04.28 |
정보처리기사 실기 정리& 요약 - UML_⭐ (0) | 2020.04.25 |
댓글