[JAVA]UML 종합

Date:     Updated:

카테고리:

태그:

[34] UML 종합

34.1. Builder Pattern

  • 동일한 생성 과정에 다른 여러 결과물이 나올 수 있도록 하는 패턴
  • 단계별 생성에 중점을 두는 패턴
  • 새로운 결과물이 필요한 경우에도 동일한 과정으로 생성할 수 있음
  • 생성 과정과 구현 방법을 분리하여 동일한 생성에서 여러 다른 표현이 나올 수 있음.

34.2. Builder Pattern (생성자를 대체하는 방법)

34.3. 열거형

  • 서로 관련 있는 상수들을 모아 놓고 대표 할 수 있는 이름을 정의 한 것
  • 클래스처럼 사용되기 함

34.4. UML(Unified Modeling Language)

  • 객체지향 분석
    • 무엇을 만들 것인가를 추상화하는 과정
    • 요구사항으로부터 문제를 만들어가는 과정
  • 분석 vs 설계
    • 분석은 발견하는 것이고 설계는 발명하는 것임
    • 분석은 문제를 만들어가는 것이고 설계는 해답을 만들어 가는 것임
      • 분석은 (문제는) “무엇인가”에 관심이 있지만 설계는 (문제를) “어떻게 해결할 것인가”에 관심이 있음.
  • 모델링
    • 주어진 서술(생각)에서 추상적인 모델을 정의하고 최종적으로 코드를 만들어 내기 위한 장치
  • 모델링 하는 이유
    • 시스템을 눈에 보이게 하기 위함
    • 프로젝트 참여자(개발자)들의 통신 수단을 제공하기 위함
    • 모델 자체가 휼륭한 문서가 될 수 있음
    • 시스템의 구조와 행동을 명확하게 결정하기 위함
    • 소프트웨어를 개발하기 위한 뼈대를 제공하기 위함
  • UML
    • 그래픽 표기법의 집합
    • 소프트웨어 시스템을 표현하고 설계할 수 있도록 도움
    • 객체지향 방식 형태를 지원
      • 종류
        • Diagram
          • Structure Diagram
            • Class Diagram
              • 소프트웨어 기본 구성 단위 클래스와 그들간의 관계 정의
              • 정적인 관점에서 클래스 구조 표현
              • 기본적 데이터 모델링 수행 (분석단계)
              • 객체지향 언어 코딩을 위한 설계 사양 제공 (설계단계)
              • 분석에서 설계까지 일관된 소프트웨어 시스템 도구
            • Component Diagram
        • Behavior Diagram
          • Use Case Diagram
          • Sequence Diagram

34.5. UML을 위한 다이어그램 요소

  • Class
  • public(+), protected(#), private(-)
  • 정적(static) 속성과 메서드
    • 밑줄로 표시
  • Relationship (관계)
    • 객체간의 연결(링크)들을 클래스간 관계로 추상화 한 것
      • 구분
        • 연관관계(Association)
          • 참조하는 클래스는 해당 타입의 필드를 가지게 됨(사용함).
        • 집합,집약관계(Aggregation)
          • 전체와 부분의 관계를 명시적으로 나타내고 싶을 때 사용함.
            • weak aggregation
        • 구성,합성관계(Composition)
          • 전체와 부분의 관계를 명시적으로 나타내고 싶을 때 사용함.
            • strong aggregation
        • 상속(Generalization)
        • 구현(Realization)

34.6. UseCase Diagram

  • 사용자가 하는 행동을 나타냄
  • 시스템과 사용자간의 상호작용
  • 사용자 관점에서 논리적인 시스템의 기능 정의
  • 개발자와 사용자, 이해관계자들간의 이해 도모
  • 시스템 전체 개발범위 결정
  • 시스템 분석, 설계 기준
  • 인수 테스트 기준

34.7. Sequence Diagram

  • 객체들간의 협력 과정을 동적으로 정의
  • 객체간 동적 상호작용을 시간적 개념으로 파악하기 위함
  • Use Case 단위로 작성
  • 클래스 다이어그램과 병행되며 상호간 일관성 요구됨

JAVA 카테고리 내 다른 글 보러가기

댓글 남기기