정보처리기사 - 요구사항 확인 #14~19

2023. 8. 19. 10:57자격증/정보처리기사

14. 활동(Activity) 다이어그램

14.1 활동(Activity) 다이어그램

사용자의 관점에서 시스템이 수행하는 기능을 처리 흐름에 따라 순서대로 표현한 것
  • 하나의 유스케이스 안에서 혹은 유스케이스 사이에서 발생하는 복잡한 처리의 흐름을 명확하게 표현할 수 있으
  • 자료 흐름도와 유사

14.2 활동(Activity) 다이어그램의 구성 요소

구성 요소 표현 방법 내용
액션(Action)/
액티비티(Activity)
- 액션
- 액티비티
- 액션 : 더 이상 분해할 수 없는 단일 작업
- 액티비티 : 몇 개의 액션으로 분리될 수 있는작업
시작 노드 액션이나 액티비티가 시작됨을 표현한 것
종료 노드 액티비티 안의 모든 흐름이 종료됨을 표현한것
조건(판단) 노드   - 조건에 따라 제어의 흐름이 분리됨을 표현한 것
- 들어오는 제어 흐름은 한 개이고 나가는 제어 흐름은 여러 개임
병합 노드   - 여러 경로의 흐름이 하나로 합쳐짐을 표현한 것
- 들어오는 제어 흐름은 여러 개이고 나가는 제어 흐름은 한 개임
포크(Fork) 노드   - 액티비티의 흐름이 분리되어 수행됨을 표현한 것
- 들어오는 액티비티 흐름은 한 개이고 나가는 액티비티 흐름은 여러 개임
조인(Join) 노드   - 분리되어 수행되던 액티비티의 흐름이 다시 합쳐짐을 표현한 것
- 들어오는 액티비티 흐름은 여러 개이고 나가는 액티비티 흐름은 한 개임
스윔레인(Swim Lane) | - 액티비티 수행을 담당하는 주체를 구분하는선
- 가로 또는 세로 실선을 그어 구분
  • 스윔레인(Swim Lane) : 액터나 시스템 별로 처리 흐름이 진행되는 부분을 구분하기 위한 구분선

15. 클래스(Class) 다이어그램

15.1 정적 모델링

사용자가 요구한 기능을 구현하는 데 필요한 자료들의 논리적인 구조를 표현한 것
  • 시스템에 의해 처리되거나 생성될 객체들 사이에 어떤 관련이 있는지를 구조적인 관점(View)에서 표현
  • 정적 모델링은 객체(Object)들을 클래스(Class)로 추상화하여 표현
  • UML을 이용한 정적 모델링의 대표적인 것이 클래스 다이어그램

15.2 클래스(Class) 다이어그램

클래스와 클래스가 가지는 속성, 클래스 사이의 관계를 표현한 것
  • 시스템을 구성하는 요소에 대해 이해할 수 있는 구조적 다이어그램
  • 시스템 구성 요소를 문서화하는 데 사용

15.3 클래스(Class) 다이어그램의 구성 요소

구성 요소 표현 방법 내용
클래스
(Class)
  - 각각의 객체들이 갖는 속성과 오퍼레이션(동작)을 표현한 것
- 일반적으로 3개의 구획(Compartment)으로 나눠 클래스의 이름, 속성, 오퍼레이션을 표기
- 속성(Attribute) : 클래스의 상태나 정보를 표현
- 오퍼레이션(Operation) : 클래스가 수행할 수있는 동작으로, 함수(Method)라고도 함
제약조건   - 속성에 입력될 값에 대한 제약조건이나 오퍼레이션 수행 전후에 지정해야 할 조건이 있다면 이를 적음
- 클래스 안에 제약조건을 기술할 때는 중괄호{ }를 이용
관계
(Relationships)
  - 관계는 클래스와 클래스 사이의 연관성을 표현
- 클래스 다이어그램에 표현하는 관계에는 연관 관계, 집합 관계, 포함 관계, 일반화 관계, 의존 관계가 있음

15.4 연관 클래스

연관 관계에 있는 두 클래스에 추가적으로 표현해야 할 속성이나 오퍼레이션이 있을 경우 생성하는 클래스
  • 두 클래스의 연관 관계를 나타내는 선의 가운데로부터 점선을 연관 클래스로 이어 표시
  • 연관 클래스의 이름은 연관 관계의 이름을 이용해 지정

16. 시퀀스(Sequence) 다이어그램

16.1 동적 모델링

시스템의 내부 구성 요소들의 상태 변화 과정과 과정에서 발생하는 상호 작용을 표현한 것
  • 시스템 내부 구성 요소들 간에 이루어지는 동작이라는 관점(View)에서 표현
  • 시스템이 실행될 떄 구성 요소들 간의 메시지 호출, 즉 오퍼레이션을 통한 상호 작용에 초점을 둠
  • 동적 모델링의 종류
    • 시퀀스 다이어그램
    • 커뮤니케이션 다이어그램
    • 상태 다이어그램

16.2 시퀀스(Sequence) 다이어그램

시스템이나 객체들이 메시지를 주고받으며 상호 작용하는 과정을 그림으로 표현한 것
  • 시스템이나 객체들의 상호 작용 과정에서 주고받는 메시지를 표현
  • 각 동작에 참여하는 시스템이나 객체들의 수행 기간을 확인할 수 있음
  • 클래스 내부에 있는 객체들을 기본 단위로 하여 그들의 상호 작용을 표현
    • 클래스가 수행할 수 있는 동작인 오퍼레이션을 표현한다는 의미

16.3 시퀀스(Sequence) 다이어그램의 구성 요소

구성 요소 표현 방법 내용
액터
(Actor)
  시스템으로부터 서비스를 요청하는 외부 요소로, 사람이나 외부 시스템을 의미
객체
(Object)
  메시지를 주고받는 주체
생명선
(Lifeline)
  - 객체가 메모리에 존재하는 기간으로, 객체 아래쪽에 점선을 그어 표현
- 객체 소멸(✖)이 표시된 기간까지 존재
실행 상자
(Active Box,
활성 상자)
  객체가 메시지를 주고받으며 구동되고 있음을표현
메시지
(Message)
  객체가 상호 작용을 위해 주고받는 메시지
객체 소멸 해당 객체가 더 이상 메모리에 존재하지 않음을 표현한 것
프레임
(Frame
  다이어그램의 전체 또는 일부를 묶어 표현한것

17. 커뮤니케이션(Communication) 다이어그램

17.1 커뮤니케이션(Communication) 다이어그램

시스템이나 객체들이 메시지를 주고받으며 상호작용하는 과정과 객체들 간의 연관을 그림으로 표현한 것
  • 동작에 참여하는 객체들 사이의 관계를 파악하는 데 사용
  • 클래스 다이어그램에서 관계가 제대로 표현됐는지 점검하는 용도로도 사용
  • 초기에는 협업(Collaboration) 다이어그램이라고 불렸음

17.2 커뮤니케이션(Communication) 다이어그램의 구성 요소

구성 요소 표현 방법 내용
액터
(Actor)
  시스템으로부터 서비스를 요청하는 외부 요소로, 사람이나 외부 시스템을 의미
객체
(Object)
  메시지를 주고받는 주체
링크
(Link)
  - 객체들 간의 관계를 표현한 것
- 액터와 객체, 객체와 객체 간에 실선을 그어표현
메시지
(Message)
  - 객체가 상호 작용을 위해 주고받는 내용
- 화살표의 방향은 메시지를 받는 쪽으로 향하게 표현
- 일정한 순서에 의해 처리되는 메시지의 경우숫자로 순서를 표현

18. 상태(State) 다이어그램

18.1 상태(State) 다이어그램

객체들 사이에 발생하는 이벤트에 의한 객체들의 상태 변화를 그림으로 표현한 것
  • 객체의 상태란 객체가 갖는 속성 값의 변화를 의미
  • 특정 객체가 어떤 이벤트에 의해 상태 변환 과정이 진행되었는지 확인하는 데 사용
  • 시스템에서 상태 변환 이벤트를 확인할 필요가 있는 객체만을 대상으로 그림

18.2 상태(State) 다이어그램의 구성 요소

구성 요소 표현 방법 내용
상태
(State)
  객체의 상태를 표현한 것
시작 상태 상태의 시작을 표현한 것
종료 상태 상태의 종료를 표현한 것
상태 전환   상태 사이의 흐름, 변화를 화살표로 표현한것
이벤트
(Event)
  - 상태에 변화를 주는 현상
- 이벤트에는 조건, 외부 신호, 시간의 흐름등이 있음
프레임
(Frame)
  상태 다이어그램의 범위를 표현한 것

19. 패키지(Package) 다이어그램

19.1 패키지(Package) 다이어그램

유스케이스나 클래스 등의 요소를 그룹화한 패키지 간의 의존 관계를 표현한 것
  • 패키지는 또 다른 패키지의 요소가 될 수 있음
  • 대규모 시스템에서 주요 요소 간의 종속성을 파악하는 데 사용

19.2 패키지(Package) 다이어그램의 구성 요소

구성 요소 표현 방법 내용
패키지
(Package)
  - 객체들을 그룹화한 것
- 단순 표기법 : 패키지 안에 패키지 이름 만표현
- 확장 표기법 : 패키지 안에 요소까지 표현
객체
(Object)
  유스케이스, 클래스, 인터페이스, 테이블 등패키지에 포함될 수 있는 다양한 요소들
의존 관계
(Dependency)
  - 패키지와 패키지, 패키지와 객체 간을 점선 화살표로 연결하여 표현
- 스테레오타입을 이용해 의존 관계를 구체적으로 표현 가능
- 의존 관계의 표현 형태는 사용자가 임의로 작성할 수 있으며, 대표적으로 import와 access가 사용됨
- <<import>> : 패키지에 포함된 객체들을 직접 가져와서 이용하는 관계
- <<access>> : 인터페이스를 통해 패키지 내의 객체에 접근하여 이용하는 관계