날쌘 개발자

프로젝트 설계(2) - 시퀀스 다이어그램, 클래스 다이어그램 본문

web/챌린지

프로젝트 설계(2) - 시퀀스 다이어그램, 클래스 다이어그램

훈식이 2023. 2. 26. 22:37
728x90

드디어 일주일
패스트캠퍼스 환급챌린지 7일차 화이팅!


Sequence Diagram

 

  • 객체 간의 상호작용을 시간순으로 시각화 한 다이어그램
  • 시스템의 구조에 초점을 맞춘것이 아니라 시스템이 어떤 순서로 누구와 상호작용 하는지에 초점을 맞춘 behaviour diagram

왜 사용할까?

  • 코드를 보고 시스템의 흐름을 파악하기는 매우 오랜 시간이 걸리고 어려움.
  • 시스템이 어떤 순서로 요청을 처리하는지, 어떤 시스템과 소통을 하는지 쉽게 이해하기 위해 사용

언제 사용할까?

  • 요구사항이 수집되고, 각 시스템 혹은 객체간의 메시징을 정의하는 설계단계.
  • 요청을 처리하기 위해 여러 시스템/외부 서비스 간의 상호작용이 여러차례 일어 날 떄.
  • 요청을 처리하기 위해 시스템 내에서 여러 객체간의 메시지 전달이 여러차례 일어날 때.
  • 요청의 흐름을 공유할때.
  • 새로운 시스템을 설계하거나 기존의 시스템을 확장할 때.

어떻게 사용할까?

구성요소
  • 생명선 (Lifeline) - 객체가 메모리 상에 얼마나 오래 살아있는지 나타내는 선. 아래로 내려갈 수록 시간이 경과됨을 의미.

생명선

 

  • 객체/참여자 (Participant)
    • 사용자
    • 데이터베이스
    • 시스템
    • 클래스

객체/참여자

  • 메시지
    • 동기 (Synchronous)
    • 비동기 (Asynchronous)
    • 자체 (Self)
    • 반환 (Return)
      • 동기 반환 (Sync. return)
      • 비동기 반환 (Async. return)

메시지
동기
비동기
자체

  • 활성 상자 (Activation box) - Lifeline 위에 그려지는 네모 박스로, 이 시간 동안은 해당 객체가 활성화 되어 있는 것을 의미.

활성 상자

 

  • Guard - 단일 메시지에 대해 조건을 명시하는 방법

Guard

  • Sequence Fragments - 특정 시퀀스 범위에 대해 조건을 명시하는 방법

Sequence Fragments

 


 

Class Diagram

 

  • 한 시스템을 구성하는 클래스들의 구조, 속성(attribute), 메소드(method)를 시각화 한 diagram
  • 클래스의 구조 및 클래스 간의 관계에 초점을 맞춘 structural diagram

개념부터 (정적인) 클래스는 (동적인) 객체와 다름.
정적이라 함은 시간과 조건이 고려되지 않은 것. 따라서 클래스 다이어그램에서는 sequence diagram과 다르게 조건이나 순차적인 것들이 들어가지 않음.
철저하게 의존성을 나타내기 위한 다이어그램

왜 사용할까?

  • 클래스 간의 관계, 의존성을 빠르게 파악할 수 있음
    • 새로운 요구사항이 들어왔을때, 재사용하거나 확장할 만한 클래스가 있는지 빠르게 파악 가능.
  • 소프트웨어가 완성된 후 구현 설명을 위해 사용할 수 있음.
    • 새로운 팀원이 왔을 때 빠르게 시스템 구조를 파악할 수 있음.

언제 사용할까?

  • 요구사항이 수집되고, 시스템 내의 클래스 설계 단계에서.
  • 클래스 간의 관계가 복잡할 때 (상속과 조합이 많을 때).
  • 시스템에서 사용되는 클래스들의 구조를 시각화 해야 할 때.
  • 새로운 시스템을 설계하거나 기존의 시스템을 확장할 때.

어떻게 사용할까?

구성요소
  • 클래스 
    • 속성 (Attribute)
    • 메소드 (Method)

클래스

 

  • 관계
    • 상속 (Inheritance)
    • 조합 (Composition)

상속
조합


7일차 인증


본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.

 

http://bit.ly/3Y34pE0

 

패스트캠퍼스 [직장인 실무교육]

프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.

fastcampus.co.kr

 

728x90