소프트웨어공학_5

김경민·2024년 10월 9일

3학년 2학기

목록 보기
13/29

📌목차

Use Case Diagram 개요
Use Case Diagram 구성요소
Use Case Diagram 활용/유의 사항
Data Flow Diagram 개요
Data Flow Diagram 구성요소
Data Flow Diagram 활용/유의 사항
실습 예제


🔥 Use Case Diagram 개요

정의

  • 시스템 분석 및 설계 과정에서 사용되는 다어이그램 중 하나
  • 시스템이 사용자와 상호 작용하는 방식을 시각적으로 표현
  • 시스템의 기능적 요구사항을 명확히 정의 및 이해

목적

  • 시스템과 사용자 간의 상호작용을 시각화하는 것
    (사용자(Actor)가 시스템을 어떻게 사용하는지 표현)
  • 시스템의 주요 기능을 식별, 기능들의 연관성 이해

중요성

  • 시스템의 세부 기능적 요구를 쉽게 이해
  • 시스템 요구사항 상호 이해 및 검증

📌 Use Case Diagram 구성요소(1)

Actor(행위자)

  • 시스템과 상호작용하는 사용자 또는 시스템(사람/외부시스템/장치)
  • 표기 : 작은 사람 모양의 아이콘
  • 예시 : 은행시스템에서 고객, 관리자, 외부결제시스테 등

Use Case(유스케이스)

  • 기능 또는 서비스, 특정 목표를 달성하기 위한 상호작용과정
  • 표기 : 타원형, 타원 안에 Use Case이름 기록
  • 예시 : 계좌조회, 입금, 송금 등이 해당

System Boundary(시스템 경계)

  • 시스템 내의 기능과 외부 요소를 구분하는 역할
  • 표기 : 직사각형으로 경계 (그 안에 Use Case 배치)
  • 예시 : 은행시스템(그 안에 계좌조회, 입금, 송금 배치)

📌 Use Case Diagram 구성요소(2)

Associations(연관관계)

  • Actor와 Use Case간의 관계 (수행)
  • 표기 : Actor와 Use Case 사이 직선
  • 예시 : 고객(Actor) - 계좌조회(Use Case)직선 연결

Relationships(관계)

  • Use Case 간 관계의 상호작용을 표현
  • Include 관계
    • 점선 화살표 및 <<1>>_include로 표기
  • Extend 관계
    • 점선 화살표 및 <<1>>_extend로 표기
  • Generaliztion
    • 빈 삼각형이 있는 화살표로 표기

📌 Use Case Diagram 활용/유의사항

활용

  • 요구사항 분석 : 사용자 필요 기능 명확히 정의
  • 커뮤니케이션 : 개발자-기획자-고객 사이에 기능 이해/확인 도구
  • 시스템 설계 : 각 기능 간의 관계 파악 및 시스템 구조 설계

작성시 유의사항

  • 명확하고 구체적인 Use Case
    • 각 Use Case는 명확한 목표를 가지고 있어야 하며, Actor가 어떤 기능을 수행하는지 명확히 해야 함
  • 복잡도 관리
    • 너무 많은 Use Case를 하나의 다이어그램에 포함시키기보다 기능별로 다이어그램을 나누어 그리는 것이 바람직함
  • 확장성과 재사용성 고려
    • Include나 Extend 관계를 통해 중복되는 기능을 줄이고 시스템을 보다 유연하게 설계

🔥 Data Flow Diagram 개요

정의

  • 시스템의 작동 방식을 시각적으로 표현하는 도구
  • 시스템 내부에서 데이터가 어떻게 흐르고 처리되는지를 표현
  • 주로 시스템 분석 단계에서 사용 (설계에도 활용)
  • 프로세스가 데이터를 입력받고 처리한 후 출력하는 방식에 집중

목적

  • 데이터 처리 및 전달 과정을 통해 기능적 요구사항 시각화
  • 데이터 처리 단계 및 연결과정 쉽게 이해
  • 전반적 데이터 흐름을 고수준부터 세부적 흐름까지 계층별 분해

중요성

  • 시스템의 세부 데이터 흐름 요구사항을 쉽게 이해
  • 데이터 및 자료 흐름 요구사항 상호 이해 및 검증

📌 Data Flow Diagram 구성요소(1)

Process(프로세스)

  • 데이터를 처리하고 변환하는 기능
    • 어떤 처리를 담당하는지 표현
    • 입력 데이터 받아 출력 데이터 생성
  • 표기 : 원(Circle)또는 타원(Oval)로 표기, 내부에 명칭과 기능
  • 예시 : 주문처리, 계좌조회 등

DataFlow(데이터흐름)

  • 데이터가 이동하는 흐름을 표현
    • 프로세스, 데이터 저장소, 외부 엔티티 사이의 자료 흐름
  • 표기 : 화살표, 화살표 위에 데이터 이름, 데이터 흐름의 방향
  • 예시 : 사용자 정보, 주문 내역 등

📌 Data Flow Diagram 구성요소(2)

External Entity(외부엔티티)

  • 시스템의 외부로부터 데이터를 주고 받는 사용자나 시스템
    • 시스템 내의 데이터 처리에는 관여하지 않음
  • 표기 : 직사각형으로 표기
  • 예시 : 고객, 공급업체, 외부API 등

DataStore(데이터저장소)

  • 데이터가 저장되고 관리되는 위치
    • 데이터베이스나 파일시스템 같은 저장소
    • 프로세스가 데이터를 불러오거나 저장하는 장소
  • 표기 : 두 개의 평행한 직선(보통 두 줄)로 표기
  • 예시 : 고객 데이터베이스, 주문기록 파일 등

📌 Data Flow Diagram 활용/유의사항

활용

  • 시스템 범위 설정 : 시스템 전체적인 입출력 및 외부시스템 파악
  • Context Diagram(Level 0) : 외부 엔티티와의 데이터 흐름
  • Level 1 DFD : 내부 프로세스를 분해, 저장소/외부 엔티티 데이터 흐름
  • Level 2 DFD : 각 프로세르를 다시 분해, 복잡도에 따라 계속 진행

작성시 유의사항

  • 데이터 흐름은 반드시 데이터에만
    • 각 화살표는 데이터 흐름만 표기, 제어 흐름 및 함수 호출 제외
  • 명확한 이름
    • 프로세스, 데이터 흐름, 저장소, 외부엔티티 - 직관적 명확한 명칭 부여
  • 단순성 유지
    • 복잡한 시스템은 여러 단계로 나뉘어 점진적 분해, 단순 표현

🚀예제문제 3가지


💻Use Case Diagram 및 Data Flow Diagram 그림으로 이해

profile
무지(無知)

0개의 댓글