모델링

  • 코드를 작성하기 전 모델을 만드는 것
  • 요구사항 분석 모델을 보는 순간 소스코드가 보여야한다.
  • 요구사항의 50%는 결정된다.

UML(Unified Modeling Language)

  • 객체지향 모델링을 위해 개발된 대표적인 표준 모델링 방법
  • 객체 지향 프로그래밍에 익숙하다면 UML의 기능을 더 쉽게 이해 가능
  • 분석 모델과 설계 모델의 표현 방법이 같다.

UML의 종류

  • 구조 다이어그램
    • 클래스 다이어그램
  • 행위 다이어그램
    • 유즈케이스 다이어그램
    • 기능 요구사항 분석 모델링
    • 사용자 관점에서 시스템의 기능을 구성한 것

유스케이스 다이어그램

  • 구성요소
    • 시스템 범위
    • 액터 (사용자, 외부 시스템)
    • 유스케이스 (기능적 요구사항을 단순 명료하게 기술)
      • 기능이므로 ~한다와 같이 표현된다.
    • 관계 (엑터, 유스케이스들 관의 기능적 관계를 나타냄)
  • 유스케이스 기술서: 유스케이스들의 구체적인 내용을 기술하는 명세서
  • 과정
    • 시스템 경계 정하기
    • 액터 찾기
    • 유스케이스 찾기
    • 유스케이스 사이의 관계 찾기

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

  • 연관 관계: 액터와 유스케이스 간의 상호작용이 존재하는가?
  • 포함 관계: 다른 유스케이스를 사용하기 위해 필요한 유스 케이스인 관계
    • ex: 상품 검색, 상품 주문 → 상품 조회(포함 관계)
    • 반드시 호출
  • 확장 관계: 해당 유스케이스를 실행할 때 선택적으로 실행되는 유스케이스인 관계
    • ex: 상품 목록 조회, 구입 내역 조회 ← 상품 상세 조회(확장 관계)
    • 선택적 호출
  • 일반화 관계
    • 유사한 유스케이스를 모두 수용할 수 있는 관계 (상속 관계)
    • ex: 상품결제 ← 신용카드 결제, 계좌 이체, 무통장 입금 결제
    • 부모 - 자식 관계

액터 모델링

  • 고객(부모)
    • 회원(자식)
    • 비회원(자식)

'CS > Software Engineering' 카테고리의 다른 글

UML과 설계패턴  (0) 2023.09.06
유스케이스 시나리오 작성법  (0) 2023.04.23
소트프웨어 개발 모델  (0) 2023.03.16
좋은 객체 지향 설계의 5가지 원칙(SOLID)  (1) 2023.03.12

+ Recent posts