Dev.YoungKyu
YoungKyu's Devlog
전체 방문자
오늘
어제
  • 분류 전체보기
    • 부스트캠프
    • iOS
    • visionOS
    • Backend
    • 알고리즘
    • CS
    • Git
    • Python
    • 끄적끄적

블로그 메뉴

  • 홈
  • 🌝 티스토리 홈
  • ⭐️ 깃허브
  • 태그

공지사항

인기 글

최근 댓글

최근 글

태그

  • guard
  • CS
  • 소프트웨어 공학
  • Swift5.7
  • ios
  • swift
  • image
  • Optional
  • constraint
  • AVAudioSession
  • alamofire
  • 모듈화
  • SwiftUI
  • boj
  • 부스트캠프
  • 알고리즘
  • 백준
  • 소프트웨어공학
  • ImageResource
  • AutoLayout
  • 오블완
  • authenticationinterceptor
  • Concurrency
  • 소프트웨어 테스트
  • MVC
  • if let
  • Git
  • jekyll
  • 티스토리챌린지
  • Python

티스토리

hELLO · Designed By 정상우.
Dev.YoungKyu
CS

[소프트웨어공학] 모델링, UML, 유스케이스 다이어그램

[소프트웨어공학] 모델링, UML, 유스케이스 다이어그램
CS

[소프트웨어공학] 모델링, UML, 유스케이스 다이어그램

2022. 9. 15. 10:08

1. 소프트웨어 개발과 모델링

모델링

  • 해석의 공유 및 타당성 검토
  • 개발할 시스템 구체화 / 가시화
    • 시스템의 구조와 행위 명세
    • 시스템 구축 틀 제공

 

2. UML

UML이란?

대표적인 시스템 모델링 언어(unified modeling language)

시스템을 상호작용하는 객체들로 모델링

분석 모델(문제 영역)과 설계 모델(해결 영역)이 동일

 

다이어그램(diagram) 종류

  • 행위 다이어그램: 활동, 상태 머신, 유스케이스(UseCase)
  • 구조 다이어그램: 클래스, 객체, 복합체 구조, 배치, 컴포넌트 패키지
  • 상호작용 다이어그램: 순차, 상호작용 개요, 통신, 타이밍

 

유스케이스 다이어그램

  • 사용자 관점에서 시스템 사용 목적 기술
    • 목적 달성을 위한 사용자와 시스템 간의 상호작용
    • 시스템의 기능 서비스 정의, 시스템의 범위 결정
  • 흐름도가 아님
  • 구성 요소
    • 액터, 유스케이스, 관계
    • 시스템 범위
      • 시스템 내부의 유스케이스와 시스템 외부 환경 구분

 

액터(Actor)

  • 시스템과 상호작용하는 외부 개체
    • 사람: 졸라맨 모양으로 표시, 사용자, 관리자 등
    • 외부 시스템: 박스 내에 <actor>로 표시, 인증 시스템, 은행 시스템 등

액터 표시

  • 주 액터(Primary)
    • 목적 달성을 위해 시스템의 서비스가 필요한 액터
  • 부 액터(Secondary)
    • 주 액터의 목적 달성을 위해 시스템에 서비스를 제공하는 외부 개체

 

유스케이스(UseCase)

  • 액터와 시스템 간에 수행하는 일련의 상호작용
    • 요구사항 만족을 위해 시스템이 제공하는 기능
      • 시스템 구동 / 종료, 사용자 인증, 계좌조회 및 이체
      • 상호작용의 목적을 단순명료하게 기술한 이름
    • 타원형으로 표시
    • 유스케이스의 명칭은 사용자가 사용하는 명칭

유스케이스: 타원형으로 표시, 비즈니스 도메인에서의 이름
주 액터 - 유스케이스 - 부 액터

관계(Relationship)

  • 액터-유스케이스 간의 관계
    • 유스케이스 목적 달성을 위해 액터가 시스템과 상호작용할 때 발생, 실선으로 연결
  • 유스케이스-유스케이스 간의 관계 
  • 포함 관계 (선행 -> 후속): 필수적 수행
    • 시스템 구동을 하려면 사용자 인증을 해야함
  • 확장 관계 (특정한 조건): 선택적 수행
    • 고객목록조회는 고객정보조회를 하려면 필요함 = 고객정보조회를 하려면 고객목록조회를 해야함
  • 일반화 관계 (그룹): 보편적, 구체적
    • 트랜잭션을 구체화 하면 계좌 조회, 계좌 이체로 구체화 가능 

유스케이스-유스케이스 간의 관계

 

UML 예시

은행 예시

시스템 구동을 위해 관리자가 ATM과 상호작용할 때, 외부 인증시스템(부 액터)의 서비스를 제공받아 사용자 인증이 필요하다.

 

유스케이스 다이어그램 작성 절차

  1. 액터 식별
    • 사용자, 관리자, 인증 시스템, 은행 시스템
  2. 액터별 유스케이스(기능/서비스) 식별
    • 관리자: 시스템 구동/종료, 인증(인증 시스템)
    • 사용자: 계좌 조회/이체, 트랜잭션(은행 시스템)
  3. 관계 식별
    • 액터-유스케이스: 관리자 - 시스템 구동/종료
    • 유스케이스-유스케이스: 포함 관계, 일반화 관계
  4. 정리및 조정 작업

 

유스케이스 기술서

SW설계 유스케이스 기술서 참고모델 출처: https://kmckmc.tistory.com/

  • 유스케이스명
  • 액터명
  • 개요
  • 사전 조건, 사후 조건
  • 기본 흐름, 대체 흐름(예외 처리)
저작자표시 (새창열림)

'CS' 카테고리의 다른 글

[소프트웨어 공학] Maven  (1) 2022.09.26
[소프트웨어 공학] 객체지향 개발 프로세스  (0) 2022.09.19
[소프트웨어 공학] 순차 다이어그램(Sequence Diagram)  (0) 2022.09.19
[소프트웨어 공학] 패키지 다이어그램  (2) 2022.09.19
[소프트웨어공학] 클래스 다이어그램  (2) 2022.09.15
  • 1. 소프트웨어 개발과 모델링
  • 모델링
  • 2. UML
  • UML이란?
  • 다이어그램(diagram) 종류
  •  
  • 유스케이스 다이어그램
  • 액터(Actor)
  • 유스케이스(UseCase)
  • 관계(Relationship)
  •  
  • UML 예시
  • 유스케이스 다이어그램 작성 절차
  • 유스케이스 기술서
'CS' 카테고리의 다른 글
  • [소프트웨어 공학] 객체지향 개발 프로세스
  • [소프트웨어 공학] 순차 다이어그램(Sequence Diagram)
  • [소프트웨어 공학] 패키지 다이어그램
  • [소프트웨어공학] 클래스 다이어그램
Dev.YoungKyu
Dev.YoungKyu
iOS를 공부하고 있습니다

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.