[SI] 프로젝트 3주차

소복치·2024년 7월 21일

3주차에도 어김없이 계속적인 회의를 진행해왔다.
진행해 오면서 우리가 만들어야할 내용은 계속해서 추가 및 삭제가 되었고
거기에 맞춰서 계속해서 산출물 수정을 해왔다.

이번 주차에서는 계속 산출물 수정으로인해 저번주차와 같은내용을 진행했으므로
저번주차때 적었던 내용 중 깜빡하고 빼먹었던 DFD 관련해 내용을 정리하려고 한다.

사실 아직 신입인 나로썬 내가 DFD를 그리기엔 이 프로젝트의 전체적인 흐름 파악이 확실화 되지않아
이작업은 경력이 있으신 윗 선배들이 작성하고 나는 DFD를 보면서 왜 이렇게 작성을 했는지 앞으로의 업무의 방향성을 이해하는 방식으로 진행하였다.

DFD 란?

시스템 구성요소인 프로세스와 프로세스 같 데이터 흐름을 표현하는 주요 도구

쉽게 말해 자료의 출발지와 목적지를 그림으로 표시한 것이다.

DFD 구성요소

프로세스(Process), 데이터 흐름(Data Flow), 데이터 저장소(Data Store), 외부 엔티티(External Entity)

  • 프로세스(Process)

프로세스는 입력된 데이터를 원하는 형태로 변환하여 출력하기 위한 과정으로, DFD에서는 원(○)으로 표시한다.
원의 안에는 프로세스의 이름을 넣고, 이름 아래에는 프로세스가 수행하는 일이나 프로세스를 수행하는 작업자를 넣는다.

[ex]

  • 데이터 흐름(Data Flow)

데이터 흐름(Data Flow)은 DFD의 구성요소(프로세스, 데이터 저장소, 외부 엔티티)들 간의 오가는 데이터 흐름을 나타내며, DFD에서는 화살표(→)로 표시한다.
회실표 위에는 데이터의 이름을 넣으며 서로 다른 데이터 흐름에는 동일한 이름을 부여하지 않는다.

[ex]

  • 데이터 저장소(Data Store)

데이터 저장소(Data Store)는 데이터가 저장되어 있는 장소이다.
테이프, 디스크, 카드 데이타, 캐비넷의 인덱스화일 등일 수도 있으며, 때로는 휴지통일 수도 있다.
데이터저장소는 DFD에서는 평행선(=)으로 표시하며, 평행선 안에는 데이터 저장소의 이름을 넣는다.

[ex]

  • 외부 엔티티(External Entity)

외부 엔티티는 프로세스 처리 과정에서 데이터가 발생하는 시작과 종료를 나타낸다.

[ex]

그렇다면, DFD를 그리는 주된 이유는 무엇일까?

1. 시스템 이해와 분석

  • 시스템 전반 이해
    DFD는 시스템이 어떻게 동작하는지 전반적인 그림을 제공하여, 시스템의 각 구성 요소와 그들이 어떻게 상호 작용하는지 이해하는데 도움을 준다.
  • 프로세스 식별
    시스템 내에서 일어나는 주요 프로세스와 데이터 흐름을 식별하고, 각 프로세스가 어떤 데이터를 입력으로 받고 출력하는지를 명확히 한다.

2. 요구 사항 정의

  • 명확한 커뮤니케이션
    개발자, 디자이너, 사용자 들 다양한 이해관계자 간의 커뮤니케이션을 원할하게 하여, 요구 사항을 명확히 전달하고 이해할 수 있게 한다.

3. 시스템 설계와 개발

  • 효율적인 설계
    시스템 설계 단계에서 DFD는 데이터 흐름과 프로세스의 관계를 명확히 하여, 효율적인 시스템 설계를 가능하게 한다.

4. 문제 해결과 최적화

  • 문제 식별
    시스템 내 데이터 흐름의 비효율적인 부분을 식별하고 문제를 해결하는데 도움을 준다.
  • 성능 최적화
    데이터를 효율적으로 관리하고 처리할 수 있는 방법을 모색하여 시스템의 성능을 최적화시킨다.

따라서 DFD는 시스템 분석, 설계, 개발, 유지보수 등 여러단계에서 명확한 커뮤니케이션을 하기위한 중요한 역할을 하고, 시스템의 효율적인 관리와 최적화에 크게 기여한다는 것을 알게 되었다.

profile
오늘 터져도내일 다시극복

0개의 댓글