Data Governance Study - Data Model (5)

데이터 모델링 기초: 업무기술서 작성법 (Requirements Collection & Analysis)

이 블로그에서는 데이터베이스 설계 프로세스의 초기 단계를 다룬다. 그리고 업무기술서 작성 방법을 설명한다. 데이터 모델링과 데이터베이스 설계 프로젝트를 시작하는 실무자들을 위한 정보를 제공한다.
Data Governance
저자

Kwangmin Kim

공개

2024년 08월 08일

1 DB Design

DB 설계는 각 설계자마다 다르게 설계하므로 science가 아니라 art라고 부른다. 후에 게시되는 블로그를 읽어보면 주관적인 판단이 들어가는 요소가 많이 있음을 파악할 수 있다.

1.1 Reduced Scope

  • 보통 데이터 거버넌스를 비롯한 데이터 모델링을 실패하는 이유는 너무 광범위한 범위를 설정하여 비지니스를 구체화 및 명시화하지 못하기 떄문이라고 한다 (많은 article과 papers가 있으니 각자가 찾아서 참고하시기 바람).
  • 단기 및 중장기적인 기간에 가시적인 산출물을 낼 수 있는 범위로 줄여 best practice를 제시하여 많은 유저들을 확보하는 것이 프로젝트 지속성을 증가시킬 수 있는 tip이다.

1.2 요구사항 분석 (Requirement Collection and Analysis)

  • 업무기술서 작성
    • 명확한 목적 설정
      • 업무기술서의 목적과 범위를 명확히 정의한다.
      • 누구를 위한 문서인지, 어떤 정보를 담아야 하는지 파악한다.
    • 이해관계자 식별 및 참여
      • 관련된 모든 이해관계자를 식별하고 참여시킨다.
      • 업무 담당자, 관리자, 개발자 등 다양한 관점을 포함한다.
    • 구조화된 형식 사용
      • 일관된 템플릿이나 형식을 사용한다.
      • 섹션별로 명확히 구분하여 정보를 구조화한다.
    • 상세한 업무 프로세스 기술
      • 사실상, 이 단계에서 데이터 모델링 가능/여부가 결정된다.
      • Data Platform을 처음 도입하는 많은 회사들이 본인들의 업무 절차의 표준화가 되어 있지 않기 떄문에 메뉴얼화 할 수 없고 업무 프로세스를 표준화를 할 수 없다.
      • 회사의 규모가 클 수록 업무 프로세스가 표준화되는데도 많은 시간이 소요된다.
      • 범위를 줄여 현실적으로 실행가능한 항목들을 추려내야한다.
      • 업무 흐름을 단계별로 상세히 기술한다.
      • 각 단계에서 사용되는 데이터를 명확히 식별한다.
    • 데이터 요소 정의
      • 각 업무 프로세스에서 사용되는 데이터 요소를 정의한다.
      • 데이터의 의미, 형식, 제약조건 등을 명시한다
    • 비즈니스 규칙 명시
      • 데이터와 관련된 모든 비즈니스 규칙을 명확히 기술한다.
      • 데이터 무결성, 계산 규칙, 제약조건 등을 포함한다.
    • 용어 정의
      • 업무 도메인의 주요 용어를 정의하고 일관되게 사용한다.
      • 용어집을 만들어 문서에 포함시킨다.
    • 다이어그램 활용
      • 업무 흐름도, 개념적 데이터 모델 등을 사용하여 시각화한다.
      • 복잡한 관계나 프로세스를 이해하기 쉽게 표현한다.
    • 실제 업무 사례나 데이터 예시를 포함하여 이해를 돕는다.
    • 이해관계자들의 검토를 받고 피드백을 반영한다.
    • 여러 차례의 반복적인 검토와 수정을 거친다.
    • 문서 전체에 걸쳐 용어, 형식, 스타일의 일관성을 유지한다.
    • 문서의 버전을 관리하고 변경 이력을 기록한다.
    • 문서를 쉽게 이해하고 참조할 수 있도록 구성한다.
    • 목차, 색인 등을 포함하여 필요한 정보를 빠르게 찾을 수 있게 합니다.
    • 향후 발생할 수 있는 업무 변화나 확장을 고려하여 작성한다.
    • 필요한 경우 데이터 보안 및 규정 준수 요구사항을 포함한다.
  • 예시
    • 수강신청 시스템 업무기술서
      1. 목적 본 문서는 대학교 수강신청 시스템의 데이터베이스 설계를 위한 업무 요구사항을 기술합니다.
      2. 시스템 개요 수강신청 시스템은 학생들이 학기별로 수강할 과목을 선택하고 등록할 수 있게 하며, 교수와 관리자가 관련 정보를 관리할 수 있도록 합니다.
      3. 주요 엔티티: 학생, 교수, 과목, 수강신청, 학과, 강의실
      4. 업무 프로세스
        1. 수강신청 프로세스
          1. 학생이 시스템에 로그인합니다.
          2. 학생이 해당 학기의 개설 과목 목록을 조회합니다.
          3. 학생이 희망 과목을 선택하고 수강신청을 합니다.
          4. 시스템은 수강 가능 여부(선수과목, 정원 등)를 확인합니다.
          5. 신청이 승인되면 수강신청 내역에 추가됩니다.
          6. 학생은 수강신청 내역을 조회하고 필요시 변경/취소할 수 있습니다.
        2. 과목 관리 프로세스
          1. 교수가 새로운 과목을 제안합니다.
          2. 관리자가 과목 정보를 검토하고 승인합니다.
          3. 승인된 과목은 개설 과목 목록에 추가됩니다.
          4. 교수는 자신의 과목에 대한 정보(강의계획서 등)를 업데이트할 수 있습니다.
      5. 데이터 요구사항
        1. 학생 정보
          • 학번 (기본키)
          • 이름
          • 학과
          • 학년
          • 연락처
          • 이메일
        2. 과목 정보
          • 과목코드 (기본키)
          • 과목명
          • 담당교수
          • 학점
          • 수강정원
          • 강의시간
          • 강의실
          • 선수과목 (있는 경우)
        3. 수강신청 정보
          • 수강신청ID (기본키)
          • 학생ID (외래키)
          • 과목코드 (외래키)
          • 신청일시
          • 상태 (신청완료, 대기, 취소 등)
      6. 비즈니스 규칙
        • 학생은 한 학기에 최대 21학점까지 신청할 수 있습니다.
        • 동일 시간대에 중복된 과목 신청은 불가능합니다.
        • 수강정원이 초과된 경우, 대기 목록에 등록됩니다.
        • 선수과목이 있는 경우, 해당 과목 이수 여부를 확인해야 합니다.
        • 수강신청 변경 및 취소는 지정된 기간 내에만 가능합니다.
      7. 보고서 요구사항
        • 학생별 수강신청 내역
        • 과목별 수강신청 학생 목록
        • 학과별 개설 과목 통계
        • 시간대별 강의실 사용 현황
      8. 인터페이스 요구사항
        • 학사관리 시스템과의 연동 (학생 정보, 성적 정보 등)
        • 모바일 앱을 통한 수강신청 지원
      9. 보안 요구사항
        • 사용자 인증 및 권한 관리
        • 개인정보 보호를 위한 암호화
        • 데이터 접근 로그 관리

Subscribe

Enjoy this blog? Get notified of new posts by email: