Study/정보처리기사

정보처리기사 실기 4강 - 화면설계 ②

상맹 2021. 9. 23. 23:46
반응형

1. UML

 객체지향 소프트웨어 개발 과정에서 산출물을 명세화, 시각화, 문서화 할 때 사용되는 모델링 기술과 방법론을 통합해서 만든 표준화된

 범용 모델링 언어

 

 1.1 UML

  - UML 특징

   ① 가시화 언어 : 개념 모델 작성 시 오류가 적고 의사소통이 용이

   ② 구축 언어 : 다양한 프로그래밍 언어로 실행 시스템의 예측 가능

   ③ 명세화 언어 : 정확한 모델 제시, 완전한 모델 작성 기능

   ④ 문서화 언어 : 시스템에 대한 평가 및 의사소통의 문서

  - UML 구성요소

   ① 사물(Things) : 추상적인 개념으로, 주제를 나타내는 요소

   ② 관계(Relationships) : 사물과 사물을 연결하여 관계를 표현하는 요소

   ③ 다이어그램(Diagrams) : 사물과 관계를 모아 그림으로 표현한 형태

  - UML 다이어그램

  ① 구조적 다이어그램 : 클래스 / 객체 / 컴포넌트 / 배치 / 복합체 구조 / 패키지

  ② 행위적 다이어그램 : 유스케이스 / 시퀀스 / 커뮤니케이션 / 상태 / 활동 / 타이밍  

  - UML 확장 모델의 스테레오 타입(Stereotype)

  ① <<include>> : 하나의 유스케이스가 어떤 시점에 반드시 다른 유스케이스를 실행하는 포함 관계

  ② <<extend>> : 하나의 유스케이스가 어떤 시점에 다른 유스케이스를 실행 할 수도 있고, 그렇지 않을 수도 있는 확장 관계

  ③ <<interface>> : 모든 메서드가 추상 메서드이며 바로 인스턴스를 만들 수 없는 클래스, 추상 메서드와 상수만으로 구성된 클래스

  ④ <<entity>> : 유스케이스 처리 흐름이 수행되는 과정에서 기억 장치에 저장되어야 할 정보를 표현하는 클래스

  ⑤ <<boundary>> : 시스템과 외부 액터와의 상호작용을 담당하는 클래스

  ⑥ <<control>> : 시스템이 제공하는 기능의 로직 및 제어를 담당하는 클래스

 

 1.2 UML 유형

  1.2.1 클래스 다이어그램 : 객체지향 모델링 시 클래스의 속성 및 연산과 클래스 간 정적인 관계를 표현한 다이어그램 

  - 클래스 다이어그램 구성요소

  ① 클래스 : 공통의 속성, 연산(메서드), 관계, 의미를 공유하는 객체들의 집합

  ② 속성 : 클래스의 구조적 특성에 이름을 붙인 것으로 특성에 해당하는 인스턴스가 보유 할 수 있는 값의 범위를 기술

  ③ 연산 : 이름, 타입, 매개변수들과 연관된 행위를 호출하는데 요구되는 제약사항들을 명시하는 클래스의 행위적 특징

  ④ 접근 제어자 : 클래스에 접근 할 수 있는 정도를 표현 

     - '-' : 클래스 내부 접근만 허용(private)

     - '+' : 클래스 외부 접근만 허용(public)

     - '#' : 동일 패키지/파생 클래스에서 접근 가능(protected)

     - '~' : 동일 패키지 클래스에서 접근 가능(default)

  - 클래스 간의 관계

  ① 연관관계 : 클래스가 서로 개념적으로 연결된 선

  ② 집합관계와 복합관계

     - 집합관계 : 하나의 객체에 여러개의 독립적인 객체들이 구성되는 관계

     - 복합 관계 : 영구적이고, 집합 관계보다 더 강한 관계로 구성

  ③ 일반화 관계와 의존 관계

     - 일반화 관계 : 하나의 사물이 다른 사물에 비해 더 일반적인지 구체적인지를 표현

     - 의존 관계 : 사물 사이에 서로 연관은 있으나 필요에 따라 서로에게 영향을 주는 짧은 시간동안만 연관을 유지

  ④ 추상 클래스, 인터페이스, 시체화 관계

     - 추상 클래스 : 객체 인스턴스를 생성하지 않고, 단지 유사 클래스들의 공통된 특징을 정의하고, 하나 이상의 추상 메서드와 일반 필드 및

                            일반 메서드를 포함하는 클래스

     - 인터페이스 : 기능(Function)을 모아놓은 클래스, 추상 메서드와 상수만을 포함하는 추상 클래스

     - 시체화 관계 : 추상 클래스나 인터페이스를 상속받아 자식 클래스가 추상 메서드를 구현할 때 사용

 

  1.2.2 유스케이스 다이어그램

   시스템이 제공하고 있는 기능 및 그와 관련된 외부 요소를 사용자의 관점에서 표현하는 다이어그램

   - 구성요소

    ① 유스케이스 : 시스템이 제공해야 하는 서비스, 기능

    ② 액터 : 사용자가 시스템에 대해 수행하는 역할 / 시스템과 상호작용하는 사람 또는 사물

    ③ 시스템 : 전체 시스템의 영역을 표현

    ④ 시나리오 : 발생되는 이벤트의 흐름

    ⑤ 이벤트의 흐름 : 사람, 시스템, 하드웨어, 시간의 흐름에 의해 시작

  - 유스케이스 다이어그램 관계

    ① 포함(Include)관계 : 다른 유스케이스가 나타내는 이벤트 흐름을 포함하는 관계를 유스케이스 간에 표현

    ② 확장(Extend)관계 : 특정 조건이 만족되는 상황에서만 확장 유스케이스의 이벤트 흐름이 수행

    ③ 일반화(Generalization) 관계 :  추상적인 액터와 좀 더 구체적인 액터 사이에 맺어는 관계

 

  1.2.3 시퀀스 다이어그램

    객체 간 상호작용을 메시지 흐름으로 표현한 다이어그램

    - 구성요소

    ① 객체(Object) : 객체는 위족에 표시되며 아래로 생명선을 가짐 / 사각형 안에 밑줄 친 이름으로 명시

    ② 생명선(Lifeline) :  실제 시간이 흐름에 따라 객체의 생명주기 동안 발생하는 이벤트 명시/ 객체로 뻗어 나가는 점선

    ③ 실행(Activation) : 직사각형은 오퍼레이션(함수)이 실행되는 시간을 의미 / 직사각형이 길수록 오퍼레이션 수행시간이 긺

    ④ 메시지(Message) : 객체 간의 상호 작용은 메세지 교환으로 이루어짐 / 한 객체에서 다른 객체로 메시지를 전달하여 전달 받은

                                        객체의 오퍼레이션을 수행

 

  1.2.4 패키지 다이어그램 

    시스템의 서로 다른 패키지들 사이의 의존 관계를 표현하기 위한 다이어그램

    - 구성요소

    ① 패키지 : 요소들을 그룹으로 조직하기 위한 요소

    ② 의존관계 : 하나의 패키지가 다른 패키지를 사용하는 관계 / 의존성 성질을 나타내는 스테레오 타입을 붙인다.

                        → 스테레오 타입 : <<import>>, <<access>>

 

  1.2.5 활동 다이어그램

   시스템이 어떤 기능을 수행하는지를 객체의 처리 로직이나 조건에 따른 처리의 흐름을 순서대로 표현하는 다이어그램

  - 구성요소

  ① 시작점 : 활동의 시작(액션 이나 액티비티 시작)을 의미

  ② 전이 : 실행의 흐름을 나타냄

  ③ 액션/ 액티비티 : 어떠한 일들의 처리와 실행을 의미

  ④ 종료점 : 처리의 종료를 의미 , 하나의 다이어 그램 안에는 여러개의 종료 노드가 있을 수 있다.

  ⑤ 조건(판단) 노드 : 조건에 따른 제어 흐름의 분리를 표현

  ⑥ 병합 노드 : 여러 경로의 흐름이 하나로 합쳐진 것을 표현

  ⑦ 포크 노드 : 평행적으로 수행되는 흐름을 나누는 노드

  ⑧ 조인 노드 : 포크 노드로 나눠진 흐름을 다시 하나로 합치는 노드

  ⑨ 구획면 : 액티비티 수행을 담당하는 주체를 구분하는 면

 

  1.2.6 상태 다이어그램

   하나의 객체가 자신이 속한 클래스의 상태 변화 혹은 다른 객체와의 상호작용에 따라 상태가 어떻게 변화하는지 표현하는 다이어그램

   - 구성요소

    ① 상태 : 객체가 존재할 수 있는 조건 중의 하나

    ② 시작 상태 : 객체의 시작 상태

    ③ 종료 상태 : 객체의 종료 상태

    ④ 전이 : 객체의 상태가 다른 상태로 변경되는 상태/ 상태 사이의 흐름, 변화

    ⑤ 이벤트 : 객체의 전이를 유발하는 자극 / 상태의 변화를 주는 현상

    ⑥ 전이 조건 : 특정 조건 만족 시 전이 발생하도록 하기 위해 사용

 

  1.2.7 커뮤니케이션 다이어그램

   시퀀스 다이어그램과 같이 동작에 참여하는 객체들이 주고 받는 메시지를 표현하고, 메시지뿐만 아니라 객체 간의 연관 까지 표현하는 다이어그램

    - 구성요소

    ① 액터 : 시스템으로부터 서비스를 요청하는 외부 요소(사람, 외부 시스템)

    ② 객체 : 메시지를 주고받은 주체 / 콜론(:)을 기준으로 앞쪽에는 객체명, 뒤쪽에는 클래스명 기술

    ③ 링크 : 객체들 간의 관계 표현

    ④ 메시지  : 객체가 상호작용을 위해 주고받는 메시지 / 하나의 동일한 링크에서 여러 개의 메시지가 전달

 

1.2.8 컴포넌트 다이어그램

   시스템을 구성하는 물리적인 컴포넌트와 그들 사이의 의존 관계를 나타내는 다이어그램

   - 구성요소

    ① 컴포넌트 : 탭이 달린 직사각형으로 표현

    ② 인터페이스 : 컴포넌트와 인터페이스는 화살표 모양의 점선(의존 관계)으로 연결

    ③ 의존 관계 : 컴포넌트 사이의 의존하는 관계 표현

반응형